ModSecurity — это открытый Web Application Firewall (WAF), предназначенный для защиты веб-приложений от вредоносных атак. Он поддерживается сообществом с открытым исходным кодом и поддерживает различные языки программирования и веб-серверы. Платформенный Load Balancer (ALB) поддерживает настройку ModSecurity, позволяя создавать индивидуальные конфигурации на уровне Ingress.
Термин | Объяснение |
---|---|
owasp-core-rules | OWASP Core Rule Set — это набор правил с открытым исходным кодом, используемый для обнаружения и предотвращения распространённых атак на веб-приложения. |
Настройте ModSecurity, добавив аннотации в YAML-файл соответствующего ресурса или настроив CR.
Добавьте следующие аннотации в поле metadata.annotations соответствующего YAML-файла для настройки ModSecurity.
Аннотации, совместимые с Ingress-Nginx
Аннотация | Тип | Применимый объект | Объяснение |
---|---|---|---|
nginx.ingress.kubernetes.io/enable-modsecurity | bool | Ingress | Включить ModSecurity. |
nginx.ingress.kubernetes.io/enable-owasp-core-rules | bool | Ingress | Включить OWASP Core Rule Set. |
nginx.ingress.kubernetes.io/modsecurity-transaction-id | string | Ingress | Используется для идентификации уникальных ID транзакций для каждого запроса, что помогает в логировании и отладке. |
nginx.ingress.kubernetes.io/modsecurity-snippet | string | Ingress, ALB, FT, Rule | Позволяет пользователям вставлять собственные конфигурации ModSecurity для удовлетворения специфических требований безопасности. |
Специальные аннотации ALB
Аннотация | Тип | Применимый объект | Объяснение |
---|---|---|---|
alb.modsecurity.cpaas.io/use-recommend | bool | Ingress | Включить или отключить рекомендуемые правила ModSecurity; установите true для применения предопределённого набора правил безопасности. |
alb.modsecurity.cpaas.io/cmref | string | Ingress | Ссылка на конкретные конфигурации, например, можно загрузить пользовательские настройки безопасности, указав путь ссылки на ConfigMap ($ns/$name#$section ). |
Откройте файл конфигурации ALB, FT или Rule, который необходимо настроить.
Добавьте следующие поля в spec.config по необходимости.
Сохраните и примените файл конфигурации.
Если ModSecurity не настроен в Rule, он попытается найти конфигурацию в FT; если в FT конфигурация отсутствует, будет использована конфигурация из ALB.
В следующем примере развёртывается ALB с именем waf-alb
и демонстрационное backend-приложение с именем hello
. Кроме того, развёртывается Ingress с именем ing-waf-enable
, который определяет маршрут /waf-enable
и настраивает правила ModSecurity. Любой запрос, содержащий параметр запроса test
, значение которого включает строку test
, будет заблокирован.