Skip to main content

Port Knocking

  • Устанавливаем knockd
apt install knockd

systemctl enable knockd
  • Приводим конфиг к следующему виду (незабываем скорректировать последовательность портов и указать интерфейс)
nano -w /etc/knockd.conf
[options]
        UseSyslog
        interface = {ifname}
[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 5
        command     = /sbin/iptables -A INPUT -s %IP% -p tcp -m state --state NEW --dport 22 -j ACCEPT
        tcpflags    = syn

[closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 5
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp -m state --state NEW --dport 22 -j ACCEPT
        tcpflags    = syn
  • Включаем сервис
systemctl start knockd
systemctl status knockd
  • Добавляем правила фильтрации и выключаем прямой доступ к sshd
nano -w /etc/iptables/rc.firewall
# SSH Knock
$ipt -A INPUT -i $iface -p tcp -m state --state NEW --dport 7000 -j ACCEPT
$ipt -A INPUT -i $iface -p tcp -m state --state NEW --dport 8000 -j ACCEPT
$ipt -A INPUT -i $iface -p tcp -m state --state NEW --dport 9000 -j ACCEPT

# SSH
#$ipt -A INPUT -i $iface -p tcp -m state --state NEW --dport 22 -j ACCEPT