Den Standard-Port ändern

Am besten zuerst mal den Standard-Port 22 auf einen beliebigen höheren Port ändern (z.B. mal 2222 oder 666). Dies in der /etc/ssh/sshd_config eintragen. Damit werden schon einige 0815-Angriffe verhindert, die nur auf den Standard-Ports laufen. Natürlich ist das nur "Security by obscurity", aber es reduziert das Grundrauschen etwas ;-)

Authentifizierung über Zertifikate

Passwörter sind einfacher zu knacken als Private-Keys. Stellt sicher das sich eure User nur einloggen können wenn sie über den korrekten Private-Key verfügen. Passwort-Authentifizierung kann über die /etc/ssh/sshd_config deaktiviert werden:

PasswordAuthentifaction no

Verbindungen limitieren

Über die Firewall könnt ihr die Anzahl der SYN-Pakete (Verbindungsaufbau) limitieren. Normale User sollten davon nichts merken, aber es ist sichergestellt das nicht hunderte von Anfragen pro Minute von irgendwelchen Crackern durchgeführt werden können. In diesem Beispiel sind es max. 3 Verbindungen/Minute

iptables -A INPUT -p tcp –dport 2222 –syn -m limit –limit 1/m –limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp –dport 2222 –syn -j DROP

Kein Root-Zugang erlauben

Der Root-User sollte sich nie per SSH einloggen können. Dies kann über die /etc/ssh/sshd_config eingestellt werden:

PermitRootLogin no

Anti-Brute-Force-Tools installieren:

Da wären z.B.:

- Fail2Ban
- SSHDFilter
- pam_abl
- SSHBanIP
- Tables Recent Module
- DenyHost
- Brute-Force Detection
- sshd_sentry
- SSHGuard