-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Update brute-force.md documentation #424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Great work! Thank you so much. |
chaion07
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good from my end
|
Thank you for contributing @garrettb-imh |
| **Limit access to `/wp-login.php` by IP:** | ||
| ```caddyfile | ||
| @blacklist { | ||
| not remote_ip forwarded 203.0.113.15 203.0.113.16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe remote_ip forwarded is deprecated since caddy v2.8.0 in favour of client_ip with the use of the trusted_proxies directive
See:
Deprecation: https://github.com/caddyserver/caddy/releases/tag/v2.8.0
client_ip: https://caddyserver.com/docs/caddyfile/matchers#client-ip
trusted-proxies: https://caddyserver.com/docs/caddyfile/options#trusted-proxies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clarification
It is long deprecated and was removed in 2.8.0
Crixu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Content looks great, my recommendation would be to replace the current file instead of adding a new one.
This article mixes good guidance with a lot of legacy/fragile techniques and repeats some sections. I’ve prepared a full modernization that emphasizes 2FA/passkeys, edge/WAF rate-limiting, XML-RPC protections, and keeps concise Apache/Nginx/IIS plus new Caddy v2 examples. It also adds a See Also link to the Caddy thread discussed with core maintainers.
Highlights
• Keep: strong passwords, avoid admin, server-side examples (updated).
• Add: 2FA + passkeys (plugin/IdP), edge/WAF login throttling, CAPTCHA/Turnstile, XML-RPC controls, clearer Nginx/Apache/IIS, and Caddy v2 snippets.
• Remove/soften: country IP blocklists (collateral damage), BasicAuth over all of /wp-admin (breaks AJAX), repeated sections.
Based on comment suggestion, Caddy reference added: Using Caddy to deter brute force attacks in WordPress – https://caddy.community/t/using-caddy-to-deter-brute-force-attacks-in-wordpress/13579