Perancangan Sistem Single Sign-On Pada Administrasi Jaringan Menggunakan Squid dan Autentikasi LDAP di GUCC
PENDAHULUAN Untuk membantu berbagai macam pekerjaan dan tugas, aplikasi web sangat populer digunakan. Aplikasi web memungkinkan penggunaan oleh banyak user. Karena aplikasi web digunakan oleh banyak user maka aplikasi web tersebut harus memiliki sistem autentikasi yang bertugas untuk mengidentifikasi setiap user yang mengakses.
Ruang Lingkup Pada jaringan Local Area Network(LAN) terdapat klien berjumlah 30-42 komputer yang digunakan user untuk melakukan koneksi ke aplikasi web. Jaringan LAN menggunakan topologi star dan terletak pada VLANyang terpisah dari server. Batasan masalah yang penulis analisa adalah sebagai berikut : •
Penerapan sistem SSO dalam melakukan login menggunakan Squid proxy server dan Open Lightweight Directory Access Protocol (OpenLDAP)
•
Proxy server Squid dan server OpenLDAP diimplementasikan pada sistem operasi linux centOS 5.X
•
Fasilitas yang menggunakan SSO adalah aplikasi-aplikasi web yang digunakan secara internal di GUCC.
Tujuan Penulisan Membantu user untuk melakukan login ke dalam beberapa aplikasi web dengan mengintegrasikan sistem login yang sebelumnya terpisah. Melalui sistem ini setiap user hanya memiliki satu buah account, sehingga user hanya melakukan satu kali login untuk masuk ke beberapa aplikasi web sekaligus, user tidak perlu menghafal lebih dari satu username dan password.
Analisa Aplikasi Web yang terdapat pada server masingmasing memiliki sistem login tersendiri, sehingga user harus berulang-ulang login untuk mengakses aplikasi web yang berbeda. Hal ini menyebabkan administrator jaringan kesulitan untuk memanajemen setiap user account pada masingmasing aplikasi web.
Topologi Lab GUCC
Pembahasan Masalah Sistem autentikasi dari aplikasi web yang berjumlah cukup banyak dapat di integrasikan melalui sistem Single Sign On(SSO). Sistem SSO memfasilitasi penanganan user account untuk beberapa server dengan cara mengijinkan user untuk menyediakan sebuah kredensial sekali dengan maksud untuk mengakses aplikasi web sesuai dengan kebutuhan user. Untuk menyediakan fleksibilitas yang lebih baik, sebuah SSO harus menyediakan metode dari penyimpanan kredensial. Salah satu penyimpanan dapat menggunakan Lightweight Directory Access Protocol (LDAP) yang didesain untuk memperbarui dan mencari direktori melalui jaringan TCP/IP.
Topologi Usulan
Algoritma 1. Klien melakukan koneksi ke server proxy 2. Jika koneksi dari klien baru pertama kali dilakukan, maka proxy server meminta klien untuk login. 3. User mengirimkan kredensial ke server proxy. 4. Server proxy memeriksa kredensial user dengan menghubungi server openLDAP. 5. Jika kredensial yang dikirim klien tidak cocok atau tidak terdapat pada direktori OpenLDAP, maka kembali ke tahap 3. 6. Jika kredensial yang dikirim klien sama dengan kredensial yang terdapat pada direktori OpenLDAP, maka server proxy mengirimkan session token ke PC klien. 7. Web browser akan menyimpan session token dari server proxy.
Algoritma (cont.) 8. Jika koneksi dari klien merupakan lanjutan dari koneksi selanjutnya, maka web browser klien akan menyertakan session token pada http header 9. Server proxy memeriksa waktu ekspirasi session token yang dikirimkan klien, jika waktu ekspirasi mencapai 15 menit, maka kembali ke tahap 3, jika waktu ekspirasi belum mencapai 15 menit, maka server proxy akan melanjutkan ke tahap 10. 10. Setelah klien berhasil di autentikasi, server proxy meneruskan koneksi dengan menyertakan kredensial klien pada HTTP header yang dikirim ke server aplikasi web. 11. Aplikasi web akan memeriksa hak akses user dari HTTP header lalu akan memberikan halaman web yang bersesuaian dengan mengirimkan respon kembali ke PC klien.
Penutup Sistem SSO dimplementasikan menggunakan Squid dan OpenLDAP. Server Squid mengijinkan user melakukan autentikasi dengan bantuan server OpenLDAP untuk memeriksa kredensial dari klien dengan kredensial yang telah terdapat pada direktori OpenLDAP. Untuk meningkatkan keamanan data dalam mengirimkan kredensial dan token autentikasi, dapat menggunakan HTTP Digest Authentication atau NTLM Authentication agar koneksi antara user dan server terenkripsi, sehingga mencegah pihak ketiga untuk menyadap komunikasi.