Anleitung - Fail2ban auf Centos 7

Grundsätzlich ist Fail2ban in den Paketen von Centos enthalten und kann über YUM installiert werden. Leider gibt es einen Bug in allen Versionen < 0.10, weshalb bei einem Neustart des Programms alle bereits gesendeten Informationen über blockierte IP-Adressen, erneut gesendet werden. Bis die Fail2ban Pakete in den Centos Repositories auf die Version >= 0.10 aktualisiert werden, empfehle ich die Installation des Programms aus dem Github der Entwickler.

Troubleshooting - Fail2ban erneute E-Mail Benachrichtigungen auf Centos 7

Fehlgeschlagene Logins anzeigen

Diese Befehlskette gibt eine Lister der IP-Adressen mit fehlgeschlagenen Logins inklusive der Anzahl der Versuche aus.

grep "Failed password" /var/log/secure | awk '{print $11}' | uniq -c | sort -nr

Siehe auch: aureport

Fail2ban Jail für die verschiedenen Services

Die Filter werden im Ordner /etc/fail2ban/jail.d/ abgelegt.

SSH

/etc/fail2ban/jail.d/ssh.conf

[sshd]

enabled = true
filter = sshd
logpath = /var/log/secure
action = firewallcmd-allports

         sendmail-whois[name=sshd, dest=empfänger@yourdomain.com]
bantime = -1

IMAP - Dovecot

/etc/fail2ban/jail.d/dovecot.conf

[dovecot]

enabled = true
logpath = /var/log/maillog
action = firewallcmd-allports

         sendmail-whois[name=dovecot, dest=empfänger@yourdomain.com]
maxretry = 5

SMTP - Postfix

/etc/fail2ban/jail.d/postfix.conf

[postfix-sasl]

enabled = true
logpath = /var/log/maillog
action = firewallcmd-allports

         sendmail-whois[name=postfix-sasl, dest=empfänger@yourdomain.com]
maxretry = 5
bantime = -1

OpenVPN

Für OpenVPN müssen wir zunächst einen eigenen Filter erstellen.

/etc/fail2ban/filter.d/openvpn.local

# Fail2Ban filter for OpenVPN

[Definition]

failregex = ^ TLS Error: incoming packet authentication failed from \[AF_INET\]<HOST>:\d+$
            ^ <HOST>:\d+ Connection reset, restarting
            ^ <HOST>:\d+ TLS Auth Error
            ^ <HOST>:\d+ TLS Error: TLS handshake failed$
            ^ <HOST>:\d+ VERIFY ERROR

ignoreregex = 

 

Danach können wir wie gewohnt die Jail-Konfigurationsdatei erstellen.

/etc/fail2ban/jail.d/openvpn.conf

[openvpn]

enabled = true
filter = openvpn
logpath = /var/log/openvpn.log
action = firewallcmd-allports
sendmail-whois[name=openvpn, dest=empfänger@yourdomain.com]
maxretry = 3

Quelle

Stop messages when IP's are re-banned on startup

https://github.com/fail2ban/fail2ban/issues/2129

Configure Fail2Ban for permanent and persistent bans

https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-persistent-bans/

HOWTO fail2ban with OpenVPN

https://www.fail2ban.org/wiki/index.php/HOWTO_fail2ban_with_OpenVPN

Kommentare

Was ist die Summe aus 2 und 9?