fail2ban (oder ähnliche Produkte) sperren nach X Fehlversuchen für Y Zeit die Quell-IP
Normalerweise ist X=4 Versuche und Y= 15 Minuten
Bei mir hat sich aber als Y 1,z Stunden als Praktikabel erwiesen. die ,z damit ein Automatismus (nach 1 Stunde) fehlschlägt ... möchte hier nur z nicht veröffentlichen ;o)
Ein zu langes Y ist übrigens auch negativ, da man sonst per "Blind Angriff", d.h. jemand versucht ich mit Deiner IP absichtlich falsch am Server anzumelden, Aussperrbar ist. (O.K. ich hatte mal in Geistiger Umnachtung das Passwort 3 mal falsch eingegeben und musste dann 1h warten .....)
Port knocking ging bei meinem Server nicht, da ich schon am router nur den ssh Port weiterleiten .. für "port knocking" hätte ich alles weiterleiten müssen.
Aber noch einen Hinweis:
Erlaube nur einen dedizierten User auf ssh zuzugreifen, in der /etc/ssh/sshd_config
|
Quellcode
|
1
2
|
PermitRootLogin yes
AllowUsers toller_ssh_user
|
so muss ein Angreifer User/Passwort (oder User/Key) raus finden ...... ich finde übrigens beides mittlerweile gleich sicher, solange Du kein "sprechendes" Passwort hast ;o)
Und es gibt noch mehr Möglichkeiten als Port Knocking ... z.B. hat ein Freund von mir eine Freischaltung des ssh-Ports, wenn er vorher eine Bestimmte mal an den Server schickt (per iptables) für X Minuten. Das ist beliebig ausbaubar.
Kurzfassung:
Unterscheide Dich von anderen
- ssh auf einen anderen port
- port nur explizit freischalten
Minimiere die Auswirkungen
- nur dedizierte User erlauben
- dedizierte User haben fast keine Rechte ( wenn nötig wheel erlauben zur Rechte Erweiterung)
- Loginversuche Minimieren incl. automatische Aussperrung
Und noch super wichtig:
- Minimiere die Erreichbarkeit des Servers (z.B. alles außer ssh von extern sperren)
.... Liste ist beliebig erweiterbar ....