thebrandonallen / wp-fail2ban-redux

Records various WordPress events to your server's system log for integration with Fail2Ban.
GNU General Public License v2.0
63 stars 13 forks source link
fail2ban wordpress wordpress-plugin

WP Fail2Ban Redux

Contributors: thebrandonallen
Donate link: https://brandonallen.me/donate/
Tags: fail2ban, login, security, syslog
Requires at least: 5.5
Tested up to: 6.4
Requires PHP: 7.0
Stable tag: 0.9.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Records various WordPress events to your server's system log for integration with Fail2Ban.

Description

WP Fail2Ban Redux records various WordPress events to your server's system log for integration with Fail2Ban.

This plugin is (mostly) a drop-in replacement for WP fail2ban by Charles Lecklider.

While WP fail2ban is a great plugin, there are a number of improvements that could be made. In order to facilitate these improvements, a major refactoring of the codebase was necessary.

The core functionality between WP Fail2Ban Redux and WP fail2ban remains the same. WP Fail2Ban Redux is considered to be mostly a drop-in replacement, because all constants have been replaced with filters, and will, possibly, require some upgrade work. Don’t work it’s as simple as implementing the constants.

The following events are recorded by default:

The following events can be enabled via filter:

Extra documentation is available on the WP Fail2Ban Redux GitHub Wiki.

Installation

  1. Upload the plugin to your plugins directory.
  2. Activate the plugin through the 'Plugins' menu in WordPress.
  3. Copy the config/filters/wordpress-hard.conf and config/filters/wordpress-soft.conf files to your Fail2Ban filters directory (generally /etc/fail2ban/filters.d).
  4. Copy the config/jail/wordpress.conf file to your Fail2Ban jail directory (generally /etc/fail2ban/jail.d), or append it's contents to your jail.local file. Make sure you read the notes in this file to aid successful setup.
  5. Reload or restart Fail2Ban.

Frequently Asked Questions

How do I upgrade from WP fail2ban?

If you haven't set any of the WP fail2ban constants, you don't need to do anything. If you have set some of the constants, view the upgrade instructions.

Will the wordpress-hard.conf and wordpress-soft.conf filters still work?

Yes! All of the improvements made in WP Fail2Ban Redux were done in a way that would allow existing functionality to work without changes to your filters. However, the demo filters included with the plugin do contain some recommended changes. There are also new features not found in WP fail2ban that will require changes to your filters to be effective. These changes are linked, by filter, below: wordpress-hard.conf wordpress-soft.conf

Be ye forewarned: Future changes to WP fail2ban may break backwards compatibility with WP Fail2Ban Redux filters. No attempts will be made to fix this. So, even though it's not required, it is probably a good idea to update the filters anyway.

Can I use this as a must-use plugin in the mu-plugins folder?

As of version 0.5.0, yes! Download the plugin, and unzip. Inside the plugin folder will be another folder named wp-fail2ban-redux and wp-fail2ban-redux.php. Upload this folder and file to the mu-plugins directory of your site.

How do you I use this plugin if my site is behind a proxy, like Cloudflare?

You need to add some code to your wp-config.php file. See the below links for guidance.

Changelog

0.9.1

0.8.3

0.8.2

0.8.1

0.8.0

0.7.0

0.6.0

0.5.1

0.5.0

0.4.0

0.3.1

0.3.0

0.2.1

0.2.0

0.1.1

0.1.0