Обзор «Защиты веб-приложений»: принцип работы, настройка, инструменты

«Защита веб-приложений» — это система, которая оберегает ваш ресурс от DDoS-атак, ботов и прикладных атак.

На сайте её возможности представлены в виде отдельных продуктов:

  • Cybert — он-премис защита от ботов, без раскрытия SSL/TLS-сертификата и смены A-записи DNS

  • Web DDoS & Bot Protection — облачная защита от ботов и DDoS-атак

  • Web DDoS Protection — облачная защита от DDoS-атак

  • WAF (Web Application Firewall) — облачный межсетевой экран для веб-приложений, который защищает от прикладных атак

Эти продукты можно использовать по отдельности или в комбинации. Все они – часть одной системы «Защита веб-приложений».

Как работает защита

Наша система проверяет каждый запрос к вашему сайту/приложению. Ботов и DDoS-атаки блокирует, а запросы от людей и вашей полезной автоматизации пропускает. Если подключён WAF, то все запросы дополнительно проходят проверку на прикладные атаки (SQL-инъекции, XSS и другие) — атаки блокируются.

Схема работы «Защиты веб-приложений»

Что происходит шаг за шагом:

  1. Пользователь отправляет запрос к вашему ресурсу.

  2. Запрос попадает в систему защиты — в облачную платформу Servicepipe или локальный модуль Cybert, установленный в вашей инфраструктуре.

    Что такое Cybert?

    Cybert — это разработанный нами модуль для веб-серверов NGINX и Angie. Он ставится на ваш прокси-сервер и блокирует ботов.

    Сначала Cybert вычленяет метаданные запросов (без тела и файлов cookies) из расшифрованного трафика и отправляет в нашу систему защиты. Система анализирует их, чтобы выяснить, бот отправил запрос или человек. Затем сверяется с настройками защиты для вашего ресурса и выносит вердикт: стоит пропускать запрос или нет. Например, если вы просили блокировать только парсеры, на запрос от парсера она даст вердикт «блокировать», а вот на запрос поискового краулера — «пропустить». Эти вердикты система присылает Cybert. Модуль их исполняет и фильтрует трафик. В результате запросы от всех ботов, кроме разрешённых вами, блокируются.

    Плюсы Cybert:

    • Трафик расшифровывается в вашем контуре, не нужно передавать SSL/TLS-сертификат

    • Чувствительные данные сохраняются в тайне: Cybert не передаёт тело запроса и cookies, он отправляет только метаданные — например, SNI, JA3 fingerprint и другие

    • Схема защиты с Cybert соответствует PCI DSS и ГОСТ Р 57580.1–2017

  3. Система проводит анализ телеметрии запроса на уровнях L3/L4–L7 — то есть оценивает, как запрос проходит по сети, как устанавливается соединение и что именно передаётся внутри HTTP.

    Например, система смотрит на:

    • Признаки статистических аномалий

    • Репутацию источника запроса

    • HTTP-параметры запроса

    • Параметры TLS-соединения

    • Другие признаки, которые помогают понять характер трафика

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

  4. Начинается фильтрация. Система сверяется по очереди с разными настройками:

    • «Чёрный список» — если запрос пришёл с IP из списка, он блокируется

    • «Белый список» — если запрос пришёл с IP из списка, он пропускается сразу, без других проверок

    • Пользовательские правила — если запрос попал под установленное вами правило, применяется указанное действие: пропуск, блокировка или выдача проверки пользователю (CAPTCHA, JS- или cookie-челлендж)

    • Индивидуальный защитный профиль — запрос обрабатывается в соответствии с настройками, которые мы сделали для вашего ресурса. Именно эти настройки обеспечивают всю «магию» Servicepipe: защита работает ровно так, как вам хотелось — блокирует всё, что вы хотели блокировать, и пропускает только нужный трафик.

    В итоге фильтрацию проходят только запросы от людей и полезных автоматизаций — всё остальное блокируем.

  5. (Если подключён WAF) запрос дополнительно проходит через ноды фильтрации WAF, где проверяется на признаки прикладных атак — SQL-инъекций, XSS, path traversal, внедрения команд и других. Если запрос «чист», он пропускается, нет — блокируется.

  6. Запросы, которые прошли фильтрацию, отправляются на ваш ресурс.

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

Что настроим для вас

Когда вы подключаете защиту, мы создаём индивидуальный защитный профиль — набор настроек фильтрации, сделанный под ваши пожелания. Как формируем профиль:

  1. Обсуждаем ваши требования — узнаём, кого нужно пускать, кого блокировать, какие вещи требуют особого внимания.

  2. Собираем статистику по вашему трафику и выявляем закономерности — это поможет составить портрет легитимного клиента и точнее выявлять ботов.

  3. Настраиваем защиту с учётом ваших пожеланий и собранной статистики: пишем сигнатуры, устанавливаем лимиты запросов, настраиваем обеление трафика и так далее.

После этого профиль готов — и защита работает именно так, как вы хотели. Пример настройки защиты:

Ваши пожелания Что мы делаем

Блокировать всех ботов, кроме разработанного вами корпоративного SEO-бота

Блокировать DDoS-атаки

Включаем «Антибот» — режим защиты, который блокирует ботов и пропускает только запросы от людей. Он в том числе блокирует DDoS-атаки.

«Обеляем» вашего SEO-бота — выделяем характерные признаки, по которым можно определить запросы от бота, и делаем так, чтобы «Антибот» их пропускал

Доступ к закрытому API только из корпоративной подсети вашей компании

Блокируем все запросы к закрытому API, кроме запросов из вашей подсети

В открытом API защитить отдельные эндпоинты, которыми могут злоупотребить

Устанавливаем лимиты запросов на нужные эндпоинты — с одного IP к ним можно будет послать только ограниченное количество запросов

Если ваши потребности изменились, доработаем профиль — просто напишите в поддержку, и наши инженеры изменят настройки.

Что можете настроить сами

В панели управления вы можете управлять защитой самостоятельно. Доступны инструменты:

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

Схемы интеграции

Предлагаем четыре схемы подключения защиты, они позволят адаптировать наше решение под любую инфраструктуру — облачную, гибридную или локальную:

Проксирование Модуль Cybert Модуль Cybert + TCP Stream IP-транзит с анализом логов ваших серверов

Суть схемы

Принимаем трафик в наше облако, очищаем от ботов и передаём в ваш контур

В вашем контуре установлен модуль Cybert, который очищает трафик от ботов

1. Принимаем трафик в наше облако и фильтруем: блокируем все подключения, кроме корректных TCP-сессий. Корректные TCP-сессии передаём в ваш контур.

2. Модуль Cybert, установленный в вашем контуре, очищает трафик от ботов.

Анонсируем ваши подсети с нашей платформы защиты, принимаем трафик, очищаем его от DDoS-атак и передаём в ваш контур

Защита от ботов

Защита от DDoS-атак на L7

(В отличие от других схем, фильтрация по IP, а не по запросам, и false positive выше)

Защита от DDoS-атак на L3-L4

(В отличие от других схем, фильтрация по IP, а не по запросам, и false positive выше)

Можно подключить облачный WAF

Без раскрытия TLS/SSL-сертификата

Без смены DNS A-записи

Без установки модуля Cybert

Что такое некорректная TCP-сессия и зачем её блокировать?

Некорректная TCP-сессия — соединение, которое не прошло установление по правилам протокола TCP. Например, оно обрывается на этапе рукопожатия (SYN–SYN/ACK–ACK) или содержит «битые» пакеты с ошибками формата. Чаще всего такие сессии создаются ботнетами во время DDoS-атак: они заваливают сервер полуоткрытыми или неправильными соединениями и мешают реальным пользователям подключаться. Эти сессии не несут полезного трафика, их нужно блокировать.

Что такое модуль Cybert

Cybert — это разработанный нами модуль для веб-серверов NGINX и Angie. Он ставится на ваш прокси-сервер и блокирует ботов.

Сначала Cybert вычленяет метаданные запросов (без тела и файлов cookies) из расшифрованного трафика и отправляет в нашу облачную систему защиты. Система анализирует их, чтобы выяснить, бот отправил запрос или человек. Затем сверяется с настройками защиты для вашего ресурса и выносит вердикт: стоит пропускать запрос или нет. Например, если вы просили блокировать только парсеры, на запрос от парсера она даст вердикт «блокировать», а вот на запрос поискового краулера — «пропустить». Эти вердикты система присылает Cybert. Модуль их исполняет и фильтрует трафик. В результате запросы от всех ботов, кроме разрешённых вами, блокируются.

Плюсы Cybert:

  • Трафик расшифровывается в вашем контуре, не нужно передавать SSL/TLS-сертификат

  • Чувствительные данные сохраняются в тайне: Cybert не передаёт тело запроса и cookies, он отправляет только метаданные — например, SNI, JA3 fingerprint и другие

  • Схема защиты с Cybert соответствует PCI DSS и ГОСТ Р 57580.1—2017

Подробнее о каждой схеме читайте в статье Схемы интеграции.

Инструменты

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

Как подключить и настроить защиту

Если вы ещё не клиент и только присматриваетесь, напишите нам на welcome@servicepipe.ru. Расскажем о продуктах, докажем, что наше решение лучшее, поможем выбрать конфигурацию защиты, всё подключить и настроить.

Если уже пользуетесь «Защитой веб-приложений» и хотите поменять настройки или задать вопрос, напишите на cybert@servicepipe.ru. Наши инженеры с удовольствием проконсультируют и при необходимости настроят всё за вас.