Seminar Nasional Teknologi 2007 SNT 2007
ISSN : 1978 – 9777
Yogyakarta, 24 November 2007
D ‐ 3
2. Port Knocking
Port Knocking merupakan metoda sistem autentikasi yang secara khusus dibuat untuk jaringan. Ide dasar dari sistem autentikasi ini telah lama digunakan namun baru pada tahun 2003,
dalam salah satu kolom di majalah Linux Journal, seorang pakar jaringan komputer Martin Krzywinski kembali mempopulerkan metode ini dengan beberapa terobosan–terobosan menghadapi
serangan yang mungkin terjadi. Pada dasarnya port knocking dapat didefinisikan sebagai suatu metode komunikasi antara dua komputer, dimana informasi yang dikirimkan di encode dalam
bentuk usaha koneksi ke port–port dalam urutan tertentu. Usaha membangun koneksi ini bisa disebut juga ketukan2. Mekanisme port knocking akan menggunakan file log yang dibuat oleh
firewall untuk mengetahui apakah suatu usaha koneksi telah dibuat oleh suatu host atau tidak.
Prinsip dasar dari port knocking secara mudah dapat dijelaskan sebagai berikut : 1. client melakukan koneksi ke sistem remote yang menerapkan aturan firewall sebagai berikut :
client sama sekali tidak dapat terkoneksi dengan port berapapun pada remote sistem, dengan kata lain semua port ditutup oleh firewall;
2 Krzywinski Martin, Port Knocking – Flexible Security Through Authentication Across Closed
Ports, West Coast Security Forum - 2003
2. client mencoba melakukan koneksi dengan mengirimkan paket data UDP ke sistem remote melalui beberapa port secara sekuensial dalam hal ini antara 32 sampai 265 port yang tersedia;
3. client tidak akan mendapatkan response apapun dari server saat fase ini; 4. port knock daemon mencatat percobaan koneksi kemudian melakukan autentikasi terhadap
percobaan tersebut bila autentikasi berhasil, dalam hal ini urutan port yang di coba untuk dikoneksikan sesuai dengan aturan tertentu pada port knock daemon, maka daemon akan
melakukan overwrite terhadap file konfigurasi firewall agar mengijinkan port n untuk dibuka kepada client dengan IP Addres ter-autentikasi;
5. client melakukan koneksi ke port n menggunakan aplikasi seperti pada umumnya; 6. saat client memutuskan koneksi, maka program daemon dari port knock akan melakukan
kembali overwrite terhadap isi file konfigurasi firewall sehingga port kembali tertutup bagi client tersebut.
Salah satu masalah pada port knocking adalah replay–attack yaitu penyerang berhasil sniffing port sequence untuk kemudian melakukan knocking menggunakan hasil rekaman. Untuk
Seminar Nasional Teknologi 2007 SNT 2007
ISSN : 1978 – 9777
Yogyakarta, 24 November 2007
D ‐ 4
mengatasi masalah tersebut maka terdapat beberapa alternatif pendekatan untuk port knocking, diantaranya:
– penggunaan one time password, – menggunakan enkripsi dan fungsi tertentu untuk menghasilkan suatu sequences port.
Untuk sistem yang dibangun kali ini digunakan pendekatan cara kedua atau menggunakan enkripsi dalam hal ini RSA Public Key Cryptography dan fungsi dengan bentuk persamaan :
RSA_public hj, ha, pj, act, prv, u, pk = p0, p1, p2, p3, ......., p32
ha = host asal, hj = host tujuan,
pj = port tujuan, act = aksi yang akan dilakukan membuka atau mentutup port
prv = private passwordprivate key k = public key
u = username p = password
p0, ..., p32 = merupakan urutan port yang akan diketuk Program port knocking pada sisi server merupakan program daemon. Daemon ini akan
berjalan terus menerus dan melakukan evaluasi terhadap isi file log setiap detiknya, dengan catatan isi file log berubah. Berubah atau tidaknya isi file log dapat diketahui dengan cara membandingkan
hasil MD5 hash
dari file log saat ini dengan hasil MD5 hash sebelumnya.
Seminar Nasional Teknologi 2007 SNT 2007
ISSN : 1978 – 9777
Yogyakarta, 24 November 2007
D ‐ 5
Aturan firewall baru akan dirubah bila jumlah ketukan telah mencapai 32 dan hasil decode dari ketukan tersebut menunjukkan bahwa ketukan tersebut berasal dari pemakai yang sah.
Pemakai yang sah dalam hal ini adalah pemakai yang nama serta passwordnya ada pada file ipf.passwd. Dan port yang ingin dibuka oleh pemakai tersebut merupakan port yang boleh dibuka