Knockd (Debian)
Aus MattWiki
Einrichtung des knock Dienstes (knockd), um Portzugriff einzuschränken
Softwareinstallation
apt-get install knockd # Installiert den Dienst und auch den Client
iptables vorbereiten
In der iptables-Konfiguration muss eine Zeile für das aufrechterhalten von aufgebauten Verbindungen eingefügt werden:
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Eine Zeile für den freizugebenden Port ist nicht notwendig. Dieser wird vom knockd selbst freigegeben.
knockd Konfiguration anpassen
Konfiguration in /etc/knockd.conf anpassen. Standardmäßig:
[options] UseSyslog [openSSH] sequence = 7000,8000,9000 seq_timeout = 5 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9000,8000,7000 seq_timeout = 5 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
- Ports in sequence-Zeile anpassen
- Freizugebenden Port in Command-Zeilen anpassen
- Erste Command-Zeile von append auf insert ändern:
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
Optional openSSH-Block so anpassen, dass nach einer Weile der Port wieder automatisch geschlossen wird, indem die iptables-Zeile gelöscht wird. Dies könnte so aussehen:
[openSSH] sequence = 7000,8000,9000 tcpflags = syn seq_timeout = 5 start_command = /sbin/iptables -I INPUT 1 -s %IP% -p tcp --dport 22 -j ACCEPT cmd_timeout = 5 stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT