基于ipsec的***在企业网中的应用
××× 简介
伴随企业和公司的不断扩张,员工出差日趋频繁,驻外机构及客户群分布日益分散,
合作伙伴日益增多,越来越多的现代企业迫切需要利用公共Internet 资源来进行促
销、销售、售后服务、培训、合作及其它咨询活动,这为××× 的应用奠定了广阔市
场。
×××(Virtual Private Network,虚拟私有网)是近年来随着Internet 的广泛应用而
迅速发展起来的一种新技术,实现在公用网络上构建私人专用网络。“虚拟”主要
指这种网络是一种逻辑上的网络。
简单的说就是 :*** 是在公开的网络上建立的专用的点对点的连接 把两个距离远的网络连接起来实现通信
1. ××× 的特点
???? ××× 有别于传统网络,它并不实际存在,而是利用现有公共网络,通过资源
配置而成的虚拟网络,是一种逻辑上的网络。
???? ××× 只为特定的企业或用户群体所专用。从××× 用户角度看来,使用×××
与传统专网没有区别。××× 作为私有专网,一方面与底层承载网络之间保持
资源独立性,即在一般情况下,××× 资源不会被承载网络中的其它××× 或非
该××× 用户的网络成员所使用;另一方面,××× 提供足够安全性,确保×××
内部信息不受外部的侵扰。
×××技术除了可以节省费用外,还具有其它特点:
伸缩性椂能够随着网络的扩张,很灵活的加以扩展。当增加新的用户或子网时,只需修改已有网络软件配置,在新增客户机或网关上安装相应软件并接人Internet后,新的×××即可工作。
活性棗除了能够方便地将新的子网扩充到企业的网络外,由于Intemet的全球连通性,×××可以使企业随时安全地将信息存取到全球的商贸伙伴和顾客。
易于管理棗用专线将企业的各个子网连接起来时,随着子网数量的增加,需要的专线数以几何级数增长。而使用×××时Internet的作用类似一个HUB,只需要将各个子网接入Internet即可,不需要进行各个线路的管理
???? ××× 不是一种简单的高层业务。该业务建立专网用户之间的网络互联,包括
建立××× 内部的网络拓扑、路由计算、成员的加入与退出等,因此××× 技术
就比各种普通的点对点的应用机制要复杂得多。
2. ××× 的优势
???? 在远端用户、驻外机构、合作伙伴、供应商与公司总部之间建立可靠的安全连
接,保证数据传输的安全性。这一优势对于实现电子商务或金融网络与通讯网
络的融合将有特别重要的意义。
???? 利用公共网络进行信息通讯,一方面使企业以明显更低的成本连接远地办事机
构、出差人员和业务伙伴,另一方面极大的提高了网络的资源利用率,有助于
增加ISP(Internet Service Provider,Internet 服务提供商)的收益。
???? 只需要通过软件配置就可以增加、删除 ××× 用户,无需改动硬件设施。这使
得××× 的应用具有很大灵活性
???? 支持驻外 ××× 用户在任何时间、任何地点的移动接入,这将满足不断增长的
移动业务需求。
???? 构建具有服务质量保证的 ×××(如MPLS ×××),可为××× 用户提供不同等
级的服务质量保证,通过收取不同的业务使用费用可获得超额利润。
IPSEC协议通过包封装技术,能够利用Internet可路由的地址,封装内部网络的IP地址,实现异地网络的互通。
××× 的分类
按隧道所属的层次划分
根据是在 OSI 模型的第二层还是第三层实现隧道,隧道协议分为第二层隧道协议和
第三层隧道协议。
(1) 第二层隧道协议
第二层隧道协议是将整个 PPP 帧封装在内部隧道中。现有的第二层隧道协议有:
(以下内容参考RFC)
???? PPTP(Point-to-Point Tunneling Protocol):点到点隧道协议,由微软、朗
讯、3COM 等公司支持,在Windows NT 4.0 以上版本中支持。该协议支持点
到点PPP 协议在IP 网络上的隧道封装,PPTP 作为一个呼叫控制和管理协议,
使用一种增强的GRE(Generic Routing Encapsulation)技术为传输的PPP
报文提供流控和拥塞控制的封装服务。
???? L2F(Layer 2 Forwarding)协议:二层转发协议,由北方电信等公司支持。
支持对更高级协议链路层的隧道封装,实现了拨号服务器和拨号协议连接在物
理位置上的分离。
???? L2TP(Layer 2 Tunneling Protocol):二层隧道协议,由IETF 起草,微软等
公司参与,结合了上述两个协议的优点,为众多公司所接受。并且已经成为标
准RFC。L2TP 既可用于实现拨号××× 业务(VPDN 接入),也可用于实现
专线××× 业务。
(2) 第三层隧道协议
第三层隧道协议的起点与终点均在 ISP 内,PPP 会话终止在NAS 处,隧道内只携
带第三层报文。现有的第三层隧道协议主要有:
???? GRE(Generic Routing Encapsulation)协议:这是通用路由封装协议,用于
实现任意一种网络层协议在另一种网络层协议上的封装。
???? IPSec(IP Security)协议:IPSec 协议不是一个单独的协议,它给出了IP 网
络上数据安全的一整套体系结构。包括AH(Authentication Header)、ESP
(Encapsulating Security Payload)、IKE(Internet Key Exchange)等协议。
GRE 和IPSec 主要用于实现专线××× 业务。
Ipsec简介(又叫ip的安全是IETF开发)
ipsec也可以理解为协议的集合:包含安全协议(ah、esp)、**交换协议
Ipsec是最复杂的隧道协议
可以提出安全服务
1身份验证
建立隧道一定要有双方的身份验证(要提出自己的身份并被认可)
2抗重播 可以防止受到被他人修改过的包
3完整性 防止非法用户修改 利用的是签名技术来判断
4保密性
IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式
两种工作方式:传输模式和隧道模式
传输模式是两个网络之间不存在隧道服务器而隧道模式之间必须只是有一台隧道服务器
为什么要导入IPSEC协议
导入IPSEC协议,原因有2个,一个是原来的TCP/IP体系中间,没有包括基于安全的设计,任何人,只要能够搭入线路,即可分析所有的通讯数据。IPSEC引进了完整的安全机制,包括加密、认证和数据防篡改功能。
另外一个原因,是因为Internet迅速发展,接入越来越方便,很多客户希望能够利用这种上网的带宽,实现异地网络的的互连通。
ipsec的配置
1 创建加密的安全访问控制列表
2定义安全提议(包括安全协议以及算法)
3 选择加密算法与认证算法
4 创建安全策略 (把访问控制列表与提议绑在一起)
5 在接口上应用安全策略组
ipsec加密可以有两种加密方式。
1ah 2 esp
两种加密方法的实现
。
案例
以华为设备来模拟
Internet网利用防火墙模拟
拓扑图
配置命令
r5
r5]int e0
[r5-Ethernet0]ip add 192.168.1.1 255.255.255.0
[r5-Ethernet0]
%01:06:16: ip协议在Ethernet0上状态变为UP!int e1
[r5-Ethernet1]ip add 192.168.5.1 24
[r5-Ethernet1]qu
[r5]ip route 0.0.0.0 0 192.168.1.2
[r5]acl 3000
[r5-acl-3000]rule permit ip source 192.168.5.0 0.0.0.255 destination 192.168.6.0 0.0.0.255
[r5-acl-3000]rule deny ip source any destination any
[r5-acl-3000]qu
[r5]ipsec ?
policy 进入ipsec policy命令模式
proposal 进入ipsec proposal命令模式
replay-detect 使能反重播检测功能
sa 指定IPSec安全联盟参数信息
[r5]ipsec proposal ?
STRING<1-15> 转换方式(proposal)名称
[r5]ipsec proposal tran1 ?
<cr>
[r5]ipsec proposal tran1
[r5-ipsec-proposal-tran1]
r5]ipsec proposal tran1 ?
<cr>
[r5]ipsec proposal tran1
[r5-ipsec-proposal-tran1]
[r5-ipsec-proposal-tran1]en?
encapsulation-mode
[r5-ipsec-proposal-tran1]encapsulation-mode ?
transport 指定仅对报文的数据部分(不包括IP头)进行加密或验证
tunnel 指定对整个IP报文进行加密或验证
[r5-ipsec-proposal-tran1]encapsulation-mode tunnel
[r5-ipsec-proposal-tran1]
[r5-ipsec-proposal-tran1]t?
transform
[r5-ipsec-proposal-tran1]transform ?
ah-esp-new 指定使用RFC2402/2406方式的AH+ESP
ah-new 指定单独使用RFC2402方式的AH
esp-new 指定单独使用RFC2406方式的ESP(缺省)
[r5-ipsec-proposal-tran1]transform sep-new ?
未知的命令
[r5-ipsec-proposal-tran1]transform esp-new ?
<cr>
[r5-ipsec-proposal-tran1]transform esp-new
[r5-ipsec-proposal-tran1]esp?
esp-new
[r5-ipsec-proposal-tran1]esp-new ?
authentication-algorithm 指定ESP使用的验证算法
encryption-algorithm 指定ESP使用的加密算法
[r5-ipsec-proposal-tran1]esp-new encry ?
3des 指定使用3DES
blowfish 指定使用blowfish
cast 指定使用CAST
des 指定使用DES
skipjack 指定使用skipjack
[r5-ipsec-proposal-tran1]esp-new encry des ?
<cr>
[r5-ipsec-proposal-tran1]esp-new encry des 使用des加密
[r5-ipsec-proposal-tran1]esp-new aut ?
md5-hmac-96 指定使用HMAC-MD5算法
sha1-hmac-96 指定使用HMAC-SHA1算法
[r5-ipsec-proposal-tran1]esp-new aut md5 使用md5算法
[r5-ipsec-proposal-tran1]
[r5]ipsec policy policy1 ?
INTEGER<0-10000> 安全策略库顺序号
[r5]ipsec policy policy1 10 man 手动配置安全策略
[r5-ipsec-policy-policy1-10]security acl ?
INTEGER<3000-3999> 访问列表号
[r5-ipsec-policy-policy1-10]security acl 3000 将控制访问列表与安全策略绑定
[r5-ipsec-policy-policy1-10]p?
proposal
[r5-ipsec-policy-policy1-10]proposal ?
STRING<1-15> 转换方式(proposal)名称
[r5-ipsec-policy-policy1-10]proposal tran1 表名在哪条链路上
[r5-ipsec-policy-policy1-10]tu?
tunnel
[r5-ipsec-policy-policy1-10]tunnel ?
local 指定SA源端IP地址
remote 指定SA对端IP地址
[r5-ipsec-policy-policy1-10]tunnel local 192.168.1.1 隧道的开始路由
[r5-ipsec-policy-policy1-10]tunnel re 192.168.2.1 隧道的终点路由
[r5-ipsec-policy-policy1-10]sa inbound ?
ah 指定AH协议的key
esp 指定ESP协议的key
[r5-ipsec-policy-policy1-10]sa inbound esp ?
authentication-hex 指定ESP协议的验证**(十六进制格式)
encryption-hex 指定ESP协议的加***(十六进制格式)
spi 指定ESP协议的SPI
string-key 指定ESP协议的**(字符串格式)
[r5-ipsec-policy-policy1-10]sa inbound esp spi 12345 配置安全联盟索引 (必须与另一端的出口的索引值相同)
[r5-ipsec-policy-policy1-10]sa inbound esp str?
string-key
[r5-ipsec-policy-policy1-10]sa inbound esp string-key abcdefg 配置要是串(必须与另一端的出口钥匙串对应)
[r5-ipsec-policy-policy1-10]sa out esp spi 54321 配置出去的安全联盟索引(必须与另一端对应)
[r5-ipsec-policy-policy1-10]sa out esp st?
string-key
[r5-ipsec-policy-policy1-10]sa out esp st qwert 配置出去的钥匙串(必须与另一端进口一样)
[r5-ipsec-policy-policy1-10]qu
[r5]acl 3001
[r5-acl-3001]rule permit ip source 192.168.5.0 0.0.0.255 ?
destination Destination IP address
[r5-acl-3001]rule permit ip source 192.168.5.0 0.0.0.255 destination 192.168.4.0 0.0.0.255 配置到访问控制列表
Rule has been added to normal packet-filtering rules
[r5-acl-3001]rule deny ip so any de any
Rule has been added to normal packet-filtering rules
[r5-acl-3001]qu
[r5][r5]ipsec po policy1 11 isakmp 自动配置安全联盟
[r5-ipsec-policy-policy1-11]securi ?
acl 指定对符合规则条件的报文进行保护
[r5-ipsec-policy-policy1-11]securi acl 3001 将安全联盟与访问控制列表绑在一起
[r5-ipsec-policy-policy1-11]pro ?
STRING<1-15> 转换方式(proposal)名称
[r5-ipsec-policy-policy1-11]pro tran4 指明哪条链路
[r5-ipsec-policy-policy1-11]tunn?
tunnel
[r5-ipsec-policy-policy1-11]tunn ?
local 指定SA源端IP地址
remote 指定SA对端IP地址
[r5-ipsec-policy-policy1-11]tunn re 192.168.3.1 隧道的对端的地址
[r5-ipsec-policy-policy1-11]qu
[r5]ike pre ?
STRING<1-128> 验证字
[r5]ike pre 123 remote ?
X.X.X.X 远端IP地址
[r5]ike pre 123 remote 192.168.3.1 ske值隧道对端的地址
[r5]int e1
[r5-Ethernet1]ipsec policy policy1 运用到端口
r11上变的配置用的是手动生成配置
[r11]dis cu
Now create configuration...
Current configuration
!
version 1.74
sysname r11
firewall enable
aaa-enable
aaa accounting-scheme optional
!
acl 3000 match-order auto
rule normal permit ip source 192.168.6.0 0.0.0.255 destination 192.168.5.0 0.0.0.255
rule normal deny ip source any destination any
!
ipsec proposal tran2
!
ipsec policy poilcy1 10 manual
security acl 3000
proposal tran2
tunnel local 192.168.2.1
tunnel remote 192.168.1.1
sa inbound esp spi 54321
sa inbound esp string-key qwert
sa outbound esp spi 12345
sa outbound esp string-key abcdefg
!
interface Aux0
async mode flow
link-protocol ppp
!
interface Ethernet0
ip address 192.168.2.1 255.255.255.0
ipsec policy poilcy1
!
interface Ethernet1
loopback
ip address 192.168.6.1 255.255.255.0
!
interface Serial0
link-protocol ppp
!
interface Serial1
link-protocol ppp
!
interface Async0
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async1
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async2
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async3
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async4
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async5
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async6
physical-mode async
async mode protocol
link-protocol ppp
!
interface Async7
physical-mode async
async mode protocol
link-protocol ppp
!
voice-setup
!
subscriber-line 0
!
subscriber-line 1
!
quit
!
quit
ip route-static 0.0.0.0 0.0.0.0 192.168.2.2 preference 60
!
return
r14配置
r14上配置用的是自动
[Router]sysname r14
[r14]int e0
[r14-Ethernet0]ip add 192.168.3.1 255.255.255.0
[r14-Ethernet0]
%03:20:31: Line protocol ip on the interface Ethernet0 is UP
[r14-Ethernet0]int e1
[r14-Ethernet1]ip add 192.168.4.1 24
[r14-Ethernet1]loop
Ethernet1 running on loopback mode
[r14-Ethernet1]
%03:21:06: Interface Ethernet1 is UP
%03:21:06: Line protocol ip on the interface Ethernet1 is UPqu
[r14]ip route 0.0.0.0 0 192.168.3.2
[r14]ping 192.168.3.2
PING 192.168.3.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.3.2: bytes=56 Sequence=0 ttl=255 time = 7 ms
Reply from 192.168.3.2: bytes=56 Sequence=1 ttl=255 time = 4 ms
Reply from 192.168.3.2: bytes=56 Sequence=2 ttl=255 time = 5 ms 测试连通性
Reply from 192.168.3.2: bytes=56 Sequence=3 ttl=255 time = 4 ms
Reply from 192.168.3.2: bytes=56 Sequence=4 ttl=255 time = 5 ms
--- 192.168.3.2 ping statistics ---
5 packets transmitted
5 packets received
0.00% packet loss
round-trip min/avg/max = 4/5/7 ms
[r14]ping 192.168.1.1
PING 192.168.1.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.1: bytes=56 Sequence=0 ttl=254 time = 4 ms
Reply from 192.168.1.1: bytes=56 Sequence=1 ttl=254 time = 4 ms 测试连通性
Reply from 192.168.1.1: bytes=56 Sequence=2 ttl=254 time = 4 ms
Reply from 192.168.1.1: bytes=56 Sequence=3 ttl=254 time = 4 ms
Reply from 192.168.1.1: bytes=56 Sequence=4 ttl=254 time = 4 ms
[r14]acl 3000
[r14-acl-3000]rule pe ip so 192.168.4.0 0.0.0.255 de 192.168.5.0 0.0.0.255 设置访问控制列表
Rule has been added to normal packet-filtering rules
[r14-acl-3000]rule deny ip sou any de any
Rule has been added to normal packet-filtering rules
[r14-acl-3000]qu
[r14]ipsec ?
policy 进入ipsec policy命令模式
proposal 进入ipsec proposal命令模式
replay-detect 使能反重播检测功能
sa 指定IPSec安全联盟参数信息
[r14]ipsec pro ?
STRING<1-15> 转换方式(proposal)名称
[r14]ipsec pro tran3 创建一个trun3链路
[r14-ipsec-proposal-tran3]en?
encapsulation-mode
[r14-ipsec-proposal-tran3]encapsulation-mode ?
transport 指定仅对报文的数据部分(不包括IP头)进行加密或验证
tunnel 指定对整个IP报文进行加密或验证
[r14-ipsec-proposal-tran3]encapsulation-mode tunnel ?
<cr>
[r14-ipsec-proposal-tran3]encapsulation-mode tunnel 采用的是隧道模式传输
[r14-ipsec-proposal-tran3]qu
[r14]ipsec pol ?
STRING<1-15> 转换方式的名字
[r14]ipsec pol policy1 10 ?
<cr> 如果已创建过此安全策略
isakmp 说明使用IKE协商建立安全联盟
manual 说明不使用IKE协商建立安全联盟
[r14]ipsec pol policy1 10 isakmp ? 设置自动来配置安全策略
<cr>
[r14]ipsec pol policy1 10 isakmp
[r14-ipsec-policy-policy1-10]sec?
security
[r14-ipsec-policy-policy1-10]security ?
acl 指定对符合规则条件的报文进行保护
[r14-ipsec-policy-policy1-10]security acl 3000 绑定访问控制列表
[r14-ipsec-policy-policy1-10]proposal tran?
无此转换方式(proposal)名称
[r14-ipsec-policy-policy1-10]proposal tran3 运用到trun3链路上
[r14-ipsec-policy-policy1-10]tunnel ?
local 指定SA源端IP地址
remote 指定SA对端IP地址
[r14-ipsec-policy-policy1-10]tunnel remote 192.168.1.1 设置隧道对端的ip
[r14-ipsec-policy-policy1-10]qu
[r14]ike ?
pre-shared-key 指定对端的预共享**
proposal 进入IKE策略配置模式
sa 指定IKE SA参数
[r14]ike pre-shared-key ?
STRING<1-128> 验证字
[r14]ike pre-shared-key 123 ?
remote 设定对端IP地址
[r14]ike pre-shared-key 123 remote ?
X.X.X.X 远端IP地址
[r14]ike pre-shared-key 123 remote 192.168.1.1 ike隧道对端的地址
[r14]int e0
[r14-Ethernet0]ipsec ?
policy
[r14-Ethernet0]ipsec po ?
STRING<1-15> 转换方式的名字
[r14-Ethernet0]ipsec po polic1
无此安全策略库。
[r14-Ethernet0]ipsec po policy1 将ipsec policy应用到接口
[r14-Ethernet0]
[r14]ipsec ?
policy Enter ipsec policy command mode
proposal Enter ipsec proposal command mode
replay-detect Enable replay packets detection
sa Specify SA parameters information
[r14]ipsec pro ?
STRING<1-15> ipsec proposal name.
[r14]ipsec pro tran3 创建一个trun3链路
[r14-ipsec-proposal-tran3]en?
encapsulation-mode
[r14-ipsec-proposal-tran3]en ?
transport Specify only the payload(data) of the IP packet is protected
tunnel Specify the entire IP packet is protected
[r14-ipsec-proposal-tran3]en tu 设置为隧道传输模式
[r14-ipsec-proposal-tran3]ta?
Incorrect command
[r14-ipsec-proposal-tran3]tran?
transform
[r14-ipsec-proposal-tran3]tran sep 选择sep安全协议
Incorrect command
[r14-ipsec-proposal-tran3]tran esp
[r14-ipsec-proposal-tran3]esp en ?
3des Specify using triple DES
blowfish Specify using blowfish
cast Specify using cast
des Specify using DES
skipjack Specify using skipjack
[r14-ipsec-proposal-tran3]esp en des 利用des加密算法
[r14-ipsec-proposal-tran3]esp au ?
md5-hmac-96 Specify using HMAC-MD5 algorithm
sha1-hmac-96 Specify using HMAC-SHA1 algorithm
[r14-ipsec-proposal-tran3]esp au md5 选择md5校验
[r14-ipsec-proposal-tran3]qu
[r14]dis cu
Now create configuration...
Current configuration
!
version 1.74
sysname r14
firewall enable
aaa-enable
aaa accounting-scheme optional
!
ike pre-shared-key 123 remote 192.168.1.1
!
acl 3000 match-order auto
rule normal permit ip source 192.168.4.0 0.0.0.255 destination 192.168.5.0 0.0.0.255
rule normal deny ip source any destination any
!
ipsec proposal tran3
!
ipsec policy policy1 10 isakmp
security acl 3000
proposal tran3
tunnel remote 192.168.1.1
!
interface Aux0
async mode flow
link-protocol ppp
!
interface Ethernet0
ip address 192.168.3.1 255.255.255.0
ipsec policy policy1
!
interface Ethernet1
loopback
ip address 192.168.4.1 255.255.255.0
!
interface Serial0
link-protocol ppp
!
interface Serial1
link-protocol ppp
!
quit
ip route-static 0.0.0.0 0.0.0.0 192.168.3.2 preference 60
!
return
[r14]
防火墙
防火墙上的配置
[H3C]int eth0/0
[H3C-Ethernet0/0]ip add 192.168.1.2 24
[H3C-Ethernet0/0]ping 192.168.1.1
[H3C]int eth 0/2
[H3C-Ethernet0/2]ip add 192.168.3.2 24
[H3C-Ethernet0/2]
[H3C]int eth0/1
[H3C-Ethernet0/1]ip add 192.168.2.2 24
[H3C]firewall z
[H3C]firewall zone ?
DMZ DMZ security zone
local Local security zone
name Specify a security zone name
trust Trust security zone
untrust Untrust security zone
[H3C]firewall zone unt
[H3C]firewall zone untrust
[H3C-zone-untrust]add interface eth0/1 将端口加入区域(可以是同一个区域)
[H3C-zone-untrust]add interface eth0/2
[H3C-zone-untrust]add interface eth0/0
The interface has been added to trust security zone.
[H3C-zone-untrust]qu
[H3C]
小结
我再也不传图片了 这功能无语 。
转载于:https://blog.51cto.com/langzijishu/961584