← Документация WAF / troubleshooting
Взаимодействия фаз правил
Cloudflare оценивает функции обработки запросов в фазы. Правило, которое само по себе выглядит корректным, может повести себя иначе, если запрос уже был изменён или завершён другим продуктом.
Пользовательские правила оцениваются на основе переписанного URL
Cloudflare применяет URL Rewrite Rules перед пользовательские правила.
Если правило преобразования перезаписывает /public-login к /internal/login, последующие фазы WAF будут анализировать переписанный путь.
Это означает следующее:
- Пользовательское правило, совпадающее с
/public-loginможет не сработать после перезаписи. - Пользовательское правило, совпадающее с
/internal/loginможет сработать, даже если посетитель запросил/public-login.
Решение
При устранении неполадок с пользовательским правилом проверьте, не изменило ли URL правило перезаписи до того, как сработал WAF. Можно использовать Trace чтобы проверить порядок оценки ваших правил на примере запроса.
Дополнительную информацию см. в описании порядка выполнения запроса в Список фаз.
Правила IP Access могут пропускать пользовательские правила
IP Access rules выполняются перед пользовательскими правилами WAF.
Если правило IP Access с Allow действие соответствует запросу, Cloudflare не будет оценивать последующие пользовательские правила для этого запроса.
Что это значит
- Может показаться, что пользовательское правило «не срабатывает» для конкретного IP-адреса, хотя выражение указано верно.
- Слишком раннее добавление исходного IP-адреса в список разрешений может помешать выполнению другой логики безопасности приложения (в частности, пользовательских правил).
Решение
Если запрос неожиданно обходит пользовательское правило, в первую очередь проверьте, нет ли совпадающих правил IP Access.
Действия Skip и Allow ведут себя по-разному
Allow действие в правилах IP Access ведёт себя иначе, чем Пропустить действие, доступное в пользовательских правилах WAF.
Allow действие в правилах IP Access пропускает пользовательские правила WAF, правила ограничения частоты запросов, WAF Managed Rules (кроме записей на уровне страны) и устаревшие правила брандмауэра. Совпадения не отображаются в Security Events. Разрешённый запрос никогда не доходит до пользовательских правил WAF, включая любые правила логирования или отслеживания.
Пропустить действие в пользовательских правилах WAF указывает Cloudflare выборочно пропускать определённые продукты или компоненты безопасности приложений, такие как WAF managed rules. В зависимости от конфигурации пользовательского правила с Пропустить действие, остальные продукты безопасности всё равно будут оценивать запрос и могут его заблокировать.
Пользовательские правила WAF не имеют действия Allow действие. Чтобы контролировать, что именно пропускает совпадающий запрос, необходимо использовать Пропустить действие и выберите конкретные продукты или фазы для пропуска.
Решение
Проверьте свою конфигурацию (в частности, правила IP Access и пользовательские правила с Пропустить действие), чтобы убедиться в достижении предполагаемого поведения.
Если конкретные правила управляемые наборы правил WAF блокируют запросы, которые вы хотите разрешить, вы можете создать исключения для управляемых правил чтобы пропускать отдельные управляемые правила или наборы правил для конкретных запросов, вместо того чтобы пропускать WAF Managed Rules целиком.
Page Rules не используют то же представление запроса, что и современные правила
Page Rules представляют собой устаревшее поведение и не полностью соответствуют современным продуктам Rules.
В смешанных конфигурациях вы можете увидеть:
- Переработка, затрагивающая пользовательские правила и Managed Rules
- Разные результаты у Page Rule и современного правила, которые, судя по всему, нацелены на один и тот же путь
Решение
По возможности переносите прежнее поведение Page Rules в актуальные продукты Rules, чтобы запрос оценивался в рамках единой модели.
Рекомендуемый рабочий процесс устранения неполадок
Когда решение WAF выглядит некорректным:
- Проверьте, не переписывался ли запрос ранее.
- Проверьте наличие совпадающих правил IP Access.
- Проверьте, должен ли был запрос остановиться на фазе пользовательских правил или пропустить последующие фазы.
- Проверьте, выполнялось ли управляемое правило после срабатывания пользовательского правила.
- Используйте Trace когда доступно, чтобы подтвердить фактический результат по каждой фазе.