Защита веб-приложений во внешней инфраструктуре
Примечание
Функциональность защиты внешних доменов находится на стадии Preview.
Smart Web Security позволяет защитить веб-приложения, развернутые как в Yandex Cloud, так и за его пределами. Например, в вашей внутренней инфраструктуре или на других хостингах. Smart Web Security предлагает различные средства защиты от информационных угроз на прикладном уровне L7 модели OSI. Это могут быть DDoS-атаки, атаки ботов
Схема защиты внешних ресурсов
Все внешние запросы к веб-приложению проходят через Smart Web Security. Чтобы расшифровать и проанализировать HTTPS-трафик, в сервис Certificate Manager потребуется загрузить приватный ключ и сертификат вашего сервера, на котором работает веб-приложение. После анализа вредоносные запросы блокируются, остальные перенаправляются на веб-приложение.
Администратор веб-приложения в любой момент может посмотреть статистику по трафику: общее количество запросов, количество запросов, заблокированных различными профилями, и так далее.
Компоненты технологии защиты доменов
Для фильтрации входящего трафика используется обратное проксирование. Все HTTP-запросы от посетителей сайта или веб-приложения направляются к целевому ресурсу через прокси-сервер Smart Web Security. К прокси-серверу подключается один или несколько доменов защищаемого ресурса. Домену можно назначить профиль безопасности, в котором вы настраиваете защиту Anti-DDoS, Web Application Firewall (WAF) и при необходимости ограничиваете нагрузку на приложение с помощью Advanced Rate Limiter (ARL).
Таким образом, чтобы защищать веб-приложения или бэкенды, вам потребуется настроить прокси-сервер и домен. А также добавить сертификат для расшифровки и проверки трафика HTTPS.
Прокси-сервер
Прокси-сервер — это посредник, на который поступают все запросы пользователей к вашему сайту или приложению. Он имеет выделенный IP-адрес для приема запросов, поэтому IP-адрес вашего сервера будет скрыт от внешних пользователей. На прокси-сервере настроен балансировщик нагрузки, который обеспечивает стабильную работу при большом количестве внешних запросов, и включена базовая защита от DDoS.
Примечание
На прокси-сервере установлено ограничение MTU для всех пакетов — 1450 байт.
Чтобы прокси-сервер принимал запросы, отправленные на ваш домен, настройте перенаправление. Для этого добавьте А-запись для DNS вида: <IP-адрес прокси-сервера> : <адрес домена>
. IP-адрес прокси-сервера будет доступен после создания в его параметрах. Добавить А-запись можно через личный кабинет вашего хостинг-провайдера или регистратора доменов. Также вы можете делегировать управление доменом Yandex Cloud DNS. Тогда А-записи настраиваются в Yandex Cloud.
Перенаправление обычно начинает действовать через несколько минут. Но иногда процесс может занять до 24 часов.
Вы можете добавить несколько прокси-серверов, например, чтобы разделить стабильную версию приложения и версию, которая находится в разработке.
Для каждого прокси-сервера можно настроить логирование. Вы можете записывать все логи или отфильтровать их для экономии места в хранилище.
К прокси-серверу можно подключить несколько доменов. Количество доменов см. в разделе Квоты и лимиты Smart Web Security.
Домен
При настройке домена потребуется указать:
-
Адрес домена — адрес вашего сайта или веб-приложения, который вы приобрели у DNS-провайдера или хостинг-провайдера. У вас должна быть возможность управлять А-записями в DNS.
-
Тип соединения, на котором работает ваш сайт — 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 и добавьте TLS-сертификат. Действительность сертификата не проверяется, вам потребуется отслеживать это самостоятельно.
После настройки домена к нему можно подключить профиль безопасности. Профиль безопасности содержит правила, по которым будут проверяться и фильтроваться запросы к вашему приложению.
Дополнительные меры защиты
Чтобы на ваш сайт или приложение могли попасть только проверенные и безопасные запросы от Smart Web Security:
- Запретите все входящие запросы.
- Добавьте в разрешенные только адреса Yandex Cloud. Список адресов также будет доступен в параметрах домена, в разделе Как активировать защиту.