Die meisten Hacking-Angriffe bemerkt man erst, wenn sie erfolgreich waren. Wesentlich häufiger sind jedoch Fälle, in denen die Angreifer nicht oder noch nicht zum Ziel gelangen konnten. Schiebe Hacking-Angriffen deshalb schnellstmöglich einen Riegel vor. SSH Ports sind ein beliebtes Angriffsziel und können mit einem Intrusion-Prevention-System wirkungsvoll abgesichert werden. Auf diese Weise werden verdächtige IP-Adressen, von denen unautorisierte Login-Versuche ausgehen (z.B. bei Brute Force-Attacken) automatisch geblockt. Eines der besten Tools dafür ist fail2ban. Du kannst es schnell, einfach und vor allem kostenlos auf deinem Server installieren.
Was sind Intrusion-Prevention-Systeme?
Intrusion-Prevention-Systeme sind Programme, die mit definierten Regeln Serverangriffe erkennen und automatisiert Funktionen bereitstellen, um diese Angriffe abzuwehren.
Grundsätzlich kann man zwei verschiedene Typen von Intrusion-Prevention-Systemen unterscheiden:
- NIPS (Network-based IPS) überwachen den gesamten Netzwerkverkehr und schützen so die verbundenen Server vor Angriffen.
- HIPS (Host-based IPS) werden auf dem Server selbst installiert und sorgen dafür, dass kein Unbefugter in das System eindringen kann.
Fail2ban installieren und konfigurieren
Fail2ban ist eines der beliebtesten Host-based Intrusion-Prevention-Systeme aus der Linux-Welt. Im Folgenden erfährst du, wie einfach du dieses Programm auf deinem Server installieren und individuell konfigurieren kannst.
Step 1 – Login
Logge dich über die Konsole auf seinem Server ein. Wenn du von einem Windows-Rechner auf deinen Linux-Server zugreifen möchtest, kannst du dafür eine Client-Server-Verbindungs-Software wie Putty verwenden. Zum kostenlosen Download von Putty.
Setup 2 – Installation von Fail2ban
Je nachdem, mit welcher Linux-Distribution du deinen Server betreibst, kannst du das Tool nun mit den folgenden Kommandos installieren:
yum install fail2ban
(z.B. wenn Sie CentOS verwenden)
oder
apt-get install fail2ban
(für Ubuntu bzw. Debian)
Setup 3 – Konfiguration
Standardmäßig sind folgende Sicherheitseinstellungen vorkonfiguriert:
maxretry = 3
bantime = 600
Das heißt: bei mehr als 3 falschen Login-Versuchen wird die entsprechende IP-Adresse gesperrt. Die verdächtige IP-Adresse ist dann 10 Minuten (600 Sekunden) geblockt. Erst nach Ablauf dieser Zeit kann von der IP-Adresse wieder ein Login-Versuch gestartet werden.
Die Konfigurationseinstellungen finden du in der Datei jail.conf.
Selbstverständlich kannst du die Standardeinstellungen individuell ändern.
Tipp:
Bei einem Systemupdate können die individuellen Änderungen in der jail.conf-Datei überschrieben werden. Erstellen Sie deshalb am besten eine lokale Variante mit dem Kommando:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Die lokale Konfigurationsdatei kannst du nun einfach mit einem Texteditor – zum Beispiel vim, dem Standard-Texteditor von Linux – öffnen. Der Befehl dazu lautet:
vim /etc/fail2ban/jail.local
Step 4 – Verdächtige IP-Adressen dauerhaft sperren
Schütze deinen Server noch wirkungsvoller, indem du verdächtige IP-Adressen ganz einfach blockierst.
Du kannst individuell festlegen, ab wie vielen falschen Login-Versuchen eine Adresse gesperrt wird und wie lange diese gesperrt bleiben soll (Minuten, Stunden, Tage …)
Step 5 – Individuelle Sicherheitskonfiguration
Wenn du individuelle Sicherheitseinstellungen vornehmen möchtest, kannst du das Tool wie folgt konfigurieren.
Erstelle zunächst eine lokale Variante mit dem Befehl:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- Öffne die neue local-Datei in einem Texteditor:
vi /etc/fail2ban/jail.local
- Lege fest, wie lange eine verdächtige IP-Adresse geblockt werden soll, indem du den Wert der Bantime änderst.
bantime = (Neuer Wert in Sekunden)
- Der Wert von maxretry legt fest, nach wie vielen falschen Login-Versuchen die entsprechende IP-Adresse automatisch gesperrt werden soll.
maxretry = (Neuer Wert – Anzahl)
- Damit die Änderungen in der Konfigurationsdatei wirksam werden, musst du Fail2ban neu starten. Der Neustart erfolgt über den Befehl:
- /etc/init.d/fail2ban restart
Step 6 – Blockiere verdächtige IP-Adressen mittels Blacklist
Sicherlich möchtest du wissen, ob IP-Adressen geblockt wurden und wenn ja, welche. Es gibt zwei Möglichkeiten, wie du dir diese Adressen anzeigen lassen kannst.
- Verwenden den Befehl:
Iptables –L
- Rufe die entsprechende Log-Datei auf. Nutze dazu das Kommando:
cat /var/log/fail2ban.log
Hast du verdächtige IP-Adressen identifiziert, kannst du diese nun mittels „blacklist“ komplett von deinem System ausschließen.
Du suchst noch einen passenden Server für dich? Dann informiere dich jetzt über die Server-Produkte von GoDaddy.
Bildnachweis: Fotolia, Lizenz: GoDaddy