Current features (0.8.x)
Here is a list of the main features available in Fail2ban.
- Client/Server architecture.
- Highly configurable.
- FAM/Gamin support.
- Parses log files and looks for given patterns.
- Executes commands when a pattern has been detected for the same IP address for more than X times. X can be changed.
- After a given amount of time, executes another command in order to unban the IP address.
- Uses Netfilter/Iptables by default but can also use TCP Wrapper (/etc/hosts.deny) and many other actions.
- Handles log files rotation.
- Can handle more than one service (sshd, apache, vsftpd, etc).
- Resolves DNS hostname to IP address.
Here is the planned roadmap. If you want to contribute or help on one of these features, please contact the author.
- Dependency back to Python 2.3
- Rewrite communication
- Add more tags (<LINE>, <USER>)
- Add support for pyinotify
- Decrease memory usage
- Multi-lines parsing
- Manual control of ban list (ban, unban, reset). You currently have to restart the daemon to unban.
- There's a patch by Buanzo that adds a 'banip' command to fail2ban-client.
- Auto-enable feature (activate jail if log file is present)