Schutz vor Brute-Force Angriffen

Mit dem Tool „fail2ban“ kann man Brute-Force Angriffe abwähren. Dabei wird die IP Adresse der Angreifer aus den Log-Dateien ermittelt und in der Firewall (iptable) gesperrt.

Die Installation aus dem Ubuntu Repositories erfolgt mit.

sudo apt-get install fail2ban

Nach der Installation ist der Schutz von SSH automatisch aktiviert.

sudo vim /etc/fail2ban/jail.conf

[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 192.168.178.0/24 office.example.de
bantime  = 1800
maxretry = 3
 
[ssh]
enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 3
 
[apache]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6

Nach Änderungen muß der Dienst neu gestartet werden.

sudo service fail2ban restart

Eine Kontrolle der Firewall (iptables) erfolgt mit diesem Kommando. Einträge werden in dem Chain „fail2ban“ hinterlegt.

sudo iptables -L

Das Tool fail2ban-client zeigt die Jails an.

sudo fail2ban-client status
sudo fail2ban-client status apache

Sperre für eine IP Adresse wieder aufheben.

sudo fail2ban-client set apache unbanip 123.123.123.123

SSH Guard schütz vor Brute-Force Angriffen

Der SSH-Guard hilft Ihnen beim Schutz vor Brute-Force Angriffen auf den SSH Port. Dabei wird die Log-Datei „/var/log/auth.log“ überwacht und bei falschen Anmeldeversuchen wird die Remote IP-Adresse mit der Firewall (iptables) gesperrt.

Installation aus dem Ubuntu Repo.

sudo apt-get install sshguard

Nach der Installation werden folgende Einstellung in der Firewall iptables vorgenommen.

Erzeugen eines neuen Chain für SSH-Guard.

sudo iptables -N sshguard
sudo ip6tables -N sshguard

Jeder Netzwerkverkehr wird über diesen Chain geführt.

sudo iptables -A INPUT -j sshguard
sudo ip6tables -A INPUT -j sshguard

Der SSH-Guard wird als Dienst gestartet.

sudo service sshguard start

Ein Test mit falschen SSH Login solltem in der Firewall iptables einen neue Eintrag mit „DROP“ enthalten.

sudo ipconfig -L

Eine Whitelist wurde nach der Installation auch erstellt.

sudo vim /etc/sshguard/whitelist

10.0.0.0/8
192.168.178.0/24
office.example.de

Linux Firewall (iptables) automatisch laden und speichern

Wer Linux mit der Firewall iptable verwendet, möchte die Regeln bei Systemstart automatisch geladen haben.

1. Firewall Regeln automatisch laden

sudo vim /etc/network/if-pre-up.d/iptablesload

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

sudo chmod +x /etc/network/if-pre-up.d/iptablesload

2. Firewall Regeln automatisch speichern

sudo vim /etc/network/if-post-down.d/iptablessave

#!/bin/sh
iptables-save > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
   iptables-restore < /etc/iptables.downrules
fi
exit 0

sudo chmod +x /etc/network/if-post-down.d/iptablessave

Jetzt werden alle Einstellungen vor dem Herrunterfahren gespeichert und nach einem Start automatisch geladen.

Die aktuellen Firewall Regeln kann man sich hiermit ansehen.

iptables -L -n -v