在之前的博客中,小编已经用GRE协议实现了×××技术,那么在这篇博客中,小编使用IPSEC协议来实现×××,虽然理论知识有些抽象,但是在帮助我们了解技术方面还是很有必要啦,那么现在开始理论啦

  • IPSec(IP Security)
    • 是一组开放协议的总称,特定的通信方之间在IP层通过加密与数据源验证,以保证数据包在Internet网上传输时的私有性、完整性和真实性。
    • IPSec通过AH (Authentication Header)和ESP (Encapsulating Security Payload)这两个安全协议来实现。
    • IPSec提供以下几种网络安全服务
      • 私有性 - IPSec在传输数据包之前将其加密.以保证数据的私有性;
      • 完整性 - IPSec在目的地要验证数据包,以保证该数据包在传输过程中没有被修改;
      • 真实性 - IPSec端要验证所有受IPSec保护的数据包;
      • 防重放 - IPSec防止了数据包被捕捉并重新投放到网上,即目的地会拒绝老的或重复的数据包,它通过报文的序列号实现。

IPSec概述

  • IPSec(ip security)协议族是IETF制定的一系列协议,它为IP数据报提供了高质量的、可互操作的、基于密码学的安全性。
  • IPSec通过AH(authentication header,认证头)和ESP(encapsulating security payload,封装安全载荷)两个安全协议实现了上述目标

网络安全性——IPSEC_网络安全性

验证报头

  • IPSec认证包头(AH)是一个用于提供IP数据包完整性和认证的机制。其完整性是保证数据报不被无意的或恶意的方式改变
  • AH协议通过在整个IP数据报中实施一个消息文摘计算来提供完整性和认证服务
  • 消息文摘算法的输出结果放到AH包头的认证数据(Authentication_Data)区。

IPSec加密

  • ESP
    • 封包安全协议包头提供IP数据报的完整性和可信性服务,ESP是在RFC2406中定义的。
    • ESP协议是设计以两种模式工作的:隧道(Tunneling)模式和传输(Transport)模式

网络安全性——IPSEC_VPN_02

  • 安全协议数据封装格式

网络安全性——IPSEC_网络安全性_03

    • 从安全性来讲,隧道模式优于传输模式
    • 从性能来讲,隧道模式比传输模式占用更多带宽

安全关联

  • 安全关联(SA)是最基本的IPSec概念之一,这是对等体或主机之间的策略约定
    • IPSec在两个端点之间提供安全通信,端点被称为IPSec对等体。
    • 安全联盟是IPSec的基础,也是IPSec的本质
    • 安全联盟是单向的,在两个对等体之间的双向通信,最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。
    • 安全联盟由一个三元组来唯一标识
      • SPI(security parameter index,安全参数索引)
      • 目的IP地址
      • 安全协议号(AH或ESP)
    • 安全联盟具有生存周期。生存周期的计算包括两种方式
      • 以时间为限制
      • 以流量为限制
  • 安全联盟的协商方式
    • 一种是手工方式(manual)
    • 一种是IKE自动协商(ISAKMP)方式

网络安全性——IPSEC_VPN_04

网络安全性——IPSEC_IPSEC_05IPSec的运行

  • 第一步,启动IPSec过程
  • 第二步,IKE阶段1
  • 第三步,IKE阶段2
  • 第四步,传输数据
  • 第五步,拆除IPSec隧道

使用IKE

  • IKE
    • IKE协议是建立在由Internet安全联盟和密钥管理协议ISAKMP(internet security association and key management protocol)定义的框架上。它能够为IPSec提供了自动协商交换密钥、建立安全联盟的服务,以简化IPSec的使用和管理。
    • IKE具有一套自保护机制,可以在不安全的网络上安全地分发密钥、验证身份、建立IPSec安全联盟。
    • DF(diffie-hellman)交换及密钥分发
    • 完善的前向安全性(perfect forward secrecy,PFS)。PFS是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。PFS是由DH算法保障的。
  • 第一阶段: ISAKMP SA
    • 通信各方彼此间建立了一个已通过身份验证和安全保护的通道
  • 第二阶段: IPSec SA
    • 用在第一阶段建立的安全通道为IPSec协商安全服务

网络安全性——IPSEC_IPSEC_06

  • 在RFC2409(the internet key exchange)中规定,IKE第一阶段的协商可以采用两种模式:
    • 主模式(main mode)
      • 被设计成将密钥交换信息与身份、认证信息相分离
      • 这种分离保护了身份信息
      • 增加了3条消息的开销
    • 野蛮模式(aggressive mode)
      • 允许同时传送与SA、密钥交换和认证相关的载荷
      • 减少了消息的往返次数
      • 无法提供身份保护
      • 可以满足某些特定的网络环境需求
  • IKE具有以下优点
    • 使得无需在加密映射中手工指定IPSec安全参数
    • 能够指定IPSec SA的寿命
    • 能够在IPSec会话期间修改加密密钥
    • 能够提供防重发服务
    • 支持CA,实现易于管理、可扩展
    • 能够动态地验证对等体的身份
  • IKE可以使用的技术包括
    • MD5
    • SHA-1
    • DES
    • 3DES

IKE与IPSec流程图

网络安全性——IPSEC_VPN_07

理论部分小编觉得有用的就是这些啦,下面进入案例实现阶段,期待很久了吧,不管是何种网络设备,都不会缺了这几步,小编这里使用H3C的防火墙来实现

  • 配置步骤
    • 第一步:定义被保护的数据流
    • 这里使用扩展防控列表来定义指定数据流
    • 第二步:定义安全提议

网络安全性——IPSEC_网络安全性_08

选择报文封装形式

网络安全性——IPSEC_VPN_09

选择安全协议

网络安全性——IPSEC_网络安全性_10

选择安全算法

网络安全性——IPSEC_VPN_11

    • 第三步:定义安全策略或安全策略组

1. 手工创建,相当复杂啊,不建议使用啊

网络安全性——IPSEC_IPSEC_12

在安全策略中应用安全提议

网络安全性——IPSEC_IPSEC_13

在安全协议中引用访问控制列表

网络安全性——IPSEC_IPSEC_14

配置隧道的起点与终点

网络安全性——IPSEC_VPN_15

配置安全联盟的SPI

网络安全性——IPSEC_IPSEC_16

配置安全联盟使用的密钥

网络安全性——IPSEC_网络安全性_17

2. 自动创建

使用IKE创建安全策略

网络安全性——IPSEC_IPSEC_18

在策略中应用安全提议

网络安全性——IPSEC_IPSEC_19

在安全协议中引用访问控制列表

网络安全性——IPSEC_IPSEC_20

设置引用的对等实体

网络安全性——IPSEC_网络安全性_21

    • 第四步:接口实施安全策略

网络安全性——IPSEC_IPSEC_22

一些常用的调试选项

网络安全性——IPSEC_网络安全性_23

下面是小编的案例拓扑

网络安全性——IPSEC_IPSEC_24

Step 1:A防火墙的配置

<A>dis cu

#

sysname A

#

firewall packet-filter enable

firewall packet-filter default permit

#

insulate

#

firewall statistic system enable

#

radius scheme system

server-type extended

#

domain system

#

local-user admin

password cipher .]@USE=B,53Q=^Q`MAF4<1!!

service-type telnet terminal

level 3

service-type ftp

#

ike peer ab

pre-shared-key ab

remote-address 61.130.132.1

local-address 61.130.131.1

#

ike peer ac

pre-shared-key ac

remote-address 61.130.133.1

local-address 61.130.131.1

#

ipsec proposal a-b

#

ipsec proposal a-c

#

ipsec policy vpnset 10 isakmp

security acl 3000

ike-peer ab

proposal a-b

#

ipsec policy vpnset 20 isakmp

security acl 3001

ike-peer ac

proposal a-c

#

acl number 3000

rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255

acl number 3001

rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255

rule 20 deny ip

#

interface Aux0

async mode flow

#

interface Ethernet0/0

ip address 192.168.1.254 255.255.255.0

#

interface Ethernet0/1

#

interface Ethernet0/2

#

interface Ethernet0/3

#

interface Ethernet0/4

ip address 61.130.131.1 255.255.255.252

ipsec policy vpnset

#

interface Encrypt1/0

#

interface NULL0

#

firewall zone local

set priority 100

#

firewall zone trust

add interface Ethernet0/0

set priority 85

#

firewall zone untrust

add interface Ethernet0/4

set priority 5

#

firewall zone DMZ

set priority 50

#

firewall interzone local trust

#

firewall interzone local untrust

#

firewall interzone local DMZ

#

firewall interzone trust untrust

#

firewall interzone trust DMZ

#

firewall interzone DMZ untrust

#

FTP server enable

#

ip route-static 0.0.0.0 0.0.0.0 61.130.131.2 preference 60

#

user-interface con 0

user-interface aux 0

user-interface vty 0 4

authentication-mode scheme

#

Return

Setp 2:防火墙B的配置

[B]dis cu

#

sysname B

#

firewall packet-filter enable

firewall packet-filter default permit

#

insulate

#

firewall statistic system enable

#

radius scheme system

server-type extended

#

domain system

#

ike peer ba

pre-shared-key ab

remote-address 61.130.131.1

local-address 61.130.132.1

#

ipsec proposal b-a

#

ipsec policy ba 10 isakmp

security acl 3000

ike-peer ba

proposal b-a

#

acl number 3000

rule 10 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

rule 20 deny ip

#

interface Aux0

async mode flow

#

interface Ethernet0/0

ip address 192.168.2.254 255.255.255.0

#

interface Ethernet0/1

#

interface Ethernet0/2

#

interface Ethernet0/3

#

interface Ethernet0/4

ip address 61.130.132.1 255.255.255.252

ipsec policy ba

#

interface Encrypt1/0

#

interface NULL0

#

firewall zone local

set priority 100

#

firewall zone trust

add interface Ethernet0/0

set priority 85

#

firewall zone untrust

add interface Ethernet0/4

set priority 5

#

firewall zone DMZ

set priority 50

#

firewall interzone local trust

#

firewall interzone local untrust

#

firewall interzone local DMZ

#

firewall interzone trust untrust

#

firewall interzone trust DMZ

#

firewall interzone DMZ untrust

#

ip route-static 0.0.0.0 0.0.0.0 61.130.132.2 preference 60

#

user-interface con 0

user-interface aux 0

user-interface vty 0 4

#

Return

Step 3:防火墙C的配置

<C>dis cu

#

sysname C

#

firewall packet-filter enable

firewall packet-filter default permit

#

insulate

#

firewall statistic system enable

#

radius scheme system

server-type extended

#

domain system

#

local-user admin

password cipher .]@USE=B,53Q=^Q`MAF4<1!!

service-type telnet terminal

level 3

service-type ftp

#

ike peer ca

pre-shared-key ac

remote-address 61.130.131.1

local-address 61.130.133.1

#

ipsec proposal c-a

#

ipsec policy ca 10 isakmp

security acl 3000

ike-peer ca

proposal c-a

#

acl number 3000

rule 10 permit ip source 192.168.3.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

rule 20 deny ip

#

interface Aux0

async mode flow

#

interface Ethernet0/0

loopback

ip address 192.168.3.254 255.255.255.0

#

interface Ethernet0/1

#

interface Ethernet0/2

#

interface Ethernet0/3

#

interface Ethernet0/4

ip address 61.130.133.1 255.255.255.252

ipsec policy ca

#

interface Encrypt1/0

#

interface NULL0

#

firewall zone local

set priority 100

#

firewall zone trust

add interface Ethernet0/0

set priority 85

#

firewall zone untrust

add interface Ethernet0/4

set priority 5

#

firewall zone DMZ

set priority 50

#

firewall interzone local trust

#

firewall interzone local untrust

#

firewall interzone local DMZ

#

firewall interzone trust untrust

#

firewall interzone trust DMZ

#

firewall interzone DMZ untrust

#

FTP server enable

#

ip route-static 0.0.0.0 0.0.0.0 61.130.133.2 preference 60

#

user-interface con 0

user-interface aux 0

user-interface vty 0 4

authentication-mode scheme

#

Return

Step 4:ISP的部分配置,将三个端口都分别加入到vlan10、vlan20和、vlan30

<ISP>dis cu

#

sysname ISP

#

vlan 10

#

vlan 20

#

vlan 30

#

interface Vlan-interface10

ip address 61.130.131.2 255.255.255.252

#

interface Vlan-interface20

ip address 61.130.132.2 255.255.255.252

#

interface Vlan-interface30

ip address 61.130.133.2 255.255.255.252

step 5:测试

在总公司上ping防火墙B的eth0/0

网络安全性——IPSEC_VPN_25

在总公司上ping防火墙C的eth0/0

网络安全性——IPSEC_VPN_26