Anklopfen mit knockd

Um einzelne Ports abzusichern wie zum Beispiel den SSH-Port kann man knockd benutzen.

Erstmal knockd installieren:

apt install knockd

Unter /etc/knockd.conf findet man die Konfigurationsdatei.

Als Beispiel dient hier einmal ISPConfig welches ich gerne durch Port-Knocking absichern möchte.
ISP-Config läuft bei mir unter dem Port 8085 und die Konfigurationsdatei knockd.conf passe ich wie folgt an:

[options}
    UseSyslog
[Open ISPConfig Port]
    sequence     = 9000,9001,9002
    seq_timeout = 5
    command    = /sbin/iptables -A open -s %IP% -p tcp --dport 8085 -j ACCEPT
    tcpflags       = syn

[Close ISPConfig Port]
    sequence     = 9002,9001,9000
    seq_timeout = 5
    command    = /sbin/iptables -D open -s %IP% -p tcp --dport 8085 -j ACCEPT
    tcpflags       = syn

Die Sequenz 9000,9001,9002 sollte jeder für sich natürlich individuell wählen.

Jetzt muss noch knockd aktiviert werden

mcedit /etc/default/knockd
~
START_KNOCKD=1
~
service knockd start

Um jetzt anzuklopfen und den Port zu öffnen dient folgender Befehl:

knock -v segmentia.de 9000 && knock -v segmentia.de 9001 && knock -v segmentia.de 9002

Äquivalent dazu der Befehl zum schließen:

knock -v segmentia.de 9002 && knock -v segmentia.de 9001 && knock -v segmentia.de 9000

Die knock-Befehle führe ich deswegen hintereinander aus, weil bei meinem Server die Eingaben eine kleine Pause haben müssen um registriert zu werden.