IPs sperren
Das Paket fail2ban ermöglicht, die Anzahl an Verbindungen in einem bestimmten Zeitintervall auszuwerten und ggf. Zugriffe von auffälligen IP-Adressen zu beschränken. Es kann allerdings nicht vor DDOS Attacken schützen, da die Anfragen von vielen wechslenden IPs kommen.
# file: /etc/fail2ban/jail.conf maxretry = 5 findtime = 600 bantime = 600
Schalter | Bedeutung |
---|---|
`maxretry = 5` | Anzahl an Fehlversuchen, bis der anfragende host (bzw. die IP-Adresse) gebannt wird |
`findtime = 600` | Zeitintervall (in Sek.), in denen Wiederholungen gezählt werden |
`bantime = 600` | Zeit (in Sek.) der Verbannung des hosts |
Einschränken des Zugriffs via SSH
Der Fern-Zugriff auf Admin-Konten kann in der `sshd_config` auch auf bestimmte Hosts beschränkt werden. Generell sollte nur aus dem Netzbereich der Uni per SSH zugegriffen werden können.
# file: /etc/ssh/sshd_config AllowUsers admin1@134.34.1.* user1@134.34.0.0/16 user1@2001:7c0:2800::/40 ...
Die Option `MaxAuthTries` bewirkt, dass pro Authentifierzierungsvorgang nur eine bestimmte Anzahl an Versuchen unternommen werden darf. Wird diese überschritten, wird die Verbindung serverseitig getrennt.
# file: /etc/ssh/sshd_config MaxAuthTries 5
Firewall und TCP-Wrapper
Zusätzlich bietet sich eine Einschränkung der IP-Adressen mit Hilfe von `iptables` an.
iptables -A INPUT -p tcp -m state --state NEW --source 134.34.0.0/16 --dport 22 -j ACCEPT
Fall Sie `ufw` statt `iptables verwenden:
ufw allow from 134.34.0.0/16 to any port ssh
Man kann auch die sog. TCP-Wrapper `hosts.deny` und `hosts.allow` für Zugriffskontrolle verwenden:
# file: /etc/hosts.deny ssh : ALL # file: /etc/hosts.allow ssh : 134.34. ssh : localhost