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

Примеры триггеров

Добавление IP в серый список при 4 и более векторах атак за 1 час

Если за 1 час на защищенный ресурс отправлены 4 или более разных вектора атак с одного IP‑адреса, IP‑адрес добавляется в серый список на 1 час. Это триггер сработает, только если WAF-нода работает в режиме мягкой блокировки.

Если аккаунт в Консоли управления Валарм был создан недавно, этот триггер создан по умолчанию, но находится в выключенном состоянии.

Триггер на добавление в серый список

Чтобы протестировать триггер:

  1. Убедитесь, что WAF-нода работает в режиме мягкой блокировки.

  2. Отправьте на защищенный ресурс запросы:

    curl http://localhost/instructions.php/etc/passwd
    curl http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
    

    Запросы содержат 3 вектора атаки: SQLi, XSS и Path Traversal.

  3. Перейдите в Консоль управления Валарм → секция Списки IP-адресовСерый список и убедитесь, что IP‑адрес, с которого были отправлены запросы, добавлен в список на 1 час.

  4. Откройте секцию События и убедитесь, что запросы отображаются в списке как атаки типа SQLi, XSS и Path Traversal:

    Три разных вектора атаки в интерфейсе

    Про поиске вы можете использовать фильтры, например: sqli для атак типа SQLi, xss для атак типа XSS, ptrav для атак типа Path Traversal. Описание всех фильтров доступно в инструкции по использованию поиска.

Блокировка IP при 4 и более векторах атак за 1 час

Если за 1 час на защищенный ресурс отправлены 4 или более разных вектора атак с одного IP‑адреса, IP‑адрес блокируется на 1 час.

Триггер по умолчанию

Чтобы протестировать триггер:

  1. Отправьте на защищенный ресурс запросы:

    curl http://localhost/instructions.php/etc/passwd
    curl http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
    

    Запросы содержат 3 вектора атаки: SQLi, XSS и Path Traversal.

  2. Перейдите в Консоль управления Валарм → секция Списки IP‑адресовЧерный список и убедитесь, что IP‑адрес, с которого были отправлены запросы, заблокирован на 1 час.

  3. Откройте секцию События и убедитесь, что запросы отображаются в списке как атаки типа SQLi, XSS и Path Traversal:

    Три разных вектора атаки в интерфейсе

    Про поиске вы можете использовать фильтры, например: sqli для атак типа SQLi, xss для атак типа XSS, ptrav для атак типа Path Traversal. Описание всех фильтров доступно в инструкции по использованию поиска.

При срабатывании этого триггера все запросы, отправленные с заблокированного IP-адреса будут блокироваться, включая запросы без признаков атак. Чтобы блокировать запросы только с признаками атак, вы можете использовать триггер на добавление IP-адреса в серый список.

Отметка о брутфорсе или дирбасте при 31 и более запросе за 30 секунд

Фильтр по названию счетчика

Если за 30 секунд на ресурс https://example.com/api/frontend/login отправлен 31 запрос или больше, проставляется отметка о брутфорсе и блокируется IP‑адрес, с которого были отправлены запросы.

При этом путь запросов https://example.com/api/frontend/login описан в правиле Добавить к запросам тег брутфорс атаки.

Триггер брутфорс со счетчиком

Чтобы отметить атаку как дирбаст (forced browsing), необходимо использовать правило Добавить к запросам тег атаки forced browsing.

Подробнее о настройке защиты от брутфорса и тестировании триггера →

Фильтр по URL

Если за 30 секунд на ресурс example.com:8888/api/frontend/login отправлен 31 запрос или больше:

  • Проставляется отметка о брутфорсе (brute‑force) и блокируется IP‑адрес, с которого были отправлены запросы.

  • Если в ответ на все запросы вернулся код 404, проставляется отметка о дирбасте (forced browsing) и блокируется IP‑адрес, с которого были отправлены запросы.

Формат значения URL

Значение фильтра URL должно соответствовать формату host:port/path. Схема должна быть опущена. В значении port должен быть передан нестандартный порт (для стандартных портов 80 и 443 необходимо использовать фильтр Название счетчика).

Триггер брутфорс/дирбаст

Подробнее о настройке защиты от брутфорса и тестировании триггера →

Уведомление в Slack при 2 и более хитах SQLi за 1 минуту

Если за 1 минуту на защищенный ресурс отправлено 2 или более хита типа SQLi, отправляется уведомление в Slack.

Пример триггера с уведомлением в Slack

Чтобы протестировать триггер:

  1. Отправьте на защищенный ресурс запросы:

    curl http://localhost/data/UNION%20SELECT
    curl http://localhost/?id=or+1=1--a-
    
  2. Перейдите в Консоль управления Валарм → События и убедитесь, что в списке отображаются 3 атаки типа SQLi. Во втором запросе были обнаружены 2 атаки: до и после применения парсера percent.

    3 SQLi хита в Консоли управления Валарм

  3. Откройте канал Slack и убедитесь, что вы получили уведомление от пользователя wallarm:

    [Wallarm] Триггер: Количество обнаруженных хитов превысило установленный порог
    
    Тип события: attacks_exceeded
    
    Количество обнаруженных хитов превысило 1 за 1 минуту.
    Это уведомление отправлено, так как сработал триггер "Уведомление о хитах SQLi".
    
    Дополнительные условия срабатывания триггера:
    Тип атаки: SQLi.
    
    Открыть список событий:
    https://my.wallarm.com/search?q=attacks&time_from=XXXXXXXXXX&time_to=XXXXXXXXXX
    
    Клиент: TestCompany
    Облако: EU
    
    • Уведомление о хитах SQLi — название триггера
    • TestCompany — название аккаунта вашей компании в Консоли управления Валарм
    • EU — Облако Валарм, в котором зарегистрирован аккаунт компании

Уведомления на email и в Slack при добавлении пользователя

Если в аккаунт добавлен пользователь с ролью Аналитик или Администратор, отправляется уведомление по email и в Slack.

Пример триггера с уведомлением по email и в Slack

Чтобы протестировать триггер:

  1. Перейдите в Консоль управления Валарм → НастройкиПользователи и добавьте нового пользователя. Например:

    Пример триггера с уведомлением по email и в Slack

  2. Перейдите к email и убедитесь, что вы получили письмо:

    Уведомление по email о триггере на пользователя

  3. Откройте канал Slack и убедитесь, что вы получили уведомление от пользователя wallarm:

    [Wallarm] Триггер: Новый пользователь добавлен в аккаунт компании
    
    Тип события: create_user
    
    Новый пользователь John Smith <johnsmith@example.com> с ролью Аналитик был добавлен в аккаунт компании пользователем John Doe <johndoe@example.com>.
    Это уведомление отправлено, так как сработал триггер "Добавление нового пользователя".
    
    Клиент: TestCompany
    Облако: EU
    
    • John Smith и johnsmith@example.com — данные добавленного пользователя
    • Аналитик — роль добавленного пользователя
    • John Doe и johndoe@example.com — данные о пользователе, который добавил нового пользователя
    • Добавление нового пользователя — название триггера
    • TestCompany — название аккаунта вашей компании в Консоли управления Валарм
    • EU — Облако Валарм, в котором зарегистрирован аккаунт компании

Отправка данных в Opsgenie при 2 и более инцидентах за секунду

Если за секунду обнаружено хотя бы 2 инцидента с сервером или базой данных, отправляются данные в Opsgenie.

Пример триггера с уведомлением в Opsgenie

Чтобы протестировать триггер, необходимо отправить на защищенный ресурс атаку, которая эксплуатирует активную уязвимость. В Консоли управления Валарм → Уязвимости отображаются активные уязвимости ваших приложений и примеры атак, которые могут эксплуатировать уязвимости.

При отправке примера атаки на защищенный ресурс, Валарм зарегистрирует инцидент. При 2 и более зарегистрированных инцидентах, в Opsgenie будет отправлено уведомление:

[Wallarm] Триггер: Количество обнаруженных инцидентов превысило установленный порог

Тип события: incidents_exceeded

Количество обнаруженных инцидентов превысило 1 за 1 минуту.
Это уведомление отправлено, так как сработал триггер "Уведомление об инцидентах".

Дополнительные условия срабатывания триггера:
Цель: сервер, база даннных.

Открыть список событий:
https://my.wallarm.com/search?q=incidents&time_from=XXXXXXXXXX&time_to=XXXXXXXXXX

Клиент: TestCompany
Облако: EU
  • Уведомление об инцидентах — название триггера

  • TestCompany — название аккаунта вашей компании в Консоли управления Валарм

  • EU — Облако Валарм, в котором зарегистрирован аккаунт компании

Защита от эксплуатации активных уязвимостей

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

Отправка вебхука при добавлении IP‑адреса в черный список

Если в черный список добавлен IP‑адрес, на Webhook URL отправляется вебхук.

Пример триггера с вебхуком, если заблокирован IP

Чтобы протестировать триггер:

  1. Перейдите в Консоль управления Валарм → секция Списки IP‑адресовЧерный список и добавьте IP‑адрес в черный список. Например:

    Добавление IP в ЧС

  2. Убедитесь, что на Webhook URL пришел вебхук:

    [
        {
            "summary": "[Wallarm] Триггер: В черный список добавлен новый IP-адрес",
            "description": "Тип события: ip_blocked\n\nIP-адрес 1.1.1.1 был добавлен в черный список до 2021-06-10 13:21:49 +0300. Вы можете посмотреть список заблокированных IP-адресов в секции \"Черный список\" в Консоли управления Валарм.\nЭто уведомление отправлено, так как сработал триггер \"Уведомление о заблокированном IP\".\n\nКлиент: TestCompany\nОблако: EU\n",
            "details": {
            "client_name": "TestCompany",
            "cloud": "EU",
            "notification_type": "ip_blocked",
            "trigger_name": "Уведомление о заблокированном IP",
            "expire_at": "2021-06-10 13:21:49 +0300",
            "ip": "1.1.1.1"
            }
        }
    ]
    
    • Уведомление о заблокированном IP — название триггера
    • TestCompany — название аккаунта вашей компании в Консоли управления Валарм
    • EU — Облако Валарм, в котором зарегистрирован аккаунт компании