SSH hinter Port Knocking verbergen
Ein offener SSH-Port zieht Anmeldeversuche aus dem gesamten Internet an. Port Knocking hält den Port geschlossen, bis du nachweist, dass du ein Geheimnis kennst — und öffnet ihn dann nur für deine Adresse und nur für einige Sekunden.
Mit knockd und nftables
SSH standardmäßig verwerfen und nur von Adressen in einer Menge mit Zeitüberschreitung akzeptieren. knockd fügt die klopfende Adresse dieser Menge hinzu; nftables entfernt sie, wenn die Zeitüberschreitung abläuft, und die bestehende SSH-Sitzung funktioniert weiterhin.
table inet filter {
set knocked4 {
type ipv4_addr
flags timeout
}
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif "lo" accept
tcp dport 22 ip saddr @knocked4 accept
}
} Der knockd-Abschnitt, der die Menge füllt:
[openSSH]
sequence = 7311:tcp,8822:tcp,9133:udp
seq_timeout = 10
tcpflags = syn
start_command = /usr/sbin/nft add element inet filter knocked4 { %IP% timeout 30s } Dauerhaften Zugriff getrennt halten
Wenn du einige Adressen zusätzlich dauerhaft zulässt, halte sie in einer separaten Menge ohne Zeitüberschreitung. Das Hinzufügen einer Adresse, die sich bereits in einer Menge mit Zeitüberschreitung befindet, setzt deren Zeitüberschreitung nicht zurück. Wenn du beide Arten von Einträgen in einer Menge mischst, kannst du ausgesperrt werden, sobald der Timer abläuft.
Oder fwknop verwenden
fwknop SPA ist sicherer als eine Sequenz: ein einzelnes verschlüsseltes, authentifiziertes Paket, das nicht erneut verwendet werden kann. Weitere Informationen findest du im fwknop-Handbuch.
Vom iPhone zu SSH
- 1Halte den Messingtürklopfer gedrückt. Secret Knock prüft, ob Port 22 antwortet, und zeigt an, wie lange er geöffnet bleibt.
- 2SSH öffnen öffnet deine SSH-App mit einem ssh://-Link für den Server.
- 3Die Option „Tür angelehnt halten, solange die Türansicht angezeigt wird“ lässt die App kurz vor Ablauf des Zeitfensters erneut anklopfen, während die Tür auf dem Bildschirm angezeigt wird.
Alle Beispiele auf GitHub → Jede Konfiguration auf dieser Seite, kopierbereit: github.com/mobilcomm/secretknock-examples (gemeinfrei).
Fragen
Ersetzt dies SSH-Schlüssel?
Nein. Port Knocking verbirgt den Dienst; verwende weiterhin starke SSH-Schlüssel und deaktiviere auch Anmeldungen mit Passwort.
Anleitungen für dein Setup
- Port knocking erklärt →
- knockd auf iPhone, iPad und Mac →
- fwknop SPA auf iPhone, Mac und Apple Watch →
- MikroTik-Port-Knocking →
- DrayTek Vigor Port Knocking →
- Port Knocking auf der Apple Watch →
- Warum ein Port-Knock nicht öffnet →
- knockd.conf-Beispiele →
- fwknop-Server einrichten →
- Port Knocking, VPN oder fail2ban? →