Sicherheit · 3 min read · Jan 02, 2026
Konfiguration von fail2ban mit SquirrelMail auf CentOS 5.3/ISPConfig 3
Konfiguration von fail2ban mit SquirrelMail auf CentOS 5.3/ISPConfig 3
Einführung
Dieses Tutorial zeigt, wie Sie unbegrenzte Anmeldeversuche und damit Brute-Force-Angriffe gegen Ihr SquirrelMail-Web-Login mit fail2ban verhindern können.
1. Anforderungen
Stellen Sie sicher, dass sowohl fail2ban als auch SquirrelMail auf einer CentOS v5.3/ISPConfig 3-Maschine installiert sind, die hier detailliert beschrieben ist.
Die Installation ist jedoch unkompliziert:
yum install fail2ban squirrelmailSie müssen iptables aktiv als Ihre Firewall verwenden. Fail2ban funktioniert, indem es eine temporäre Drop-Regel für die unbefugte Quell-IP-Adresse erstellt.
2. SquirrelMail-Protokollkonfiguration
SquirrelMail (imapd) protokolliert standardmäßig unter CentOS v5.3/ISPConfig 3 in /var/log/maillog, jedoch nur als IP-Adresse 127.0.0.1 (localhost). Da wir versuchen, eine bestimmte Quelladresse zu sperren, kann fail2ban diese Datei nicht verwenden. Daher installieren und verwenden wir Squirrel Logger, um die tatsächliche Quelladresse des Anmeldeversuchs zu erfassen.
Laden Sie Squirrel Logger herunter und installieren Sie es:
cd /usr/share/squirrelmail/plugins
wget http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fsquirrel_logger-2.3-1.2.7.tar.gz
tar zxvf squirrel_logger-2.3-1.2.7.tar.gz
cd squirrel_logger-2.3-1.2.7
cp config_example.php config.phpWährend dieses Plugin die neueste Version von Squirrel Logger war, laden Sie es direkt von der SquirrelMail-Plugins-Seite hier herunter, wenn es eine Überarbeitungsaktualisierung gegeben hat.
Wenn Ihre Maschine eine lokale Zeit verwendet, die nicht GMT ist, verwenden Sie vi, um zu ändern: $sl_use_GMT = 1 zu $sl_use_GMT = 0 in config.php:
Original config.php:
...
// Protokolldaten in GMT? Wenn Sie dies nicht tun, werden die Daten
// in der Zeitzone protokolliert, in der sich jeder Benutzer befindet (oder
// die in seinen persönlichen Einstellungen festgelegt hat)
//
// 1 = ja
// 0 = nein
//
$sl_use_GMT = 1;
...Modifizierte config.php:
...
// Protokolldaten in GMT? Wenn Sie dies nicht tun, werden die Daten
// in der Zeitzone protokolliert, in der sich jeder Benutzer befindet (oder
// die in seinen persönlichen Einstellungen festgelegt hat)
//
// 1 = ja
// 0 = nein
//
$sl_use_GMT = 0;
...Löschen Sie die heruntergeladene Squirrel Logger-Gzip-Datei:
cd /usr/share/squirrelmail/plugins
rm squirrel_logger-2.3-1.2.7.tar.gzKonfigurieren Sie SquirrelMail, um das Squirrel Logger-Plugin zu verwenden:
/usr/share/squirrelmail/config/conf.plSquirrelMail-Konfiguration : Lesen: config.php (1.4.0)
---------------------------------------------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordnerstandards
4. Allgemeine Optionen
5. Themen
6. Adressbücher
7. Nachricht des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen
D. Vordefinierte Einstellungen für bestimmte IMAP-Server festlegen
C Farbe aktivieren
S Daten speichern
Q Beenden
Befehl >>Wählen: PluginsSquirrelMail-Konfiguration : Lesen: config.php (1.4.0)
---------------------------------------------------------
Plugins
Installierte Plugins
1. delete_move_next
2. squirrelspell
3. newmail
Verfügbare Plugins:
4. listcommands
5. fortune
6. filters
7. translate
8. abook_take
9. spamcop
10. squirrel_logger
11. mail_fetch
12. calendar
13. sent_subfolders
14. message_details
15. administrator
16. info
17. bug_report
R Zurück zum Hauptmenü
C Farbe aktivieren
S Daten speichern
Q Beenden
Befehl >> Wählen: squirrel_loggerSquirrelMail-Konfiguration : Lesen: config.php (1.4.0)
---------------------------------------------------------
Plugins
Installierte Plugins
1. delete_move_next
2. squirrelspell
3. newmail
4. squirrel_logger
Verfügbare Plugins:
5. listcommands
6. fortune
7. filters
8. translate
9. abook_take
10. spamcop
11. mail_fetch
12. calendar
13. sent_subfolders
14. message_details
15. administrator
16. info
17. bug_report
R Zurück zum Hauptmenü
C Farbe aktivieren
S Daten speichern
Q Beenden
Befehl >> Wählen: Daten speichern, Beenden3. Fail2ban-Konfiguration
Wechseln Sie in das Verzeichnis für die Fail2ban-Konfiguration:
cd /etc/fail2banUnter der Annahme, dass Sie den HTTP-Transport für SquirrelMail verwenden, verwenden Sie vi, um die folgenden Zeilen zur jail.conf-Datei hinzuzufügen:
[squirrelmail-iptables]
enabled = true
filter = squirrelmail
action = iptables[name=SquirrelMail, port=http, protocol=tcp]
sendmail-whois[name=SquirrelMail, dest=you@your_domain.com, sender=fail2ban@your_domain.com]
logpath = /var/lib/squirrelmail/prefs/squirrelmail_access_log
maxretry = 4Stellen Sie sicher, dass maxretry und die E-Mail-Adressen für dest und sender auf Ihre Anforderungen eingestellt sind.
Wechseln Sie in das Verzeichnis für die Fail2ban-Filter:
cd filter.dErstellen Sie im Verzeichnis filter.d mit vi eine squirrelmail.conf-Datei mit folgendem Inhalt:
# Fail2Ban-Konfigurationsdatei
#
# Autor: Bill Landry ((email_protected))
#
# $Revision: 510 $
[Definition]
# Option: failregex
# Hinweise.: regex zum Abgleichen der Passwortfehlernachrichten im Protokoll. Der
# Host muss von einer Gruppe namens "host" übereinstimmen. Das Tag "" kann
# für das Standard-IP/Hostname-Matching verwendet werden und ist nur ein Alias für
# (?:::f{4,6}:)?(?P\S+)
# Werte: TEXT
failregex = \[LOGIN_ERROR\].*from : Unbekannter Benutzer oder Passwort falsch
# Option: ignoreregex
# Hinweise.: regex zum Ignorieren. Wenn dieses regex übereinstimmt, wird die Zeile ignoriert.
# Werte: TEXT
ignoreregex = Fail2ban muss das Datumsformat erkennen, das in der squirrelmail_access_log-Datei verwendet wird.
cd /usr/share/fail2ban/serverVerwenden Sie vi, um die datedetector.py-Datei zu bearbeiten und fügen Sie die folgenden Zeilen zwischen den Abschnitten Apache-Format und Exim-Format hinzu:
# SquirrelMail 09/13/2007 06:43:20
template = DateStrptime()
template.setName("Monat/Tag/Jahr Stunde:Minute:Sekunde")
template.setRegex("\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}")
template.setPattern("%m/%d/%Y %H:%M:%S")
self.__templates.append(template)Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.