Sicherheit mit fail2ban erhöhen, postfix, ssh…
Dieser Artikel ist ggf. nicht auf aktuelle Versionen von Ubuntu oder Debian anwendbar.
fail2ban
Installation
Installation von fail2ban mit Debian/Ubuntu als Betriebssystem
root@peters-it:~$ apt install fail2ban
Konfiguration SSH fail2ban
Öffnen der fail2ban Konfigurationsdatei jail.local
Direkte Anpassungen in der jail.conf sollten nicht durchgeführt werden. Wenn die jail.local Konfigurationsdatei nicht vorhanden ist, kann eine leere Datei angelegt werden (touch /etc/fail2ban/jail.local) oder eine Kopie von jail.conf erstellt werden (cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local). Die Einstellungen welche in der jail.local gesetzt sind überschreiben gleiche Parameter in der jail.conf.
root@peters-it:~$ vi /etc/fail2ban/jail.local
#set enabled to "true" and "maxretry" to 3
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Konfiguration Postfix fail2ban
Beim Postfix muss sichergestellt werden, dass dieser (nur) in die mail.log schreibt. Dies kann wie folgt geprüft werden:
root@peters-it:~$ cat /var/log/syslog | grep -c postfix
Wenn die Ausgabe 0 ist, dann schreibt Postfix vermutlich nicht in das Logfile. Wenn die Ausgabe höher 0 ist, schreibt Postfix definitiv in die Syslog und muss daher angepasst werden.
Hier am Beispiel rsyslog, Config öffnen:
root@peters-it:~$ vi /etc/rsyslog.conf
###############
#### RULES ####
###############
#
# First some standard log files. Log by facility.
#
*.*;auth,authpriv.none,mail.none -/var/log/syslog
Der Standard Eintrag zu finden unter „RULES“ von /var/log/syslog muss angepasst werden. Ich habe bei mir hinter authpriv.none „mail.none“ ergänzt.
Danach kann man für Postfix entsprechende Regeln aktivieren:
root@peters-it:~$ vi /etc/fail2ban/jail.local
#
# Mail servers
#
[postfix]
enabled = true
port = smtp,ssmtp,submission
filter = postfix
logpath = /var/log/mail.log
...
[sasl]
enabled = true
port = smtp,ssmtp,submission,imap2,imap3,imaps,pop3,pop3s
filter = postfix-sasl
# You might consider monitoring /var/log/mail.warn instead if you are
# running postfix since it would provide the same log lines at the
# "warn" level but overall at the smaller filesize.
logpath = /var/log/mail.log
Regeln prüfen
Die Regeln können wie folgt geprüft werden:
root@peters-it:~$ fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix-sasl.conf
Neustart von fail2ban
root@peters-it:~$ service fail2ban restart