A daemon that scans log files and bans IP addresses with too many failed authentication attempts using firewall rules.
Fail2Ban is a Python-based daemon that monitors system log files for repeated failed authentication attempts and automatically bans the offending IP addresses using firewall rules. It helps protect servers from brute-force attacks by temporarily blocking malicious hosts that exhibit suspicious behavior patterns. The tool is highly configurable and works out-of-the-box with common services like SSH and web servers.
System administrators and DevOps engineers managing Linux servers who need to protect against brute-force attacks and unauthorized access attempts. It's particularly valuable for anyone running internet-exposed services with authentication mechanisms.
Developers choose Fail2Ban because it provides lightweight, automated intrusion prevention without requiring complex security infrastructure. Its flexibility in configuration, support for both IPv4 and IPv6, and integration with existing firewall systems make it a reliable first line of defense against brute-force attacks.
Daemon to ban hosts that cause multiple authentication errors
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Comes pre-configured for standard services like SSH and Apache, as noted in the README, reducing initial setup time for common use cases.
Easily adaptable to monitor any log file and define custom ban conditions, allowing it to protect diverse applications beyond defaults.
Fully supports matching and banning IPv6 addresses, ensuring compatibility with modern network infrastructures as highlighted in the features.
Built with Python and minimal dependencies, making it resource-friendly and suitable for most server environments without heavy overhead.
Installing from source requires copying init scripts manually (e.g., from the files directory), which can be error-prone and lacks automation.
Only acts after failed attempts are logged, missing real-time threats and relying on log parsing, which can delay response times.
Improper configuration can lead to banning legitimate IPs, especially in shared or dynamic IP environments, requiring careful tuning.