PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AXIGEN gegen Brute-Force absichern mit Fail2Ban [Linux]



huestel
30.07.2014, 00:44
Fail2Ban (http://de.wikipedia.org/wiki/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

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



18-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:


# Fail2Ban configuration file

[Definition]
failregex = from <HOST>

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.