Перейти к содержанию

Обзор VPN, построенных на основе межфилиального режима IPSec#

Виртуальная частная сеть (VPN) на основе IPSec - это виртуальная сеть, которая функционирует поверх сети общего доступа, но при этом является "защищенной" благодаря использованию зашифрованных туннелей между двумя и более оконечными точками. VPN позволяет обеспечить:

  • Целостность данных. Целостность данных позволяет удостовериться в том, что они не были искажены или модифицированы при их передаче через сеть. Целостность данных обеспечивается за счет использования алгоритмов хеширования.
  • Аутентификация. Аутентификация гарантирует, что полученные данные были отправлены заявленным отправителем, а не кем-либо, выдающим себя за него. Аутентификация также обеспечивается при помощи алгоритмов хеширования.
  • Конфиденциальность. Конфиденциальность гарантирует, что данные доступны только тому, для кого они предназначены, и не могут быть скопированы или перехвачены при передаче по сети. Конфиденциальность обеспечивается при помощи шифрования.

VPN, построенная на основе IPSec, позволяет защитить данные и доступ к ресурсам сети с использованием шифрования, аутентификации и протоколов управления ключами. При корректной настройке VPN все взаимодействия безопасны, а передаваемые данные защищены от злоумышленников. Numa Edge поддерживает межфилиальный режим IPSec. Межфилиальные подключения VPN обычно устанавливаются между двумя (или более) шлюзами VPN и обеспечивают возможность взаимодействия для компьютеров пользователей, серверов и других устройств, расположенных за шлюзами. Использование межфилиального режима VPN позволяет сократить расходы на создание канала связи между офисами. Это зачастую позволяет заменить более дорогие технологии WAN, такие как использование выделенных линий связи или Frame Relay.

Примечание

Механизм IPSec, до получения сертификата на СКЗИ, может использоваться исключительно как средство построения логических каналов, без предоставления криптографической защиты.

Архитектура IPSec#

IPSec представляет собой набор протоколов, разработанных для обеспечения защиты на сетевом уровне (уровень 3), с использованием методов шифрования и аутентификации. С точки зрения сетевого оборудования, зашифрованные пакеты маршрутизируются точно так же, как и обычные IP-пакеты. При использовании межфилиального режима VPN, поддержка IPSec требуется только на оконечных устройствах.

Существует три основных компонента архитектуры IPSec. Которыми являются:

  • Протокол заголовка аутентификации (AH).
  • Протокол ESP (Encapsulating Security Payload).
  • Протокол IKE (Internet Key Exchange), обычно ISAKMP/Oakley.

Протокол ESP позволяет зашифровать поле данных пакета, протокол AH используется для аутентификации трафика, протокол IKE обеспечивает защищенный метод обмена криптографическими ключами, а также согласование используемых методов аутентификации и шифрования. Набор параметров IPSec, характеризующий подключение называется политикой безопасности (security policy). Политика безопасности определяет то, каким образом обе оконечных точки будут использовать сервисы безопасности (шифрование, хеширование и группы Диффи-Хеллмана). Узлы IPSec согласуют набор параметров безопасности, которые должны совпадать на обеих сторонах. После чего они устанавливают защищенное соединение (SA, security association). Защищенное соединение IPSec SA описывает логическое соединение в одном направлении. Для пакетов, которые необходимо передавать через подключение в двух направлениях, требуется два защищенных соединения: входящее и исходящее.

Фазы IPSec: фаза 1 и фаза 2#

Установка подключения IPSec происходит в два этапа, называемые фазами IKE:

  • В первой фазе IKE две оконечные точки аутентифицируют друг друга и согласовывают ключевой материал. В результате устанавливается защищенный туннель, используемый во второй фазе для согласования защищенных соединений ESP.
  • Во второй фазе IKE две оконечные точки используют защищенный туннель, созданный в первой фазе, для согласования защищенных соединений ESP (ESP SA). ESP SA используются для шифрования пользовательских данных, передающихся между двумя оконечными точками.

В первой фазе IKE устанавливается защищенное соединение ISAKMP (обычно называемое, IKE SA). Протокол IKE используется для динамического согласования и аутентификации ключевого материала, а также других параметров безопасности, которые требуются для обеспечения защищенного взаимодействия. IKE использует набор из четырех протоколов (включая ISAKMP и Oakley) для динамического управления ключами в контексте IPSec.

В том случае если согласование в первой фазе IKE проходит успешно, после этого устанавливается ISAKMP SA. ISAKMP SA обычно содержит сведения "победившего предложения", к которым относятся алгоритм шифрования и ключевой материал, утвержденные в результате согласования. После чего создается безопасный канал управления ("control channel"), через который передаются ключи и другая информация, требуемая при согласовании во время второй фазы. ISAKMP SA шифрует только согласования защищенного соединения ESP во время фазы 2, а также любые сообщения IKE между двумя оконечными точками. Защищенное соединение ISAKMP SA существует в течение заранее определенного времени жизни. Время жизни настраивается на каждом из узлов VPN, а не согласуется и не передается между узлами. Указанное время жизни может быть различным на разных узлах. Когда указанное время жизни истекает, согласуется новое защищенное соединение ISAKMP SA.

Согласования второй фазы IKE также осуществляются при помощи протокола IKE. С использованием шифрования, обеспечиваемого защищенным соединением, для согласования SA второй фазы используется политика безопасности. Политика безопасности содержит сведения о взаимодействующих устройствах и подсетях, а также информацию протокола ESP для обеспечения сервисов безопасности, таких как шифрование и хеширование. Если во время второй фазы IKE процесс согласования завершится успешно, между двумя оконечными точками будет установлена пара защищенных соединений ESP SA (обычно называемых IPSec SA) — одно входящее и одно исходящее, которые будут представлять собой защищенный туннель VPN между двумя оконечными точками. С этого момента через защищенный туннель можно обмениваться пользовательскими данными.

Между двумя узлами IPSec VPN может быть установлен только один канал управления для обмена ключевым материалом во время фазы 2. Это означает, что между любыми двумя узлами будет существовать только одно защищенное соединение ISAKMP SA на каждом узле.

Между двумя узлами VPN может быть определено любое количество политик безопасности. Например, можно определить политику безопасности для создания туннеля между двумя компьютерами. Также можно определить и другую политику безопасности для создания туннеля между компьютером и подсетью, или между двумя подсетями. Так как между двумя узлами могут существовать множественные туннели, это означает, что в любой момент времени между двумя узлами могут быть активны несколько защищенных соединений IPSec SA.

Ключевой обмен IKE#

Для того чтобы создать ISAKMP SA, два устройства должны согласовать все следующие пункты:

  • Алгоритм шифрования.
  • Битовую стойкость ключа шифрования (группа Диффи-Хеллмана).
  • Метод аутентификации.
  • Алгоритм хеширования.
  • Аутентификационный материал (предварительный ключ).

Все эти сведения содержатся в предложении первой фазы IKE. На шлюзе VPN могут быть настроены несколько предложений первой фазы. Следует отметить, что время жизни SA не согласуется, а настраивается на каждом из узлов.

Во время ключевого обмена IKE, одно устройство (инициатор) отправляет первый пакет. Первый пакет содержит все предложения первой фазы, настроенные на этом узле VPN. Этот набор предложений сообщает другому шлюзу какие политики безопасности и типы аутентификации он поддерживает. Второе устройство (отвечающая сторона) изучает набор предложений и возвращает политику, обеспечивающую наилучшую защиту из предложенных, которая поддерживается обеими сторонами. Если этот процесс завершается успешно, оба устройства согласуют параметры и устанавливается защищенное соединение ISAKMP SA.

После того как ISAKMP SA было однажды установлено, эти два устройства могут использовать его для шифрования трафика второй фазы, во время которого оконечные точки пытаются согласовать IPSec SA, соответствующие принятой политике безопасности. И только после того как будут установлены защищенные соединения IPSec SA, может передаваться трафик IPSec.

Различные устройства инициируют согласование IKE по-разному. Многие устройства VPN создают туннели только по запросу. Такое устройство просматривает сетевой трафик на предмет соответствия настроенным политикам безопасности. После того как устройство получает трафик, соответствующий требуемой политике безопасности, устройство попытается установить защищенное соединение IPSec SA, которое будет использовано для расшифровки полученного трафика.

Устройства другого типа, к которым относится и Numa Edge, инициируют согласования второй фазы как только будут установлены корректные настройки политики. Если обе оконечные точки функционируют таким образом, может возникнуть состояние гонки, при котором будут созданы дублирующие друг друга защищенные соединения IPSec SA.

Алгоритмы шифрования#

Шифрование позволяет защитить данные при их передаче по незащищенным каналам. Numa Edge поддерживает российский стандарт симметричного шифрования ГОСТ 28147-89 (gost).

Numa Edge поддерживает следующие алгоритмы шифрования:

  • blowfish;
  • cast128;
  • aes;
  • camellia;
  • gost.

Алгоритмы хеширования#

Хеш-функция — это функция, принимающая на вход строку битов произвольной длины и выдающая результат фиксированной длины, который называется дайджестом (digest) сообщения или хеш-значением. Хеш-функции могут использоваться для аутентификации сообщений. Numa Edge поддерживает следующие алгоритмы хеширования:

  • md5;
  • sha1;
  • sha256;
  • sha384;
  • sha512;
  • gosthash.

Предварительные ключи#

По умолчанию установлен режим аутентификации с использованием предварительных ключей (PSK). В качестве предварительного ключа используется строка, заранее согласованная обеими сторонами для аутентификации сеанса. Данная строка используется для создания хеш-значения, для того чтобы оконечные точки могли аутентифицировать друг друга. Следует отметить, что предварительный ключ, несмотря на то, что это обычная строка, не является паролем в общепринятом смысле. Он фактически хешируется для формирования "отпечатка", гарантирующего подлинность каждой из сторон. Это означает, что длинные сложные строки позволяют обеспечить лучшую защиту, чем короткие строки. Следует выбирать сложные предварительные ключи и избегать коротких, которые проще скомпрометировать атакующему.

Предварительные ключи не передаются во время согласования IKE. На обеих сторонах должен быть настроен один и тот же ключ. Предварительные ключи являются типичным примером использования симметричной криптографии: когда на обеих сторонах используется один и тот же ключ. При использовании симметричных алгоритмов шифрования две взаимодействующие стороны должны заранее обменяться ключами, используя при этом безопасные каналы связи. Асимметричные криптографические алгоритмы требуют больше вычислительных ресурсов, чем симметричные, и при том же уровне защиты им нужны более длинные ключи. Поэтому их редко используют для шифрования больших объемов данных. Чаще они применяются в протоколе защищенного обмена ключом, чтобы отправитель и получатель безопасно установили общий симметричный ключ. Асимметричные алгоритмы вместе с криптографическими хеш-функциями образуют основу цифровой подписи, которая позволяет аутентифицировать отправителя и проверить целостность сообщения.

Предварительные ключи и цифровые подписи наиболее распространенные методы аутентификации IKE. Предварительные ключи предоставляют простой и эффективный способ быстрой настройки аутентификации с небольшими накладными расходами. Однако, у этого метода есть свои недостатки.

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

Примечание

Следует использовать предварительные ключи только в малых сетях с низким уровнем опасности.

Аутентификация на основе асимметричных криптографических алгоритмов#

Асимметричная криптография, также известная как криптография с открытым ключом, использует класс алгоритмов, в котором применяется пара ключей: открытый ключ и секретный (закрытый) ключ, известный только его владельцу. В отличие от секретного ключа, который должен сохраняться в тайне, открытый ключ может быть общедоступным. Открытый и секретный ключ генерируются одновременно, и данные, зашифрованные одним ключом, могут быть расшифрованы при помощи другого ключа.

Криптография с открытым ключом используется при формировании и проверке ЭЦП, а также для решения проблемы безопасного распределения ключей. Одно из применений ЭЦП — аутентификация субъекта. Секретный ключ применяется для подписания данных, а открытый ключ для их проверки. Единственно известный способ получить корректную подпись — использовать секретный ключ. В целях повышения производительности подписывается не все сообщение, а его дайджест (хеш-значение). Таким образом, ЭЦП сообщения — это дайджест сообщения, зашифрованный секретным ключом, он пересылается вместе с сообщением и удостоверяет целостность сообщения и подлинность его отправителя.

Для выработки ЭЦП необходимо сгенерировать открытый и секретный ключи. Затем секретный ключ и сообщение используются как входная информация для функции генерации цифровой подписи. После того как другой пользователь получает сообщение, он использует само сообщение, связанную с ним цифровую подпись и открытый ключ для верификации (проверки) подписи. Верификация ЭЦП сообщения заключается в вычислении значения дайджеста полученного сообщения, и его сравнения со значением дайджеста в подписи, расшифрованной открытым ключом отправителя. Если значения, вычисленное получателем и сохраненного в подписи, совпадают, то считается что подпись верна, а сообщение было отправлено именно заявленным отправителем.

Особенно важным моментом при использовании схемы ЭЦП является связывание открытого ключа и субъекта, которому он принадлежит. Проблема связывания открытого ключа и субъекта может решаться разными способами, один из которых использование инфраструктуры открытых ключей (PKI) и сертификатов стандарта X.509.

Основные компоненты PKI#

Инфраструктура открытых ключей представляет собой комплексную систему, обеспечивающую все необходимые сервисы для использования технологии открытых ключей. Неотъемлемым компонентом инфраструктуры открытых ключей является удостоверяющий центр. Непосредственное использование открытых ключей требует дополнительной их защиты и идентификации для определения связи с секретным ключом. Электронный сертификат представляет собой цифровой документ, который связывает открытый ключ с его владельцем. Для заверения электронного сертификата используется электронная цифровая подпись удостоверяющего центра (УЦ). УЦ включает свое имя в каждый выпущенный им сертификат и подписывает их при помощи собственного секретного ключа. Конечные субъекты идентифицируют сертификаты по имени УЦ, и могут убедиться в их подлинности, используя его открытый ключ.

Удостоверяющий центр выполняет следующие основные функции:

  • формирует собственный секретный ключ и самоподписанный сертификат;
  • выпускает сертификаты сервера и клиентов;
  • ведет базу данных всех изданных сертификатов и формирует список аннулированных сертификатов;
  • публикует информацию о статусе сертификатов.

Инфраструктура открытых ключей позволяет генерировать пары ключей (открытый ключ/секретный ключ). Генерация ключей может осуществляться централизованно (удостоверяющим центром) или индивидуально (конечным субъектом). В том случае если генерация ключей осуществляется конечными пользователями, они должны иметь соответствующие программные или аппаратные средства для создания надежных ключей. В том случае если пользователь не предъявляет достаточных мер для защиты своих секретных ключей, инфраструктура PKI подвергается серьезному риску.

Ключевые пары должны быть сгенерированы как для сервера VPN, так и для клиентов VPN. При установлении защищенного соединения в обязательном порядке производится аутентификация сервера VPN. Это делается для того, чтобы клиент мог быть уверен, что соединение установлено именно с тем сервером, с которым планируется обмен информацией, а не с каким-либо другим компьютером, выдающим себя за сервер.

К преимуществам централизованной генерации можно отнести быстроту создания ключей, использование специализированных средств генерации высококачественных ключей, контроль соответствия алгоритмов генерации установленным стандартам, а также хранение резервных копий на случай их утери пользователями. В том случае если ключи генерируются централизованно, они должны транспортироваться пользователям только через безопасные каналы связи.

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

Формат сертификата определен в рекомендациях Международного союза по телекоммуникациям ITU (X.509), в настоящее время основным используемым форматом является формат версии 3.

Сертификат представляет собой структурированную двоичную запись, содержащую элементы данных, сопровождаемые цифровой подписью издателя сертификата. В сертификате имеется десять основных полей: шесть обязательных и четыре опциональных. К обязательным полям относятся:

  • серийный номер сертификата Certificate Serial Number;
  • идентификатор алгоритма подписи Signature Algorithm Identifier;
  • имя издателя Issuer Name;
  • период действия Validity (Not before / After);
  • открытый ключ субъекта Subject Public Key Information;
  • имя субъекта сертификата Subject Name.

В данном случае под субъектом понимается сторона, контролирующая секретный ключ, соответствующий данному открытому ключу.

Поле Version задает синтаксис сертификата. Удостоверяющий центр, выпускающий сертификат, присваивает каждому сертификату серийный номер Certificate Serial Number, который должен быть уникален.

В поле Signature Algorithm Identifier указывается идентификатор алгоритма ЭЦП, который был использован для защиты сертификата. В поле Validity (Not Before/After) указываются даты начала и окончания периода действия сертификата.

Каждый раз при использовании сертификата проверяется, является ли сертификат действующим. Сертификаты, срок действия которых истек, должны аннулироваться удостоверяющим центром.

Группы Диффи-Хеллмана#

Схема ключевого обмена Диффи-Хеллмана используется для безопасного обмена ключами через незащищенный канал связи, например, через Интернет. Алгоритм ключевого обмена Диффи-Хеллмана был впервые опубликован в 1976 году Уитфилдом Диффи и Мартином Хеллманом.

Группы Диффи-Хелмана используются для определения длины основных простых чисел, используемых в процессе обмена ключами. Криптографическая надежность любого полученного ключа частично зависит от надежности группы Диффи-Хелмана, которая в свою очередь определяет длину используемых простых чисел. В исходной спецификации IKE определены четыре группы, называемые группами Диффи-Хеллмана или группами Oakley. Позже была определена пятая группа.

Numa Edge поддерживает следующие группы Диффи-Хеллмана:

  • Группа 2 (возведение в степень по модулю MODP). Для данной группы используется длина модуля 1024 бит.
  • Группа 5 (возведение в степень по модулю MODP). Для данной группы используется длина модуля 1536 бит.

Режимы IPSec#

IPSec, в общем случае, поддерживает два режима функционирования: агрессивный режим и основной режим.

Агрессивный режим#

Агрессивный режим был создан для того, чтобы уменьшить задержки во время первой фазы согласования, но он является уязвимым к атакам.

Основной режим#

Установка ISAKMP SA требует отправки и приема нескольких пакетов:

  • Первые два сообщения определяют политику взаимодействия.
  • Следующие два сообщения включают в себя обмен параметрами Диффи-Хеллмана.
  • Последние два сообщения используются для аутентификации обмена Диффи-Хеллмана.

Это стандартный способ установления соединения первой фазы, который называется основным режимом. Этот метод позволяет обеспечить наибольшую безопасность, так как сведения аутентификации не передаются до тех пор, пока не будет согласован обмен Диффи-Хеллмана и включено шифрование. Numa Edge поддерживает основной режим.

Полная безопасность пересылки#

При использовании PFS (perfect forward secrecy, полная безопасность пересылки), секретный ключ используется для генерации временных (сеансовых) ключей. Сеансовые ключи не зависят друг от друга и используются в течение короткого времени, затем отбрасываются. Таким образом, если ключ скомпрометирован, это не затронет ключи, используемые в дальнейшем, а данные, которые были защищены с использованием других ключей не смогут быть раскрыты.

PFS позволяет оптимизировать как эффективность, так и безопасность. Ключи ограниченного размера позволяют ускорить вычисления, но при этом они менее защищены. При использовании PFS, можно использовать ключи ограниченного размера и часто их заменять.

IPSec и QoS#

При использовании политик QoS работающих с маркерами поля ToS пакета IP, следует учитывать, что при инкапсуляции защищаемых туннелем IPSec пакетов в пакеты ESP и AH происходит копирование поля ToS инкапсулируемого пакета во внешний пакет IP. Тем самым, для защищённого IPSec трафика возможно применение тех же политик, что и для обычного.

В случае необходимости указания для пакетов ESP/AH конкретного значения DSCP (размещающегося в ToS) следует использовать политики модификации с фильтром для протоколов ESP и AH.

Фиксация изменений в настройке VPN#

Подключение IPSec VPN включает в себя множество компонентов, некоторые из которых зависят друг от друга. Например, настройка подключения VPN требует корректной настройки группы IKE, корректной настройки группы ESP и корректной настройки туннеля. При фиксации настройки VPN, Numa Edge осуществляет полную проверку настройки. Если какой-либо необходимый компонент отсутствует, или настроен некорректно, фиксацию настройки осуществить не удастся.

При настройке межфилиального режима IPSec VPN должны быть корректно настроены следующие компоненты:

  • Интерфейс должен быть заранее настроен, ему должен быть назначен IP-адрес.
  • Узел должен быть настроен.
  • Группа IKE, которая была указана в настройке узла, должна быть определена.
  • Туннель должен быть настроен.
  • Группа ESP, которая была указана в настройке туннеля, должна быть определена.
  • Локальный IP-адрес, указанный для данного узла, должен быть назначен требуемому интерфейсу.
  • Группа AH, которая была указана в настройке туннеля, должна быть определена.

В дополнение к этому, следует учесть, что изменение глобальных параметров требует перезапуска IPSec, после чего перезапускаются все туннели.

Добавление, изменение или удаление туннеля приводит к перезапуску только измененного туннеля. Изменение существующей группы IKE или группы ESP приводит к перезапуску туннеля, использующего эту группу. Изменение сведений аутентификации (предварительных ключей или электронной цифровой подписи) не влечет за собой перезапуска туннеля.