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

Настройка защиты от брутфорса

Одна из разновидностей атак на приложения — поведенческие атаки (брутфорс атаки). По умолчанию нода Валарм не защищает приложения от таких атак. В этой инструкции приведены шаги для настройки защиты приложений от брутфорса.

К разновидностям брутфорс атак относятся:

  • Классические брутфорс атаки: перебор паролей, перебор идентификаторов сессии, подстановка учетных данных. Такие атаки характеризуются большим количеством запросов, отправленных на типовой URL за определенный временной промежуток. При этом в запросах передаются разные значения параметров, по которым осуществляется перебор.

  • Принудительный просмотр ресурсов веб‑приложения (forced browsing). Основная характеристика этого типа атаки — множество запросов к разным эндпоинтам веб‑приложения, в ответ на которые вернулся код 404.

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

Подробное описание брутфорса →

Ограничения в обнаружении брутфорса

Валарм ищет признаки брутфорс атак только в следующих запросах:

Шаги для настройки защиты от брутфорса

  1. Включите модуль Защита от брутфорса в план подписки на Валарм API Security. Для этого отправьте запрос на sales@wallarm.ru.

  2. Если нода Валарм установлена за балансировщиком нагрузки или прокси‑сервером, настройте проброс реального IP‑адреса клиента.

  3. Настройте триггер Brute force или Forced browsing.

  4. Протестируйте настройки для защиты от брутфорса.

Настройка триггера для определения брутфорса

Триггеры с условием "Количество запросов"

Если для защиты от брутфорса уже настроен триггер с условием Количество запросов, он по-прежнему работает. Для настройки триггеров вы также могли использовать правила Добавить к запросам тег брутфорс атаки / forced browsing. Правила применяются, но теперь они недоступны для редактирования или повторного создания.

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

С помощью триггеров задаются условия для обнаружения брутфорс атак. Для типов брутфорс атак настраиваются разные триггеры:

  • Brute force для обнаружения классических брутфорс атак. Условие для обнаружения — количество запросов с одного IP‑адреса.

  • Forced browsing для обнаружения типа брутфорс атаки — forced browsing. Условие для обнаружения — количество кодов ответа 404 на запросы с одного IP‑адреса.

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

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

  2. Выберите условие Brute force или Forced browsing в зависимости от типа брутфорс атаки, от которой необходимо защитить приложение.

  3. Задайте порог для срабатывания триггера:

    • Для триггера с условием Brute force — количество запросов с одного IP‑адреса за промежуток времени.
    • Для триггера с условием Forced browsing — количество кодов ответа 404 на запросы с одного IP‑адреса за промежуток времени.
  4. Если требуется, задайте URI, по которому необходимо фильтровать все запросы из трафика для срабатывания триггера. Например:

    • Для настройки защиты от перебора паролей задайте URI для аутентификации пользователей на ресурсе.
    • Для настройки защиты от атак типа forced browsing задайте URI директории с файлами ресурса.
    • Если URI не задан, триггер будет применяться ко всем запросам. При обнаружении порогового количества запросов к любому эндпоинту с одного IP‑адреса, Валарм применит триггер (аналогично для кодов ответа 404).

    URI можно задать с помощью конструктора URI или расширенной формы редактирования URI в окне создания триггера.

  5. Если требуется, задайте другие фильтры для запросов:

    • Приложение, на адрес которого отправлены запросы.
    • Один или несколько IP, с которых отправлены запросы.
  6. Выберите реакции триггера:

    • Для триггера с условием Brute forceОтметить как brute force. Запросы, отправленные после превышения порога, будут отмечены как брутфорс атака и выгружены в список событий в Консоли управления.
    • Для триггера с условием Forced browsingОтметить как forced browsing. Запросы, отправленные после превышения порога, будут отмечены как атака типа forced browsing и выгружены в список событий в Консоли управления.
    • Добавить IP в черный список и время блокировки IP, чтобы заблокировать IP‑адрес или IP‑адреса, с которых были отправлены вредоносные запросы. Нода Валарм будет блокировать все запросы, отправленные с IP‑адреса из черного списка после срабатывания порога триггера.
    • Добавить IP в серый список и время блокировки IP, чтобы добавить в серый список IP‑адрес или IP‑адреса, с которых были отправлены вредоносные запросы. Нода Валарм будет блокировать запросы с IP‑адреса из серого списка, если обнаружит в них признаки атак на проверку входных данных, атак типа vpatch или индивидуальные признаки атак. Если с IP‑адреса из серого списка поступит брутфорс атака, нода Валарм не заблокирует ее.
  7. Сохраните триггер и дождитесь синхронизации Облака и ноды Валарм (обычно 2-4 минуты).

Пример триггера Brute force для блокировки классической брутфорс атаки на https://example.com/api/v1/login:

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

Описание приведенного примера и других примеров триггеров для защиты от брутфорса доступно по ссылке.

Для защиты от брутфорса вы можете настроить несколько триггеров с разными условиями и фильтрами.

Тестирование настройки для защиты от брутфорса

  1. Отправьте на защищенный URI количество запросов, которое превышает настроенный порог. Например, 50 запросов на example.com/api/v1/login:

    for (( i=0 ; $i<51 ; i++ )) ; do curl https://example.com/api/v1/login ; done
    
  2. Если настроена реакция Добавить IP в черный список: перейдите в Консоль управления Валарм → Списки IP-адресовЧерный список и убедитесь, что IP‑адрес источника запросов заблокирован на заданное время.

    Если настроена реакция Добавить IP в серый список, проверьте секцию Списки IP-адресовСерый список.

  3. Откройте секцию События и убедитесь, что запросы отображаются в списке как атака типа brute force или forced browsing атака. Например:

    Forced browsing атаки в интерфейсе

    Количество запросов в интерфейсе соответствует количеству запросов, которые были отправлены после срабатывания триггера (подробнее об обнаружении поведенческих атак). Если количество больше 5, к запросам применяется алгоритм семплирования и в интерфейсе отображается подробная информация только о 5 первых хитах (подробнее о применении алгоритма семплирования).

    При поиске вы можете использовать фильтры, например: dirbust для атак типа forced browsing или brute для брутфорс атак. Описание всех фильтров доступно в инструкции по использованию поиска.

Демовидео