Найти в Дзене
sl nec

Готовимся к CCIE Enterprise - IPsec Fundamentals

Оглавление

IPsec - это структура открытых стандартов для создания высоконадежных виртуальных частных сетей (VPN) с использованием различных протоколов и технологий для безопасной связи через незащищенные сети, такие как Интернет. Туннели IPsec предоставляют сервисы безопасности, перечисленные в таблице ниже.

IPsec использует два разных заголовка пакета для предоставления услуг безопасности, упомянутых в таблице:

  • Authentication header
  • Encapsulating Security Payload (ESP)

Authentication Header обеспечивает целостность данных, аутентификацию и защиту от хакеров, использующих VPN пакеты. Authentication header гарантирует, что исходный пакет данных (до инкапсуляции) не был изменен во время транспортировки в публичной сети. Он создает цифровую подпись, аналогичную checksum , чтобы гарантировать, что пакет не был изменен. Используется номер протокола 51, расположенный в заголовке IP. Authentication header не поддерживает шифрование (конфиденциальность данных) и NAT traversal (NAT-T), и по этой причине его использование не рекомендуется, если только аутентификация не является единственной задачей.

Encapsulating Security Payload (ESP) обеспечивает конфиденциальность данных, аутентификацию и защиту от хакеров, использующих VPN пакеты. Обычно, полезная нагрузка пакета это фактические данные минус все заголовки. В контексте ESP полезная нагрузка - это часть исходного пакета, которая инкапсулирована в заголовках IPsec. ESP гарантирует конфиденциальность данных за счет шифрования исходной полезной нагрузки и добавления нового набора заголовков во время транспортировки по общедоступной сети. ESP использует номер протокола 50, расположенный в заголовке IP. В отличие от authentication header, ESP обеспечивает конфиденциальность данных и поддерживает NAT-T.

Традиционный IPsec предоставляет два режима передачи пакетов:

  1. Tunnel mode: Шифрует весь исходный пакет и добавляет новый набор заголовков IPsec. Эти новые заголовки используются для маршрутизации пакета, а также обеспечивают overlay функции.
  2. Transport mode: Шифрует и аутентифицирует только полезную нагрузку пакета. В этом режиме не предусмотрены overlay функции и маршруты на основе исходных заголовков IP.

На рисунке ниже показан исходный пакет, пакет IPsec в транспортном режиме и пакет IPsec в туннельном режиме.

-2

IPsec поддерживает следующие методы шифрования, хеширования и ключей для предоставления услуг безопасности:

  • Data Encryption Standard (DES): 56-битный симметричный алгоритм шифрования данных, который может шифровать данные, отправляемые через VPN. Этот алгоритм очень слабый, и его следует избегать.
  • Triple DES (3DES): Алгоритм шифрования данных, который трижды запускает алгоритм DES с тремя разными 56-битными ключами. Использование этого алгоритма больше не рекомендуется. Вместо этого следует использовать более продвинутый и более эффективный AES.
  • Advanced Encryption Standard (AES): Симметричный алгоритм шифрования, используемый для шифрования данных, который был разработан для замены DES и 3DES. AES поддерживает длину ключа 128, 192 или 256 бит и основан на алгоритме Rijndael.
  • Message Digest 5 (MD5): Односторонний 128-битный алгоритм хеширования, используемый для аутентификации данных. Устройства Cisco используют MD5 HMAC, что обеспечивает дополнительный уровень защиты от атак MitM. Использование этого алгоритма больше не рекомендуется, вместо него следует использовать SHA.
  • Secure Hash Algorithm (SHA): Односторонний 160-битный алгоритм хеширования, используемый для аутентификации данных. Устройства Cisco используют SHA-1 HMAC, который обеспечивает дополнительную защиту от атак MitM.
  • Diffie-Hellman (DH): Асимметричный протокол обмена ключами, который позволяет двум пирам установить общий секретный ключ, используемый алгоритмами шифрования, такими как AES, по незащищенному каналу связи. Группа DH - это относится к длине ключа (modulus size), используемой для обмена ключами DH. Например, группа 1 использует 768 бит, группа 2 использует 1024, а группа 5 использует 1536, где, чем больше модуль, тем более он безопасен. Целью DH является создание общих секретных симметричных ключей, которые используются двумя партнерами VPN для симметричных алгоритмов, таких как AES. Сам обмен DH является асимметричным и CPU-затратным, и в результате генерируются общие секретные ключи симметрично.
  • RSA signatures: Криптографическая система с открытым ключом (цифровыми сертификатами), используемая для взаимной аутентификации пиров.
  • Pre-Shared Key: Механизм безопасности, в котором локально настроенный ключ используется в качестве учетных данных для взаимной аутентификации пиров.

Transform Sets - это комбинация протоколов и алгоритмов безопасности. Во время согласования IPsec SA пиры соглашаются использовать определенный набор преобразований для защиты определенного потока данных. Когда такой набор преобразований найден, он выбирается и применяется к SA IPsec на обоих пирах. Ниже показаны допустимые комбинации наборов преобразований.

-3
-4

NOTE Authentication header и ESP алгоритмы не могут быть указаны для одинаковых преобразований в transform set в Cisco IOS XE

Internet Key Exchange

Internet Key Exchange (IKE) - это протокол, который выполняет аутентификацию между двумя конечными точками для установления security associations (SA), также известных как IKE tunnels. Эти security associations или туннели используются для передачи control plane and data plane трафика для IPsec. Существует две версии IKE: IKEv1 (указано в RFC 2409) и IKEv2 (указано в RFC 7296). IKEv2 был разработан для преодоления ограничений IKEv1 и предлагает множество улучшений по сравнению с реализацией IKEv1. Например, он поддерживает EAP (аутентификацию на основе сертификатов), имеет возможности защиты от DoS и требует меньше сообщений для установления IPsec SA. Понимание IKEv1 по-прежнему важно, поскольку некоторые устаревшие инфраструктуры еще не перешли на IKEv2 или имеют устройства или функций, которые не поддерживают IKEv2.

IKEv1

Internet Security Association Key Management Protocol (ISAKMP) - это framework для аутентификации и обмена ключами между двумя пирами для установления, изменения и разрыва SA. Он разработан для поддержки множества различных видов обмена ключами. ISAKMP использует порт 500 UDP для связи между пирами.

IKE - это реализация ISAKMP с использованием методов обмена ключами Oakley и Skeme. Oakley обеспечивает perfect forward secrecy (PFS) для ключей, защиты идентичности и аутентификации; Skeme обеспечивает анонимность, отказоустойчивость и быстрое обновление ключей. Для платформ Cisco IKE аналогичен ISAKMP, и эти два термина используются как синонимы.

IKEv1 определяет две фазы согласования ключей для установления IKE и IPsec SA:

  1. Phase 1: Устанавливает двунаправленную SA между двумя пирами IKE, известную как ISAKMP SA. Поскольку SA является двунаправленной, как только она установлена, любой пир может инициировать переговоры для фазы 2.
  2. Phase 2: Устанавливает однонаправленные SA IPsec, используя ISAKMP SA, установленную на этапе 1 для согласования.

Согласование фазы 1 может происходить в main mode (MM) или в aggressive mode (AM). Пир, который инициирует процесс согласования SA, известен как initiator, а другой пир известен как responder.

Main mode состоит из шести обменов сообщениями и пытается защитить всю информацию во время переговоров от подслушивания:

MM1: Это первое сообщение, которое initiator отправляет responder-у. Предлагается одно или несколько вариантов SA, и responder должен соответствовать одному из них, чтобы эта фаза прошла успешно. Предложенные варианты SA включают различные комбинации следующего:

  • Hash algorithm: MD5 or SHA
  • Encryption algorithm: DES (плохой вариант), 3DES (лучше но не рекомендуется) или AES (наилучший вариант)
  • Authentication method: Pre-Shared Key or digital certificates
  • Diffie-Hellman (DH) group: Group 1, 2, 5, и т.д
  • Lifetime: параметр, который показывает как долго будет действительна IKE Phase 1, после чего тоннель будет разрушен (по умолчанию 24 часа). Это единственный параметр, который не обязательно должен точно совпадать с другим пиром, чтобы быть принятым. Если lifetime отличается, пиры соглашаются использовать наименьшее значение lifetime.

MM2: Это сообщение отправляет responder initiator-у с предложением SA, которому он соответствует.

MM3: В этом сообщении initiator запускает обмен ключами DH. Это основано на DH group.

MM4: Responder отправляет initiator-у свой ключ. На этом этапе ключи шифрования стали общими, шифрование для для ISAKMP SA установлено.

MM5: Initiator запускает аутентификацию, отправляя пиру его IP-адрес.

MM6: Responder отправляет аналогичный пакет и аутентифицирует сеанс. На этом этапе ISAKMP SA установлено.

Когда используется main mode, идентификаторы двух пиров IKE скрыты. Хотя этот режим работы абсолютно безопасен, для завершения согласования требуется больше времени, чем в aggressive mode.

Aggressive mode состоит из обмена тремя сообщениями и требует меньше времени для согласования ключей между пирами; однако он не обеспечивает такой же уровень безопасности шифрования, как в main mode. Это три сообщения агрессивного режима:

  1. AM1: В этом сообщении initiator отправляет всю информацию, содержащуюся в MM1, MM3 и MM5.
  2. AM2: Это сообщение отправляет ту же информацию, которая содержится в MM2, MM4 и MM6.
  3. AM3: Это сообщение отправляет аутентификацию, содержащуюся в MM5.

Main mode медленнее, чем aggressive mode. Но main mode более безопасен и гибок, поскольку он может предложить пиру IKE больше предложений по безопасности, чем aggressive mode. Aggressive mode менее гибкий и менее безопасный, но он намного быстрее.

Фаза 2 использует существующую двунаправленную IKE SA для безопасного обмена сообщениями и установления одной или нескольких SA IPsec между двумя пирами. В отличие от IKE SA, которая представляет собой единую двунаправленную SA, одно согласование IPsec SA приводит к двум однонаправленным SA IPsec, по одной на каждом пире. Метод, используемый для установки IPsec SA, известен как quick mode. B quick mode используется обмен тремя сообщениями:

  1. QM1: Initiator (которым может быть любой пир) может запускать несколько IPsec SAs в одном сообщении. Это сообщение включает согласованные алгоритмы шифрования и целостности, определенные на этапе 1, а также информацию о трафике, который должен быть зашифрован или защищен.
  2. QM2: Это сообщение от responder, которое сообщает совпадающие параметры IPsec.
  3. QM3: После этого сообщения должно образоваться два однонаправленных IPsec SAs между двумя пирами.

Perfect Forward Secrecy (PFS) - это дополнительная функция для фазы 2. Она не является обязательной, поскольку требует дополнительных обменов DH, что нагружает CPU. Цель этой функции - повысить устойчивость к криптоатакам и сохранить конфиденциальность туннелей IPsec путем получения ключей сеанса независимо от любого предыдущего ключа. Таким образом, скомпрометированный ключ не повредит будущим ключам.

В результате для установления IPsec SA между двумя пирами требуется следующее количество сообщений:

  • Main mode использует шесть сообщений, и quick mode использует три, всего девять сообщений.
  • Aggressive mode использует три сообщения, и quick mode использует три, всего шесть сообщений.

IKEv2

IKEv2 - это эволюция IKEv1, которая включает множество изменений и улучшений. Они упрощают его и делают более эффективным. Одно из основных изменений связано со способом установления SA. В IKEv2 обмен данными состоит из пар запроса/ответа (request/response).

Первый обмен, IKE_SA_INIT, согласовывает криптографические алгоритмы и выполняет обмен Диффи-Хеллмана. Это эквивалентно первым двум парам сообщений от MM1 до MM4 IKEv1, но выполняется как одна пара request/response.

Второй обмен, IKE_AUTH, аутентифицирует предыдущие сообщения и обменивается идентификаторами и сертификатами. Затем он устанавливает IKE SA и дочернюю SA (IPsec SA). Это эквивалентно IKEv1 от MM5 до MM6, а также QM1 и QM2, но выполняется как одна пара request/response.

Всего требуется четыре сообщения, чтобы вызвать двунаправленную IKE SA и однонаправленную SA IPsec, в отличие от шести в aggressive mode IKEv1 или девяти в main mode.

Если в IKEv2 требуются дополнительные сопоставления безопасности IPsec, он использует только два сообщения (пара request/response) с параметрами CREATE_CHILD_SA, тогда как IKEv1 потребует трех сообщений с quick mode.

Поскольку обмены SA IKEv2 полностью отличаются от обменов IKEv1, они несовместимы друг с другом.

В таблице ниже показаны некоторые основные различия между IKEv1 и IKEv2.

-5
-6

NOTE Дополнительные сведения о различиях между IKEv1 и IKEv2 см. В RFC 7296.

Ниже приведены дополнительные сведения о некоторых новых изменениях и улучшениях IKEv2, упомянутых в таблице выше:

  • Increased efficiency: Обмены реструктурированы, чтобы стать легче, поэтому для установления SA требуется меньше обменов и меньшая пропускная способность по сравнению с использованием IKEv1.
  • Elliptic Curve Digital Signature Algorithm (ECDSA-SIG): Это более новая альтернатива открытым ключам, более эффективная. Он был представлен в IKEv1 поздно, как часть RFC 4754, и не получил там большого признания, но широко используется с IKEv2. По этой причине он не включен в таблицу выше как метод аутентификации для IKEv1.
  • Extensible Authentication Protocol (EAP): Добавление EAP сделало IKEv2 идеальным решение для remote-access VPNs.
  • Next generation encryption (NGE): Угрозы безопасности, а также криптография для противодействия этим угрозам постоянно развиваются. Старые криптографические алгоритмы и размеры ключей больше не обеспечивают адекватной защиты от современных угроз безопасности и должны быть заменены. Алгоритмы Next generation encryption (NGE) предлагают лучшие технологии для перспективной криптографии. Они будут отвечать требованиям безопасности и масштабируемости следующие пару десятилетий.
  • Asymmetric authentication: IKEv2 удаляет требование согласовывать метод аутентификации и вводит возможность указывать метод аутентификации в обмене IKE_AUTH. В результате каждый пир может выбрать свой метод аутентификации. Возможность использовать пирами разные методы аутентификации позволяет использовать асимметричную аутентификацию.
  • Anti-DoS: IKEv2 определяет, подвергается ли маршрутизатор IPsec атаке, и предотвращает потребление ресурсов.

IPsec VPNs

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

Таблица ниже включает доступные в настоящее время решения безопасности IPsec VPN, каждое из которых имеет преимущества и настроено в соответствии с конкретными требованиями развертывания.

-7
-8

Site-to-Site (LAN-to-LAN) IPsec VPNs

Site-to-site IPsec VPNs являются наиболее универсальным решением для site-to-site шифрования, поскольку обеспечивается совместимость с различными поставщиками. Однако в больших сетях ими очень сложно управлять.

Cisco Dynamic Multipoint VPN (DMVPN)

Упрощает настройку для hub-and-spoke и spoke-to-spoke VPNs. Это достигается путем объединения multipoint GRE (mGRE) тоннелей, IPsec и Next Hop Resolution Protocol (NHRP).

Cisco Group Encrypted Transport VPN (GET VPN)

Разработан специально для крупных предприятий для создания сетей VPN без туннелей "any-to-any" (где используется исходный IP-заголовок) в сетях MPLS провайдера или частных глобальных сетях. Это не влияет на какие-либо существующие службы частной сети WAN MPLS (такие как multicast и QoS).

Cisco FlexVPN

FlexVPN - это реализация Cisco стандарта IKEv2, представляющая собой унифицированное решение VPN, которое сочетает в себе топологии site-to-site, remote access, hub-and-spoke и частично meshes (spoke-to-spoke direct). FlexVPN предлагает простую, но модульную структуру, которая широко использует интерфейсы виртуального доступа, оставаясь при этом совместимой с устаревшими реализациями VPN с использованием crypto maps.

Remote VPN Access

Удаленный доступ позволяет удаленным пользователям безопасно подключаться к корпоративной сети через VPN. Он поддерживается на IOS с FlexVPN (только IKEv2) и на межсетевых экранах ASA 5500-X и FirePOWER.

Site-to-Site IPsec Configuration

Конфигурации GRE позволяет передавать трафик между частными сайтами через Интернет. Но GRE не предлагает услуг шифрования, аутентификации или связанных с ними служб безопасности, поэтому он очень уязвим для атак. Одно из решений - зашифровать трафик, проходящий через туннель GRE, с помощью IPsec. В следующих разделах описывается настройка и проверка решений IPsec для межсетевых соединений (также известных как LAN-to-LAN):

  • Site-to-site GRE over IPsec with Pre-Shared Key
  • Site-to-site static virtual tunnel interfaces (VTIs) over IPsec with Pre-Shared Key

VTI over IPsec инкапсулирует трафик IPv4 или IPv6 без необходимости в дополнительном заголовке GRE, тогда как GRE over IPsec сначала инкапсулирует трафик в GRE и новый заголовок IP, а затем инкапсулирует результирующий пакет GRE/IP в транспортном режиме IPsec. На рисунке ниже показано сравнение инкапсуляции пакетов GRE и туннельного режима IPsec с VTI.

-9

Site-to-Site GRE over IPsec

Существует два разных способа шифрования трафика через туннель GRE:

  1. Использование crypto maps
  2. Использование tunnel IPsec profiles

Crypto maps не следует использовать для защиты туннелей, потому что они имеют множество ограничений, которые устраняются с помощью IPsec profiles, включая следующие:

  • Crypto maps не могут изначально поддерживать использование MPLS.
  • Конфигурация значительно усложняется.
  • В Crypto ACLs постоянно случаются ошибки.
  • Записи Crypto ACL значительно задействуют место в TCAM .

Несмотря на то, что crypto maps больше не рекомендуются для туннелей, они по-прежнему широко используются, и их следует понимать.

Чтобы включить IPsec over GRE с использованием crypto maps, выполните следующие действия:

  • Step 1. Настройте crypto ACL для классификации VPN-трафика с помощью следующих команд:
ip access-list extended acl_name
permit gre host
{tunnel-source IP} host {tunnel destination IP}

Этот access list определяет трафик, который необходимо защитить с помощью IPsec.

  • Step 2. Настройте политику ISAKMP для IKE SA с помощью команды crypto isakmp policy priority. В режиме настройки политики ISAKMP шифрование, хэш, аутентификация и группа DH можно указать с помощью следующих команд:
encryption {des | 3des | aes | aes 192 | aes 256}
hash {sha | sha256 | sha384 | md5}
authentication {rsa-sig | rsa-encr | pre-share}
group {1 | 2 | 5 | 14 | 15 | 16 | 19 | 20 | 24}

Команда priority однозначно идентифицирует политику IKE и присваивает ей приоритет, где 1 - наивысший приоритет.

Алгоритмы шифрования DES и 3DES больше не рекомендуются. DES - используемое по умолчанию шифрование, поэтому рекомендуется выбрать один из алгоритмов шифрования AES.

Хеш MD5 больше не рекомендуется. По умолчанию - SHA.

Аутентификация позволяет использовать открытые ключи (rsa-encr), цифровые сертификаты (rsa-sig) или PSK (pre-share).

Команда group указывает группу DH, где 1 - значение по умолчанию. Рекомендуется выбрать одну из групп DH выше 14. Доступны следующие группы DH:

1: 768-bit DH (больше не рекомендуется)
2:
1024-bit DH (больше не рекомендуется)
5:
1536-bit DH (больше не рекомендуется)
14:
The 2048-bit DH group
15:
The 3072-bit DH group
16:
The 4096-bit DH group
19:
The 256-bit ECDH group
20:
384-bit ECDH group
24:
The 2048-bit DH/DSA group

  • Step 3. Настройте PSK с помощью команды crypto isakmp key keystring address peer-address [mask] . Keystring должна быть одинаковой на обоих пирах. Для адреса [маска] пира можно использовать значение 0.0.0.0 0.0.0.0, чтобы разрешить сопоставление с любым пиром.
  • Step 4. Создайте transform set и войдите в режим конфигурации transform set с помощью команды crypto ipsec transform-set transform-set-name transform1 [transform2 [transform3]]. В режиме настройки transform set введите команду mode [tunnel | transport] , чтобы указать режим tunnel or transport. Во время согласования SA IPsec пиры соглашаются использовать определенный набор преобразований для защиты определенного потока данных. Mode указывает на тип тоннеля IPSEC, туннельный или транспортный.
  • Step 5. Настройте crypto map и войдите в режим конфигурации crypto map, используя команду crypto map map-name seq-num [ipsec-isakmp]. В режиме конфигурации crypto map используйте следующие команды, чтобы указать crypto ACL, IPsec peer и transform sets для согласования:
match address acl-name
set peer
{hostname | ip-address}
set transform-set
transform-set-name1 [transform-setname2...transform-set-name6]

acl-name это crypto ACL, определенный на шаге 1. Он выделяет трафик, который должен быть защищен IPsec. Команда set peer может повторяться для нескольких удаленных пиров. Команда set transform-set определяет наборы преобразований, подлежащие согласованию. Перечислите несколько transform sets в порядке приоритета (сначала наивысший приоритет).

  • Step 6. Примените crypto map к внешнему интерфейсу с помощью команды crypto map map-name.

Чтобы включить IPsec поверх GRE с использованием профилей IPsec, выполните следующие действия:

  • Step 1. Настройте политику ISAKMP для IKE SA, введя команду crypto isakmp policy priority. В режиме настройки политики ISAKMP настраиваем шифрование, хэш, аутентификация и группа DH с помощью следующих команд:
encryption {des | 3des | aes | aes 192 | aes 256}
hash {sha | sha256 | sha384 | md5}
authentication {rsa-sig | rsa-encr | pre-share}
group {1 | 2 | 5 | 14 | 15 | 16 | 19 | 20 | 24}

  • Step 2. Настройте PSK с помощью команды crypto isakmp keystring address peer-address [mask]. Keystring должна совпадать на обоих пирах.
  • Step 3. Создать transform set и войти в режиме конфигурации используйте команду crypto ipsec transform-set transform-set-name transform1 [transform2[transform3]]. В режиме конфигурации transform-set введите команду mode [tunnel | transport] для указания tunnel или transport modes. Во время согласования SA IPsec пиры соглашаются использовать определенный набор преобразований для защиты определенного потока данных. mode указывает что режим IPsec tunnel может быть tunnel или transport. Чтобы избежать двойной инкапсуляции (из GRE и IPsec), следует выбрать транспортный режим.
  • Step 4. Создайте профиль IPsec и войдите в режим конфигурации профиля IPsec, введя команду crypto ipsec profile ipsec-profile-name. В режиме конфигурации профиля IPsec укажите transform sets, которые должны быть согласованы. Делается это с помощью команды set transform-set transform-set-name [transform-set-name2...transform-setname6]. Перечислите несколько transform sets в порядке приоритета (сначала наивысший приоритет).
  • Step 5. Примените профиль IPsec к туннельному интерфейсу с помощью команды tunnel protection ipsec profile profile-name.

На картинке ниже показан пример конфигурации site-to-site IPsec tunnel используя GRE over IPsec with Pre-Shared Key. R1 настроен для IPsec over GRE с использованием crypto maps, а R2 настроен для IPsec over GRE с использованием профилей. Использовались шаги настройки представленные выше. Для простоты понимания частей синтаксиса ориентируйтесь на цвет.

-10
-11
-12
-13

В примере ниже показаны команды для проверки работоспособности туннеля GRE IPsec между R1 и R2 и показано, как crypto maps и IPsec profile параметры конфигурации совместимы друг с другом.

-14
-15

Site-to-Site VTI over IPsec

Шаги по настройке VTI over IPsec очень похожи на шаги для настройки GRE over IPsec с использованием IPsec profiles. Единственное отличие состоит в добавлении команды tunnel mode ipsec {ipv4 | ipv6} под туннельным интерфейсом GRE, чтобы включить на нем VTI и изменить режим передачи пакетов на tunnel mode. Вернуться к GRE через IPsec можно командой tunnel mode gre {ip | ipv6}

В примере ниже показан пример изменений конфигурации, которые необходимо внести в конфигурацию GRE over IPsec, чтобы включить VTI over IPsec.

-16
-17

В примере ниже показаны команды проверки, чтобы убедиться, что туннель VTI IPsec между R1 и R2 работает.

-18
-19