王 格
(湖北国土资源职业学院 湖北 武汉 430090)
对于一些规模较大的企业来说,网络访问需求不仅局限在公司总部网络内,同时分公司、办事处、出差员工、合作单位等也有访问公司总部网络资源的需求。 在访问资源过程中,如果直接采用Internet 进行数据传输,那么可能出现数据被盗取、篡改的可能。 如果搭建专网传输数据,虽然可以有效地保证企业数据安全性,但是要面临着使用成本高、使用率低、部署不灵活等问题。
为了有效解决上述问题,满足相关需求,可以采用虚拟专用网络(virtual private network,VPN)技术。 VPN即虚拟专用网,泛指通过VPN 技术在公用网络上构建的虚拟专用网络。 VPN 用户在此虚拟网络中传输私网流量,在不改变网络现状的情况下,可以实现安全、可靠的连接。
1.1.1 三种协议
互联网络层安全协议(internet protocol security,IPsec)VPN 一般部署在企业出口设备之间,通过加密和验证等方式,实现了数据来源验证、数据加密、数据完整性保护和抗重放等功能。 IPsec 是一个协议体系,其包括认证头(authentication header,AH)、封装安全载荷(encapsulating security payload,ESP)、密钥交换(internet key exchange,IKE)等协议[1]。
AH 协议用来对IP 报文进行数据源认证和完整性校验,即用来保证传输的IP 报文的来源可信和数据不被篡改,但它并不提供加密功能。 AH 协议在每个数据包的标准IP 报文头后面添加一个AH 报文头,AH 协议对报文的完整性校验范围是整个IP 报文。
ESP 协议除了对IP 报文进行数据源认证和完整性校验以外,还能对数据进行加密。 ESP 协议在每一个数据包的标准IP 报头后方添加一个ESP 报文头,并在数据包后方追加一个ESP 尾(ESP Trailer 和ESP Auth data)。
IPsec 隧道建立过程中需要协商安全联盟(security association,SA),IPsec SA 一般通过IKE 协商生成。 IKE作为密钥协商协议,其协商分为两个阶段:阶段一IKE SA协商(主要包括加密策略定义、密钥算法、认证方式、密钥分配等策略)和阶段二IPsec SA 协商(主要包括定义转换集、数据加密、完整性验证、对等体设置、加密映射等)[2]。IKE SA 建立后对等体间的所有ISAKMP 消息都将通过加密和验证,这条安全通道可以保证IKE 第二阶段的协商能够安全进行。 IKE 协商阶段二使用IKE 协商阶段一中生成的密钥对ISAKMP 消息完整性和身份进行验证,并对ISAKMP 消息进行加密,故保证了交换的安全性。
1.1.2 两种封装模式
IPsec VPN 有两种封装模式:传输模式和隧道模式。
传输模式仅对IP 报文的数据部分进行封装,不会改变原来的报头。 传输模式一般用于主机到主机之间的加密,即点到点的传输。 隧道模式对整个IP 报文进行封装,并在原IP 报文前加上新的头部,形成新的IP 报文。 隧道模式一般用于路由器或防火墙上对某个网段的数据进行封装,实现站点到站点的通信[3]。
虽然IPsec 有很好的安全性,但是仅支持IP 协议,不支持多层上层协议和组播。
通用路由封装协议(general routing encapsulation,GRE)是一种三层VPN 封装技术。 GRE 可以对某些网络层协议(如IPX、IPv4、IPv6 等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题[4]。
但是,GRE 不支持加密和认证,数据安全传输得不到很好的保障。
GER over IPsec 充分结合GRE 和IPsec 的优势,通过GRE 将组播、广播、非IP 报文封装成普通的IP 报文,通过IPsec 将封装后的IP 报文进行加密,保证传输的安全性。
仿真拓扑图设计如图1 所示,该拓扑图模拟在公司总部和公司分部两个局域网之间建立一条GER over IPsec VPN 隧道,实现对公司总部和公司分部通信时数据流的安全保护。
图1 仿真拓扑图
首先按照拓扑图规划完成基础IP 配置,并完成配置GRE 隧道,以及防火墙的安全区域划分。 以FW1 为例,配置命令如下:
[FW1]interface Tunnel1
[FW1-Tunnel1] ip address 1.1.1.1 255.255.255.0
[FW1-Tunnel1] tunnel⁃protocol gre
[FW1-Tunnel1] source 201.1.1.2
[FW1-Tunnel1] destination 202.1.1.2
上述命令创建了隧道端口Tunnel1,配置其IP 地址1.1.1.1/24,设置隧道协议为GRE,同时指定隧道的源地址为201.1.1.2,隧道目的地址为202.1.1.2。
同时使用下述命令,将FW1 的G1/0/0 端口划分trust区域,G1/0/1 划分untrust 区域,tunnel 划分dmz 区域。
[FW1]firewall zone trust
[FW1-zone⁃trust] add interface GigabitEthernet1/0/0
[FW1]firewall zone untrust
[FW1-zone⁃untrust]add interface GigabitEthernet1/0/1
[FW1]firewall zone dmz
[FW1-zone⁃dmz] add interface Tunnel1
然后配置路由协议,将总公司与分公司之间的通信流量引入到隧道中。 以FW1 为例,配置命令如下:
[FW1]ip route⁃static 0.0.0.0 0.0.0.0 201.1.1.1
[FW1] ip route⁃static 192.168.2.0 255.255.255.0 Tunnel1
在上述命令中,配置了两条静态路由,其中静态路由ip route⁃static 192.168.2.0 255.255.255.0 Tunnel1,实现将公司总部和公司分部的流量引入到隧道中。 而访问其他网络的流量则通过AR1,由静态路由ip route⁃static 0.0.0.0 0.0.0.0 201.1.1.1 实现。
最后配置IPsec,实现对数据流量加密,保证安全传输。 以FW1 为例,配置命令如下:
(1)建立IKE 提议
[FW1]ike proposal 1
[FW1-ike⁃proposal-1] dh group14
在上述命令中,创建IKE 提议proposal 1,并采用DH密钥交换组,DH 组为group14。 此时,默认协商时使用sha2-256 认证算法,配置身份认证方法为pre⁃share,加密算法为aes-256,采用hmac⁃sha2-256 算法产生伪随机数。需要注意的是,IKE 协商时,两端对等体使用IKE 安全提议中的认证方法必须保持一致,否则会导致IKE 协商失败[5]。
(2)创建IKE 对等体
[FW1]ike peer to_fw2
[FW1-ike⁃peer⁃to_fw2] pre⁃shared⁃key huawei@123
[FW1-ike⁃peer⁃to_fw2] ike⁃proposal 1
[FW1-ike⁃peer⁃to_fw2] remote⁃address 202.1.1.2
在上述命令中,创建IKE 对等体名称为to_fw2,对等体地址为202.1.1.2。 同时设置预共享密钥为huawei@123,并关联IKE 提议proposal 1。
(3)创建IPsec 安全提议
[FW1]ipsec proposal p1
[FW1-ipsec⁃proposal⁃p1] transform esp
在上述命令中,创建IPsec 安全提议proposal p1,加密方式采用esp,该方式默认的认证算法为sha2-256,,加密算法为aes-256。
(4)定义匹配安全流量
[FW1]acl number 3000
[FW1 - acl⁃adv - 3000] rule 5 permit gre source 201.1.1.2 0 destination 202.1.1.2 0
在上述命令中,配置高级ACL 定义需要保护数据流,协议为gre,数据流源为201.1.1.2/24,数据流目的为202.1.1.2/24,需要注意的是,此处应该要写公网地址。
(5)配置IPsec 安全策略
[FW1]ipsec policy test 10 isakmp
[FW1-ipsec⁃policy⁃isakmp⁃test-10]security acl 3000
[FW1-ipsec⁃policy⁃isakmp⁃test-10] ike⁃peer to_fw2
[FW1-ipsec⁃policy⁃isakmp⁃test-10] proposal p1
在上述命令中,配置IPsec 安全策略test,在IPsec 安全策略中将匹配的安全流量,IKE 提议,IKE 对等体进行关联。
(6)端口应用
[FW1]interface GigabitEthernet1/0/1
[FW1-GigabitEthernet1/0/1] ipsec policy test
在上述命令中,将IPsec 安全策略test 应用到接口G1/0/1。
2.3.1 连通性测试
从图2 可以看出,总公司和分公司在完成配置GER over IPsec VPN 后是可以ping 通的,即满足正常通信需求。
图2 PC1 和PC2 连通性测试
2.3.2 IKE 协商过程数据包分析
从图3 可以看出,IKE 阶段以协商为主模式,经历了3次交换过程(SA 交换、密钥交换、ID 交换及验证),6 次交互消息,IKE 阶段二协商为快速模式,需要交互消息3次[6]。 阶段二所有的数据包都进行了加密。
图3 IKE 协商过程数据包分析
2.3.3 数据传输加密分析
从图4 可以发现,经过隧道的数据被成功加密,加密协议为ESP。 加密数据包中,只存在由ESP 封装的SPI 和Sequence,SPI 是目标对等体在IKE 协商期间随机选择的数字类似于索引,用于在安全关联数据库(SADB)中查找对应的IPsec SA,Sequence 是发送方插入ESP 包头序列号,提供抗重放服务[7]。
图4 数据传输加密分析
综上所述,GER over IPsec VPN 可以充分结合GRE VPN 和IPsec VPN 的优势,通过GRE 将组播、广播、非IP 报文封装成普通的IP 报文,通过IPsec 将封装后的IP 报文进行加密,保证网络通信时,数据传输的安全性。