Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| home-harmening:sicherheit:fail2ban:fail2ban_installieren [2024/11/05 20:03] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | home-harmening:sicherheit:fail2ban:fail2ban_installieren [2024/11/06 05:34] (aktuell) – charmening | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ===== Fail2ban ===== | ||
| + | Fail2ban ermöglicht uns, uns gegen Bruteforce Attacken auf z.B. unseren SSH Zugang zu schützen. | ||
| + | Nach einer definierten Zeit und misslungenden Login Versuchen, erstellen Fail2ban eine Firewallregel um diese IP Adresse für einen gewissen Zeitraum zu sperren. | ||
| + | === Installation === | ||
| + | Fail2ban wird einfach mit nachfolgendem Paket installiert | ||
| + | <code Bash>apt install fail2ban</ | ||
| + | \\ | ||
| + | Danach sollte der fail2ban Daemon eingerichtet und automatisch gestartet werden. | ||
| + | <code Bash> | ||
| + | \\ | ||
| + | === nftables oder iptables === | ||
| + | Fail2ban erstellt automatisch Firewallregeln. Je nachdem welche Firewall genutzt werden soll muss diese Installiert sein und bei fail2ban hinterlegt werden. Ich nutze hier eine nftables Firewall. | ||
| + | <code Bash>apt install nftables</ | ||
| + | \\ | ||
| + | Firewall bei nftables hinterlegen | ||
| + | <code Bash> | ||
| + | <code Bash> | ||
| + | ... | ||
| + | banaction = nftables-multiport | ||
| + | banaction_allports = nftables-allports | ||
| + | ... | ||
| + | </ | ||
| + | Für eine iptables Firewall müssten hier die Einträge mit iptables stehen. | ||
| + | |||
| + | \\ | ||
| + | === Default Konfiguation === | ||
| + | In der Default Konfiguration legen wir fest wieviele Versuche gestattet sind, wie lange überprüft wird und wie lange der Zugang gesperrt wird. | ||
| + | Um die Standart Konfiguraton festzulegen muss eine neue Datei angelegt werden, die / | ||
| + | \\ | ||
| + | <code Bash> | ||
| + | <code Bash> | ||
| + | [DEFAULT] | ||
| + | bantime = 60m # Wie lange wird gesperrt | ||
| + | findtime = 10m # In welchem Zeitraum werden Fehlversuche überprüft | ||
| + | maxretry = 3 # Nach wievielen Fehlversuchen wird gesperrt | ||
| + | backend = auto | ||
| + | ignoreip = 127.0.0.1/8 ::1 # Ip Adressbereiche für die nicht geprüft werden soll | ||
| + | |||
| + | ... | ||
| + | </ | ||
| + | |||
| + | === SSH Dienst === | ||
| + | Fail2ban kann mehrere Dienste überwachen, | ||
| + | Um den SSH Dienst zu überwachen bearbeiten wir die / | ||
| + | \\ | ||
| + | <code Bash> | ||
| + | <code Bash> | ||
| + | ... | ||
| + | |||
| + | [sshd] | ||
| + | enabled = true # Einschalten oder ausschalten | ||
| + | port = 22 # Auf welchem Port läuft der Dienst | ||
| + | filter = sshd # Name der Filterdatei z.B. / | ||
| + | logpath = / | ||
| + | |||
| + | ... | ||
| + | </ | ||
| + | |||
| + | === Apache Dienst === | ||
| + | Auch der Webserver kann abgesichert werden indem wir unsere jail.conf anpassen. | ||
| + | <code Bash> | ||
| + | <code Bash> | ||
| + | ... | ||
| + | |||
| + | [apache] | ||
| + | enabled | ||
| + | port = http,https | ||
| + | filter | ||
| + | logpath | ||
| + | maxretry = 3 | ||
| + | findtime = 600 | ||
| + | |||
| + | [php-url-fopen] | ||
| + | enabled = true | ||
| + | port = http,https | ||
| + | filter | ||
| + | logpath = / | ||
| + | |||
| + | [apache-overflows] | ||
| + | enabled | ||
| + | port = http,https | ||
| + | filter | ||
| + | logpath | ||
| + | maxretry = 2 | ||
| + | |||
| + | [apache-badbots] | ||
| + | enabled | ||
| + | port = http,https | ||
| + | filter | ||
| + | logpath | ||
| + | maxretry = 2 | ||
| + | </ | ||
| + | \\ | ||
| + | === Überprüfen === | ||
| + | Liste auf welche und wieviele jails aktuell laufen | ||
| + | <code Bash> | ||
| + | \\ | ||
| + | Liste auf wieviele IPs derzeit in einer jail gesperrt sind | ||
| + | <code Bash> | ||
| + | \\ | ||
| + | Erlaube einer gesperrten IP wieder den Zugriff | ||
| + | <code Bash> | ||