Экспертный материал
Виталий Солдатов | Инженер
Технология виртуализации сделала возможным появление публичных и частных корпоративных облаков. В обоих случаях облачная инфраструктура физически находится за пределами предприятия.
Существует несколько методов подключения инфраструктуры заказчика к облаку сервис-провайдера. Каждый из них имеет свои достоинства и недостатки, которые следует учитывать при выборе оптимального решения.
VPN-туннель — метод подключения, использующий шифрование данных для обеспечения безопасной связи между локальной сетью заказчика и облаком сервис-провайдера. Для этого используется специальное программное обеспечение, которое устанавливается на серверах заказчика и облачного провайдера.
Достоинства:
-
Надежность и безопасность передачи данных, так как данные шифруются и передаются по безопасному каналу.
-
Гибкость настройки параметров подключения, что позволяет настраивать соединение под конкретные потребности заказчика.
Недостатки:
-
Низкая скорость передачи данных из-за шифрования и дополнительной обработки пакетов.
-
Высокая стоимость настройки и поддержки VPN-туннеля.
Рассмотрим принципы установки VPN-соединения.
Перед тем, как установить соединение, участники идентифицируют друг друга, чтобы убедиться, что шифрованный трафик отправится правильному получателю. После этого согласовывают протоколы для установки соединения, чтобы обеспечить целостность и конфиденциальность данных. Затем генерируется ключ для шифрования и дешифрования данных.
Существует множество механизмов, способных обеспечить этот процесс, но наиболее распространенный протокол — IPSec (IP Security). IPSec — это комплексный набор протоколов, обеспечивающих аутентификацию, конфиденциальность и целостность данных. IPSec может использоваться для защиты VPN-туннелей и обеспечения безопасности внешнего доступа к веб-приложениям в облаке. Расскажем об этом подробнее.
Достоинства:
-
Высокий уровень безопасности, так как использует различные механизмы шифрования и аутентификации.
-
Защищает любой вид трафика, включая VoIP и видео-потоки.
-
Защита удаленных рабочих мест и мобильных устройств.
Недостатки:
-
Требует настройки и управления, что может быть сложно для некоторых пользователей.
-
Может вызывать проблемы совместимости со старыми устройствами и операционными системами.
Direct Connect — это физическое подключение локальной сети заказчика к инфраструктуре облачного сервис-провайдера посредством выделенной линии связи. Для этого заказчик может использовать как собственные каналы связи, так и услуги провайдера связи.
Достоинства:
-
Высокая скорость передачи данных благодаря выделенной линии связи.
-
Низкая задержка передачи данных, что особенно важно для приложений, требующих мгновенной реакции на действия пользователя.
-
Высокая надежность соединения, поскольку физические кабели и оборудование защищены от внешних воздействий.
Недостатки:
-
Высокая стоимость настройки и поддержки выделенной линии связи.
-
Требуется наличие квалифицированных специалистов для установки и настройки оборудования.
Public Internet — это подключение к облаку сервис-провайдера через общедоступную сеть Интернет. Для обеспечения безопасности передачи данных используются различные механизмы шифрования и аутентификации, такие как SSL, TLS, SSH.
Достоинства:
-
Низкая стоимость подключения и использования общедоступной сети Интернет.
-
Гибкость и простота настройки подключения.
Недостатки:
-
Низкая надежность соединения и возможность возникновения проблем с безопасностью передачи данных в сети Интернет.
-
Ограниченная скорость передачи данных, особенно при использовании общедоступных сетей Интернет с высокой нагрузкой.
-
Высокий риск возникновения проблем с защитой данных, поскольку отсутствует контроль над маршрутизацией трафика и возможностью защиты от внешних атак.
Реализация подключения к облаку Corpsoft24
В Corpsoft24 предусмотрена возможность устройства туннеля между контуром организации и облаком с использованием протокола IPSec site-to-site. Это может быть уже включенный в стоимость услуг программный маршрутизатор или маршрутизатор, выбранный клиентом облака. В последнем случае придется учесть дополнительные расходы на аренду вычислительных ресурсов.
При размещении в облаке публичных веб-приложений есть возможность подключения через интернет без использования маршрутизатора. Для требуемого количества виртуальных машин выдается необходимое количество публичных IPv4-адресов.
В рамках услуги ГОСТ VPN Corpsoft24 предоставляет клиентам следующие СКЗИ по модели IaaS:
-
ViPNet от компании «ИнфоТеКС»;
-
«Континент» от компании «Код Безопасности».
ГОСТ VPN — это услуга по защите информации при передаче по открытым каналам связи с применением алгоритмов шифрования, соответствующих ГОСТ, и криптографических средств, прошедших процедуру оценки соответствия (сертификацию) в ФСБ России.
Рассмотрим некоторые нюансы реализации, которые могут быть полезными при рассмотрении возможной схемы подключения к облаку Corpsoft24.
Протоколы IPSEC
В RFC 2402 "IP Authentication Header" описывается протокол AH, в RFC 2406 "IP Encapsulating Security Payload (ESP)" - ESP. RFC 9206 "Commercial National Security Algorithm (CNSA) Suite Cryptography for Internet Protocol Security (IPsec)", на который ссылается документ "Cryptographic Suites for IKEv1, IKEv2, and IPsec", требует отказаться от использования протокола AH, переходить от IKEv1 (RFC 2409) на IKEv2 (RFC 4306) при первой возможности. В итоге остается работать с ESP и IKEv2 Security Associations (SA).
Режимы IPSEC
Между двумя сетевыми шлюзами используется туннельный режим (tunnel mode). Для настройки туннельного режима на обоих шлюзах должны быть публичные статические ip-адреса. Для корректной работы IPSEC через сеть интернет необходимо обеспечить передачу данных между шлюзами по протоколу ESP (protocol 50) и по порту 500/udp.
Транспортный режим (transport mode) используется между двумя хостами.
Режимы IKE
Для IKEv1 есть следующие режимы обмена ключами: Main mode, Aggressive mode в первой фазе (Phase 1) и Quick Mode во второй фазе (Phase 2). В документации "IKEv1 Phase 1 and Phase 2" для NSX Edge указано "NSX Edge supports Main Mode for Phase 1 and Quick Mode for Phase 2".
Для IKEv2 подобных режимов нет, есть отсылки к фазам 1 и 2 IKEv1 в RFC.
IKE SA lifetime
В документации "IKEv1 Phase 1 and Phase 2" описываются таймеры, которые в NSX Edge изменить нельзя:
-
"SA lifetime of 28800 seconds (eight hours) with no lifebytes rekeying" для Phase 1.
-
"SA lifetime of 3600 seconds (one hour) with no lifebytes rekeying" для Phase 2.
Такое же значение у шлюзов AWS описано в "Why is IKEv2 VPN tunnel negotiation failing with AWS VPN?" :
-
"Set the lifetime to a value configured on the AWS side between 900 and 28,800 (default) seconds" для Phase 1.
-
"Set the lifetime to a value configured on the AWS side between 900 and 3,600 (default) seconds, with less than phase 1 lifetime" для Phase 2.
Похожие ограничения описаны в документации "About cryptographic requirements and Azure VPN gateways" "IKE Main Mode SA lifetime is fixed at 28,800 seconds on the Azure VPN gateways."
Насчет таймеров IKEv2 SA lifetimes следует уточнить в RFC 4306:
"A difference between IKEv1 and IKEv2 is that in IKEv1 SA lifetimes were negotiated. In IKEv2, each end of the SA is responsible for enforcing its own lifetime policy on the SA and rekeying the SA when necessary. If the two ends have different lifetime policies, the end with the shorter lifetime will end up always being the one to request the rekeying. If an SA bundle has been inactive for a long time and if an endpoint would not initiate the SA in the absence of traffic, the endpoint MAY choose to close the SA instead of rekeying it whenits lifetime expires. It SHOULD do so if there has been no traffic since the last time the SA was rekeyed".
В общем случае таймеры IKEv2 могут не совпадать, но иногда это приводит к неработоспособности туннеля, поэтому приходится выставлять одинаковые значения с учетом ограничений облачных операторов. В качестве примера можно привести настройки туннеля между Cisco ASA и ПО strongSwan, которое используется во многих программных шлюзах.
Настройка таймеров в strongSwan
ikelifetime = 28800s lifetime = 3600s
Настройка таймеров в Cisco ASA
crypto ikev2 policy 2 lifetime seconds 28800 crypto map OUTSIDE_map 1 set security-association lifetime seconds 3600
Настройка IPSec VPN в NSX Edge
Пример настройки Policy-Based IPSec VPN Site для NSX Edge доступен на сайте с документацией в разделе Configure Policy-Based IPSec VPN Site Example.
Все что нужно внести в форму "Edit IPsec VPN" при создании нового VPN по пунктам распишу ниже в таблице.
Название | Значение |
Enabled | Включить |
PFS | Включить при поддержке функционала на удаленной стороне. |
Name | Общее краткое описание туннеля |
Local Id | Публичный ip-адрес NSX Edge |
Local Endpoint | Публичный ip-адрес NSX Edge |
Local Subnets | Префикс сети в облаке. Если более одного префикса, то перечисление через запятую. |
Peer Id | Публичный ip-адрес шлюза клиента. |
Peer Endpoint | Публичный ip-адрес шлюза клиента. |
Peer Subnets | Префикс сети в офисе. Если более одного префикса, то перечисление через запятую. |
IKE Version | IKEv2 |
Digest Algorithm | SHA_256 |
Encryption Algorithm | AES-256 |
Pre-shared Key | Любой сгенерированный ключ. Одинаков для обоих шлюзов. |
Diffie-Hellman (DH) Group | DH14 |
IKE Responder Only | Оставить выключенным. |
Session Type | Оставить Policy-Based. |
На стороне офисного шлюза выполнить идентичные настройки.
Вариант выше подходит для типового подключения между двумя шлюзами. Иногда необходимо что-то более сложное, например, требуется организовать несколько туннелей до одной площадки. Для реализации отказоустойчивой схемы настраивают Route-Based IPSec VPN и динамическую маршрутизацию. Необходимо учитывать, что NSX Edge поддерживает только Tunnel Mode в режиме Main, а транспортный режим не поддерживается. Как написано в документации, возможно использовать только протокол динамической маршрутизации BGP. Для настройки протокола BGP на NSX Edge обратитесь к нашим инженерам, сообщите номера автономных систем. Прочие настройки можно выполнить самостоятельно, заполнив ту же форму "Edit IPsec VPN”.
Название | Значение |
Enabled | Включить |
PFS | Включить при поддержке функционала на удаленной стороне. |
Name | Общее краткое описание туннеля |
Local Id | Публичный ip-адрес NSX Edge |
Local Endpoint | Публичный ip-адрес NSX Edge. |
Local Subnets | 0.0.0.0/0 |
Peer Id | Публичный ip-адрес шлюза клиента. |
Peer Endpoint | Публичный ip-адрес шлюза клиента. |
Peer Subnets | 0.0.0.0/0. |
IKE Version | Одинаково для обоих шлюзов |
Digest Algorithm | Одинаково для обоих шлюзов |
Encryption Algorithm | AES-256 |
Pre-shared Key | Любой сгенерированный ключ. Одинаков для обоих шлюзов. |
Diffie-Hellman (DH) Group | DH14 |
IKE Responder Only | Оставить выключенным. |
Session Type | Route Based Session |
Tunnel Interface IP CIDR | IPv4-адрес с маской, например, 169.254.254.2/30, когда на удаленном шлюзе настраивается 169.254.254.1/30 |
Tunnel Interface MTU | Одинаково для обоих шлюзов |
Здесь настройки безопасности зависят от ограничений программного обеспечения шлюзов в других ЦОДах. Например, туннель не работает при использовании IKEv2, либо есть какие-то другие нюансы. Выбор MTU связан с необходимостью уменьшить фрагментацию передаваемых пакетов через туннель и обычно это число чуть больше 1400, т.к. из MTU 1500 вычитается некоторое количество байт служебных заголовков. Например, установив 1428, проверяете командой ping доступность удаленного хоста с размером данных 1400 байт, т.к. 20 байт — это заголовок протокола IP и 8 байт — это заголовок протокола ICMP. Одинаковый MTU необходим в том числе для корректной работы протокола BGP. Между шлюзами через туннель устанавливается BGP-сессия и происходит обмен маршрутной информацией. Таким образом, все передаваемые через туннель пакеты в соответствии с текущей таблицей маршрутизации будут зашифрованы. Максимальное количество маршрутов для NSX Edge в конфигурации Compact - 10000, максимум для AWS Virtual Private Gateway - 1000.
Об облаке Corpsoft24
Публичное облако Corpsoft24 существует с 2009 года и входит в топ 15 облачных провайдеров, предоставляющих услуги по модели IaaS — инфраструктура как сервис. Также Corpsoft24 предлагает SaaS-сервисы, Managed Kubernetes и отдельное защищенное Облако ФЗ-152
Над материалом работал: Сергей Драгун