Wednesday, July 09, 2008

Squid Cache Proxy & OpenLDAP

Q: Bagaimana mengkonfigurasi Squid agar melakukan autentikasi terhadap OpenLDAP server dan akses hanya diberikan kepada user yang tergabung pada group Proxy_Users ?
A: Tambahkan baris seperti berikut:
auth_param basic program /usr/lib/squid/squid_ldap_auth -bdc=mydomain,dc=com -f (&(uid=%s)(objectclass=posixAccount)) -P -v3 -H ldap://127.0.0.1 -d
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -bdc=mydomain,dc=com -F (&(uid=%s)(objectclass=posixAccount)) -f (&(cn=%g)(member=%u)(objectclass=posixGroup)) -P -v3 -H ldap://127.0.0.1 -d
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl our_networks proxy_auth REQUIRED
acl InternetUsers external ldap_group Proxy_Users

# And finally deny all other access to this proxy
http_access allow InternetUsers
http_access deny all

TLS pada replikasi OpenLDAP

Hampir dua tahun yang lalu terakhir kali setup server OpenLDAP. Hingga malam ini ada kesempatan untuk mengingat dan membaca kembali bagaimana cara mengkonfigurasi OpenLDAP server. 

Salah satu hal penting adalah bagaimana melakukan konfigurasi replikasi antara dua server. Saya menyimpan catatan step-by-step tentang hal ini, tapi tidak saya temukan detil konfigurasi menggunakan TLS bersama replikasi.  Error yang terjadi adalah OpenLDAP (slurpd) tidak menerima server yang menggunakan self-signed certificate.

Beruntung dokumentasi OpenLDAP cukup lengkap, sehingga tidak sulit menemukan petunjuk tentang hal ini. Agar tidak lupa berikut adalah caranya:

Pada sisi master,  pastikan file /etc/openldap/slapd.conf terdapat baris seperti berikut:

# Replicas of this database
replogfile /var/lib/ldap/openldap-master-replog
replica host=172.27.1.18:389 starttls=critical
     bindmethod=simple binddn="cn=replicator,dc=mydomain,dc=com"
     credentials=mypass

Dan tambahkan baris berikut pada file /etc/openldap/slapd.conf di  sisi slave server

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem
TLSVerifyClient never

slurpd  pada sisi master server tidak membaca konfigurasi TLS yang terdapat di slapd.conf, tapi di /etc/openldap/ldap.conf. Tambahkan baris berikut pada file tersebut

TLS_CRLCHECK none
TLS_CACERT /etc/pki/tls/certs/ca-bundle.crt
TLS_CERT /etc/pki/tls/certs/slapd.pem
TLS_KEY /etc/pki/tls/certs/slapd.pem
TLS_REQCERT never

Dengan demikian slurpd yang berperan sebagai client akan mengabaikan self-signed certificate.

Sunday, July 06, 2008

Liburan Kecil

Akhirnya bisa ajak Kezia berenang. Sayangnya musim liburan seperti saat ini, Bandung penuh sesak oleh turis. Tidak terkecuali di kolam renang Cipaku, hampir seperti sup manusia. Walau pun harus nabrak sana-sini kami masih bisa bersenang-senang.

Tuesday, July 01, 2008

SmsLib HTTP Interface

I implemented kannel sms gateway long time ago. It's a great software, but it only available on Unix/Linux platform. Since we move to java recently, we want all modules ported to java, including sms gateway. The available solutions is very limited and SmsLib is our choice.

It's very easy to integrate kannel with other application. Kannel uses HTTP Get method to communicate with other application. Prior to version 3.3, such interface not available to SmsLib. 

I wrote SmsLib's HTTP interface to make my Struts2 application get immediate notification upon sent or received message. Thanks to  Thanasis Delenikas for including my contribution in next 3.3 release.

Check here to view full documentantion.

Awal Baru

Lama sekali tidak posting. Tahu-tahu sudah dua tahun silam.  Lihat foto anakku, sudah besar sekali bukan?  

Banyak hal terjadi, tapi satu hal adalah tidak lama lagi anak keduaku akan lahir.

Banyak rencana baru untuk awal baru.