Rabu, 18 November 2009

Mengamankan Sistem dengan Kerberos


cerberus Meski beresiko, kata sandi alias password masih menjadi mekanisme utama untuk masuk ke dalam sebuah layanan atau server. Untuk menghindari terjadinya pencurian data, Anda harus punya "anjing penjaga" untuk memastikan kata sandi, berikut isi percakapan dalam sistem, tetap dalam kondisi terenkripsi.

Dalam kenyataannya, banyak mekanisme autentikasi ke suatu server melalui internet mentransmisikan kata sandi meupun isi percakapan dalam bentuk plain text (tidak diacak atau terenkripsi). Hal ini membuka celah bagi orang-orang yang berupaya untuk melakukan eavesdropping atau sniffing.

Sekarang, ancaman keamanan jaringan dan internet semakin besar. Sekarang, login ke dalam server melalui mesin (komputer) yang berbeda-beda atau dilakukan secara berpindah-pindah sudah jadi hal yang lumrah, apalagi bagi orang yang tingkat mobolitasnya tinggi.

Tak hanya itu, firewall yang selama ini jadi andalan untuk melindungi jaringan lokal terhadap malware ternyata hanya bekerja berdasarkan asumsi bahwa potensi ancaman keamanan hanya berasal dari internet. Padahal kenyataannya, potensi ancaman keamanan juga dapat berasal dari dalam jaringan.

Berkenalan dengan Kerberoskerberos

Kalau Anda ingin menjaga keamanan sistem, mungkin Anda bisa memelihara "anjing" yang satu ini. Namanya Kerberos, salah satu alternatif solusi untuk menjaga keamanan di titik autentifikasi login.

Solusi ini berupa protokol yang mengatur autentifikasi dua arah antara pengguna (client) dan server menggunakan kriptografi kunci rahasia (secret key). Di sini, Kerberos berfungsi sebagai perantara dari client dan server.

Kerberos akan memberikan client dan server secret key-nya masing-masing. Client tidak mengetahui secret key yang dimiliki server, demikian juga sebaliknya. Selanjutnya, baik client maupun server akan melakukan pengecekan validasi identitas dari pihak yang akan berkomunikasi.

Inti dari arsitektur Kerberos terletak pada server KDC (Key Distribution Center) yang menyimpan informasi autentikasi pengguna dan mengatur distribusinya. Server KDC memiliki beberapa server turunan, yakni authentication server, ticket granting server, serta service server.

Kerberos merupakan bagian dari proyek Athena yang dibentuk oleh Massachuset Institute of Technology (MIT) yang ingin mencari mekanisme pengamanan terhadap proses autentikasi antara pengguna dan server. Nama Kerberos berasal dari kata "Cerberus", nama anjing berkepala tiga yang menjaga gerbang Hades dalam mitologi Yunani kuno. Kerberos bebas untuk digunakan, dan saat ini telah diadopsi oleh semua sistem operasi, termasuk Microsoft Windows (mulai dari Windows 2000), GNU/Linux, serta Free BSD.

Pada Windows, Kerberos bekerja dengan melibatkan berbagai server milik Windows untuk menangani autentikasi. Beberapa server tersebut adalah LSA (Local Security Authority) yang menangani keamanan basis data informasi pengguna (bisa berupa password dan konfigurasi keamanan sistem), dan Domain Controller server yang memetakan alokasi nomor protokol internet (IP) pada komputer yang ada dalam jaringan lokal.

Cara Kerja Kerberoskerberos system

Proses autentifikasinya cukup sederhana. Pertama kali pengguna hendak login ke server, ia harus membuktikan keaslian dirinya kepada authentication server (AS). Server ini akan membentuk session key dan encryption key bagi pengguna, untuk mengacak password maupun isi percakapan yang terjadi antara pengguna dan server.

Encryption key berfungsi sebagai tiket masuk, istilahnya ticket-granting-ticket, ke dalam server. Dengannya, pengguna belum bisa melayangkan request layanan (service). Selanjutnya, tiket ini akan dikirim kepada ticket granting server (TGS) yang akan memberikan tiket untuk mengirim request layanan kepada service server.

Tiket yang digunakan untuk melakukan request layanan dibatasi oleh rentang waktu, biasanya 8 jam. Dengan demikan, potensi ancaman keamanan tiket ini digunakan oleh orang lain di lain waktu dapat dikurangi.

Menghindari Masalah

Setiap sistem, meskipun sudah ditambal serapat mungkin, umumnya masih memiliki celah untuk disusupi. Hal tersebut juga berlaku untuk Kerberos. Salah satu kelemahan Kerberos yang perlu diperhatikan adalah sinkronisasi jam antara client dan server. Jika penggunanya tidak memperhatikan hal ini, client tidak akan dapat melakukan login ke dalam server lantaran terjadi kegagalan autentifikasi. Kekacauan juga mungkin terjadi karena tiket yang digunakan oleh Kerberos dibatasi oleh waktu (time based).

Jadi, untuk menghindari masalah, daemon NTP (program yang menangani layanan dan berjalan secara tak terlihat di background) harus diaktifkan terlebih dulu untuk melakukan sinkronisasi jam. (PCplus, 291)

◄ Newer Post Older Post ►