Apocalypse Meow’s main focus is addressing WordPress security issues related to user accounts and logins. This includes things like:
- Brute-force login-in protection;
- Customizable password strength requirements;
- XML-RPC access controls;
- Account access alerts;
- Searchable access logs (including failed login attempts and temporary bans);
- User enumeration prevention;
- Registration SPAM protection;
- Miscellaneous Core and template options to make targeted hacks more difficult;
Security is an admittedly technical subject, but Apocalypse Meow strives to help educate “normal” users about the nature of common web attacks, mitigation techniques, etc. Every option contains detailed explanations and links to external resources with additional information.
Knowledge is power!
Due to the advanced nature of some of the plugin features, there are a few additional server requirements beyond what WordPress itself requires:
- WordPress 4.4+.
- PHP 7.3 or later.
- PHP extensions: (bcmath or gmp), date, filter, json, pcre.
- Single-site Installs (i.e. Multi-Site is not supported).
Please note: it is not safe to run WordPress atop a version of PHP that has reached its End of Life. Future releases of this plugin might, out of necessity, drop support for old, unmaintained versions of PHP. To ensure you continue to receive plugin updates, bug fixes, and new features, just make sure PHP is kept up-to-date. 🙂
Some robots are so dumb they’ll continue trying to submit credentials even after the login form is replaced, wasting system resources and clogging up the log-in history table. One way to mitigate this is to use a server-side log-monitoring program like Fail2Ban or OSSEC to ban users via the firewall.
Apocalypse Meow produces a 403 error when a banned user requests the login form. Your log-monitoring rule should therefore look for repeated 403 responses to
wp-login.php. Additionally, some robots are unable to follow redirects; if your login form requires SSL, you should also ban repeated 301/302 responses to catch those fools.
If you have enabled user enumeration protection with the
die() option, requests for
?author=X will produce a 400 response code which can be similarly tracked.
When active, this plugin retains security logs of every sign-in attempt made to the CMS backend. This information — including the end user’s public IP address, username, and the status of his or her attempt — is used to help prevent unauthorized system access and maintain Quality of Service for all site visitors.
This information resides fully on the hosting web site and is not shared with any third parties unless the Community Pool feature is enabled, in which case any IP addresses responsible for attacks against your web site are periodically shared with Blobfolio, LLC, the maintainer of the centralized database. If any of those IP addresses are subsequently identified by multiple, independent sources, they will be published to a public blocklist (hosted by Blobfolio).
Data retention is entirely up to the site operator, but by default old records are automatically removed after 90 days.
Please note: Apocalypse Meow DOES NOT integrate with any WordPress GDPR “Personal Data” features. (Selective erasure of audit logs would undermine the security mechanisms provided by this plugin. Haha.)