网络安全——ipsec

Internet 协议安全性 (IPSec)”是一种开放标准的框架结构,通过使用加密的安全服务以确保

Internet 协议 (IP) 网络上进行保密而安全的通讯,它通过端对端的安全性来提供主动的保护以防止专用网络与 Internet 的攻击

Ipsec是一个协议集合(包括一些加密协议像des3des aes的对称加密,还有一些安全协议AHESP等)

Ipsec隧道属于一个三层隧道把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。

下面看ipsec能提供给我们什么

安全服务:

Ipsec能提供的安全服务有身份验证、数字证书、抗重播、保密性:

身份验证:能够提供的身份验证有以下几种

提供一种机制pre-shared key 预控制密钥

数字证书(相对麻烦但是更加安全)

Kerveros  v5

完整性ipsec协议提供一种摘要可以通过md5sha,来保证信息没有被修改

抗重播:给发出的包一个编号,防止重播

保密性:对数据包进行加密,加密方式有des 3desaes对称加密

安全协议:

Ipsec所提供的安全协议:

AH验证(不能过nat)头协议,可以保证身份验证、数字证书、抗重播这三个安全服务,协议号为51

Esp安全封装载荷,可提供四种安全服务身份验证、数字证书、抗重播、保密性,协议号为50

下面来说一下它们的工作模式:

AH:

AH:分为隧道模式和传输模式

传输模式

中间没有vpn服务器,用在局域网内部,在传送中不产生新的ip

处理数据的方式:

   网络安全——ipsec_网络安全

AH头包含:摘要值,32计数器,spi安全联盟(sa)索引值

隧道模式

中间必须有一个或两个vpn服务器,在数据包传送时会产生新的ip

处理方式:

网络安全——ipsec_ipsec_02

由于产生了一个新的ip头,所以在nat转换中不能被实现

Esp:

传输方式

网络安全——ipsec_vpn_03

esp头内容有:32计数器、spi

esp验证内容是一些验证信息

Esp尾部内容:在进行块加密块数不够时来补齐,esp尾部就是这些补齐数据

传输方式在进行加密时只对数据和ESP尾进行加密,验证时对ESP头、数据、ESP尾都要验证 

隧道方式

在传送时产生新的ip

网络安全——ipsec_网络安全_04

隧道方式对原始ip头和数据还有ESP尾部进行加密,在验证时要看包的ESP头、原始ip头和数据还有ESP尾部

Ipsec的实现:

实现ipsec可以通过路由器、防火墙当然我们还是优先使用防火墙,因为它在稳定性和安全性上都优于路由器

当数据流通过接口时,通过接口上应用的防控列表筛选出要通过匹配的流,筛选出要通过隧道的流让它匹配安全策略,其他的比如去往internet的就不再走ipsec隧道

实现ipsec隧道所需要的内容:

1.流:具备相同的五元素(源、目标、协议、源端口号、目标)的一系列包,通过隧道的流是要匹配安全策略的

筛选出流要靠匹配访问控制列表

2.安全提议:

提供ipsec的工作方式是隧道模式还是传输模式,安全协议若是AH,还要提供AH摘要的方式是MD5还是sha,若是esp还要提供像摘要、加密方式,加密方式又分为des 3desaes,这些都是需要我们配置好的

3.安全策略:通过设置的acl加上安全提议来筛选要应用到ipsec的数据

4.把策略应用到接口

下面就是我们的一个案例:

配置命令:

创建加密访问控制列表

acl acl-number [ match-order config | auto ]

rule { normal | special }{ permit | deny }  pro-number  

[source  source-addr source-wildcard | any ]  [source-port operator port1 [ port2 ] ]

[ destination  dest-addr dest- wildcard | any ]

 [destination-port  operator port1 [ port2 ] ]

 [icmp-type icmp-type icmp-code]

 [logging]

定义安全提议

 ipsec proposal proposal-name

设置安全协议对报文的封装模式

 encapsulation-mode { transport | tunnel }

设置安全提议采用的安全协议

 transform { ah| ah-esp| esp }

设置加密卡 ESP 协议采用的加密算法        

 esp-new encryption-algorithm { 3des | des | aes }

 设置 ESP 协议采用的认证算法      

 esp-new authentication-algorithm { md5| sha1 }

手工创建安全策略           

 ipsec policy policy-name sequence-number {manual |isakmp}

设置安全策略引用的加密访问控制列表

security acl access-list-number

指定安全隧道的本端地址

  tunnel local ip-address

指定安全隧道的对端地址

 tunnel remote ip-address

配置安全策略中引用的安全提议

 proposal proposal-name

手工配置时:

配置AH/ESP 协议输入安全联盟的 SPI

 sa inbound { ah | esp } spi spi-number

配置AH/ESP 协议输出安全联盟的 SPI

 sa outbound { ah | esp } spi spi-number

配置AH 协议的认证密钥

 sa { inbound | outbound } ah hex-key-string  hex-key

配置AH 协议的认证密钥(以字符串方式

sa { inbound | outbound } ah string-key string-key

配置 ESP 协议的认证密钥(以 16 进制方

sa { inbound | outbound } esp authentication-hex hex-key

配置 ESP 协议的加密密钥(以 16 进制方

sa { inbound | outbound } esp encryption-hex hex-key

IKE 创建安全策略联盟,进入安全策略

ipsec policy policy-name sequence-number isakmp

设置安全策略引用的加密访问控制列表

  security acl access-list-number

指定安全隧道的本端地址

  tunnel local ip-address

指定安全隧道的对端地址

 tunnel remote ip-address

配置安全策略中引用的安全提议

 proposal proposal-name

在接口上应用安全策略组

ipsec policy policy-name

实验拓扑:

网络安全——ipsec_网络安全_05

实验设备(huawei):

防火墙三台、pc三台、三层交换机一台

实验目的:

使来自pc3的数据包通过匹配防火墙的安全策略,分别通过它们所形成ipsec隧道到达pc1pc2

参考配置:

fw1

网络安全——ipsec_vpn_06

 网络安全——ipsec_vpn_07

 网络安全——ipsec_ipsec_08

fw2

网络安全——ipsec_ipsec_09

 网络安全——ipsec_ipsec_10

 网络安全——ipsec_网络安全_11网络安全——ipsec_ipsec_12

fw3

网络安全——ipsec_网络安全_13

网络安全——ipsec_ipsec_14

网络安全——ipsec_vpn_15

Sw1

网络安全——ipsec_网络安全_16

验证图:

Pc1   ping   pc3

网络安全——ipsec_vpn_17

Pc2   ping   pc3

网络安全——ipsec_ipsec_18