Для защиты веб-приложений используются таких инструмент как WAF (Web Application Firewall).
WAF — это комплекс программных фильтров, предназначенных для обнаружения и блокирования сетевых атак на веб-приложение.
open-appsec — относительно новый ML WAF, с возможностью локальной или облачной установки и управления от компании Check Point. Т.е. его можно поставить локально в закрытом контуре. Или подключить облачную веб- консоль управления. WAF имеет платную, так и бесплатную community версии. Внутри WAF используется ML-движок, который позволяет получить эффективную защиту при минимальном пороге входа.
Про open-appsec я ранее уже писал.
Там я просто давал короткое описание и пробовал установку. Однако, в тот раз до дела мы так и не дошли. Сама защите не была продемонстрирована.
Исправим недочёт, установим open-appsec на боевой сервер. И отловим злоумышленников, заблокировав им доступ к веб-ресурсу. Дадим некоторые рекомендации что делать далее.
Установка open-appsec
Устанавливать будем на Ubuntu сервере с веб-сервером nginx. В прошлый раз я наступил на глабли с версиями. В этот раз установка прошла без проблем. Скачиваем пакет:
wget https://downloads.openappsec.io/open-appsec-install && chmod +x open-appsec-install
Устанавливаем в режиме защиты:
./open-appsec-install --auto --prevent
Проверим статус:
open-appsec-ctl --status
Установка завершена.
Вот ещё команды для самостоятельного изучения:
open-appsec-ctl --status
open-appsec-ctl --list-policies
open-appsec-ctl --view-policy
open-appsec-ctl --edit-policy
open-appsec-ctl --apply-policy
open-appsec-ctl --view-logs
open-appsec-ctl --stop-agent
open-appsec-ctl --start-agent Давайте проверим, получилось ли. Пытаюсь в URL получить доступ к /etc/passwd:

Попытка обращения заблокирована. Защита работает. И меня на пол часа забанило. Хорошо что я зашёл с дополнительного IP адреса.
Панель управления
Регистрируемся.

Заходим в личный кабинет.

В Protection ставим галку:
- I deployed an agent
В Central Management выбираем MANAGE → Linux Embedded Agent Profile.

Мы получили возможность управления WAF из облака и доступ к наглядному Dashboard. Читаем инструкцию справа. Пакет мы уже качали. Копируем строку для коннекта и выполняем. Вместо звёздочек скопируется токен.
./mgmt-connect-linux --token ******** --config-upload
Агент подключается к панели управления.

В разделе Monitoring видна статистика блокировок.

Что ещё?
Защита работает в стандартном режиме и обучается.
В Events можно увидеть события.

В Assent, Default asset, Learn можно со временем увидеть предложения по настройке. Проанализировав их вы можете подсказать системе защиты, атака это или легитимное срабатывание.
В Custom Rules & Exceptions можно увидеть свои кастомные правила и исключения. Добавить кастомное правило можно нажав на событие правой кнопкой.

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

