Knockd (Debian)

Aus MattWiki
Version vom 7. Juni 2015, 16:54 Uhr von Matt (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Einrichtung des knock Dienstes (knockd), um Portzugriff einzuschränken === Softwareinstallation === apt-get install knockd # Installiert den Dienst …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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