====== 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.