Extra Systems Ban Software (ESBANS)

Модуль es-nginx-access

Модуль es-nginx-access был разработан компанией Extra Systems для защиты web-сервера nginx от хакерской активности в рамках системы fail2ban. Суть его деятельности заключается в выявлении подозрительной активности в файле /var/log/nginx/access.log.

Подключение es-nginx-access к fail2ban производится таким способом:

[es-nginx-access]
enabled  = true
filter   = es-nginx-access
logpath  = /var/log/nginx/access.log
action   = iptables-allports[name=es-nginx-access, blocktype=DROP, protocol=all]

Обратите внимание на тот факт, что данный фильтр блокирует для изобличенного хакера все протоколы на всех портах, причем делает это по методу DROP - что превращает после этого ваш хост в абсолютно "черную дыру" для данного конкретного злоумышленника. Ни на один свой последующий IP-пакет он не получит вообще никакого ответа. Таким образом нами обеспечивается значительная экономия ресурсов вашего сервера.

Код нашего фильтра es-nginx-access имеет такой вид:

[Definition]
failregex = ^<HOST> - - \[.*\] ".*" 400\s
            ^<HOST> - - \[.*\] "GET /.*\.php HTTP/.*" 404
            ^<HOST> - - \[.*\] "POST /wp-login.php HTTP/\d\.\d" (200|301)\s
            ^<HOST> - - \[.*\] "(GET|POST) /\.(?!well-known/acme-challenge/).*" 404
            ^<HOST> - - \[.*\] "GET /\$\(pwd\)/\..*" 404
            ^<HOST> - - \[.*\] "(GET|POST) /.*(\.\.\/\.\.\/\.\.\/|cgi-bin|eval-stdin).*" 404
            ^<HOST> - - \[.*\] "GET /\?(p|m|author)=\d+ HTTP/\d\.\d" 404\s
            ^<HOST> - - \[.*\] "POST //?xmlrpc\.php HTTP/\d\.\d" 200\s
            ^<HOST> - - \[.*\] "GET /(dns-query|query|resolve)\?(dns|name)=.*" 404\s
ignoreregex =

В условиях практической эксплуатации на наших Linux-серверах данный фильтр показал очень высокую эффективность в деле подавления хакерской активности в рамках web-сервера nginx.


© Extra Systems, 2026 Extra Web Top