Debian / Ubuntu: Setting Port Knocking dengan Knockd dan Iptables
Port knocking merupakan suatu metode untuk memberikan akses secara remote tanpa membuka port tersebut secara permanen. Tekniknya yaitu dengan melakukan knock terhadap port server yang akan diakses. Dengan melakukan port knocking ini dapat menjaga server kita dari serangan port scanning dan script kiddie.
Instalasi Knockd
Buka terminal dan ketikkan perintah berikut:
$ sudo apt-get install knockd
Contoh output:
[sudo] password for user: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: knockd 0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded. Need to get 27.6 kB of archives. After this operation, 168 kB of additional disk space will be used. Get:1 http://mirrors.kernel.org/debian/ stable/main knockd amd64 0.5-3 [27.6 kB] Fetched 27.6 kB in 1s (19.5 kB/s) Selecting previously deselected package knockd. (Reading database ... 352407 files and directories currently installed.) Unpacking knockd (from .../knockd_0.5-3_amd64.deb) ... Processing triggers for man-db ... Setting up knockd (0.5-3) ... knockd disabled: not starting. To enable it edit /etc/default/knockd ... (warning).
Konfigurasi
Edit file /etc/knockd.conf:
$ sudo vi /etc/knockd.conf
Update konfigurasi file tersebut dan set port yang akan kita gunakan adalah 2022, 3022, 4022:
[options] # UseSyslog logfile = /var/log/knockd.log [openSSH] sequence = 2022,3022,4022 seq_timeout = 5 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 4022,3022,2022 seq_timeout = 5 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
Simpan dan tutup filenya. Lalu Edit file /etc/default/knockd:
$ sudo vi /etc/default/knockd Cari: START_KNOCKD=0 Ganti dengan: START_KNOCKD=1 Optional: set nama interfacenya (mis: eth0 atau wlan0 atau ppp0): KNOCKD_OPTS="-i eth0"
Simpan dan tutup file tersebut.
Cara menjalankan knockd.
Untuk menjalankan knockd, ketikkan perintah berikut:
sudo /etc/init.d/knockd start #<-- start server sudo /etc/init.d/knockd stop #<-- stop server sudo /etc/init.d/knockd restart #<-- restart server sudo /etc/init.d/knockd status #<-- see status server
Cara menggunakan/membuka port knock.
Untuk menggunakan port knock, dari komputer klien kita ingin membuka port 22 (ssh) pada IP 203.1.2.3, maka ketikkan perintah berikut:
$ knock -v 203.1.2.3 2022 3022 4022
Contoh output:
hitting tcp 203.1.2.3:2022 hitting tcp 203.1.2.3:3022 hitting tcp 203.1.2.3:4022
Cara menutup port knock
sintaksnya (kebalikan pada saat membuka port):
$ knock -v 203.1.2.3 4022 3022 2022
Cara mengetahui port yang terbuka pada server
Test dengan koneksi ssh dari klien:
$ ssh user@203.1.2.3
Atau pada server ketikkan perintah
# iptables -L INPUT -v -n # iptables -L INPUT -v -n | grep :22
mas mw tnya waktu masuk vi/etc/knokcd.conf saya mw ngedit kok gk bsa caranya gmn??? tlong bls scpatnya
Jika bunyi errornya “Command not found” atau “No such file or directory” berarti ada kesalahan ketik..pake aja editor yg mudah spt nano, sehingga perintahnya: sudo nano /etc/knockd.conf (perhatikan spasi & tulisannya).
Semoga membantu..:-)
ok sip mas ,,,
saya mau tanya lagi sya sdang mmbuat skripsi ttng port knocking ,, satu kmpter sya bwt webservernya dengan apache2 dan port knocingnya ,,, bgaimna cara klient yang ingin msuk ke webservernya klo sudah di knock dr klient??? klo ingin tanya lagi ad email, ato facebooknya mas trmakasih ,,, mhon bntuanya
Misalnya port yg dpt di knock adalah port 80. Jika klien sdh melakukan knock dengan benar, maka secara otomatis port 80 akan terbuka utk klien tersebut.
sudah saya coba mas dari kient saya knock tp gk ad reaksi ap2 d kmpter servernya ,, ne saya memakai wifi yg sma ,, mhon solusinya mas ?? terimakasih
mas skalian mw tanya jga ,,, apakah openssh jga hrus diinstal spya port knocking jalan ??? terimakasih
saya sudah ikuti seperti yang diatas ketukanya juga sudah bisa dilihat di server tapi pas mau remote pkek ssh tetep gak bisa conektion refaused….
Kemungkinan ada firewall yang menghalangi koneksi tersebut
bagaimana cara menyimpan settingan pada knockd kita ? tekan tombol apa ?
trims.
Tekan tombol Esc, lalu tekan tombol :wq
selamat pagi mau tanya cara mendapatkan log dari port knocking bagaimana….?