Лучшие практики обеспечения сетевой безопасности

Кратко:

  • Обеспечение сетевой безопасности облачных сетей требует использования проверенных методов.
  • Организация доступа администраторов к инфраструктуре по защищённому каналу с использованием SSH или VPN-шлюза.
  • Использование ключей доступа и X.509-сертификатов вместо паролей.
  • Защита виртуальных машин в облачной сети с помощью DMZ и других сегментов.
  • Использование сетевого балансировщика нагрузки для доставки трафика в приложение.
  • Использование статических публичных IP-адресов для исходящего доступа в интернет.
  • Шифрование данных при передаче с использованием TLS 1.2 и выше.
  • Использование систем обнаружения вторжений для записи информации о входящем и исходящем трафике.

Лучшие практики обеспечения сетевой безопасности

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

Доступ в инфраструктуру для администраторов

Одним из первых шагов, используемых для построения безопасной инфраструктуры, является организация доступа администраторов к ней по защищённому каналу. Для доступа по SSH создают бастионную виртуальную машину или VPN-шлюз. Доступ к такой машине или шлюзу из интернета должен быть ограничен при помощи групп безопасности.
Для дополнительного контроля действий администраторов рекомендуется использовать решения PAM (Privileged Access Management) с записью сессии администратора (например Teleport).
При организации доступа по SSH и VPN рекомендуется отказаться от использования паролей и использовать ключи доступа и X.509-сертификаты.

Доставка трафика в приложение и сетевая сегментация

Для защиты виртуальных машин на уровне облачной сети отдельно выделяют DMZ (так называемую демилитаризованную зону, то есть подсети с ресурсами, к которым открыт доступ из интернета) и другие сегменты. Для этого рекомендуется использовать механизм групп безопасности.
Чтобы доставлять трафик в приложение, находящееся в облачной инфраструктуре, рекомендуется использовать сетевой балансировщик нагрузки, который пропускает трафик только по заданным портам. Балансировщик следует использовать совместно с группами безопасности для ограничения списка IP-адресов, имеющих доступ к приложению.

Исходящий доступ в интернет

Для организации исходящего доступа в интернет следует использовать статические публичные IP-адреса. Принимающая сторона сможет внести их в список исключений своего файрвола. И независимо от того, статические или динамические публичные IP-адреса вы используете, убедитесь, что для ресурсов применяются группы безопасности.
Для исходящего трафика NAT-шлюз лучше не задействовать: через его IP-адрес могут отправлять трафик сразу несколько пользователей. Эту особенность нужно учитывать при моделировании угроз для инфраструктуры на базе Yandex Cloud, соответствующей стандартам PCI DSS.

Шифрование данных при передаче

При работе с чувствительными данными нужно шифровать трафик на уровне приложения, например, с использованием протокола TLS 1.2 и выше.
При использовании API Yandex Cloud следует убедиться, что в TLS-клиенте отключена возможность соединения с использованием небезопасных протоколов TLS (версии ниже 1.2) или что небезопасные протоколы не будут использованы при установлении соединения. Например, использование gRPC-интерфейсов Yandex Cloud гарантирует работу по TLS 1.2 и выше, так как протокол HTTP/2, на основе которого работает gRPC, устанавливает TLS 1.2 в качестве минимальной поддерживаемой версии протокола TLS.
Запись информации о входящем и исходящем трафике в облачной сети (flow logs) и обнаружение вторжений относится к ответственности пользователя. Используйте для решения этой задачи популярные системы обнаружения вторжений (например Suricata или Snort). Для управления потоками трафика и отправки их в такую систему можно использовать статические маршруты.