Fail2ban
From Wikipedia, the free encyclopedia
Fail2Ban | |
---|---|
Developed by | Cyril Jaquier |
Latest release | 0.8.2 / March 6, 2008 |
OS | Linux |
Genre | Intrusion prevention |
License | GPL v2 |
Website | http://www.fail2ban.org/ |
Fail2Ban is a relatively lightweight intrusion prevention framework written in the Python programming language. It is able to run on POSIX systems that have an interface to a packet-control system or firewall installed locally (for example, iptables or TCP Wrapper)[1]
Contents |
[edit] Functionality
Fail2Ban's main function is to block selected IP addresses that may belong to hosts that are trying to breach the system's security. It determines the hosts to be blocked by monitoring log files (e.g. /var/log/pwdfail, /var/log/auth.log, etc) and bans any host IP that makes too many login attempts or performs any other unwanted action within a time frame defined by the administrator.[2] Fail2ban is typically set up to unban a blocked host within a certain period, so as to not "lock out" any genuine connections that may have been temporarily misconfigured[3]. However, an unban time of several minutes is usually enough to stop a network connection being flooded by malicious connections, as well as reducing the likelihood of a successful dictionary attack.
Fail2ban can perform multiple actions whenever an abusive IP is detected: update Netfilter/iptables firewall rules, or alternatively TCP Wrappers' hosts.deny table, to reject an abuser's IP address; email notifications; or any user-defined action that can be carried out by a Python script.[4]
The standard configuration ships with filters for Apache, sshd, vsftpd, qmail, Postfix and Courier Mail Server. Filters are defined by Python regexes, which may be conveniently customized by an administrator familiar with regular expressions. A combination of a filter and an action is known as a "jail"[5], and is thus what allows a malicious host to be blocked from accessing defined network services. [6] As well as the examples that are distributed with the software, a "jail" may be created for any network-facing process that creates a log file of access attempts.
[edit] See also
- DenyHosts. "Fail2ban is similar to DenyHosts ... but unlike DenyHosts which focuses on SSH, fail2ban can be configured to monitor any service that writes login attempts to a log file, and instead of using /etc/hosts.deny only to block IP addresses/hosts, fail2ban can use Netfilter/iptables and TCP Wrappers /etc/hosts.deny."[7]
- BlockHosts
- OSSEC, an Open Source Host-based intrusion detection system.
[edit] External links
[edit] Articles Highlighting Fail2ban
- PC Professionell: "Fail2ban - Sicherheit für Linux-Server"
- Gazeta IT: "Obrona przed namiętnymi nieletnimi"
- "Tip of the trade: fail2ban"
- howtoforge: "Preventing Brute Force Attacks With Fail2ban On Debian Etch"
- howtoforge: "Preventing Brute Force Attacks With Fail2ban On OpenSUSE 10.3"
- Art Of The Web: "Fail2ban HOWTO"
- Debian Administration: "Keeping SSH access secure
- Debian Package a Day: "Fail2ban: an enemy of script-kiddies"
- Defending against brute force ssh attacks
- Linux Magazin: "Unbestechlicher Türsteher" (german)
[edit] Related Software
- Kodos - a Regular Expression debugger
[edit] References
- ^ Requirements - Fail2ban
- ^ Features - Fail2ban
- ^ MANUAL 0 8 - Fail2ban
- ^ Using fail2ban to Block Brute Force Attacks | MDLog:/sysadmin
- ^ Debian Package of the Day » Blog Archive » Fail2ban: an enemy of script-kiddies
- ^ Some users simply do not see an alternative solution now: SLAC Computer Security of Stanford simply states in their recommendations, "Use fail2ban to block ssh and Apache dictionary attacks" Cyber Security Awareness Month Day 19 - Linux Tips (en). SLAC Computer Security (2007-10-19). Retrieved on 2008-01-15.
- ^ Timme, Falko (2007-10-08). Preventing Brute Force Attacks With Fail2ban On OpenSUSE 10.3. Retrieved on 2007-11-14.