Архитектура защищенных веб-приложений в Yandex.Cloud

Архитектура защищенных веб-приложений в Yandex.Cloud
При использовании публичного облака для размещения веб-приложений важно
сохранять высокий уровень защищенности. В простейшем случае есть три основных
раздела ИБ в облаке.

Защищенное облако

Крайне важно, чтобы сам облачный провайдер придерживался высоких стандартов
защищенности собственной инфраструктуры. Yandex.Cloud соответствует следующим требованиям и стандартам:
- No 152-ФЗ
- GDRP
- PCI DSS
- ISO 27001, 27017, 27018
- ГОСТ Р 57580.1-2017
Также платформа Yandex.Cloud является корпоративным членом Cloud Security Alliance ― международной организации, целью которой является разработка и повышение осведомленности о лучших практиках информационной безопасности для облачных сервисов.
Здесь можно более подробно ознакомиться с поддерживаемыми стандартами, а
также техническими мерами защиты, которые используются внутри Yandex.Cloud.

Встроенные средства защиты

Неважно насколько защищена инфраструктура самого облака, если вы не используете простейшие правила безопасности. Для примера рассмотрим несколько сценариев размещения веб-приложения в Yandex.Cloud.

Сценарий №1

Ниже представлен простейший сценарий размещения веб-приложения в Yandex.Cloud. Приложение представляет из себя обычную виртуальную машину Ubuntu с развернутым LAMP сервером (Linux+Apache+MySQL+PHP). Виртуальная машина имеет публичный IP-адрес и доступна в сети Интернет для всех пользователей по всем портам.

Очевидно, это не самый безопасный сценарий, который имеет множество возможных
векторов атаки:
- DDoS-атаки
- Эксплуатация существующих и 0-day уязвимостей операционной системы
- Подбор паролей
- Взлом личного кабинета / портала администрирования сайта
- И т.д.
Озвученные риски можно существенно снизить, используя встроенные средства
защиты Yandex.Cloud.

Сценарий №2

Ниже представлен все тот же простейший сценарий развертывания веб-приложения
(одна виртуальная машина с LAMP сервером), но уже с использованием встроенных
средств защиты:

В первую очередь здесь используется функция защиты от DDoS атак , которую
реализует Yandex.Cloud в партнерстве с компанией Qrator . Технически, вашей
виртуальной машине назначается публичный IP-адрес из выделенного пула адресов, трафик до которых автоматически очищает сервис Qrator. При этом не требуется какая-либо дополнительная настройка со стороны администратора сайта. Эта опция активируется при создании виртуальной машины:

Дополнительно есть возможность ограничить входящий и исходящий трафик с
помощью функции Security Groups (группы безопасности), которая реализует
возможности межсетевого экрана. Вы можете ограничить доступ к сайту только по
определенным портам (80, 443), а также задать ip-адрес, с которого вы можете
администрировать сам сервер (например, по ssh).
Anti-DDoS и Группы безопасности позволят значительно повысить защищенность веб-приложения без существенных архитектурных изменений.

Сценарий №3

Помимо стандартных функций защиты вы можете реализовать отказоустойчивость
вашего приложения (что тоже является частью ИБ стратегии). Для этого обычно, как
минимум, разделяют Фронтенд и Бэкенд на разные сущности / виртуальные машины.
На рисунке ниже представлена типовая архитектура веб-приложения, которое можно
развернуть в Yandex.Cloud. Для реализации отказоустойчивости и автоматического
масштабирования Фронтенда используют такие функции как:
- Instance Group , которая позволяет создать отказоустойчивую и автоматически
масштабируемую группу виртуальных машин. В нашем примере это серверы с
nginx.
- Network Load Balancer или Application Load Balancer , которые позволяют
балансировать нагрузку между узлами Фронтенда, а также ограничивают доступ
к вашему веб-приложению только по нужным портам (80, 443).
- Также применяются уже описанные Anti-DDoS и Security Groups.

В качестве Бэкенда в нашем примере используется база данных MySQL. Для
реализации отказоустойчивости и улучшения производительности используется
Managed Service for MySQL . С помощью этого сервиса вы можете создать кластер
MySQL - нескольких хостов с базой данных. Это отказоустойчивое решение из
коробки - хосты могут заменять друг друга в качестве основной реплики кластера.
Также использование реплики позволяет повысить время отклика для операций
чтения, как это показано на рисунке ниже.


В качестве дополнительной меры защиты рекомендуется организовывать управление инфраструктурой облака через защищенный VPN-туннель (вместо публикации портов (ssh) или IP-адресов в сеть Интернет). Yandex.Cloud предоставляет инструмент ― IPSec-инстанс на основе strongSwan. Либо вы можете использовать свои решения, например, WireGuard.

Специализированные средства защиты

В предыдущей главе мы рассмотрели основные встроенные средства и механизмы
защиты ваших веб-приложений в Yandex.Cloud. При этом, мы описали всего лишь три типовых кейса развертывания. Есть и более сложные имплементации, например, на основе Kubernetes. Существует сборник рекомендаций по информационной
безопасности в облаке ― Yandex.Cloud Security Solution Library . Ниже представлен
типовой концепт защищенной облачной инфраструктуры.



Сам концепт разбит на несколько доменов, в которых описываются применение
специализированных средств защиты:
- Сетевая безопасность
- Аутентификация и управление доступом
- Защита от вирусов и вредоносного кода
- Управление уязвимостями
- Шифрование данных и управление ключами/секретами
- Сбор, мониторинг и анализ логов
- Безопасность конфигураций
- Безопасность Kubernetes
- Безопасность CI/CD
- И т.д.

В следующей статье будет рассмотрен Web Application Firewall (WAF) из домена сетевой безопасности.

Вы можете уже сейчас познакомиться с Web Application Firewall .

Больше учебных материалов по ИБ и ИТ направлениям вы найдете на учебном портале TS University . После регистрации вам станут доступны статьи, курсы и вебинары о решениях Кода Безопасности, UserGate, Positive Technologies, Check Point и других вендоров.
Yandex Cloud веб-приложения
Alt text

Ваш провайдер знает о вас больше, чем ваша девушка?

Присоединяйтесь и узнайте, как это остановить!