LAPORAN
PORT KNOCKING
oleh:
Aliffajri
XII TKJ B
DASAR TEORI
Port Knocking (ketukan port) merupakan sebuah istilah yang merujuk pada sebuah mekanisme
untuk membuka sebuah port pada sebuah serverdengan cara mengakses port-port tertentu yang
sudah ditentukan dengan urutan tertentu dan jumlah tertentu. Mekanisme ini sering digunakan
oleh para administrator ingin menginginkan akses ke port-port tertentu dan terbatas hanya
untuk pengguna tertentu saja. Jika layanan yang diinginkan sudah selesai digunakan, maka
administrator dapat menutup layanan tersebut sehingga tidak disalah gunakan oleh orang lain.
Mekanisme ini memang sesuai dengan namanya, dapat diibaratkan seseorang yang ingin
masuk ke dalam sebuah rumah yang terkunci dari dalam. Agar pemilik rumah mau membuka
pintu, tamu tersebut harus mengetuk pintu terlebih dahulu. Nah, yang keren di sini adalah
adanyavariasi cara mengetuk pintu. Jika cara mengetuk pintu tamu tersebut salah, maka sang
pemilik rumah tidak akan mau membuka pintu. Okay, jika Anda masih bingung dengan
pengibaratan pertama, silakan teruskan membaca paragraf ini, dan jika Anda sudah mengerti
silakan loncat ke paragraf berikutnya. Mekanisme port knocking juga dapat Anda ibaratkan
seperti proses membuka brankas besi yang biasanya Anda lihat pada flm-flm action luar negeri,
brankas semacam ini biasanya berisi benda berharga seperti uang, emas, atau surat-surat
berharga. Untuk membuka sebuah brankas besi, Anda harus mengetahui kombinasi angka yang
harus Anda gunakan saat memutar-mutar rotate-slider (kira-kiranya ngintu pangngarannya).
Ya, puputaran yang kaya di radio, tapi ada angkanya. Jika kombinasi Angka yang Anda
gunakan salah, maka brankas besi tersebut tidak akan terbuka.
Secara teknis, sebenarnya knockd akan mendengarkan ketukan port yang masuk dan
menjalankan perintah yang kita masukkan ke dalam fle konfgurasi sesuai dengan kombinasi
ketukan. Namun pada praktiknya knockd sering digunakan untuk menjalankan perintah
iptables. Jika Anda perhatikan manualnya, knockd memang cenderung untuk menjalankan
perintah iptables (dari contoh-contoh yang disediakan). Dan lebih spesifk lagi, contoh-contoh
ini kebanyakan mengenai mekanisme untuk membuka dan menutup port. Namun yang perlu
Anda ketahui bahwa knockd ini tidak hanya dapat digunakan untuk buka tutup port, tetapi juga
dapat melakukan hal-hal lain yang dapat dilakukan oleh iptables. Lebih jauh lagi, knockd tidak
hanya dapat men-trigger perintah iptables, tetapi juga perintah-perintah lain yang ada di dalam
system, untuk me-reboot system misalnya. Well, singkatnya Anda dapat menjalankan perintah
apapun dengan hak akses super user. Fabulous kan?
Selain ftur utama di atas, knock juga mempunyai ftur lain seperti dapat membaca ketukan port
dengan kombinasi protokol dan nomor port yang berbeda, menutup port secara otomatis, dan
bahkan mempunyai ftur agar kombinasi ketukan hanya dapat digunakan sekali saja.
Secara teori, port knocking ini dapat dipenetrasi dengan cara brute force. Namun tentu saja
memerlukan waktu yang cukup lama. Misal, ada dua kombinasi angka yang digunakan, maka
diperlukan percobaan sebanyak 655352 kali (port komputer dimulai dari 1 hingga 65535).
Selain itu, urutan kombinasi angka-angka ini harus sesuai. Meskipun angka-angka yang
digunakan sudah benar, namun jika urutannya salah, maka knockd tetap tidak akan merespon.
Dalam konteks penggunaan knockd untuk membuka port pada frewall, akan sangat bijaksana
jika pembukaan port ini dikhususkan untuk alamat IP yang melakukan pengetukan. Untuk hal
ini, knockd sudah menyertakan parameter %IP% untuk digunakan di dalam perintah iptables
nantinya. Selain itu, sebaiknya dibuatkan dua mekanisme penutupan port, yaitu manual dan
otomatis. Penutupan port secara manual dilakukan saat admin sudah selesai menggunakan
layanan pada port tersebut. Penutupan port secara otomatis digunakan untuk mengantisipasi
jika tiba-tiba koneksi administrator ke server terputus sehingga tidak sempat menutup port,
ataupun mengantisipasi kemungkinan administrator lupa menutup port.
In the end, perlu diingat bahwa port knocking ini hanyalah salah satu mekanisme untuk
membatasi akses ke layanan-layanan khusus pada server saja. Namun bukanlah satu-satunya
solusi bagi keamanan server. Selain itu, kebanyakan implementasi port knocking tidak
terenkripsi, sehingga sangat rentan terhadap aktiftas snifng. Satu lagi nih, jika aplikasi knockd
ini crash atau error, maka Anda selamanya tidak akan bisa mengakses server Anda. Kalau
servernya masih bisa didatangi secara fsik sih tidak masalah, namun hal ini akan menjadi sangat
buruk jika server yang Anda tangani merupakan cloud server atau VPS.
PRASYARAT PRAKTIKUM
1. Pada Virtual Machine yang digunakan sebagai server sudah terinstal layanan HTTP, FTP,
dan SSH yang berjalan pada port standar.
2. Siswa sudah memahami bagaimana membuat iptables
3. Siswa memahami perintah linux
SKENARIO