Fail2ban
Originalförfattare | Cyril Jaquier |
---|---|
Initial release | 7 oktober 2004 |
Stabil frisättning | 1.0.1 / 27 september 2022
|
Förvar | |
Skrivet i | Pytonorm |
Plattform | POSIX |
Typ | Förebyggande av intrång |
Licens | GNU GPL v2 |
Hemsida |
|
Fail2ban är ett ramverk för intrångsförebyggande programvara. Den är skriven i Python och är utformad för att förhindra brute-force-attacker . Den kan köras på POSIX- system som har ett gränssnitt till ett paketkontrollsystem eller brandvägg installerad lokalt, såsom iptables eller TCP Wrapper .
Funktionalitet
Fail2ban fungerar genom att övervaka loggfiler (t.ex. /var/log/auth.log , /var/log/apache/access.log , etc.) för valda poster och köra skript baserat på dem. Oftast används detta för att blockera utvalda IP-adresser som kan tillhöra värdar som försöker bryta mot systemets säkerhet. Det kan förbjuda alla värd-IP-adresser som gör för många inloggningsförsök eller utför någon annan oönskad åtgärd inom en tidsram som definieras av administratören. Inkluderar stöd för både IPv4 och IPv6. Eventuellt längre förbud kan anpassas för "återfallsmissbrukare" som fortsätter att komma tillbaka. Fail2ban är vanligtvis inställd för att avbanna en blockerad värd inom en viss period, för att inte "låsa ut" några äkta anslutningar som kan ha blivit tillfälligt felkonfigurerade. En tid för avstängning på flera minuter räcker dock vanligtvis för att förhindra att en nätverksanslutning översvämmas av skadliga anslutningar, samt för att minska sannolikheten för en lyckad ordboksattack .
Fail2ban kan utföra flera åtgärder närhelst en felaktig IP-adress upptäcks: uppdatera Netfilter/iptables eller PF -brandväggsregler, TCP Wrappers hosts.deny - tabell, för att avvisa en missbrukares IP-adress; e-postmeddelanden; eller någon användardefinierad åtgärd som kan utföras av ett Python-skript.
Standardkonfigurationen levereras med filter för Apache , Lighttpd , sshd , vsftpd , qmail , Postfix och Courier Mail Server . Filter definieras av Python- regexes , som bekvämt kan anpassas av en administratör som är bekant med reguljära uttryck. En kombination av ett filter och en åtgärd kallas ett "fängelse" och är det som gör att en skadlig värd blockeras från att komma åt specifika nätverkstjänster. Förutom de exempel som distribueras med programvaran, kan ett "fängelse" skapas för alla nätverksvända processer som skapar en loggfil för åtkomst.
Fail2ban liknar DenyHosts [...] men till skillnad från DenyHosts som fokuserar på SSH kan fail2ban konfigureras för att övervaka vilken tjänst som helst som skriver inloggningsförsök till en loggfil, och istället för att använda /etc/hosts.deny endast för att blockera IP-adresser /hosts, fail2ban kan använda Netfilter/iptables och TCP Wrappers /etc/hosts.deny .
— Falko Timme
Integrationer
Fail2ban kan integreras med många API:er , inklusive blocklist.de och AbuseIPDB.
Brister
- Fail2ban misslyckas med att skydda mot en distribuerad brute-force attack. Emellertid finns det verktyg för att distribuera ban/unban-händelser mellan servrar som använder zmq.
- Det finns ingen interaktion med applikationsspecifika API : er/AGI:er.
Se även
- DenyHosts , ett loggbaserat säkerhetsverktyg för intrångsförebyggande
- Stockade , en hastighetsbegränsande metod för att minska spam.
- OSSEC , ett värdbaserat intrångsdetekteringssystem med öppen källkod.