Назад | Перейти на главную страницу

Как уменьшить чувствительность фильтров внедрения sql AWS WAF?

У нас есть приложение, настроенное на Amazon Web Services за ALB (Application Load Balancer) с AWS WAF (Web Application Firewall). WAF включает правило для блокировки попыток SQL-инъекций с использованием набора условий, предоставляемых Amazon.

Проблема в том, что определенные поля формы в системе предназначены для использования для общих заметок, и WAF слишком агрессивно фильтрует этот ввод. Пример примечания:

В этом предложении не должно быть более одного "и"

Форма, которая отправляет этот запрос, блокируется (403 Запрещено) из-за «и» (включая кавычки).

Есть ли способ изменить наше приложение или конфигурацию WAF, чтобы предотвратить блокировку этих типов запросов?

В прошлом у нас было несколько экземпляров широких пробных атак с использованием SQL-инъекций, поэтому, хотя мы приложили сосредоточенные усилия для исправления любых дыр в безопасности на уровне приложения, мы действительно хотели бы иметь возможность сохранить WAF в качестве дополнительного уровня защита всего приложения.

Итак, решение, которое я нашел, заключалось в добавлении правила белого списка. По сути, я создаю условие сопоставления строк для URI этого конкретного запроса, создаю с ним новое правило «Белый список» и добавляю его как первое правило в моем ACL с «Разрешить» в качестве действия. Насколько я понимаю, это означает, что запросы к этому URI передаются автоматически и не проверяются на соответствие правилам SQL-инъекции, расположенным ниже в списке. Это действительно работает - я могу отправить строки, которые являются SQL-инъекцией на рассматриваемую страницу, но другие страницы по-прежнему защищены.

Очевидно, мне нужно быть особенно осторожным, чтобы рассматриваемая страница не была уязвима для этого типа атак, но я сохраняю свой уровень защиты в остальной части приложения.

Я все еще готов принять другой ответ, если кто-нибудь сможет описать лучшее решение.