[NetWork] IPSec VPN
[NetWork] IPSec VPN

Обзор IP-безопасности

IPsec > IP Security Это механизм или система безопасности сетевого уровня. Обеспечьте безопасность с помощью различных механизмов и протоколов. IPsec позволяет: <code>1. контроль доступа</code> <code>2. Конфиденциальность</code> <code>3. честность</code> <code>4. Проверка источника данных</code> <code>5. Отклонить воспроизведение сообщения</code> и другие функции безопасности Он может представить различные алгоритмы проверки, алгоритмы шифрования и механизмы управления ключами. IPSec VPN использует IPsec Туннелирование L3 VPN IPSec также имеет недостатки: сложная конфигурация, потребление большого количества вычислительных ресурсов, увеличение задержки и отсутствие поддержки многоадресной рассылки.

Режим работы IPsec

Режим работы IPsec делится на два типа [Режим передачи]: Режим передачи реализует только функции сквозной защиты. VPN-туннель не установлен

[Туннельный режим]: в туннельном режиме мы отвечаем не только за сквозную защиту, но и устанавливаем VPN-туннели.

PS: Функции IPSec не ограничиваются VPN, VPN — лишь одна из многих его функций.

протокол безопасности IPSec

Эта функция в основном используется для защиты данных [AH]

Authentication Header > Протокол проверки заголовка сообщения IP-протокол номер 51 Обеспечить проверку целостности данных и проверку источника Может обеспечить ограниченное сопротивление повторному воспроизведению Невозможно обеспечить функцию шифрования данных Через NAT невозможно проникнуть. NAT изменит IP-адрес пакета данных, а AH пересчитает проверочное значение для всего сеанса, что приведет к другому проверочному значению для данных, полученных другой стороной.

【ESP】

Инкапсуляция полезных данных безопасности, также называемая инкапсуляцией полезных данных безопасности IP-протокола номер 50, может обеспечивать гарантию конфиденциальности данных, проверку целостности данных и проверку источника, может обеспечивать определенные возможности предотвращения повторного воспроизведения, а также может поддерживать проникновение NAT, нового IP-заголовка ESP Force. Выполнить проверку. , поэтому NAT не повлияет на результат проверки после изменения заголовка данных. В реальных ситуациях в основном используется ESP.

IPSec SA

Также называемый IPSec Security Alliance, он определяет набор решений для защиты определенных потоков данных, который включает в себя протоколы защиты, алгоритмы и ключи. [Источник]: ручная настройка и согласование IKE [Управление ключами]: ручная настройка ключей Ключи согласования IKE

IKE

протокол обмена сетевыми ключами Используется для защиты передачи ключей и автоматического согласования ключей. использовать<code>Diffie-Hellman</code>Безопасное распространение ключей и проверка личности в незащищенных сетях Регулярно обновляйте SA и ключи для достижения полной безопасности. Эффективно снижает сложность ручного развертывания. Работает на UDP-порту 500.

Связь между IKE и IPSec

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

Процесс установления туннеля IPSec

[Фаза 1] Согласование IKE SA Согласование плана защиты для второй фазы [Фаза 2] Согласование IPsec SA Согласование плана защиты передачи данных под защитой IKE SA

Рабочий процесс IPsec

> Порядок обработки исходящих пакетов

База данных политики безопасности SPD записывает, какой IPsec SA следует вызывать для защиты пакетов данных с этими адресами назначения.

  1. Сначала пакет поступает на выходной интерфейс и ищет политику IPSec.
  2. Найдите соответствующий IPsec SA в соответствии с политикой IPSec. Если он найден, будет запущена соответствующая служба безопасности. Если он не найден, будет выполнен поиск IKE SA.
  3. Найдите IKE SA. Если он найден, создайте IPSec SA под защитой IKE SA и выполните службы безопасности. Если он не найден, создайте IKE SA.
  4. После создания IKE SA создайте IPSec SA и выполняйте услуги безопасности под защитой IKE SA.

> Порядок обработки входящих пакетов

  1. После того, как пакет данных поступит на входящий интерфейс, проверьте, защищены ли данные IPSec.
  2. Если защищено, найдите соответствующий IPSec SA.
  3. Если он не найден, то он будет передан непосредственно на верхний уровень для обработки.
  4. Найдите IPSec SA
  5. Если не найден, отбросьте пакет
  6. Если обнаружено, используйте IPSec SA для декапсуляции и получения исходных данных.

Одноэтапный режим IKE

> основной режим Main Mode

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

> жестокий режим Aggressive Mode

Используя трехстороннее рукопожатие, быстрее Информация о личности передается в ходе рукопожатий 1 и 2, жестокий режим Только шифрование На одном конце третьего рукопожатия не обязательно должен быть фиксированный общедоступный IP-адрес. Обе стороны используют полное доменное имя для идентификации другого конца. Переговоры должны быть активно инициированы в конце с незафиксированным IP-адресом.

Двухэтапная модель IPSec

> Быстрый режим

Всего будет согласовано два IPSec. SA <code>исходящий IPSec SA</code> <code>входящий IPSec SA</code>

Проникновение NAT

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

IPsec VPN-порт

UDP 500 для определения того, что проникновение NAT не используется. UDP 4500 для определения того, что проникновение NAT используется.

Режим развертывания IPSec VPN

Всего существует два режима развертывания.

> Развертывание руки

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

> Развертывание одной руки

Это также означает, что при развертывании VPN в интрасети необходимо настроить сопоставление портов на выходном устройстве общедоступной сети с устройством VPN, чтобы снизить потребление ресурсов и нагрузку на производительность выходного устройства общедоступной сети.

Конфигурация IPSec VPN

> Процесс настройки активного режима

  • ===Одноступенчатая конфигурация===
  • Сначала создайте интересующий поток, настройте адреса источника и назначения ACL и сопоставьте частные адреса обоих концов.
  • Создайте IKE Proposal (предложение), настройте метод шифрования IKE, алгоритм проверки и метод проверки.
  • Создайте секретный ключ конфигурации и используйте адрес общедоступной сети для идентификации другой стороны.
  • Создайте профиль IKE, вызовите предложение и связку ключей, созданные ранее, и укажите общедоступный IP-адрес узла.
  • ===Конфигурация второго этапа===
  • Создайте набор преобразования IPSec, настройте режим работы IPSec, протокол инкапсуляции, алгоритмы аутентификации и шифрования.
  • Создайте политику IPSec для вызова ранее созданного потока интересов, профиля IKE и набора преобразований IPsec.
  • Наконец, задайте политику IPsec для порта общедоступной сети.

[Одноэтапная конфигурация]

Язык кода:javascript
копировать
/*&#x4E3B;&#x52A8;&#x6A21;&#x5F0F;&#x914D;&#x7F6E;&#x6D41;&#x7A0B;*/
/*&#x4E00;&#x9636;&#x6BB5;&#x914D;&#x7F6E;*/
acl advance [id] 
/*&#x521B;&#x5EFA;&#x9AD8;&#x7EA7;ACL*/
rule 1 permit source [ip-address] [wild-mask] destination [ip-address] [wild-mask]
/*&#x5339;&#x914D;&#x6E90;&#x5730;&#x5740;&#x4E3A;address&#x3001;&#x76EE;&#x7684;&#x5730;&#x5740;&#x4E3A;address&#x7684;&#x6570;&#x636E;&#x5305;*/
/*&#x8FD9;&#x91CC;&#x4E0D;&#x9700;&#x8981;&#x914D;&#x7F6E;permit any &#x534E;&#x4E09;&#x5728;&#x7528;&#x4E8E;&#x5305;&#x8FC7;&#x6EE4;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x7B56;&#x7565;&#x9ED8;&#x8BA4;&#x662F;permit*/
/*&#x8FD9;&#x4E00;&#x4E2A;&#x6B65;&#x9AA4;&#x5C31;&#x662F;&#x5728;&#x521B;&#x5EFA;&#x6211;&#x4EEC;&#x7684;&#x611F;&#x5174;&#x8DA3;&#x6D41;*/
[Router] ike proposal [number]
/*&#x521B;&#x5EFA;&#x6211;&#x4EEC;&#x7684;IKE Proposal &#x5B89;&#x5168;&#x63D0;&#x8BAE;*/
[Router-ike-proposal-[id]] encryption-algorithm [3des-cbc / aes-cbc-128 / aes-cbc-192 / aes-cbc-256 / des-cbc]
/*&#x8BBE;&#x7F6E;IKE&#x5B89;&#x5168;&#x63D0;&#x8BAE;&#x4E2D;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x52A0;&#x5BC6;&#x7B97;&#x6CD5;*/
[Router-ike-proposal-[id]]authentication-method [dsa-signature / pre-share / rsa-signature]
/*&#x8BBE;&#x7F6E;IKE&#x5B89;&#x5168;&#x63D0;&#x8BAE;&#x4E2D;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x9A8C;&#x8BC1;&#x65B9;&#x6CD5;*/
[Router-ike-proposal-[id]] authentication-algrithm [md5 / sha]
/*&#x914D;&#x7F6E;IKE&#x5B89;&#x5168;&#x63D0;&#x8BAE;&#x4E2D;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x9A8C;&#x8BC1;&#x7B97;&#x6CD5;*/
[Router-ike-proposal-[id]] dh [group-id]
/*&#x521B;&#x5EFA;IKE&#x9636;&#x6BB5;1&#x5BC6;&#x94A5;&#x534F;&#x5546;&#x65F6;&#x641C;&#x4F7F;&#x7528;&#x7684;DH&#x4EA4;&#x6362;&#x7EC4;&#x3010;&#x53EF;&#x7565;&#x3011;*/
[Router-ike-proposal-[id]] sa duration [seconds]
/*&#x914D;&#x7F6E;IKE&#x5B89;&#x5168;&#x63D0;&#x8BAE;&#x7684;SA&#x751F;&#x5B58;&#x5468;&#x671F;&#x3010;&#x53EF;&#x7565;&#x3011;*/
[Router] ike keychain [name]
/*&#x521B;&#x5EFA;IKE keychain*/
[Router-ike-keychain-[name]]pre-shared-key [address [ip-address] / hostname [hostname] key [cipher / simple [password]]]
/*&#x914D;&#x7F6E;KIE keychain&#x7684;&#x9884;&#x5171;&#x4EAB;&#x5BC6;&#x94A5;&#xFF0C;&#x662F;&#x516C;&#x7F51;&#x5730;&#x5740;&#xFF08;ip-address&#xFF09;&#x6A21;&#x5F0F;&#x8FD8;&#x662F;&#x4E3B;&#x673A;&#x540D;&#xFF08;hostname&#xFF09;&#x6A21;&#x5F0F;*/
[Router-ike-keychain-[name]]match local address [interface range / ip-address] vpn-instance [vpn-name]
/*&#x914D;&#x7F6E;IKE keychain&#x7684;&#x4F7F;&#x7528;&#x8303;&#x56F4;&#x3010;&#x53EF;&#x7565;&#x3011;*/
[Router] ike identiy [address [ip-address] dh / fqdn [fqdn-name] user-fqdn [user-fqdn-name]]
/*&#x914D;&#x7F6E;&#x672C;&#x7AEF;&#x7684;&#x8EAB;&#x4EFD;&#x4FE1;&#x606F;*/
[Router] ike profile [name]
/*&#x521B;&#x5EFA;&#x4E00;&#x4E2A;IKE  Profile &#x6863;&#x6848;*/
[Router-profile-[name]]exchange-mode [aggressive / main]
/*&#x914D;&#x7F6E;IKE&#x7B2C;&#x4E00;&#x9636;&#x6BB5;&#x7684;&#x534F;&#x5546;&#x6A21;&#x5F0F;*/
[Router-profile-[name]]keychain [keychain-name]
/*&#x914D;&#x7F6E;IKE&#x8C03;&#x7528;&#x524D;&#x9762;&#x914D;&#x7F6E;&#x7684;keychain&#x9884;&#x5171;&#x4EAB;&#x5BC6;&#x94A5;*/
[Router-profile-[name]]proposal [proposal-number]
/*&#x914D;&#x7F6E;IKE&#x8C03;&#x7528;&#x524D;&#x9762;&#x914D;&#x7F6E;&#x7684;proposal&#x63D0;&#x8BAE;&#xFF0C;&#x91CC;&#x9762;&#x5305;&#x542B;&#x4E86;&#x6211;&#x4EEC;&#x7684;&#x52A0;&#x5BC6;&#x65B9;&#x5F0F;&#x3001;&#x9A8C;&#x8BC1;&#x65B9;&#x6CD5;&#x3001;&#x9A8C;&#x8BC1;&#x7B97;&#x6CD5;*/
[Router-profile-[name]] local-identity [address [ip-address] / dn [dn-name] / fqdn [fqdn-name] / user-fqdn [user-fqdn]  ]
/*&#x914D;&#x7F6E;IKE&#x7684;&#x672C;&#x5730;&#x8EAB;&#x4EFD;&#x4FE1;&#x606F;&#xFF0C;&#x662F;&#x4F7F;&#x7528;&#x516C;&#x7F51;&#x5730;&#x5740;[address]&#x6216;&#x8005;&#x4F7F;&#x7528;&#x4E3B;&#x673A;&#x540D;[dn/fqdn/user-fqdn]&#x6765;&#x6807;&#x8BC6;&#x5BF9;&#x7AEF;&#x4E3B;&#x673A;*/
[Rouer-ike-profile-[name]]match remote 
certificate [policy-name]
identity [address [ip-address] mask [mask] 
range [start-address - end-address] 
vpn-instance [vpn-name] 
fqdn [fqdn-name] 
user-fqdn [user-fqdn] 
/*&#x914D;&#x7F6E;IKE&#x5339;&#x914D;&#x5BF9;&#x7AEF;&#x8EAB;&#x4EFD;&#x7684;&#x89C4;&#x5219;&#xFF0C;&#x662F;&#x5339;&#x914D;identiy &#x8FD8;&#x662F;&#x5339;&#x914D;certificate*&#x662F;&#x7528;fqdn&#x6765;&#x5339;&#x914D;&#x8FD8;&#x662F;&#x7528;user-fqdn&#x6765;&#x5339;&#x914D;/
[Router-ike-profile-[name]]priority [name]
/*&#x914D;&#x7F6E;IKE Profile&#x7684;&#x4F18;&#x5148;&#x7EA7;*/

[Конфигурация второго этапа]

Язык кода:javascript
копировать
/*&#x4E3B;&#x52A8;&#x6A21;&#x5F0F;&#x914D;&#x7F6E;&#x6D41;&#x7A0B;*/
/*&#x4E8C;&#x9636;&#x6BB5;&#x914D;&#x7F6E;*/
[Router]ipsec transform-ser [name]
/*&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5B89;&#x5168;&#x63D0;&#x8BAE;*/
[Router-ipsec-transform-set-[naem]] protocol [ah / ah-esp / esp] 
/*&#x914D;&#x7F6E;ipsec&#x7684;&#x5B89;&#x5168;&#x534F;&#x8BAE;*/
[Router-ipsec-transform-set-[name]] encapsulation-mode [transport / trunnel]
/*&#x8BBE;&#x7F6E;ipsec&#x7684;&#x5DE5;&#x4F5C;&#x6A21;&#x5F0F;&#xFF0C;&#x662F;&#x8F6C;&#x53D1;&#xFF08;transport&#xFF09;&#x6A21;&#x5F0F;&#x8FD8;&#x662F;&#x96A7;&#x9053;&#xFF08;tunnel&#xFF09;&#x6A21;&#x5F0F;*/
[Router-ipsec-transform-set-[name]] esp encryption-algorithm [3des-cbc / aes-cbc-128 / aes-cbc-192 / aes-cbc-256 / des-cbc / null]
/*&#x914D;&#x7F6E;&#x8F6C;&#x6362;&#x96C6;&#xFF0C;&#x91C7;&#x7528;esp&#x5B89;&#x5168;&#x534F;&#x8BAE;&#xFF0C;&#x8BBE;&#x7F6E;esp&#x534F;&#x8BAE;&#x91C7;&#x7528;&#x7684;&#x52A0;&#x5BC6;&#x7B97;&#x6CD5;&#x662F;&#x4EC0;&#x4E48;*/
[Router-ipsec-transform-set-[name]] esp authentication-algorithm [md5 / sha1]
/*&#x914D;&#x7F6E;ESP&#x534F;&#x8BAE;&#x91C7;&#x7528;&#x7684;&#x9A8C;&#x8BC1;&#x7B97;&#x6CD5;&#x662F;md5&#x8FD8;&#x662F;sha1*/
[Router-ipsec-transform-set-[name]] ah authentication-algorithm [md5 / sha1]
/*&#x91C7;&#x7528;ah&#x5B89;&#x5168;&#x534F;&#x8BAE;&#xFF0C;&#x914D;&#x7F6E;ah&#x5B89;&#x5168;&#x534F;&#x8BAE;&#x91C7;&#x7528;&#x7684;&#x9A8C;&#x8BC1;&#x7B97;&#x6CD5;&#x662F;md5&#x8FD8;&#x662F; sha1*/
[Router] ipsec policy [seq-name] [number] manual
/*&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5B89;&#x5168;&#x7B56;&#x7565;&#xFF0C;&#x8C03;&#x7528;&#x6211;&#x4EEC;&#x524D;&#x9762;&#x7684;&#x611F;&#x5174;&#x8DA3;&#x6D41;&#x3001;&#x9A8C;&#x8BC1;&#x65B9;&#x6CD5;&#x3001;&#x7B97;&#x6CD5;&#x7B49;*/
[Router-ipsec-policy-manual-[name]] security acl [acl-number]
/*&#x8C03;&#x7528;&#x524D;&#x9762;&#x8BBE;&#x7F6E;&#x7684;ACL&#x7B56;&#x7565;*/
[Router-ipsec-policy-manual-[name]] transform-set [name]
/*&#x8BBE;&#x7F6E;&#x5B89;&#x5168;&#x7B56;&#x7565;&#x6240;&#x5F15;&#x7528;&#x7684;&#x5B89;&#x5168;&#x63D0;&#x8BAE;*/
[Router-ipsec-policy-manual-[name] ]ike-profile [name]
/*&#x8C03;&#x7528;&#x5148;&#x524D;&#x914D;&#x7F6E;&#x7684;ike&#x6863;&#x6848;*/
[Router-ipsec-policy-manual-[name]] remote-address [ip-address / ipv6-address]
/*&#x914D;&#x7F6E;IPsec&#x96A7;&#x9053;&#x5BF9;&#x7AEF;&#x7684;&#x5730;&#x5740;*/
[Router-interface] ipsec apply policy [name]
/*&#x6700;&#x540E;&#x5728;&#x63A5;&#x53E3;&#x4E0A;&#x4E0B;&#x53D1;ipsec&#x7B56;&#x7565;*/
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода