前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[NetWork] IPSec VPN

[NetWork] IPSec VPN

作者头像
BreezeCloud
发布2022-12-04 15:46:46
6.6K0
发布2022-12-04 15:46:46
举报
文章被收录于专栏:摸鱼网工摸鱼网工

IP Security 概述

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】

帧格式
帧格式

Encapsulating Security Payload 又叫封装安全载荷 IP协议号50 可以提供数据的机密性保证、 数据完整性校验和源验证、 可提供一定的抗重播能力 还可以支持穿透NAT,ESP部队新的IP头部做校验,所以NAT修改数据头部后不会影响校验结果,在实际场合中,基本用的ESP

ESP传输模式的封装流程
ESP传输模式的封装流程
ESP隧道模式的封装流程
ESP隧道模式的封装流程

IPSec SA

又叫IPSec安全联盟 定义了一套对某些数据流进行保护的方案 里面包含了保护协议、算法、密钥 【来源】: 手动配置 以及IKE协商 【密钥管理】: 手动配置密钥 IKE协商密钥

IKE

有叫网络密钥交换协议 用于保护密钥传输和密钥的自动协商 使用<code>Diffie-Hellman</code>在不安全网络中安全分发密钥和验证身份 定时性的更新SA和密钥,实现完善的前向安全性 有效降低了手工部署的复杂度 工作在UDP端口500上

IKE与IPSec 的关系

关系图
关系图

IKE为IPSec提供自动协商服务,交换密钥,建立SA的服务 IPSec安全协议负责提供实际的安全服务

IPSec 隧道建立的流程

【第一阶段】 IKE SA协商 协商出保护第二阶段的保护方案 【第二阶段】 IPsec SA协商 在IKE SA的保护下,协商出保护数据传输方案

IPsec 的工作流程

> 出站包处理流程

出站包处理流程
出站包处理流程

SPD安全策略数据库 记录了对那些目的地址的数据包要调用哪一个 IPsec SA来进行保护

  1. 首先,数据包到达出接口,查找IPSec策略
  2. 根据IPSec策略查找对应的IPsec SA,查到则执行相对应的安全服务,未查到则查找IKE SA
  3. 查找IKE SA, 找到则在IKE SA的保护下创建IPSec SA,并执行安全服务, 未找到则创建IKE SA
  4. 创建IKE SA后,在IKE SA的保护下,创建IPSec SA并执行安全服务

> 入站包处理流程

入站包处理流程
入站包处理流程
  1. 数据包到达入接口后,查看该数据是否被IPSec保护
  2. 如果保护则查找对应IPSec SA
  3. 没有查到则直接交由上层处理
  4. 查找IPSec SA
  5. 未找到则丢弃数据包
  6. 找到则使用IPSec SA 解封装,获取原始数据

一阶段IKE的模式

> 主模式 Main Mode

连接流程
连接流程

采用六次握手机制,更加安全可靠 由于身份信息在第5次、第6此握手中加密 导致主模式只能通过公网IP地址识别对方身份,双方必须都具有固定公网IP地址,双方通过公网IP标识对端身份

> 野蛮模式 Aggressive Mode

连接流程
连接流程

采用三次握手,速度更快 身份信息在1、2次握手中传递,野蛮模式只加密 第3次握手的某一端,可以不具有固定公网IP地址,双方通过FQDN来标识对端身份 必须由IP地址不固定的一端主动发起协商

二阶段IPSec的模式

> 快速模式

一共会协商出两个IPSec SA <code>出站 IPSec SA</code> <code>入站 IPSec SA</code>

NAT 穿透

解决NAT与IPSec之间冲突的问题 因为ESP/AH只是三层封装,没有四层头部,所以无法被NAT转换端口 NAT穿透是在ESP头部前再封装一个UDP4500的四层头部端口

IPsec VPN端口

UDP 500 来标识未使用NAT穿透 UDP 4500 来标识使用了NAT穿透

IPSec VPN的部署模式

一共分为两种部署模式

> 双臂部署

又叫网关部署,把VPN部署在公网出口设备上

> 单臂部署

又指把VPN部署在内网中,需要在公网出口设备上配置端口映射至VPN设备 减轻公网出口设备的资源消耗和性能负担

IPSec VPN的配置

> 主动模式的配置流程

  • ===一阶段配置===
  • 首先是创建感兴趣流,配置ACL的源目地址,匹配两端私有地址
  • 创建IKE Proposal(提议),配置IKE的加密方式,验证算法,和验证方法
  • 创建配置秘钥,使用公网地址标识对方身份
  • 创建IKE Profile(档案)调用前方创建的Proposal和Keychain,并指定对端公网IP地址
  • ===二阶段配置===
  • 创建IPSec转转换集,配置IPSec的工作模式、封装协议,验证、加密算法
  • 创建IPSec Policy(策略)调用前面创建的感兴趣流、IKE Profile、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;*/
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022 年 11 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IP Security 概述
  • IPsec的工作模式
  • IPSec的安全协议
  • IPSec SA
  • IKE
  • IKE与IPSec 的关系
  • IPSec 隧道建立的流程
  • IPsec 的工作流程
  • 一阶段IKE的模式
  • 二阶段IPSec的模式
  • NAT 穿透
  • IPsec VPN端口
  • IPSec VPN的部署模式
  • IPSec VPN的配置
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档