Защита веб-приложений во внешней инфраструктуре
Примечание
Функциональность защиты доменов находится на стадии Preview.
Smart Web Security позволяет защитить веб-приложения, развернутые как в Yandex Cloud, так и за его пределами. Например, в вашей внутренней инфраструктуре или на других хостингах. Smart Web Security предлагает различные средства защиты от информационных угроз на прикладном уровне L7 модели OSI. Это могут быть DDoS-атаки, атаки ботов
При защите доменов компонент Network Protection дополнительно защищает прокси-сервер от DDoS-атак на сетевом (L3) и транспортном (L4) уровнях.
Схема защиты внешних ресурсов
После настройки домена запросы к нему направляются через Smart Web Security. Для проверки HTTPS-трафика потребуется добавить сертификат домена и соответствующий приватный ключ в Certificate Manager. Smart Web Security расшифровывает трафик, блокирует вредоносные запросы и передает остальные веб-приложению.
Администратор веб-приложения в любой момент может посмотреть статистику по трафику: общее количество запросов, количество запросов, заблокированных различными профилями, и так далее.
Компоненты технологии защиты доменов
Для фильтрации входящего трафика используется обратное проксирование. Все HTTP-запросы от посетителей сайта или веб-приложения направляются к целевому ресурсу через защищенный прокси-сервер Smart Web Security. К прокси-серверу подключается один или несколько доменов защищаемого ресурса. Домену можно назначить профиль безопасности, в котором вы настраиваете защиту Smart Protection, Web Application Firewall (WAF) и при необходимости ограничиваете нагрузку на приложение с помощью Advanced Rate Limiter (ARL).
Для защиты веб-приложения настройте прокси-сервер и домен, а для проверки HTTPS-трафика добавьте сертификат.
Защита доменов тарифицируется в соответствии с правилами тарификации.
Прокси-сервер
Прокси-сервер принимает запросы пользователей к вашему сайту или приложению на выделенный публичный IP-адрес и передает их целевому ресурсу после проверки. На прокси-сервере настроен балансировщик нагрузки и включена защита Network Protection.
Примечание
На прокси-сервере установлено ограничение MTU для всех пакетов — 1 450 байт.
Чтобы направить запросы к домену на прокси-сервер, создайте или измените DNS A-запись домена: укажите в ней публичный IPv4-адрес прокси-сервера. Этот адрес доступен в параметрах прокси-сервера после его создания. Настройте запись у вашего DNS-провайдера или делегируйте управление DNS-зоной Yandex Cloud DNS.
Обновление DNS-записи обычно занимает несколько минут, но может занять до 24 часов.
Целевой ресурс должен иметь публичный IP-адрес и быть доступен прокси-серверу из внешней сети.
Вы можете добавить несколько прокси-серверов, например, чтобы разделить стабильную версию приложения и версию, которая находится в разработке.
Для каждого прокси-сервера можно настроить логирование. Вы можете записывать все логи или отфильтровать их для экономии места в хранилище.
К прокси-серверу можно подключить несколько доменов. Количество доменов указано в разделе Квоты и лимиты Smart Web Security.
Примечание
Чтобы создать прокси-сервер, пользователю должны быть назначены роли smart-web-security.admin, resource-manager.admin и iam.serviceAccounts.admin на каталог, в котором создается прокси-сервер.
Network Protection
Защита Network Protection включается автоматически при создании прокси-сервера. Трафик сначала проходит через узлы очистки, которые отбрасывают пакеты атак на уровнях L3–L4. Легитимный трафик передается на прокси-сервер с сохранением IP-адреса клиента для проверки правилами профиля безопасности.
Подробнее о работе защиты и ее метриках в разделе Network Protection.
Домен
При настройке домена потребуется указать:
-
Адрес домена — доменное имя вашего сайта или веб-приложения, например
example.com. У вас должна быть возможность управлять A-записями в DNS. Допускается доменное имя в формате ASCII или Punycode . -
Тип соединения между пользователем и прокси-сервером — HTTPS или HTTP. Рекомендуется использовать HTTPS для шифрования этого соединения.
При выборе протокола HTTPS надо добавить TLS-сертификат и приватный ключ в формате PEM
. Smart Web Security проверяет срок действия и соответствие добавленного сертификата ключу. Недействительный сертификат не будет загружен.TLS-соединение завершается на прокси-сервере, где Smart Web Security расшифровывает и анализирует трафик.
Если для вашего приложения еще не настроен протокол HTTPS, вы можете получить сертификат Let's Encrypt в Yandex Certificate Manager. Это можно сделать заранее или в процессе добавления домена.
Чтобы получить сертификат Let's Encrypt, потребуется подтвердить права на владение доменом. Для этого нужен доступ к учетной записи у регистратора доменов или к хосту, к которому привязан домен.
Также вы можете использовать незащищенный протокол HTTP, но рекомендуем делать это только в тестовых целях. Как правило, при просмотре таких сайтов браузеры предупреждают пользователей, что сайт небезопасен.
-
Целевые ресурсы — веб-серверы или бэкенды, на которые передается трафик, прошедший проверку. Для целевых ресурсов нужно указать IP-адрес и порт, на котором работает ваше веб-приложение.
Чтобы передавать трафик от Smart Web Security к вашему приложению в зашифрованном виде:
-
Включите протокол HTTPS.
-
Укажите SNI
— доменное имя хоста для расширения TLS Server Name Indication. Допускается любое доменное имя в формате ASCII или Punycode. -
Добавьте доверенный корневой сертификат (Root CA) для цепочки сертификатов, установленной на эндпоинтах бэкендов. Поддерживаются сертификаты стандарта X.509 в формате PEM. Действительность сертификата не проверяется, вам потребуется отслеживать это самостоятельно.
-
После настройки домена к нему можно подключить профиль безопасности. Профиль безопасности содержит правила, по которым будут проверяться и фильтроваться запросы к вашему приложению.
Дополнительные меры защиты
Чтобы исключить прямой доступ к веб-приложению в обход Smart Web Security:
- Запретите входящие соединения к веб-приложению с недоверенных адресов.
- Добавьте в разрешенные только адреса Smart Web Security. Список адресов также будет доступен в параметрах домена, в разделе Как активировать защиту.
- Настройте добавление к запросам от прокси-сервера HTTP-заголовка с уникальной парой «ключ — значение». Проверяйте его на вашем сервере, чтобы принимать трафик только от конкретного прокси-сервера. Для включения этой опции обратитесь в поддержку
.