SSHd vor Bruteforce schützen

Viele mögen es kennen – nervige SSH-Loginversuche auf Servern, mehrere tausend am Tag. Aber scheinbar kennen manche kein Ausweg, dabei gibt es so viele Möglichkeiten!

fail2ban:

fail2ban ist ein in der Installation und Benutzung sehr einfaches Tool, geschrieben in Python, um nach fehlerhaften Loginversuchen eine Sperre in iptables einzutragen. Im Daemon-Mode überwacht er Logdateien und kann eine terminierte Sperre eintragen, sodass den Bruteforce-Attacken schonmal gut vorgebeugt ist. Unter Debian / Ubuntu einfach
sudo apt-get install fail2ban
Oder besser: Neueste .deb über die Webseite laden und mit
dpkg -i fail2ban*.deb
installieren.

Unter CentOS auch nicht schwerer: im epel-Repository ist fail2ban enthalten und kann mit
yum --enablerepo epel install fail2ban
installiert werden.

Nach der Installation ist standardmäßig eine Regel für SSH aktiv, einstellen kann man alles unter /etc/fail2ban/jail.conf .

Der Dienst muss noch mit
sudo /etc/init.d/fail2ban start
gestartet werden. Bei einer Sperre wird (sofern jail.conf angepasst wurde) per Email benachrichtigt, außerdem wird es unter /var/log/fail2ban.log geloggt.

/etc/ssh/sshd_config:

eine denkbar einfache, aber auch nicht sehr effektive Methode: SSH-Port ändern. Einfach in der Config “Port 22″ durch einen anderen Port ersetzen – kann aber natürlich durch jeden Portscanner wieder gefunden werden.

Worauf aber unbedingt geachtet werden sollte: Protokoll Version 1 deaktivieren! Version 2 ist wesentlich sicherer. In der Config sollte “Protocol 2,1″ auskommentiert und “Protocol 2″ aktiv sein.

Ebenfalls sehr effektiv: Passwort-Logins deaktivieren und mit Private- und Publickeyverfahren einloggen.

Weblinks:
Main Page – Fail2ban
.

Share:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • MySpace
  • Twitter
Posted in palita.net by Manuel at Oktober 23rd, 2009.
Tags: , , , ,

Leave a Reply