====== Absicherung geben Brute-Force/Wörterbuchattacken ====== Getestet mit Ubuntu 12.04.4 LTS, linuxmuster.net 6.0.44 Der Dienst "fail2ban" überwacht log-Dateien über misslungene login-Versuche und und blockiert dann den Host durch einen temporären Eintrag in den Firewall-Regelsatz (default: 10 Minuten Dauer). Das Debian-Paket hat nach Installation einen Regesatz (jail) von fail2ban für ssh voreingestellt. ---- z.B. Auszug aus der log-Datei **''/var/log/auth.log''** bei fehlgeschlagenem ssh-login: ... Mar 01:01:07 server sshd[5641]: error: PAM: authentication failure for root from din123.abc9.ka.dtag.de ... Installation des Pakets (insgesamt 6 Pakete incl. python-Pakete). Dienst wird dabei auch gestartet: # aptitude install fail2ban Konfiguration-Pfad: **''/etc/fail2ban/''** Die Bezeichnung für den Regelsatz eines zu überwachenden Dienstes ist **"Jail"**. \\ Befehle: # fail2ban-client reload # fail2ban-client status ... Number of jail: 1 Jail list: ssh ... Der Regelsatz für ssh ist voreingestellt in **''/etc/fail2ban/jail.conf''**: ... [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 ... In dieser Datei kann man auch die "default-action" abändern, so dass noch zusätzlich eine email versendet wird. Dazu muss man die Kommentarzeichen vor der gewünschten "action" entfernen. Achtung: die Datei **''jail.conf''** wird bei einem update ggf. überschrieben, es wird empofohlen die Datei **''jail.local''** zu benutzen (siehe HowTo zu fail2ban). Ggf. muss auch noch der Befehl "whois" nachinstalliert werden. Ebenso muss das mail-Versenden auf dem Server funktionieren. ... destemail = admin@zuhause.de ... action = iptables [ ... mail-whois [ ... ... Die log-Datei von fail2ban **''/var/log/fail2ban.log''** kann zum Test permanent überwacht werden durch: # tail -f /var/log/fail2ban.log Falls fail2ban zuschlägt erhält man dann in der log-Datei eine Zeile: 2014-01-01 17:00 fail2ban.actions: WARNING [ssh] Ban 97.12.34.56 ---- ===== Auth-Log-Datei überprüfen, Konfiguration anpassen ===== Falls in **''/var/log/auth.log''** keine Authentifizierungs-Einträge erscheinen, kann man folgende Einstellungen überprüfen: Datei: **''/etc/ssh/sshd_config''** ... SyslogFacility AUTH LogLevel INFO ... Datei: **''/etc/rsyslog.d/50-default.conf''** ... auth,authpriv.* /var/log/auth.log ... In der Datei **''/etc/rsyslog.conf''** gibt es folgende Option: $RepeatedMsgReduction on Dadurch erzeugen u.U. mehrere Login-Fehlversuche nur einen Eintrag in der Log-Datei. Ein Abschalten der Option mit "off" vergrößert natürlich für alle log-Eintrage den Aufwand des Systems.