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