Перейти к основному содержанию

WAF на коленке — open-appsec

Security

Для защиты веб-приложений неплохо бы иметь такой инструмент как WAF (Web Application Firewall).

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

WAF устанавливается перед защищаемым web-ресурсом встраивается в виде модуля в веб-сервер. WAF анализируем все поступающие запросы, анализирует их на наличие вредоносного кода и блокирует запрс нарушителя. WAF может также заблокировать IP адрес, с которого наблюдается атака, к примеру, с помощью fail2ban.

fail2ban — приложение, которое автоматически модифицирует правила на локальном firewall, блокируя IP адрес на выбранное время. Решение о блокировке принимается на основе лог файлов приложения.

Современные WAF помимо фильтров используют различные механизмы сигнатурного анализа, нейросети и различные индикаторы атак.

В корпоративном секторе на рынке имеются мощные средства защиты WAF, удовольствие дорогое. Для небольших компаний и персональных сайтов можно применять бесплатные Open Source решения.

Одним из известных WAF с открытым исходным кодом является ModSecurity. Приложение имеет готовые модули для веб-серверов на базе apache2 и nginx. Однако, ModSecurity не развивается и помечен как "End-of-Live 2024".

Альтернатива есть. Это open-appsec — новый ML WAF, с возможностью локальной или облачной установки и управления. Т.е. его можно поставить локально в закрытом контуре. Или подключить облачную веб- консоль управления. WAF имеет платную, так и бесплатную community версии. Внутри WAF используется ML-движок, который позволяет получить эффективную защиту при минимальном пороге входа.

В community-версии доступны компоненты безопасности:

  • Web Application Attack Mitigation (ML-based WAF)
  • Web API Attack Mitigation (ML-based WAF)
  • IPS Engine with Snort 3.0 Support
  • Rate Limiting
  • Custom Source Identifiers (IP and XFF only)

И опции управления:

  • Declarative code based deployment and configuration (DevOps style)
  • Web-based Management of Protected Assets & Policy (SaaS)
  • Web-based Event Management & Dashboards (SaaS)
  • Log Storage in the Cloud

https://www.openappsec.io

https://docs.openappsec.io/getting-started/getting-started

Установка open-appsec

Устанавливать будем на Ubuntu сервере с веб-сервером nginx.

Скрипт установки дотошный, проверяет версию nginx. Перед установкой обязательно проверяем с какими версиями совместим open-appsec. Посмотрим список совместимых версий:

https://downloads.openappsec.io/packages/supported-nginx.txt

waf

Сравниваем со своей версией nginx:

dpkg -l | grep nginx
cat /etc*release*
waf

Скачиваем пакет:

wget https://downloads.openappsec.io/open-appsec-install && chmod +x open-appsec-install

Пробуем установить. По умолчанию WAF устанавливается в режиме наблюдения, для установке в режиме защиты нужно добавить атрибутов, help в помощь:

./open-appsec-install -h

Ставлю в режиме защиты:

./open-appsec-install --auto --prevent

Если инсталлятору не понравится наша версия nginx, получим ошибку (да, да, наступил на эти грабли):

Unsupported nginx version: ...

waf

Если версия понравится, то:

Successfully installed open-appsec...

waf

Если попробовать теперь применить какую-нибудь попытку использования SQL инъекции (+SELECT+) или Path Traversal (../../), то получим в бубен 403 ошибку.

Если зарегистрироваться на сайте, почитать документацию, сгенерировать токен, то...

waf

То можно получить возможность управления WAF из облака и доступ к наглядному Dashboard.

waf

Теги

 

Похожие материалы

Уязвимость в ядре Linux — Dirty Pipe CVE-2022-0847

В ядре Linux найдена серьёзная уязвимость CVE-2022-0847, названная Dirty Pipe. Уязвимость позволяет перезаписать содержимое любого файла от имени непривилегированного пользователя.

Теги