Debian / Ubuntu: Setting Port Knocking dengan Knockd dan Iptables

Written by Edusoft Center on September 23, 2013. Posted in Blog

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 [email protected]

Atau pada server ketikkan perintah

# iptables -L INPUT -v -n
# iptables -L INPUT -v -n | grep :22

Tutorial Lain

Tags: , , , , , , , , , , , , , , , , , , ,

Trackback from your site.

Share This Post To :

Edusoft Center

Edusoft Center merupakan lembaga yang fokus pada bidang IT terutama pada Kursus Komputer Profesional. Berlokasi di Solo / Surakarta dan dengan slogan “Start Here. Go Anywhere” diharapkan ilmu yang didapat pada kursus kami dapat diterapkan untuk mempermudah dan menunjang pada semua lini kegiatan yang dilakukan. "Selamat datang di Edusoft Center, Kursus Komputer di Solo"

Comments (10)

  • February 25, 2014 at 22:15 |

    mas mw tnya waktu masuk vi/etc/knokcd.conf saya mw ngedit kok gk bsa caranya gmn??? tlong bls scpatnya

    • February 26, 2014 at 09:27 |

      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..:-)

      • March 20, 2014 at 14:45 |

        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

        • March 20, 2014 at 19:08 |

          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.

          • March 20, 2014 at 22:52 |

            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

  • March 21, 2014 at 00:13 |

    mas skalian mw tanya jga ,,, apakah openssh jga hrus diinstal spya port knocking jalan ??? terimakasih

  • haris
    May 17, 2016 at 16:01 |

    saya sudah ikuti seperti yang diatas ketukanya juga sudah bisa dilihat di server tapi pas mau remote pkek ssh tetep gak bisa conektion refaused….

    • September 23, 2016 at 13:22 |

      Kemungkinan ada firewall yang menghalangi koneksi tersebut

  • teza lesmana
    September 3, 2016 at 00:12 |

    bagaimana cara menyimpan settingan pada knockd kita ? tekan tombol apa ?

    trims.

Leave a comment

Jika anda membutuhkan info lebih lanjut atau ingin mengetahui jadwal kursus, silakan hubungi kami,

Call / SMS :

0896 987 12224


Call / SMS / WA :

08180 4542 586


Email:
[email protected]