fail2ban mit mehreren logpath Angaben einrichten (z. B. für ISPConfig)
Bei fail2ban handelt es sich um ein hilfreiches Tool zum Absichern von Servern gegen Angriffe. Es können verschiedene Logdateien überwacht werden, beispielsweise vom Webserver Apache, verschiedenen FTP Servern oder Mailservern.
Anhand von Logeinträgen können IP Adressen vom Server gebannt werden, zum Beispiel bei mehreren fehlerhaften Login Versuchen. Für die Einrichtung von fail2ban gibt es verschiedene HowTos [1], daher werde ich hierauf nicht näher eingehen.
Ein Problem tritt auf, wenn man mehrere Logdateien des gleichen Dienstes überwachen möchte. Die Lösung für dieses Problem ist scheinbar kaum dokumentiert, aber simpel.
Beispiel:
Wir möchten fail2ban die Apache error_log überwachen lassen. Dies ist im Grunde kein Problem, wir setzen einfach in der jail.local im Bereich [apache] (oder in den weiteren Apache-Bereichen)
[pastacode lang=“bash“ message=“jail.local“ highlight=““ provider=“manual“]
logpath = /var/log/apache*/*error.log
[/pastacode]
Dies ist (zumindest unter Debian) auch die Standard-Einstellung.
Haben wir nun ein Admin Panel wie ISPConfig oder Plesk etc. installiert, kann es sein, dass die Error Log Dateien an anderer Stelle liegen. Auch dies ist kein Problem, da fail2ban in neueren Versionen Wildcards unterstützt. Um bei ISPConfig 2 alle Error Logs der einzelnen Webs zu überwachen setzen wir also statt dem oben genannten Eintrag
[pastacode lang=“bash“ message=“jail.local“ highlight=““ provider=“manual“]
logpath = /var/www/web*/log/error.log
[/pastacode]
Was tun wir jedoch, wenn wir beides überwachen wollen? Also die standard Apache Error Logs und die Web Error Logs? Die Lösung ist simpel:
[pastacode lang=“bash“ message=“jail.local“ highlight=““ provider=“manual“]
logpath = /var/log/apache*/*error.log
/var/www/web*/log/error.log
[/pastacode]
Weitere Logdatei-Angaben kommen also einfach in eine neue Zeile unter der vorherigen. Wichtig hierbei ist, dass die Zeilen nicht am Zeilenanfang beginnen, sondern eingerückt werden, da fail2ban die Zeile sonst als neuen Konfigurationseintrag zu lesen versucht und mit Fehler abbricht.
[1] beispielsweise http://blog.root1024.ch/betriebssystem/linux/ssh-mit-fail2ban-absichern/ oder http://wiki.laub-home.de/index.php/Mehr_Sicherheit_durch_fail2ban
Vielen Dank, das hat geholfen!