Um SSH erfolgreich gegen Bruteforce Attacken zu schützen bzw. diese abzuwehren, gibt es verschiedene Ansätze.
1. Logfile Analyse
SSH logged alle fehlgeschlagenen Login Versuche in eine Logdatei. Diese wird nach und untersucht und sollte eine bestimmte Anzahl ungültiger Logins durch die selbe IP gezählt worden sein, wird diese IP Adresse gesperrt.
Das bekannteste Tool für diese Aufgabe heißt Fail2Ban. Der Vorteil liegt darin, dass es zuverlässig funktioniert und auch für FTP, POP3, IMAP usw. verwendet werden kann.
2. Security through obscurity
Gewöhnlich werden Bruteforce Attacken von Zombi Servern im Internet ausgeführt. Die Bots scannen nach Port 22 und versuchen anschließend ihr Glück Username und Passwort zu erraten.
Um so schnell wie möglich, möglichst viele Server zu finden, gibt es kaum Bots die einen Rechner auf mehr als Port 22 testen. Daher ist es möglich den Rechner per Verlegen des SSH Ports vor diesen Bots zu bewahren. Natürlich besteht hierfür keinerlei Garantie und die Methodik Security through obscurity ist nicht als alleiniges Mittel anzusehen. Hierzu gibt es einen guten Wikipedia Eintrag.
3. Verzicht auf Passwort Authentifizierung
Es ist ohne Probleme möglich einen SSH Server zu konfigurieren, dass dieser zu einem erfolgreichem Login nur das Publiykey Verfahren zu lässt. Aufgrund der Tatsache dass dieses Verfahren als sehr sicher gilt, ist es die Beste Möglichkeit den SSH Server vor ungewünschten Logins zu schützen.