Usiłuję skonfigurować, fail2banaby blokować złe WordPresspróby logowania, ale nie odnoszę wielkiego sukcesu.
Korzystam z WP fail2ban 3.0.0 , który poprawnie loguje błędne próby logowania /var/log/secure, o ile mi wiadomo (jeśli ktoś jest zainteresowany, podaję poniżej mojej konfiguracji wtyczki):
Apr 19 18:21:42 droplet wordpress(website.com)[17157]: Authentication failure for admin from my.ip.add.ress
filterRównież wydaje się być poprawnie skonfigurowany. W rzeczywistości, jeśli uruchomię fail2ban-client status wordpress, mogę zobaczyć, że mój ip jest zbanowany:
Status for the jail: wordpress
|- Filter
| |- Currently failed: 2
| |- Total failed: 15
| `- File list: /var/log/secure
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: my.ip.add.ress
I także fail2ban-regex /var/log/secure /etc/fail2ban/filter.d/wordpress.confznajduje Failregex: 102 total.
Mimo to jestem w pełni zdolny do przeglądania strony i dostępu do strony logowania.
Oczywiście wciąż czegoś brakuje, może po stronie Lakieru? Naprawdę nie mogłem się dowiedzieć, jakiś pomysł?
Używam CentOS 7.2.1511, Apache/2.4.6oraz Varnish 4.0.3.
Jeśli ktoś jest zainteresowany, oto jak skonfigurowałem, WP fail2banaby działał z Varnish:
- Włączono wtyczkę
- Skopiowano plik
wordpress.conf(zawarty w folderze wtyczek) do/etc/fail2ban/filters.d/ Dodano następujące linie do
/etc/fail2ban/jail.local[wordpress] enabled = true port = http,https filter = wordpress logpath = /var/log/secureDodano następujące wiersze do
wp-config.php:define('WP_FAIL2BAN_PROXIES','my.ser.ver.ip'); define('WP_FAIL2BAN_AUTH_LOG',LOG_AUTHPRIV);Dodano poniższe linie do
/etc/varnish/default.vclwsub vcl_recvbloku:if (req.restarts == 0) { if (req.http.X-Forwarded-For) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip; } else { set req.http.X-Forwarded-For = client.ip; } }Dodano poniższe linie do
/etc/varnish/default.vclwsub vcl_pipebloku:set bereq.http.connection = "close"; return (pipe);