fail2ban
Bebilderte Schritt für Schritt Anleitung um den Rechner vor angriffen aus dem Internet zu sichern.
Zum Beispiel wird der angreifen nach ein paar fehlerhaften login Versuchen gesperrt.
Inhalt
fail2ban Info’s
fail2ban Installieren
Ihr meldet Euch als root am System an bzw. nutzt das su- Kommando um zum root user zu wechseln.
Zuerst führt Ihr ein
apt-get update
durch damit das Inhaltsverzeichnis von apt-get auf dem neuesten Stand ist.
Jetzt mittels
apt-get install fail2ban
fail2ban auf dem Server installieren.
fail2ban Konfiguration
Einträge im File anpassen (bitte email Adresse ändern): vi /etc/fail2ban/jail.conf
destemail = hostmaster@deine-email.ch bantime = 3600 [postfix] enabled = true [dovecot] enabled = true
Einträge im File anpassen: vi /etc/default/fail2ban
FAIL2BAN_OPTS="-x" #Kommentar: -x forces sock deletion, if it exists after abnormal system shutdown.
Mit
service fail2ban start
fail2ban starten.
Sobald Ihr Mail auf dem Server eingerichtet habt bekommt Ihr bei jeder gebannten IP und eine email zugesendet.
fail2ban SSH Test
Mit
fail2ban-client status
bekommst Du einen überblick über die Dienste die fail2ban kontrolliert. Da wir aktuell nur den ssh Dienstinstalliert haben siehst Du auch nur ssh.
fail2ban-client Status ssh
gibt eine Übersicht über die gesperrten User und Login Versuche.
Versuche Dich jetzt von einer anderen IP mit ssh anzumelden und nutze einen User den es nicht gibt oder ein falsches Passwort. Wichtig ist das Du eine andere IP nutzt sonst sperrst Du Dich selbst aus.
fail2ban-client Status ssh
– 5 fehlerhafte Logins werden zugelassen.
fail2ban-client Status ssh
– nach dem 6. fehlerhaften Login wird die IP gebannt.
iptables -L
– auch hier sieht man die gesperrte IP.
fail2ban-client Status ssh
– nach einer Stunde ist die IP dann wieder frei (Hatten wir bei der Konfiguration auf 3600 gesetzt).
Wenn Du noch mehr ins Detail gehen willst kannst Du folgende Befehle ausprobieren:
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
cat /var/log/fail2ban.log
Fail2ban blacklist
Dies dient zum dauerhaften sperren von IPs. Diese werden manuell hinzugefügt und sind anschliessend für ein halbes Jahr gesperrt. Wenn also jemand immer wieder versucht sich bei Dir anzumelden (dies bekommt Du per email mitgeteilt) dann einfach in die Liste /etc/fail2ban/ip-blacklist eintragen.
Am Ende der Datei hinzufügen: vi /etc/fail2ban/jail.conf
[ip-blacklist] #für ein halbes Jahr sperren enabled = true banaction = iptables-allports port = anyport filter = ip-blacklist logpath = /etc/fail2ban/ip-blacklist maxretry = 0 findtime = 15552000 bantime = -1
Neue Datei erzeugen: vi /etc/fail2ban/filter.d/ip-blacklist.conf
[Definition] # Option: failregex # Notes : Detection of blocked ip addresses. # Values: TEXT # failregex = ^<HOST> \[.*\]$ # Option: ignoreregex # Notes : Regex to ignore. # Values: TEXT # ignoreregex =
Neue Datei erstellen: vi /etc/fail2ban/ip-blacklist
147.83.159.140 [31/08/2014 12:00:00]
fail2ban / iptables Bind9
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT iptables-save > /etc/iptables.local
Einträge in der Datei anpassen: vi /etc/fail2ban/jail.conf
[named-refused-udp] enabled = true port = domain,953 protocol = udp filter = named-refused logpath = /chroot/named/var/log/security.log [named-refused-tcp] enabled = true port = domain,953 protocol = tcp filter = named-refused logpath = /chroot/named/var/log/security.log
fail2ban mit
service fail2ban restart
neu starten.
mit
iptables -L
prüfen ob fail2ban für DNS aktiv.