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

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

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

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

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

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

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

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

    curl http://localhost/instructions.php/etc/passwd
    curl 'http://localhost/?id=1%27%20UNION%20SELECT%20username,%20password%20FROM%20users--<script>prompt(1)</script>'
    curl 'http://localhost/?id=1%27%20select%20version();'
    

    Запросы содержат 4 вредоносных пэйлоада следующих типов: Path Traversal, SQLi и XSS.

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

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

    Три разных пэйлоада в интерфейсе

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

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

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

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

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

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

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

    curl http://localhost/instructions.php/etc/passwd
    curl 'http://localhost/?id=1%27%20UNION%20SELECT%20username,%20password%20FROM%20users--<script>prompt(1)</script>'
    curl 'http://localhost/?id=1%27%20select%20version();'
    

    Запросы содержат 4 вредоносных пэйлоада следующих типов: Path Traversal, SQLi и XSS.

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

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

    Три разных пэйлоада в интерфейсе

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

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

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

Чтобы отметить атаку как брутфорс, необходимо настроить триггер с условием Brute force.

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

Триггер брутфорс

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

Отметка об атаке типа forced browsing, если код ответа 404 вернулся 31 и более раз за 30 секунд

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

Если за 30 секунд в ответ на запросы к https://example.com/**.** 31 раз или более вернулся код 404, проставляется отметка о forced browsing и блокируется IP‑адрес, с которого были отправлены запросы.

Примеры эндпоинтов: https://example.com/config.json, https://example.com/password.txt.

Триггер forced browsing

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

Определение вредоносных запросов типа BOLA

Если за 30 секунд на ресурс https://example.com/shops/{shop_id}/financial_info отправлен 31 запрос или больше, проставляется отметка о BOLA-атаке и блокируется IP‑адрес, с которого были отправлены запросы.

Триггер BOLA

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

Обнаружение слабых JWT

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

JWT считается слабым, если:

  • Он не зашифрован — поле alg имеет значение none или отсутствует.

  • Подписан скомпрометированным секретным ключом.

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

Example for trigger on weak JWTs

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

Вы можете подписать JWT скомпрометированным ключом и использовать полученный JWT в запросах.

Пример JWT, подписанного скомпрометированным ключом:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJyb2xlIjoiQWRtaW5pc3RyYXRvciJ9.p5DrumkF6oTBiUmdtDRT5YHqYL2D7p5YOp6quUrULYg

При обнаружении в трафике значительного количества запросов с приведенным JWT, Вебмониторэкс зарегистрирует уязвимость JWT, например:

JWT vuln example

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

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

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

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

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

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

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

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

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

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

Клиент: TestCompany
Вычислительный кластер: RU
  • Уведомление об инцидентах — название триггера

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

  • RU — Вычислительный кластер Вебмониторэкс, в котором зарегистрирован аккаунт компании

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

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

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

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

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

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

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

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

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

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

Группировка хитов с одного IP‑адреса в атаку

Если за 15 минут обнаружено более 50 хитов, отправленных с одного IP‑адреса, следующие хиты с этого IP‑адреса будут сгруппированы в одну атаку в списке событий.

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

Пример триггера на группировку хитов по IP

Чтобы протестировать триггер, отправьте 51 или более хитов, удовлетворяющих всем следующим условиям:

  • Отправлены в течение 15 минут

  • Одинаковый IP‑адрес источника

  • Разные типы атак или параметры с вредоносными пэйлоадами или адреса отправки (чтобы хиты не попали под основные условия группировки в атаку)

  • Тип атаки отличается от Brute force, Forced browsing, Resource overlimit, Data bomb и Virtual patch

Например:

  • 10 хитов — на example.com

  • 20 хитов — на test.com

  • 40 хитов — на example-domain.com

Первые 50 хитов отобразятся в списке событий как отдельные хиты. Все следующие хиты будут сгруппированы в одну атаку, например:

Атака из хитов с одинаковым IP

Для атаки будут недоступны кнопка Отметить атаку как ложную и опция активной проверки.