Я настроил Azure Application Gateway + WAF
перед приложением ASP.Net Core, работающим в Azure WebApp. У меня установлены OWASP 3.0
Правила по умолчанию, которые включены и находятся в режиме предотвращения.
Проблема, с которой я столкнулся, заключается в том, что каждый запрос через WAF так или иначе завершается сбоем, и некоторые правила по умолчанию возвращают 403 - Forbidden status
.
Просматривая журналы WAF, я обнаружил, что несколько правил не работают.
Идентифицирована шестнадцатеричная кодировка SQL
{ "message": "Warning. Pattern match \"(?i:(?:\\\\A|[^\\\\d])0x[a-f\\\\d]{3,}[a-f\\\\d]*)+\" at REQUEST_COOKIES:ASP.Net_Auth.", "data": "Matched Data: H0XAa4 found within REQUEST_COOKIES:AspNetCore.Auth: CfDJ8El_2vmJILFHjQYUCDWwttioV16BAlL12KiQnTLGZztGtA8P0xbo1MosAgmrkUk4IQ7pF5O4ZMJbmRHsHxYHq842rq_hr8FUyMhAMo_5mQ-C_5jBrkRWqUGrYHMa6fVIj4xtGOfku...", }
Обнаружена последовательность комментариев SQL
"message": "SQL Comment Sequence Detected.", "details": { "message": "Warning. Pattern match \"(/\\\\*!?|\\\\*/|[';]--|--[\\\\s\\\\r\\\\n\\\\v\\\\f]|(?:--[^-]*?-)|([^\\\\-&])#.*?[\\\\s\\\\r\\\\n\\\\v\\\\f]|;?\\\\x00)\" at REQUEST_COOKIES:.AspNetCore.Identity.Application.", "data": "Matched Data: --Z35d...- found within REQUEST_COOKIES:.AspNetCore.Identity.Application: CfDJ8El_2vmJILFHjQYUCDWwttihjUTpJneEVE1l-3UeTx...", "file": "rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf", "line": "1053" }
Превышены пределы PCRE
{ "requestUri": "/api/ping?_=240477821", "message": "Execution error - PCRE limits exceeded (-8): (null)." }
Этот url / api / ping не имеет возврата, кроме 200 OK.
Я не могу найти никакой хорошей документации по этим правилам, а также по тому, когда и какое правило следует включать / отключать. Я уверен, что могу отключить их, но мне кажется, что WAF очень агрессивен и улавливает слишком много ложных срабатываний.
Есть ли набор правил по умолчанию, которые являются хорошими, безопасными и совместимыми по умолчанию с приложением ASP.Net Core?