Обзор «Защиты веб-приложений»: принцип работы, настройка, инструменты
«Защита веб-приложений» — это система, которая оберегает ваш ресурс от DDoS-атак, ботов и прикладных атак.
На сайте её возможности представлены в виде отдельных продуктов:
-
Cybert — он-премис защита от ботов, без раскрытия SSL/TLS-сертификата и смены A-записи DNS
-
Web DDoS & Bot Protection — облачная защита от ботов и DDoS-атак
-
Web DDoS Protection — облачная защита от DDoS-атак
-
WAF (Web Application Firewall) — облачный межсетевой экран для веб-приложений, который защищает от прикладных атак
Эти продукты можно использовать по отдельности или в комбинации. Все они – часть одной системы «Защита веб-приложений».
Как работает защита
Наша система проверяет каждый запрос к вашему сайту/приложению. Ботов и DDoS-атаки блокирует, а запросы от людей и вашей полезной автоматизации пропускает. Если подключён WAF, то все запросы дополнительно проходят проверку на прикладные атаки (SQL-инъекции, XSS и другие) — атаки блокируются.
Что происходит шаг за шагом:
-
Пользователь отправляет запрос к вашему ресурсу.
-
Запрос попадает в систему защиты — в облачную платформу Servicepipe или локальный модуль Cybert, установленный в вашей инфраструктуре.
Что такое Cybert?Cybert — это разработанный нами модуль для веб-серверов NGINX и Angie. Он ставится на ваш прокси-сервер и блокирует ботов.
Сначала Cybert вычленяет метаданные запросов (без тела и файлов cookies) из расшифрованного трафика и отправляет в нашу систему защиты. Система анализирует их, чтобы выяснить, бот отправил запрос или человек. Затем сверяется с настройками защиты для вашего ресурса и выносит вердикт: стоит пропускать запрос или нет. Например, если вы просили блокировать только парсеры, на запрос от парсера она даст вердикт «блокировать», а вот на запрос поискового краулера — «пропустить». Эти вердикты система присылает Cybert. Модуль их исполняет и фильтрует трафик. В результате запросы от всех ботов, кроме разрешённых вами, блокируются.
Плюсы Cybert:
-
Трафик расшифровывается в вашем контуре, не нужно передавать SSL/TLS-сертификат
-
Чувствительные данные сохраняются в тайне: Cybert не передаёт тело запроса и cookies, он отправляет только метаданные — например, SNI, JA3 fingerprint и другие
-
Схема защиты с Cybert соответствует PCI DSS и ГОСТ Р 57580.1–2017
-
-
Система проводит анализ телеметрии запроса на уровнях L3/L4–L7 — то есть оценивает, как запрос проходит по сети, как устанавливается соединение и что именно передаётся внутри HTTP.
Например, система смотрит на:
-
Признаки статистических аномалий
-
Репутацию источника запроса
-
HTTP-параметры запроса
-
Параметры TLS-соединения
-
Другие признаки, которые помогают понять характер трафика
Все эти данные оцениваются в комплексе. В результате система понимает, откуда пришёл запрос, как он выглядит технически и кто за ним стоит — человек или бот.
-
-
Начинается фильтрация. Система сверяется по очереди с разными настройками:
-
«Чёрный список» — если запрос пришёл с IP из списка, он блокируется
-
«Белый список» — если запрос пришёл с IP из списка, он пропускается сразу, без других проверок
-
Пользовательские правила — если запрос попал под установленное вами правило, применяется указанное действие: пропуск, блокировка или выдача проверки пользователю (CAPTCHA, JS- или cookie-челлендж)
-
Индивидуальный защитный профиль — запрос обрабатывается в соответствии с настройками, которые мы сделали для вашего ресурса. Именно эти настройки обеспечивают всю «магию» Servicepipe: защита работает ровно так, как вам хотелось — блокирует всё, что вы хотели блокировать, и пропускает только нужный трафик.
В итоге фильтрацию проходят только запросы от людей и полезных автоматизаций — всё остальное блокируем.
-
-
(Если подключён WAF) запрос дополнительно проходит через ноды фильтрации WAF, где проверяется на признаки прикладных атак — SQL-инъекций, XSS, path traversal, внедрения команд и других. Если запрос «чист», он пропускается, нет — блокируется.
-
Запросы, которые прошли фильтрацию, отправляются на ваш ресурс.
Настройка защиты
Что настроим для вас
Когда вы подключаете защиту, мы создаём индивидуальный защитный профиль — набор настроек фильтрации, сделанный под ваши пожелания. Как формируем профиль:
-
Обсуждаем ваши требования — узнаём, кого нужно пускать, кого блокировать, какие вещи требуют особого внимания.
-
Собираем статистику по вашему трафику и выявляем закономерности — это поможет составить портрет легитимного клиента и точнее выявлять ботов.
-
Настраиваем защиту с учётом ваших пожеланий и собранной статистики: пишем сигнатуры, устанавливаем лимиты запросов, настраиваем обеление трафика и так далее.
После этого профиль готов — и защита работает именно так, как вы хотели. Пример настройки защиты:
| Ваши пожелания | Что мы делаем |
|---|---|
Блокировать всех ботов, кроме разработанного вами корпоративного 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. Наши инженеры с удовольствием проконсультируют и при необходимости настроят всё за вас.