Minggu, April 05, 2009

TCP Wrapper untuk SSH Server

Assalamu'alaikum Wr. Wb
Ada kalanya kita ingin membatasi siapa saja yang boleh mengakses SSH server kita. Dulu sebelum ada ssh pembatasan pada server telnet bisa menggunakan TCP Wrapper. TCP wrapper merupakan salah satu metode filter (acces control list) di sistem operasi Unix Like untuk membatasi suatu host yang ingin menggunakan service yang ada di server.

TCP Wrapper memiliki 2 file yang berada di direktori etc yakni hosts.allow dan hosts.deny. File hosts.allow akan dicek terlebih dahulu sebelum host.deny.
Contoh penggunaannya adalah sebagai berikut,
ALL: .nrar.net EXCEPT cracker.nrar.net
Jika file hosts.allow diisi dengan seperti di atas maka semua klien dengan domain nrar.net akan diijinkan untuk mengakses semua service yang ada di server kecuali sub domain cracker.

SSH server juga memungkinkan untuk menggunakan TCP wrapper dengan catatan ssh nya harus mendukung libwrap. Debian sepertinya secara default mendukung opsi ini sehingga bisa menggunakan TCP wrapper untuk memblokir ssh server agar hanya bisa digunakan oleh host tertentu.
Sebagai contoh saya di server memiliki isi hosts.allow seperti ini :
sshd : 202.91.15.0/28 : ALLOW
sshd : 202.91.8.36/32 : ALLOW
sshd : .akprind.ac.id : ALLOW
sshd : 10.15.74.81 : ALLOW
sshd : all : twist /usr/local/sbin/ssh-twist.pl "Please call emergency service your IP %a "

Opsi di atas akan hanya mengijinkan ssh dari ip yang sudah disebutkan dan menolak serta memberikan umpan balik kepada yang tidak diijinkan, misalkan list yang ke 2 dihilankan dan dicoba untuk melakukan ssh maka akan ada informasi seperti ini di klien

wa2n@debian:~$ ssh wa2n@202.91.15.14
Received disconnect from 202.91.15.14: Please call emergency service your IP ::ffff:202.91.8.36

Note: twist.pl harus terinstall
Semoga bermanfaat

Wassalamu'alaikum Wr. Wb

Tidak ada komentar: