Web Application Firewall — это специальный фильтрующий слой, который размещается между пользователем и сайтом и проверяет каждый запрос с точки зрения безопасности. Если обычный серверный firewall работает на сетевом уровне, то WAF обнаруживает и останавливает атаки на уровне приложения. Он анализирует содержимое HTTP запросов, параметры и заголовки. Если запрос соответствует шаблонам SQL injection, XSS или других атак, WAF блокирует его и вообще не пропускает к серверу.
От каких атак защищает WAF
WAF в основном направлен на остановку атак из списка OWASP top 10. SQL injection — самый опасный вид атак, при котором атакующий получает несанкционированный доступ к базе данных. XSS — внедрение вредоносного JavaScript кода на сайт и кража данных других пользователей. CSRF — выполнение несанкционированных действий от имени пользователя. WAF обнаруживает эти атаки, сравнивая с шаблонами в своей базе. Также защищает от атак загрузки файлов, command injection и сложных атак типа path traversal.
Cloudflare WAF
Cloudflare WAF — самое простое в установке и распространенное решение. Достаточно перевести домен на nameserver Cloudflare и включить правила WAF. На бесплатном плане есть базовая защита, на платном — расширенные правила и managed rules, постоянно обновляемые командой Cloudflare. WAF работает вместе с защитой от ботов и подозрительные запросы подтверждаются через CAPTCHA. В dashboard Cloudflare можно видеть в реальном времени какие атаки заблокированы.
Sucuri и другие платные решения
Sucuri предлагает специализированный WAF для WordPress и PHP сайтов. Он не только защищает от атак, но и обеспечивает очистку сайта от вредоносного кода. Imperva и F5 предлагают профессиональные решения для крупных корпораций, но они довольно дорогие. AWS WAF и Azure WAF удобны для приложений, размещенных на облачных платформах. Большинство платных WAF работают по ежемесячной подписке и цены меняются в зависимости от объема трафика.
ModSecurity — open source WAF
ModSecurity — open source модуль WAF для Apache, Nginx и IIS. Он бесплатный, но настройка требует технических знаний. OWASP Core Rule Set (CRS) — самый известный и мощный набор правил, работающий с ModSecurity. CRS состоит из тысяч правил и постоянно обновляется. Преимущество ModSecurity — у вас полный контроль, ресурсы используются только на вашем сервере. Недостаток — иногда может блокировать реальных пользователей, поэтому настройки нужно калибровать осторожно.
Практика Sayt.uz
Sayt.uz предоставляет двухслойную защиту WAF для всех клиентских сайтов. Первый слой — Cloudflare WAF, останавливает атаки на уровне DNS. Второй слой — ModSecurity на уровне сервера с правилами OWASP CRS. По нашим наблюдениям, в день автоматически блокируется в среднем более 500 тысяч попыток атак. Клиенты могут видеть статистику WAF в кабинете, добавлять доверенные IP в белый список при ложных срабатываниях и настраивать уровень безопасности по своему усмотрению.