- Katılım
- 2 Ocak 2026
- Mesajlar
- 5
- Tepkime puanı
- 14
- Puan
- 3
Merhaba arkadaşlar,
Bu konuda SSH gizleme ve pratikte sık kullanılan Port Knocking yöntemini anlatmak istiyorum. Özellikle internete açık VPS veya sunucusu olanlar için basit ama etkili bir ek güvenlik katmanı diyebilirim.
Normalde SSH servisi varsayılan olarak 22 portunda çalışır ve bu port internete açık olduğu sürece botlar tarafından sürekli taranır. Portu değiştirseniz bile bu tek başına yeterli olmaz. İşte burada port knocking devreye giriyor.
Port knocking mantığı kısaca şu:
SSH portu normalde tamamen kapalıdır ve dışarıdan görünmez. Ancak sizin belirlediğiniz portlara, belirlediğiniz sırayla TCP paketleri gönderildiğinde (bir nevi gizli kapı gibi), SSH portu kısa süreliğine açılır. Bu sayede otomatik taramalar, brute-force denemeleri ve botlar SSH’ın varlığını bile fark edemez.

Bu anlatım Ubuntu / Debian tabanlı sistemler içindir.
Önce SSH’ın hangi portta çalıştığını kontrol edin. Varsayılan olarak 22’dir.
İsterseniz değiştirebilirsiniz ama zorunlu değil.
Knockd Kurulumu :
Servisi aktif etme :
Şimdi Sıra SSH portunu kapatma:
knockd.conf Yapılandırması :
Örnek Yapılandırma aşağıdaki gibi olabilir:
Yukarıdaki yaptığımız konfigurasyon şunun yapılması istenir:
Kontrol etme :
Client Tarafından Test etme :
Önce suncuya kncok gönderilir.
Ardından SSH bağlantısı için istek atılır:
İşimiz bittikten sonra tekrar kapatmak için :
Bu konuda SSH gizleme ve pratikte sık kullanılan Port Knocking yöntemini anlatmak istiyorum. Özellikle internete açık VPS veya sunucusu olanlar için basit ama etkili bir ek güvenlik katmanı diyebilirim.
Normalde SSH servisi varsayılan olarak 22 portunda çalışır ve bu port internete açık olduğu sürece botlar tarafından sürekli taranır. Portu değiştirseniz bile bu tek başına yeterli olmaz. İşte burada port knocking devreye giriyor.
Port knocking mantığı kısaca şu:
SSH portu normalde tamamen kapalıdır ve dışarıdan görünmez. Ancak sizin belirlediğiniz portlara, belirlediğiniz sırayla TCP paketleri gönderildiğinde (bir nevi gizli kapı gibi), SSH portu kısa süreliğine açılır. Bu sayede otomatik taramalar, brute-force denemeleri ve botlar SSH’ın varlığını bile fark edemez.

Port Knocking ile SSH Gizleme – Adım Adım Kurulum
Bu anlatım Ubuntu / Debian tabanlı sistemler içindir.
Önce SSH’ın hangi portta çalıştığını kontrol edin. Varsayılan olarak 22’dir.
İsterseniz değiştirebilirsiniz ama zorunlu değil.
kali# sudo nano /etc/ssh/sshd_config
Knockd Kurulumu :
kali# apt update
kali# apt install knockd -y
Servisi aktif etme :
START_KNOCKD=0 satırı bulup, START_KNOCKD=1 olarak değiştirin.kali# nano /etc/default/knockd
Şimdi Sıra SSH portunu kapatma:
kali# iptables -A INPUT -p tcp --dport 22 -j DROP. Bu aşamadan sonra knock atmadan SSH bağlantısı yapılamaz, o yüzden dikkatli olun.
knockd.conf Yapılandırması :
kali#nano /etc/knockd.conf
Örnek Yapılandırma aşağıdaki gibi olabilir:
[openSSH]
sequence = 1000,2000,3000
seq_timeout = 10
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 3000,2000,1000
seq_timeout = 10
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Yukarıdaki yaptığımız konfigurasyon şunun yapılması istenir:
- sequence: Knock sırası yani 1000 2000 ve 3000 portuna şifre koyulmuş. Bunlara istek atmadan ssh açılamaz.
- %IP%: Knock atan client IP’si
- İlk kural SSH’ı açar.
- İkinci kural işi bitince tekrar kapatır.
kali# systemctl restart knockd
kali# systemctl enable knockd
Kontrol etme :
kali# systemctl status knockd
Client Tarafından Test etme :
Önce suncuya kncok gönderilir.
kali# knock 'sunucu-ip' 1000 2000 3000 ------> (Burada belirlediğimiz 3 adet portada istek atıyoruz.)
Ardından SSH bağlantısı için istek atılır:
kali# ssh root@'sunucu-ip'
İşimiz bittikten sonra tekrar kapatmak için :
kali# knock 'sunucu-ip' 3000 2000 1000 --------> burada kapatmak için ise portları sondan başa doğru yazıyoruz.