При проверке джейлов случайно заметил, что у de modsec jail нет ip
Затем я проверил другие свои серверы, и во всех тюрьмах modsec ничего не заблокировано, хотя файлы журналов полны запретов modsec.
поэтому я проверил:
# fail2ban-regex /var/log/httpd/modsec_audit.log /etc/fail2ban/filter.d/apache-modsecurity2.conf
Running tests
=============
Use failregex filter file : apache-modsecurity2, basedir: /etc/fail2ban
Use datepattern : Default Detectors
Use log file : /var/log/httpd/modsec_audit.log
Use encoding : UTF-8
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
Lines: 34 lines, 0 ignored, 0 matched, 34 missed
[processed in 0.05 sec]
Missed line(s): too many to print. Use --print-all-missed to print all 34 lines
так что никаких mtache.
Затем я проверил сам файл failregex, и он выглядит нормально:
failregex = (?: \[client <HOST>\]) ModSecurity:\s+(?:\[(?:\w+ \"[^\"]*\"|[^\]]*)\]\s*)*Access denied with code [45]\d\d
Может ли кто-нибудь, у кого есть рабочее регулярное выражение, поделиться им со мной, чтобы я мог сравнить?
был бы очень признателен.
пример записи журнала:
{"transaction": {"time": "15 / Jul / 2020: 11: 09: 10 +0200", "transaction_id": "Xw7Htk44K7A9LI2whTSLNAAAAAw", "remote_address": "195.54.160.21", "remote_port": 51632, "local_address": "xxx.xxx.xxx.xxx", "local_port": 443}, "request": {"request_line": "POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP / 1.1 "," заголовки ": {" Хост ":" xxx.xxx.xxx.xxx:443","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML , например Gecko) Chrome / 78.0.3904.108 Safari / 537.36 "," Content-Length ":" 19 "," Content-Type ":" application / x-www-form-urlencoded "," Accept-Encoding ":" gzip "," Connection ":" close "}," body ": [" "]}," response ": {" protocol ":" HTTP / 1.1 "," status ": 403," headers ": {" feature- policy ":" autoplay 'none'; "," Content-Length ":" 199 "," Connection ":" close "," Content-Type ":" text / html; charset = iso-8859-1 "}, "body": ""}, "audit_data": {"messages": ["Доступ запрещен с кодом 403 (фаза 2). Соответствие шаблону" <\\? (?! xml \\ s) "в ARGS_NAMES: <? . [файл "/usr/local/cwaf/rules/02_Global_Generic.conf"] [строка "72"] [id "211220"] [rev " 4 "] [msg" COMODO WAF: PHP Injection Attack || xxx.xxx.xxx.xxx: 443 | F | 2 "] [серьезность" КРИТИЧЕСКИЙ "] [тег" CWAF "] [тег" Общий "]"], «error_messages»: [«[файл« apache2_util.c »] [строка 271] [уровень 3] [клиент 195.54.160.21] ModSecurity: Доступ запрещен с кодом 403 (фаза 2). Соответствие шаблону "<\\\\\\\\? (?! xml \\\\\\\\ s)" в ARGS_NAMES: <?. [файл «/usr/local/cwaf/rules/02_Global_Generic.conf»] [строка «72»] [идентификатор «211220»] [версия «4»] [сообщение «COMODO WAF: атака внедрения PHP || xxx.xxx. xxx.xxx:443|F|2 "] [серьезность" CRITICAL "] [тег" CWAF "] [тег" Generic "] [имя хоста" xxx.xxx.xxx.xxx "] [uri" / vendor / phpunit / phpunit /src/Util/PHP/eval-stdin.php "] [unique_id" Xw7Htk44K7A9LI2whTSLNAAAAAw "]"], "action": {"intercepted": true, "phase": 2, "message": "Pattern Match" <\ \? (?! xml \\ s) "в ARGS_NAMES: <?."}, "секундомер": {"p1": 814, "p2": 202, "p3": 0, "p4": 0, " p5 ": 56," sr ": 282," sw ": 0," l ": 0," gc ": 0}," response_body_dechunked ": true," продюсер ": [" ModSecurity для Apache / 2.9.3 ( http://www.modsecurity.org/)","CWAF_Apache" visible,"server":"Apache/2","engine_mode":"ENABLED "}}