华为防火墙IPSec讲解与配置实验
GRE是明文传输,IPSec是加密传输
一.密码学基础——数据加解密
1.常见的加密算法
(1)对称加密
- 加密解密用同一个密钥
(2)非对称加密
- 在加密和解密中使用两个不同的密钥,私钥用来保护数据,公钥由同一系统的人公用,用来检验信息及其发送者的真实性和身份,公钥加密私钥解密,私钥加密公钥解密
(3)哈希散列算法
散列算法:把任意长度的输入变换成固定长度的输出
h=H(M)
常见散列算法有:MD5,SHA-1,SHA-2
hash函数特点:
- 相同输入相同输出
- 不可逆推:不可能从哈希值逆推出原始数据
- 等长输出:不同文件大小加密输出的哈希值大小是一样的
- 雪崩效应:发生任何一点变化,结果都会变得不同
可以通过哈希算法验证数据完整性
IPSec使用的都是对称加密
2.常见的对称加密算法
(1)流加密算法
- RC4(不安全)
(2)分组加密算法
- DES
- 3DES
- AES-128/192/256(最安全)
3.加密算法的优缺点
(1)对称加密算法
优点:加解密速度快
缺点:密钥分发问题
(2)非对称加密算法
优点:密钥的安全性高
缺点:加解密速度较慢
二.IPSec VPN详解
1.IPSec简介
IPSec(Internet协议安全)是一个工业标准网络安全协议栈,为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,可以有限低于网络攻击,同时保持易用性。
IPSec通过在IPSec对等体之间建立双向安全联盟(VPN隧道),形成一个安全互通的IPSec隧道,来实现Internet上数据的安全传输。
2.IPSec架构(协议)
IPSec VPN体系结构主要由AH(Authentication Header)、ESP(Encapsulating Security Payload)和IKE(Internet Key Exchange)协议套件组成。通过AH和ESP这两个安全协议来实现IP数据报文的安全传送。
(1)AH协议:
AH认证报头
主要提供的功能有数据源验证、数据完整性校验和防报文重放功能。然而,AH并不加密所保护的数据报文,仅支持认证功能。
(2)ESP协议:
ESP封装安全有效载荷协议
提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。
ESP通常使用DES、 3DES、 AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证
(3)IKE协议:
IKE网络密钥交换协议
IKE属于一种混合型协议,由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEY与SKEME组成。
用于自动协商AH和ESP所使用的密码算法,建立和维护安全联盟SA等服务。建立在Internet安全联盟和秘钥管理协议ISAMP定义的框架,提供了一套在不安全网络上安全地分发秘钥、验证身份、建立IPSec安全联盟的过程,简化了IPSec 的管理和使用。
IPSec通过AH和ESP这两个协议来实现数据报文在网络上传输的私有性,完整性,真实性和防重放。
3.IPSec特性
(1)机密性:
支持数据加密,保证业务数据的机密性
(2)完整性:
校验数据的完整性,检查数据是否被篡改
(3)真实性:
身份验证功能,只有身份认证成功的人发送数据才能被接受,验证身份方式为PSK暗号,PKI证书等
(4)防重放:
通过序列号防止数据包重复发送
4.AH和ESP协议的简单比较
安全特性AHESP协议号5150数据完整性校验支持(验证整个IP报文)支持(传输模式,不验证IP头;隧道模式,验证整个IP报文)数据源验证支持支持数据加密不支持支持防报文重放攻击支持支持IPSec NAT-T(NAT穿越)不支持支持
从表中可以看出两个协议各有有缺点,在安全性较高的场景中可以考虑联合使用AH和ESP协议。
6.IPSec协议封装模式
(1)传输模式:
主要用于主机和主机之间端到端通信的数据保护
在传输模式下,IPSec头被插入到IP头之后 但 在所有传输层协议之前,或所有其他IPSec协议之前。
(2)隧道模式:
主要用于私网与私网之间通过公网进行通信,建立安全VPN通道。
在隧道模式下,IPSec头插在原始IP头之前,另外生成一个新的报文头放到AH或ESP(IPSec头)之前
7.IPSec应用场景
(1)站点间安全互联:
企业站点间部署IPSec功能,使用IPSec建立安全传输通道,企业之间的数据流通过IPSec 隧道进行安全传送保护。
(2)远程站点和企业总部互联:
远程分支机构、远程用户通过IPSec动态接入企业总部网络。企业总部的IP地址是固定的,远端机构或PC需要预先配置;远程机构或者远端PC的IP地址可动态获取,总部不需要预先知道。
(2)GRE Over IPSec:
IPSec只支持IP协议,通过GRE Over IPSec,可以弥补IPSec协议的不足
8.IPSec VPN(安全联盟)建立方式
安全联盟SA(Security Association)是通信对等体间对某些要素的约定 ,通信的双方符合SA约定的内容,就可以建立SA。SA由三元组来唯一标识,包括安全参数索引、目的IP地址、安全协议号
IPSec的安全联盟可以通过手工配置的方式建立。也可以使用IKE(Internet Key Exchange)自动进行安全联盟建立与密钥交换的过程
(1)手工配置优缺点:
手工方式建立安全联盟比较复杂,安全联盟所需的全部信息都必须手工配置,手工方式建立的安全联盟永不老化。
(2)IKE动态协商配置优缺点:
KE动态协商建立的安全联盟相对简单些,只需要通信对端体间配置好IKE协商参数,由IKE协议自动协商来创建和维护SA。通过IKE协商建立的安全联盟具有生存周期。
- 基于时间的生存周期
- 基于流量的生存周期
生存周期达到指定的时间或流量时,安全联盟就会失效。安全联盟失效前,IKE将为IPSec重新协商新的安全联盟。
网络中,进行通信的IPSec对等体设备数量越少时,或者在小型静态环境中,手工配置安全联盟是可行的; 对于中、大型动态网络环境,推荐使用IKE动态协商建立安全联盟。
(3)IKE的用途:
- IKE为IPsec协商生成密钥,供AH/ESP加解密和验证使用。
- 在IPSec通信双方之间, 动态地建立安全关联( SA: SecurityAssociation),对SA进行管理和维护。
9.IKE的工作过程
第一阶段内容:彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟。 任务是认证和密钥交互。
第二阶段:用已经建立的安全联盟为IPsec协商安全服务,建立IPSec SA,产生真正可以用来加密数据流的密钥。
(1)第一阶段
第一阶段有两种协商模式:主模式协商,野蛮模式协商
①主模式协商
主模式协商速度较慢,但是安全性高,只能使用IP地址,建议同一个厂商时使用主模式,协商过程有6个包。
建立过程:
协商建立IKE安全通道所使用的参数:认证方式、加密方式、hash算法、申明所使用的的DH算法、密钥有效时间、配置身份ID、对方的通信的地址
②野蛮模式协商
野蛮模式协商速度较快,安全性较低,可以使用用户名等,建议不同厂商时使用野蛮模式协商
野蛮模式下有三个交互包:
- 第一个交互包发起方建议SA,发起DH交换
- 第二个交互包接收方接受SA
- 第三个交互包发起方认证接受方
建立过程:
③两种模式简单比较
第一阶段模式主模式野蛮模式消息交互交互6个消息交互3个消息身份ID以IP地址作为身份ID,自动生成本端身份ID和对端身份ID可以以多种形式(IP,字符串等)手动或自动的生成本段和对端的身份ID预共享密钥只能基于IP地址来确定预共享密钥基于ID信息(主机名和IP地址)来确定预共享密钥安全性较高 前4个消息以明文传输,最后两个消息加密,对对端身份进行了保护较低 前2个消息以明文传输,最后一个消息进行加密,不保护对端身份速度较慢较快
(2)第二阶段
协商参数:
加密算法、hash算法、安全协议、封装模式、存活时间、DH算法
当第一阶段时间到期后:密钥失效后,第二次密钥和第一次密钥有关系(继承)
完美向前发生成独立密钥。
三.实验环境及要求
1.实验环境:
2.要求:
四.IPSec具体配置
1.配置思路
(1)配置各个设备接口IP
(2)将防火墙上的接口加入适当的区域(tunnel接口不要忘记)
(3)配置防火墙上的公网路由(默认路由)
(4)配置IPSec tunnel接口
(5)配置IKE安全提议
(6)配置IKE peer(IKE 对等体)
(7)配置IPSec安全提议
(8)配置IPSec安全框架
(9)引流到tunnel接口(配置tunnel接口的转发路由)
(10)放行防火墙安全策略(放行协商流量和业务流量)
2.具体配置内容
以下内容都是FW1上的,FW2上的与其类似不多说
(1)接口,区域,路由配置内容
FW1上的各个接口配置
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 1.1.1.1 255.255.255.0
#
#
interface GigabitEthernet1/0/1
undo shutdown
ip address 192.168.10.254 255.255.255.0
#
#
interface Tunnel0
ip address 10.1.1.1 255.255.255.0
tunnel-protocol ipsec
source 1.1.1.1
destination 2.2.2.1
ipsec profile 1
#
区域配置
#
firewall zone trust
set priority 85
add interface GigabitEthernet0/0/0
add interface GigabitEthernet1/0/1
add interface Tunnel0
#
firewall zone untrust
set priority 5
add interface GigabitEthernet1/0/0
#
路由配置
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.254
ip route-static 172.168.10.0 255.255.255.0 Tunnel0
#
(2)IPSec配置内容
FW1上的IPSec配置
IPSec安全提议配置
#
ipsec proposal 13
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-256
#
ike安全提议配置
ike proposal 1
encryption-algorithm aes-256
dh group14
authentication-algorithm sha2-256
authentication-method pre-share
integrity-algorithm hmac-sha2-256
prf hmac-sha2-256
#
ike对等体配置
#
ike peer 1
undo version 2
pre-shared-key %^%#CQd:Ch|[=L*^v$VBPk'HsSz59kT.GU:'Rk0K_"c/%^%#
ike-proposal 1
#
IPSec安全框架配置
#
ipsec profile 1
ike-peer 1
proposal 13
#
FW2上的IPSec配置与FW1一致,预共享密钥必须一致
(3)防火墙安全策略配置内容
FW1安全策略配置
#
security-policy
rule name ipec
source-zone local
source-zone untrust
destination-zone local
destination-zone untrust
source-address 1.1.1.0 mask 255.255.255.0
source-address 2.2.2.0 mask 255.255.255.0
destination-address 1.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
action permit
#
这里我没有配置业务流量,
是因为我将tunnel接口加入到了防火墙的信任区域,流量在信任区域传输,不需要放行业务流量
版权归原作者 恐龙进化论 所有, 如有侵权,请联系我们删除。