Home > World Of ICT > Authententikasi Proxy Squid menggunakan LDAP Zimbra ZCS 6

Authententikasi Proxy Squid menggunakan LDAP Zimbra ZCS 6


Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk Transport Layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Versi Squid 3.1 mencakup dukungan protokol IPv6 dan Internet Content Adaptation Protocol (ICAP).

Squid pada awalnya dikembangkan oleh Duane Wessels sebagai “Harvest object cache”, yang merupakan bagian dari proyek Harvest yang dikembangkan di University of Colorado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di University of California, San Diego dan didanai melalui National Science Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara usaha sukarela. Squid umumnya didesain untuk berjalan di atas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi Windows. Karena dirilis di bawah lisensi GNU General Public License, maka Squid merupakan perangkat lunak bebas. (http://id.wikipedia.org/wiki/Squid)

Sistem Autentikasi di Squid
Squid mendukung 4 skema autentikasi, yaitu:

  •     Basic
  •     Digest
  •     NTLM
  •     Negotiate (mulai dari versi 2.6)

Basic Authentication
Adalah skema autentikasi yang didukung dan berfungsi dengan baik pada semua browser, skema autentikasi basic ini memiliki satu kelemahan utama, yaitu proses pengiriman data user dan password dikirim dalam format plain text. Sehingga  sangat rentan terhadap proses Sniffing/Penyadapan saat proses autentikasi berlangsung. Skema ini tidak disarankan ketika layanan yang diberikan akan diakses melalui jaringan internet. Tapi masih bisa ditolerir jika layanan itu dibuat untuk kalangan terbatas, misalnya LAN kantor. Dan karena squid pada umumnya digunakan di jaringan terbatas, skema autentikasi ini masih bisa digunakan.

Helper atau program bantu untuk autentikasi ke backend
Squid menyediakan beberapa program bantu untuk skema autentikasi basic. Anda bisa memilih mana yang cocok dengan keperluan Anda.

  •     LDAP: Autentikasi ke LDAP.
  •     NCSA: Menggunakan format penulisan username dan password format NCSA.
  •     MSNT: Autentikasi ke domain Windows NT.
  •     PAM: Menggunakan skema autentikasi PAM yang umum digunakan di sistem operasi Unix/Linux.
  •     SMB: Menggunakan server SMB seperti Windows NT atau Samba.
  •     getpwam: Menggunakan cara kuno, berkas password di Unix/Linux.
  •     SASL: Mengggunakan pustaka SASL.
  •     mswin_sspi: Windows native authenticator.
  •     YP: Menggunakan database NIS.

Digest Authentication
Skema autentikasi digest diperkenalkan untuk mengatasi kelemahan yang ada di skema autentikasi basic. Skema ini lebih aman, karena pada saat autentikasi, data username dan password tidak dikirim dalam format plain text. Secara umum, kelebihan skema autentikasi digest dibandingkan skema autentikasi basic, yaitu lebih aman. Tapi sayangnya tidak didukung oleh semua browser. Internet Explorer 5 & 6 adalah salah satu browser yang tidak mendukung skema autentikasi digest.

NTLM Authentication
Ini adalah skema autentikasi yang diperkenalkan oleh Microsoft. Dengan menggunakan skema autentikasi NTLM, semua user yang sudah login ke domain, ketika mengakses squid tidak akan diminta lagi username dan password. Ini yang kita kenal sebagai proses Single Sign On. Jika sudah sukses autentikasi di satu layanan, ketika ingin menggunakan layanan lain tidak perlu memasukkan login dan password lagi, proses autentikasi berlangsung secara transparan. Sayangnya, seperti yang mungkin Anda sudah bisa tebak, ini hanya berfungsi dengan baik di sistem operasi Windows. Dan tidak semua browser mendukung skema autentikasi NTLM. Internet Explorer dan Firefox adalah salah satu browser yang mendukung skema autentikasi NTLM. Chrome, Safari dan Opera adalah contoh browser yang belum mendukung skema autentikasi NTLM. Biasanya, untuk browser atau OS yang tidak mendukung skema autentikasi NTLM, ada pilihan fallback ke skema autentikasi basic.

Helper atau program bantu untuk autentikasi ke backend
Paket samba menyertakan winbind ntlm helper untuk membantu squid bisa memberikan layanan skema autentikasi NTLM.

Negotiate Authentication
Protokol negotiate diperkenalkan lagi-lagi oleh Microsoft, sering dikenal juga sebagai SPNEGO. Skema autentikasi ini memperbarui skema Single Sign On yang sebelumnya menggunakan autentikasi NTLM. Jadi apakah Negotiate itu? Skema ini bisa dianggap sebagai wrapper (atau alat bantu) untuk menggunakan salah satu dari autentikasi ke Kerberos atau NTLM. Kelebihan skema ini, jauh lebih aman bila dibandingkan dengan skema autentikasi NTLM. Kelemahannya, lagi-lagi hanya berfungsi dengan baik di lingkungan OS Windows. Selain itu untuk saat ini mengkonfigurasi skema autentikasi negotiate agak ribet, karena helper baru tersedia untuk sistem operasi.

Zimbra Collaboration Server (ZCS) hingga saat ini masih merupakan  aplikasi mail server open source yang memiliki fitur dan kemampuan terbaik yang mampu bertindak sebagai mail server yang fleksibel, modular dan stabil. Kemampuan kolaborasi (email/address book/calendar/scheduller/webmail) merupakan fitur yang dicari karena sudah menyerupai aplikasi sejenis berbasis Windows. Zimbra menggunakan backend LDAP sebagai modul authentikasi standar, seperti diketahui bahwa LDAP merupakan salah satu aplikasi opensource terpopuler untuk digunakan sebagai active directory.

LDAP Zimbra dapat dikembangkan lebih lanjut menjadi infrastruktur layanan authentikasi berbasis active directory atau lebih kita kenal dengan layanan Single Sign On, library LDAP dapat dipergunakan sebagai authentikasi Proxy, Wireless, FTP, email, E-Learning, Blog, SIAKAD, dan aplikasi lainnya.

Pada kesempatan ini saya coba membahas bagaimana menggunakan LDAP Auth sebagai modul autentikasi Proxy Server Squid.

1. Proses Instalasi Aplikasi Proxy Server Squid 3.1

unila-inherent-gtw# cd /usr/ports/www/squid31/
unila-inherent-gtw# make
 │                     Options for squid 3.1.18                       │
 │ ┌────────────────────────────────────────────────────────────────┐ │
 │ │[X] SQUID_KERB_AUTH      Install Kerberos authentication helpers│ │
 │ │[X] SQUID_LDAP_AUTH      Install LDAP authentication helpers    │ │
 │ │[X] SQUID_NIS_AUTH       Install NIS/YP authentication helpers  │ │
 │ │[ ] SQUID_SASL_AUTH      Install SASL authentication helpers    │ │
 │ │[X] SQUID_IPV6           Enable IPv6 support                    │ │
 │ │[X] SQUID_DELAY_POOLS    Enable delay pools                     │ │
 │ │[X] SQUID_SNMP           Enable SNMP support                    │ │
 │ │[ ] SQUID_SSL            Enable SSL support for reverse proxies │ │
 │ │[ ] SQUID_SSL_CRTD       Enable SSL certificate daemon          │ │
 │ │[ ] SQUID_PINGER         Install the icmp helper                │ │
 │ │[ ] SQUID_DNS_HELPER     Use the old 'dnsserver' helper         │ │
 │ │[X] SQUID_HTCP           Enable HTCP support                    │ │
 │ │[ ] SQUID_VIA_DB         Enable forward/via database            │ │
 │ │[ ] SQUID_CACHE_DIGESTS  Enable cache digests                   │ │
 │ │[X] SQUID_WCCP           Enable Web Cache Coordination Prot. v1 │ │
 ├─└────v(+)────────────────────────────────────────────────────────┘─┤
 │                       [  OK  ]       Cancel                        │
 unila-inherent-gtw# make install

2. Install Aplikasi Zimbra Collaboration Suite  bisa anda lihat dialamat berikut  https://gigihfordanama.wordpress.com/2011/07/14/how-to-install-zimbra-collaboration-suite-zcs-on-ubuntu-10-04-64-server/

3.  Tambahkan Paramater berikut pada konfigurasi squid.conf

root# vi /usr/local/etc/squid/squid/conf

auth_param basic program /usr/local/libexec/squid/squid_ldap_auth  -v 3 -D “uid=zimbra,cn=admins,cn=zimbra” -w PASWORDLDAPBINDZIMBRA -b “ou=people,dc=unila,dc=ac,dc=id”
-f “(&(objectClass=zimbraAccount)(uid=%s))” -h 192.168.1.25

acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth

(Auth Param Basic ditulis satu line) Apabila anda lupa atau tidak mengetahui password  LDAP Bind pada saat proses instalasi bisa check dengan perintah berikut langsung pada server Zimbra

zimbra@zimbra:/root$ zmlocalconfig -s zimbra_ldap_password
zimbra_ldap_password = PASWORDLDAPBINDZIMBRA
zimbra@zimbra:/root$

4. Terakhir arahkan browser pada proxy server tersebut dan lihat aktifitas logging squid.

root# tail -f /var/log/squid/access.log 1331892942.467   3454 192.168.1.204 TCP_MISS/200 6752 CONNECT gigihfordanama.wordpress.com:443 heroe DIRECT/74.200.243.251 – 1331892951.529    314 192.168.1.204 TCP_MISS/200 4337 GET http://www.kame.net/ heroe DIRECT/2001:200:dff:fff1:216:3eff:feb1:44d7 text/html 1331892954.206   2494 192.168.1.204 TCP_MISS/200 1543 GET http://www.ipv6forum.com/ipv6_enabled/sa/SA1.php? heroe DIRECT/2001:a18:1:20::42 text/html 1331892954.519    305 192.168.1.204 TCP_MISS/200 349 GET http://www.ipv6forum.com/ipv6_enabled/sa/i.php? heroe DIRECT/2001:a18:1:20::42 text/html 1331892971.469   1375 192.168.1.204 TCP_MISS/200 394 GET http://v4v6.ipv6-test.com/json/defaultproto.php? heroe DIRECT/2001:41d0:1:d87c::7e57:1 text/javascript 1331892972.939     70 192.168.1.204 TCP_REFRESH_UNMODIFIED/304 539 GET http://platform.twitter.com/widgets/hub.html heroe DIRECT/184.29.95.55 text/html 1331892973.151   1445 192.168.1.204 TCP_MISS/200 587 GET http://v6.ipv6-test.com/json/addrinfo.php? heroe DIRECT/2001:41d0:1:d87c::7e57:1 text/javascript 1331892973.554    497 192.168.1.204 TCP_MISS/200 944 POST http://ocsp.usertrust.com/ heroe DIRECT/178.255.83.1 application/ocsp-response 1331892974.377    689 192.168.1.204 TCP_MISS/200 2197 POST http://ocsp.entrust.net/ heroe DIRECT/216.191.247.203 application/ocsp-response 1331892974.766   1077 192.168.1.204 TCP_MISS/200 472 GET http://v4.ipv6-test.com/json/addrinfo.php? heroe DIRECT/46.105.61.149 text/javascript

Selamat anda sudah berhasil menjalankan LDAP sebagai modul Single Sign On (SSO).

  1. March 16, 2012 at 11:58 am

    kalau saya sih (maksudnya kalau punya duit/anggaran) kayaknya mendingan beli appliance bluecoat webcache daripada pakai squid😀

    • March 17, 2012 at 5:28 am

      Hmm. Boleh juga infonya, saya cari info dulu gmna keandalan barang ini.

  2. March 22, 2012 at 1:41 am

    lebih simple pake authentikasi IMAP4:

    auth_param basic program /usr/local/libexec/squid/imap4.pl imap.example.com
    😀

    • March 22, 2012 at 3:22 am

      bener mas, balik lagi ke selera mau menggunakan yang mana😀 , menariknya si radius ini adalah modul AAA nya modular/flexible dan bisa ditarik kebanyak servis, misalnya jika ingin membuat aplikasi baru dapat autentikasinya dapat merefer db radius. itu sih alasannya hehe.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: