Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Debian / Ubuntu: Setting Port Knocking dengan Knockd dan Iptables

  • September 23, 2013
  • oleh Edusoft Center

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
Tags: knockdkursus dns serverkursus ethical hackingkursus hackingkursus linuxKursus Linux Forensicskursus linux securitykursus linux serverkursus web serverlinux securitymengamankan sshopensshportport knockport knockingport knocking di ubuntusshssh securityteknik hackingteknik security ssh dengan port knocking
Previous Post
Next Post

12 Comments

Avatar
ruben
February 25, 2014

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

Reply
    Avatar
    Edusoft Center
    February 26, 2014

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

    Reply
      Avatar
      ruben
      March 20, 2014

      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

      Reply
        Avatar
        Edusoft Center
        March 20, 2014

        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.

        Reply
          Avatar
          ruben
          March 20, 2014

          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

Avatar
ruben
March 21, 2014

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

Reply
Avatar
haris
May 17, 2016

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

Reply
    Avatar
    Edusoft Center
    September 23, 2016

    Kemungkinan ada firewall yang menghalangi koneksi tersebut

    Reply
Avatar
teza lesmana
September 3, 2016

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

trims.

Reply
    Avatar
    Edusoft Center
    September 23, 2016

    Tekan tombol Esc, lalu tekan tombol :wq

    Reply
Avatar
Rosalia Ernawati
September 17, 2020

selamat pagi mau tanya cara mendapatkan log dari port knocking bagaimana….?

Reply
Avatar
Rifqi
May 5, 2023

Sya mau bertanya mau saya mau melakukan enkripsi ke sequence knockd, terus saya sudah membuat scrip python untuk melakukan enkripsi, tetapi jika saya melakukan knock pada ketuka yg telah di enkripsi maka hasilnya tidak dapat membuka port, itu gimana yah ?

Reply

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Panduan Lengkap Clean Code dalam Rekayasa Perangkat Lunak: Prinsip, Teknik, dan Contoh Praktis
  • Website Toko Digital Siap Pakai: Solusi Otomatis untuk Bisnis Digital Anda
  • 🔐 Cara Membuat Show/Hide Password dengan JavaScript (Simple & Langsung Bisa!)
  • Tampilan Aplikasi SIPPO Berbasis Google Apps Script Web App
  • SIPADU RT: Solusi Modern Pengelolaan Pengaduan Warga RT/RW Berbasis Google Apps Script

Arsip

  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

#EdusoftCenter apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us