Страница 1 из 1

Новый фильтр es-wordpress

Добавлено: 17 май 2026, 10:29
george
Поскольку не у всех, кто использует ESBANS, на хостинге есть сайты на WordPress (у нас тоже - на некоторых хостах есть, а на некоторых нет), то мы решили из фильтра es-nginx-access вынести все строки, имеющие отношение к WordPress, в отдельный модуль (для fail2ban) es-wordpress.

При этом эти все строки были нами, естественно, удалены из фильтра es-nginx-access (что избавляет теперь процессор от лишней работы в случае отсутствия на данном хосте сайтов созданных на платформе WordPress).

Код этого нового фильтра es-wordpress и обновленный код фильтра es-nginx-access можно видеть на страницах сайта ESBANS по ссылкам, указанным выше (в первом абзаце данного сообщения).

Re: Новый фильтр es-wordpress

Добавлено: 17 май 2026, 21:25
vendor
george писал(а): Вчера, 10:29 Поскольку не у всех, кто использует ESBANS, на хостинге есть сайты на WordPress (у нас тоже - на некоторых хостах есть, а на некоторых нет), то мы решили из фильтра es-nginx-access вынести все строки, имеющие отношение к WordPress, в отдельный модуль (для fail2ban) es-wordpress.
А не могли бы вы через

Код: Выделить всё

fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/es-wordpress.conf
показать нам эффективность работы предложенных вами регулярных выражений (на примере какого-нибудь вашего конкретного сервера с WordPress)?

Re: Новый фильтр es-wordpress

Добавлено: 17 май 2026, 21:32
george
vendor писал(а): Вчера, 21:25 А не могли бы вы через

Код: Выделить всё

fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/es-wordpress.conf
показать нам эффективность работы предложенных вами регулярных выражений (на примере какого-нибудь вашего конкретного сервера с WordPress)?
Да, конечно. Вот результат работы указанной вами команды на одном из наших серверов:

Код: Выделить всё

Failregex: 375 total
|-  #) [# of hits] regular expression
|   1) [152] ^<HOST> - - \[.*\] "POST /.*wp-login\.php HTTP/.*" (200|301)
|   2) [123] ^<HOST> - - \[.*\] "GET /.*(wp-content|wp-includes|wp-json).* HTTP/.*" 404
|   3) [18] ^<HOST> - - \[.*\] "GET /\?(p|m|author)=\d+ HTTP/.*" 404
|   4) [45] ^<HOST> - - \[.*\] "POST //?xmlrpc\.php HTTP/.*" 200
|   5) [34] ^<HOST> - - \[.*\] "GET /.*wlwmanifest\.xml HTTP/.*" 404
|   6) [3] ^<HOST> - - \[.*\] "POST /wp-comments-post.php HTTP/.*" 403
И притом, что мы лишь сегодня утром запустили там этот наш новый фильтр, щедрый "улов" нас уже радует:

Код: Выделить всё

Status for the jail: es-wordpress
|- Filter
|  |- Currently failed:	32
|  |- Total failed:	56
|  `- File list:	/var/log/nginx/access.log
`- Actions
   |- Currently banned:	14
   |- Total banned:	14
   `- Banned IP list:	138.197.139.3 205.185.122.41 216.194.166.232 3.139.62.64 31.14.97.67 45.55.144.148 61.141.181.226 136.107.29.131 34.85.183.87 193.32.162.60 35.200.210.61 34.47.166.88 35.234.222.108 34.27.223.143