fail2ban

Daemon to ban hosts that cause multiple authentication errors

OTHER License

Stars
11.9K
Committers
266

Bot releases are hidden (Show)

fail2ban - 1.1.0 (2024/04/25) - object-found--norad-59479-cospar-2024-069a--altitude-36267km Latest Release

Published by sebres 6 months ago

ver. 1.1.0 (2024/04/25) - object found: norad:59479, cospar:2024-069a, altitude: 36267km

Update of major version of fail2ban with primary target to provide python 3.12/3.13 compatibility, issue #3487.
See the ChangeLog for more information.

It also includes debian package, built without a test suite (fail2ban-testcases, fail2ban.test python module).

fail2ban - 1.0.2 (2022/11/09) - finally-war-game-test-tape-not-a-nuclear-alarm

Published by sebres almost 2 years ago

ver. 1.0.2 (2022/11/09) - finally war game test tape not a nuclear alarm

Update of major version of fail2ban with primary target to fix a dovecot-filter regression #3370.
See the ChangeLog for more information.

It also includes debian package, built without a test suite (fail2ban-testcases, fail2ban.test python module) for python 3.

fail2ban - 1.0.1 (2022/09/27) - energy-equals-mass-times-the-speed-of-light-squared

Published by sebres about 2 years ago

ver. 1.0.1 (2022/09/27) - energy equals mass times the speed of light squared

New major version of fail2ban with increased performance, stability, filter and action updates, etc.
See the ChangeLog for more information.

It also includes debian package, built without a test suite (fail2ban-testcases, fail2ban.test python module) for python 3.

fail2ban - 0.11.2 (2020/11/23) - heal-the-world-with-security-tools

Published by sebres almost 4 years ago

ver. 0.11.2 (2020/11/23) - heal the world with security tools

New major version of fail2ban with increased stability, filter and action updates, etc.
See the ChangeLog for more information.

It also includes debian package, built without a test suite (fail2ban-testcases, fail2ban.test python module).

fail2ban - 0.10.6 (2020/11/23) - just-what-the-doctor-ordered

Published by sebres almost 4 years ago

ver. 0.10.6 (2020/11/23) - just what the doctor ordered

Last (due to v.0.11) release of 0.10th fail2ban-version, filter and action updates, etc.
See the ChangeLog for more information.

It also includes debian package, built without a test suite (fail2ban-testcases, fail2ban.test python module).

fail2ban - 0.11.1 (2020/01/11) - this-is-the-way

Published by sebres almost 5 years ago

ver. 0.11.1 (2020/01/11) - This is the Way.

Next major version of fail2ban with incremental ban enhancement, etc.
See the ChangeLog for more information.

fail2ban - 0.10.5 (2020/01/10) - deserve-more-respect-a-jedis-weapon-must

Published by sebres almost 5 years ago

ver. 0.10.5 (2020/01/10) - Deserve more respect a jedi's weapon must.

Hrrrm, Yes

Next and probably last (due to v.0.11) release of 0.10th fail2ban-version, filter and action updates, etc.
See the ChangeLog for more information.

fail2ban - 0.10.4 (2018/10/04) - ten-four-on-due-date-ten-four

Published by sebres about 6 years ago

ver. 0.10.4 (2018/10/04) - ten-four-on-due-date-ten-four

Next release of 0.10th fail2ban-version, filter and action updates, etc.
See the ChangeLog for more information.

fail2ban - 0.10.3.1 (2018/04/04) - the-time-is-always-right-to-do-what-is-right

Published by sebres over 6 years ago

ver. 0.10.3 (2018/04/04) - the-time-is-always-right-to-do-what-is-right

Next release of 0.10th fail2ban-version, filter and action updates, etc.
See the ChangeLog for more information.

fail2ban - 0.10.2 (2018/01/18) - nothing-burns-like-the-cold

Published by sebres over 6 years ago

ver. 0.10.2 (2018/01/18) - nothing-burns-like-the-cold

Most stable, improved 0.10th fail2ban-version, filter updates, etc. See the ChangeLog for more information.

fail2ban - 0.10.1 (2017/10/12) - succeeded-before-friday-the-13th

Published by sebres about 7 years ago

ver. 0.10.1 (2017/10/12) - succeeded-before-friday-the-13th

Fixing and more. See the ChangeLog for more information.

Compatibility warning: Although we have endeavoured to maintain the backwards-compatibility, some custom filter or action configuration files resp. distribution-relevant configs of 0.9th version could be incompatible with this release. Please check it after upgrade to new version.

fail2ban - 0.10.0 (2017/08/09) - long-awaited 0.10th version

Published by sebres about 7 years ago

ver. 0.10.0 (2017/08/09) - long-awaited 0.10th version

IPv6 support, faster more then ever, more secure, many new features etc. See the ChangeLog for more information.

Compatibility warning: Although we have endeavoured to maintain the backwards-compatibility, some custom filter or action configuration files resp. distribution-relevant configs of 0.9th version could be incompatible with this release. Please check it after upgrade to new version.

fail2ban -

Published by yarikoptic over 7 years ago

fail2ban -

Published by yarikoptic almost 8 years ago

fail2ban - ver. 0.9.5 (2016/07/15) - old-not-obsolete

Published by yarikoptic over 8 years ago

0.9.x line is no longer heavily developed. If you are interested in
new features (e.g. IPv6 support), please consider 0.10 branch and its
releases.

Fixes

  • filter.d/monit.conf
    • Extended failregex with new monit "access denied" version (gh-1355)
    • failregex of previous monit version merged as single expression
  • filter.d/postfix.conf, filter.d/postfix-sasl.conf
    • Extended failregex daemon part, matching also postfix/smtps/smtpd
      now (gh-1391)
  • Fixed a grave bug within tags substitutions because of incorrect
    detection of recursion in case of multiple inline substitutions
    of the same tag (affected actions: bsd-ipfw, etc). Now tracks
    the actual list of the already substituted tags (per tag instead
    of single list)
  • filter.d/common.conf
    • Unexpected extra regex-space in generic __prefix_line (gh-1405)
    • All optional spaces normalized in common.conf, test covered now
    • Generic __prefix_line extended with optional brackets for the
      date ambit (gh-1421), added new parameter __date_ambit
  • gentoo-initd fixed --pidfile bug: --pidfile is option of
    start-stop-daemon, not argument of fail2ban (see gh-1434)
  • filter.d/asterisk.conf
    • Fixed security log support for PJSIP and Asterisk 13+ (gh-1456)
    • Improved log support for PJSIP and Asterisk 13+ with different
      callID (gh-1458)

New Features

  • New Actions:
    • action.d/firewallcmd-rich-rules and action.d/firewallcmd-rich-logging
      (gh-1367)
  • New filters:
    • slapd - ban hosts, that were failed to connect with invalid
      credentials: error code 49 (gh-1478)

Enhancements

  • Extreme speedup of all sqlite database operations (gh-1436),
    by using of following sqlite options:
    • (synchronous = OFF) write data through OS without syncing
    • (journal_mode = MEMORY) use memory for the transaction logging
    • (temp_store = MEMORY) temporary tables and indices are kept in memory
  • journald journalmatch for pure-ftpd (gh-1362)
  • Added additional regex filter for dovecot ldap authentication failures (gh-1370)
  • filter.d/exim*conf
    • Added additional regexes (gh-1371)
    • Made port entry optional
fail2ban - 0.10.0-alpha-1 (2016/07/14) - ipv6-support-etc

Published by sebres over 8 years ago

ver. 0.10.0a1 (2016/07/14) - ipv6-support-etc

  • Fixes:
    • [grave] memory leak's fixed (gh-1277, gh-1234)
    • tricky bug fix: last position of log file will be never retrieved (gh-795),
      because of CASCADE all log entries will be deleted from logs table together with jail,
      if used "INSERT OR REPLACE" statement
    • asyncserver (asyncore) code fixed and test cases repaired (again gh-161)
    • testSocket: sporadical bug repaired - wait for server thread starts a socket (listener)
    • testExecuteTimeoutWithNastyChildren: sporadical bug repaired - wait for pid file inside bash,
      kill tree in any case (gh-1155)
  • New Features:
    • IPv6 support:
      • IP addresses are now handled as objects rather than strings capable for
        handling both address types IPv4 and IPv6
      • iptables related actions have been amended to support IPv6 specific actions
        additionally
      • hostsdeny and route actions have been tested to be aware of v4 and v6 already
      • pf action for *BSD systems has been improved and supports now also v4 and v6
      • name resolution is now working for either address type
        • new conditional section functionality used in config resp. includes:
      • [Init?family=inet4] - IPv4 qualified hosts only
      • [Init?family=inet6] - IPv6 qualified hosts only
  • Enhancements:
    • huge increasing of fail2ban performance and especially test-cases performance (see gh-1109)
    • datedetector: in-place reordering using hits and last used time:
      matchTime, template list etc. rewritten because of performance degradation
    • prevent out of memory situation if many IP's makes extremely many failures (maxEntries)
    • introduced string to seconds (str2seconds) for configuration entries with time,
      use 1h instead of 3600, 1d instead of 86400, etc
    • seekToTime - prevent completely read of big files first time (after start of service),
      initial seek to start time using half-interval search algorithm (see issue gh-795)
    • ticket and some other modules prepared to easy merge with newest version of 'ban-time-incr'
    • cache dnsToIp, ipToName to prevent long wait during retrieving of ip/name,
      especially for wrong dns or lazy dns-system
    • FailManager memory-optimization: increases performance,
      prevents memory leakage, because don't copy failures list on some operations
    • fail2ban-testcases - new options introduced:
      • -f, --fast to decrease wait intervals, avoid passive waiting, and skip
        few very slow test cases (implied memory database, see -m and no gamin tests -g)
      • -g, --no-gamin to prevent running of tests that require the gamin (slow)
      • -m, --memory-db - run database tests using memory instead of file
      • -i, --ignore - negate [regexps] filter to ignore tests matched specified regexps
    • background servicing: prevents memory leak on some platforms/python versions, using forced GC
      in periodic intervals (latency and threshold)
    • executeCmd partially moved from action to new module utils
    • several functionality of class DNSUtils moved to new class IPAddr,
      both classes moved to new module ipdns
    • pseudo-conditional section introduced, for conditional substitution resp.
      evaluation of parameters for different family qualified hosts,
      syntax [Section?family=inet6] (currently use for IPv6-support only).

ver. 0.9.5 - in-line part of 0.10.a1 release

  • Fixes:
    • filter.d/monit.conf
      • extended failregex with new monit "access denied" version (gh-1355);
      • failregex of previous monit version merged as single expression.
    • filter.d/postfix.conf, filter.d/postfix-sasl.conf
      • extended failregex daemon part, matching also postfix/smtps/smtpd now (gh-1391)
    • fixed a grave bug within tags substitutions because of incorrect detection of recursion
      in case of multiple inline substitutions of the same tag (affected actions: bsd-ipfw, etc).
      Now tracks the actual list of the already substituted tags (per tag instead of single list)
    • filter.d/common.conf
      • unexpected extra regex-space in generic __prefix_line (gh-1405)
      • all optional spaces normalized in common.conf, test covered now
      • generic __prefix_line extended with optional brackets for the date ambit (gh-1421),
        added new parameter __date_ambit
    • gentoo-initd fixed --pidfile bug: --pidfile is option of start-stop-daemon,
      not argument of fail2ban (see gh-1434)
    • filter.d/asterisk.conf
      • fix security log support for PJSIP and Asterisk 13+ (gh-1456)
      • improved log support for PJSIP and Asterisk 13+ with different callID (gh-1458)
  • New Features:
    • New Actions:
      • action.d/firewallcmd-rich-rules and action.d/firewallcmd-rich-logging (gh-1367)
  • Enhancements:
    • Extreme speedup of all sqlite database operations (gh-1436),
      by using of following sqlite options:
      • (synchronous = OFF) write data through OS without syncing
      • (journal_mode = MEMORY) use memory for the transaction logging
      • (temp_store = MEMORY) temporary tables and indices are kept in memory
    • journald journalmatch for pure-ftpd (gh-1362)
    • Add additional regex filter for dovecot ldap authentication failures (gh-1370)
    • filter.d/exim*conf
      • added additional regexes (gh-1371)
      • made port entry optional
fail2ban - 0.9.4 (2016/03/08) - for-you-ladies

Published by yarikoptic over 8 years ago

  • Fixes:
    • roundcube-auth jail typo for logpath
    • Fix dnsToIp resolver for fqdn with large list of IPs (gh-1164)
    • filter.d/apache-badbots.conf
      • Updated useragent string regex adding escape for +
    • filter.d/mysqld-auth.conf
      • Updated "Access denied ..." regex for MySQL 5.6 and later (gh-1211, gh-1332)
    • filter.d/sshd.conf
      • Updated "Auth fail" regex for OpenSSH 5.9 and later
    • Treat failed and killed execution of commands identically (only
      different log messages), which addresses different behavior on different
      exit codes of dash and bash (gh-1155)
    • Fix jail.conf.5 man's section (gh-1226)
    • Fixed default banaction for allports jails like pam-generic, recidive, etc
      with new default variable banaction_allports (gh-1216)
    • Fixed fail2ban-regex stops working on invalid (wrong encoded) character
      for python version < 3.x (gh-1248)
    • Use postfix_log logpath for postfix-rbl jail
    • filters.d/postfix.conf - add 'Sender address rejected: Domain not found' failregex
    • use fail2ban_agent as user-agent in actions badips, blocklist_de, etc (gh-1271)
    • Fix ignoring the sender option by action_mw, action_mwl and action_c_mwl
    • Changed filter.d/asterisk regex for "Call from ..." (few vulnerable now)
    • Removed compression and rotation count from logrotate (inherit them from
      the global logrotate config)
  • New Features:
    • New interpolation feature for definition config readers - <known/parameter>
      (means last known init definition of filters or actions with name parameter).
      This interpolation makes possible to extend a parameters of stock filter or
      action directly in jail inside jail.local file, without creating a separately
      filter.d/*.local file.
      As extension to interpolation %(known/parameter)s, that does not works for
      filter and action init parameters
    • New actions:
      • nftables-multiport and nftables-allports - filtering using nftables
        framework. Note: it requires a pre-existing chain for the filtering rule.
    • New filters:
      • openhab - domotic software authentication failure with the
        rest api and web interface (gh-1223)
      • nginx-limit-req - ban hosts, that were failed through nginx by limit
        request processing rate (ngx_http_limit_req_module)
      • murmur - ban hosts that repeatedly attempt to connect to
        murmur/mumble-server with an invalid server password or certificate.
      • haproxy-http-auth - filter to match failed HTTP Authentications against a
        HAProxy server
    • New jails:
      • murmur - bans TCP and UDP from the bad host on the default murmur port.
    • sshd filter got new failregex to match "maximum authentication
      attempts exceeded" (introduced in openssh 6.8)
    • Added filter for Mac OS screen sharing (VNC) daemon
  • Enhancements:
    • Do not rotate empty log files
    • Added new date pattern with year after day (e.g. Sun Jan 23 2005 21:59:59)
      http://bugs.debian.org/798923
    • Added openSUSE path configuration (Thanks Johannes Weberhofer)
    • Allow to split ignoreip entries by ',' as well as by ' ' (gh-1197)
    • Added a timeout (3 sec) to urlopen within badips.py action
      (Thanks M. Maraun)
    • Added check against atacker's Googlebot PTR fake records
      (Thanks Pablo Rodriguez Fernandez)
    • Enhance filter against atacker's Googlebot PTR fake records
      (gh-1226)
    • Nginx log paths extended (prefixed with "*" wildcard) (gh-1237)
    • Added filter for openhab domotic software authentication failure with the
      rest api and web interface (gh-1223)
    • Add *_backend options for services to allow distros to set the default
      backend per service, set default to systemd for Fedora as appropriate
    • Performance improvements while monitoring large number of files (gh-1265).
      Use associative array (dict) for monitored log files to speed up lookup
      operations. Thanks @kshetragia
    • Specified that fail2ban is PartOf iptables.service firewalld.service in
      .service file -- would reload fail2ban if those services are restarted
    • Provides new default fail2ban_version and interpolation variable
      fail2ban_agent in jail.conf
    • Enhance filter 'postfix' to ban incoming SMTP client with no fqdn hostname,
      and to support multiple instances of postfix having varying suffix (gh-1331)
      (Thanks Tom Hendrikx)
    • files/gentoo-initd to use start-stop-daemon to robustify restarting the service
fail2ban -

Published by yarikoptic about 9 years ago

fail2ban - better-quick-now-than-later

Published by yarikoptic over 9 years ago

fail2ban - better, faster, stronger

Published by yarikoptic almost 10 years ago

ver. 0.9.1 (2014/10/29) - better, faster, stronger

  • Refactoring (IMPORTANT -- Please review your setup and configuration):
    • iptables-common.conf replaced iptables-blocktype.conf
      (iptables-blocktype.local should still be read) and now also
      provides defaults for the chain, port, protocol and name tags
  • Fixes:
    • start of file2ban aborted (on slow hosts, systemd considers the server has
      been timed out and kills him), see gh-824
    • UTF-8 fixes in pure-ftp thanks to Johannes Weberhofer. Closes gh-806.
    • systemd backend error on bad utf-8 in python3
    • badips.py action error when logging HTTP error raised with badips request
    • fail2ban-regex failed to work in python3 due to space/tab mix
    • recidive regex samples incorrect log level
    • journalmatch for recidive incorrect PRIORITY
    • loglevel couldn't be changed in fail2ban.conf
    • Handle case when no sqlite library is available for persistent database
    • Only reban once per IP from database on fail2ban restart
    • Nginx filter to support missing server_name. Closes gh-676
    • fail2ban-regex assertion error caused by miscount missed lines with
      multiline regex
    • Fix actions failing to execute for Python 3.4.0. Workaround for
      http://bugs.python.org/issue21207
    • Database now returns persistent bans on restart (bantime < 0)
    • Recursive action tags now fully processed. Fixes issue with bsd-ipfw
      action
    • Fixed TypeError with "ipfailures" and "ipjailfailures" action tags.
      Thanks Serg G. Brester
    • Correct times for non-timezone date times formats during DST
    • Pass a copy of, not original, aInfo into actions to avoid side-effects
    • Per-distribution paths to the exim's main log
    • Ignored IPs are no longer banned when being restored from persistent
      database
    • Manually unbanned IPs are now removed from persistent database, such they
      wont be banned again when Fail2Ban is restarted
    • Pass "bantime" parameter to the actions in default jail's action
      definition(s)
    • filters.d/sieve.conf - fixed typo in _daemon. Thanks Jisoo Park
    • cyrus-imap -- also catch also failed logins via secured (imaps/pop3s).
      Regression was introduced while strengthening failregex in 0.8.11 (bd175f)
      Debian bug #755173
    • postfix-sasl - added journalmatch. Thanks Luc Maisonobe
    • postfix* - match with a new daemon string (postfix/submission/smtpd).
      Closes gh-804 . Thanks Paul Traina
    • apache - added filter for AH01630 client denied by server configuration.
  • New features:
    • New filters:
      • monit Thanks Jason H Martin
      • directadmin Thanks niorg
      • apache-shellshock Thanks Eugene Hopkinson (SlowRiot)
    • New actions:
      • symbiosis-blacklist-allports for Bytemark symbiosis firewall
    • fail2ban-client can fetch the running server version
    • Added Cloudflare API action
  • Enhancements
    • Start performance of fail2ban-client (and tests) increased, start time
      and cpu usage rapidly reduced. Introduced a shared storage logic, to
      bypass reading lots of config files (see gh-824).
      Thanks to Joost Molenaar for good catch (reported gh-820).
    • Fail2ban-regex - add print-all-matched option. Closes gh-652
    • Suppress fail2ban-client warnings for non-critical config options
    • Match non "Bye Bye" disconnect messages for sshd locked account regex
    • courier-smtp filter:
      • match lines with user names
      • match lines containing "535 Authentication failed" attempts
    • Add tag to iptables-ipsets
    • Realign fail2ban log output with white space to improve readability. Does
      not affect SYSLOG output
    • Log unhandled exceptions
    • cyrus-imap: catch "user not found" attempts
    • Add support for Portsentry