Fail2Ban sichert Ihren Server gegen Eindringlinge ab, die versuchen über Brute-Force Passwörter zu erraten.
Hiermit können Sie Standard-Dienste wie SSH, Apache, etc. überwachen.
Darüber hinaus kann auch AXIGEN so gegen Passwortangriffe gesichert werden.
Hierzu sind folgende Schritte notwendig:
Sollten Sie Hilfe benötigen, lassen Sie es uns wissen. Gerne installieren wir diese Lösung auch gegen eine geringe Gebühr auf Ihrem Server.
Die Schritte können je nach Distribution abweichen.
Schritt 1: Installieren Sie Fail2Ban
Schritt 2: Legen Sie ein Shell-Script an:
#!/bin/bash
# $1 - log file to be used
LOG_AXI="/var/opt/axigen/log/everything.txt"
if [ -z '$1' ]
then
LOG_SEC=/var/opt/axigen/log/secure.txt
else
LOG_SEC="$1"
fi
tail --retry --follow=name "$LOG_AXI" | while read l
do
timestamp=$(date '+%d-%m-%Y %T')
case "$l" in
*"Authentication error"*|*"could not authenticate user"*|*"error authenticating user"*) sid=$(echo "$l" | awk '{print $6}')
if [ -n '$sid' ]
then
con_ip=$(grep -m 1 $sid "$LOG_AXI" | awk '{print $NF}' | sed 's/\[//g;s/:.*$//g')
if [ -n '$con_ip' ]
then
echo "$timestamp $l from $con_ip" >> "$LOG_SEC"
fi
fi
;;
esac
done
Alles anzeigen
Schritt 3: Sorgen Sie dafür, dass da Script automatisch läuft, z.B. über /etc/inittab
Hinweise:
- Wenn AXIGEN das Log-File an einen anderen Ort Schreibt, bitte den Pfad der Variablen $LOG_AXI bitte anpassen.
- Für die Datei secure.txt sollte ein Log-Rotate eingerichtet werden
Testen Sie das Script wie folgt:
- Starten Sie das Script
- Überprüfen Sie den Inhalt der secure.txt
- Führen Sie einen Fehl-Login durch, dieser sollte wie folgt protokolliert werden
Zitat18-07-2014 14:35:42 07-28 14:35:42 +0300 02 localhost IMAP:000000CC: Authentication error for user 'user1@localdomain': Invalid password from 192.168.1.101
Schritt 4: Legen Sie ein neues Fail2Ban-Modul an, z.B. axigen.cfg unter /etc/fail2ban/filter.d
Mit folgendem Inhalt:
Schritt 5: Konfigurieren Sie Fail2Ban, in dem Sie die jail.conf unter /etc/fail2ban um folgenden Block erweitern:
[axigen]
enabled = true
filter = axigen
port = all
logpath = /var/opt/axigen/log/secure.txt
bantime = 100
maxretry = 3
banaction = iptables-allports
Die maximal erlaubte Anzahl Fehlversuche, Bann-Zeit und Pfad bitte entsprechend anpassen.
Danach bitte Fail2Ban neu starten.