ubuntuusers.de

Mailserver mit Fail2Ban absichern (Dovecot & Postfix)

Status: Ungelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

gnude

Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 842

Hallo ich habe mal eine Frage... wollte meinen eMail-Server (Ubuntu 22.04, Postfix und Dovecot) jetzt weiter absichern und dazu folgende Anleitungen im Internet gefunden:

https://doc.dovecot.org/configuration_manual/howto/fail2ban/ https://bobcares.com/blog/fail2ban-postfix-sasl/

Habe also folgende Anpassungen vorgenommen:

Folgende Datei erstellt: /etc/fail2ban/filter.d/dovecot-pop3imap.conf mit folgendem Inhalt:

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,imap", protocol=tcp]
logpath = /var/log/maillog
maxretry = 2
findtime = 1200
bantime = 1200

und dann die Datei /etc/fail2ban/jail.local um folgende Einträge ergänzt....

[sasl]
enabled  = true
port     = smtp
filter   = postfix-sasl
logpath  = /var/log/mail.log
maxretry = 2

Und mit folgenden Inhalt die Datei /etc/fail2ban/filter.d/postfix-sasl.conf erstellt:

failregex = ^%(__prefix_line)swarning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [ A-Za-z0-9+/]*={0,2})?\s*$

Ist das schonmal eine brauchbare Absicherung oder hat jemand Tipps/Ideen um das zu verbessern?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9384

Wohnort: Münster

gnude schrieb:

[…] eMail-Server […] absichern […] Folgende Datei erstellt: /etc/fail2ban/filter.d/dovecot-pop3imap.conf […]

fail2ban ist kein Werkzeug um irgendetwas abzusichern, sondern dient nur dazu, das Systemlog von unerwünschten Fehlermeldungen frei zu halten und damit dessen Übersicht zu verbessern.

Sinnvolle Maßnahmen zur Absicherung eines Servers sind ein sorgfältig verwaltetes Authentifizierungssystem und ein dem Rechner vorgeschalteter Firewall. fail2ban kann weder das eine noch das andere ersetzen.

gnude

(Themenstarter)
Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 842

Hallo, ich habe gedacht mit fail2ban sperre ich IP Adressen nach zu vielen Anmelde versuchen aus.

fail2ban

Die Beschreibung sagt das der Dienst die Logdateien überwacht, dort nach Mustern sucht und daraufhin die IP Adressen aussperrt.

Daher war meine Vorstellung das Fail2ban in den Log-Dateien von mir nach fehlerhaften Anmeldungen sucht und dann daraufhin die IP Adressen blockiert.

Bearbeitet von kB:

Forensyntax (Absätze, Wiki-Link) korrigiert.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9384

Wohnort: Münster

gnude schrieb:

Hallo, ich habe gedacht mit fail2ban sperre ich IP Adressen nach zu vielen Anmelde versuchen aus.

Mit

fail2ban

kann man so etwas grundsätzlich realisieren, es verwendet dafür dynamisch erzeugte Regeln für Netfilter.

Die Beschreibung sagt das der Dienst die Logdateien überwacht, dort nach Mustern sucht und daraufhin die IP Adressen aussperrt.

Als Beschreibung ist das ja auch völlig zutreffend. Da steht aber nicht, das ein solches Vorgehen klug wäre. In der Tat ist es aber sogar gefährlich und der Wiki-Artikel sollte dementsprechend Warnhinweise erhalten.

Daher war meine Vorstellung das Fail2ban in den Log-Dateien von mir nach fehlerhaften Anmeldungen sucht und dann daraufhin die IP Adressen blockiert.

Das macht nur dann Sinn, wenn man selbst wiederholte fehlerhafte Anmeldungen als Angriffsversuch bewertet. In der überwiegenden Mehrheit aller Fälle wird man damit Recht haben, dann ist man aber als Verwalter des Servers äußerst dumm und verantwortungslos, dem Angreifer auch noch selbst ein Werkzeug für einen möglichen "Denial of Service (DoS)" zu liefern. fail2ban mit automatisch erzeugten Regeln für Netfilter ist so ein für Angreifer willkommenes Werkzeug.

Wer einen Server absichern will, sollte dynamisch erzeugte Regeln für Netfilter vermeiden, erst recht solche unter Kontrolle des Angreifers!

Den erwünschten Zweck erreicht man ganz ohne fail2ban mit einer statischen Regel, welche einfach die Rate für neue Verbindungen begrenzt. Das geht mit dem Modul limit von iptables.

Antworten |