【防火墙技术连载25】强叔侃墙 VPN篇 Internet危机四伏,IPSec闪亮登场

digest [复制链接]
发表于 : 2014-7-1 15:00:55 最新回复:2018-10-07 21:57:59
25494 46
强叔侃墙
强叔侃墙 官方号

危机四伏

随着GRE和L2TP的广泛应用,民间组织天地会也与时俱进,在总舵和各个分舵之间部署了GRE和L2TP。总舵和分舵通过GRE隧道和L2TP隧道传递消息,互通有无,反清复明事业开展得如火如荼。但好景不长,总舵和分舵之间传递的机密信息被官府查获,分舵的堂主帮众悉数被抓,一时间Internet上暗潮汹涌,天地会危机四伏。

事关帮派存亡,陈总舵主赶忙召集会议商讨对策,究其原因,无论是GRE还是L2TP,建立的隧道都没有任何安全加密措施,总舵和分舵之间的消息在GRE隧道或L2TP隧道中都是明文传输,机密信息很容易就被官府获取。如何保证信息安全传输是摆在天地会面前的一道难题,购买专线是个解决方法,但由于四十二章经中的宝藏还未找到,天地会的财力不足以搭建总舵到各个分舵的专线,所以还得利用现有的公共资源---Internet来想办法。

遍访高人之后,天地会终于找到了解决问题之道:IPSec(IP Security)。作为新一代的VPN技术,IPSec可以在Internet上建立安全稳定的专用线路。与GRE和L2TP相比,IPSec更加安全,能够保证总舵与分舵之间消息的安全传输。

两大绝技

要说这IPSec可不简单,它不是一个单一的招式,而是一整套招法。IPSec巧妙借用了密码学门派所擅长的易容障眼之法,融会到自创的AH(Authentication Header,验证头)和ESP(Encapsulating Security Payload,封装安全载荷)两大绝技中,既可改头换面瞒天过海,也能验明正身完璧归赵。即便消息被截获了也没人能看懂,被篡改了也能及时发现。

  • 改头换面,瞒天过海---加密

IPSec借用了易容术的巧妙之处,一方传递消息之前,先使用加密算法和加密密钥,将消息改头换面,该过程称为加密;另一方收到消息后,使用相同的加密算法和加密密钥,逆向将消息恢复为真实面貌,该过程称为解密。而消息在传递过程中绝不以真容示人,令窃密者一无所获。

 

当天地会的总舵和分舵需要互通消息时,双方事先商议好相同的加密算法和加密密钥,假设总舵要向分舵发布命令“八月十五,太湖岸边,共举大事”,总舵先使用颠三倒四加密算法,将文字颠倒位置,然后再将加密密钥“反清复明”插入其中,加密后的命令最终变成“反十五太湖清岸边共举复大事八月明”这样的一段消息,然后传递出去。即使该消息在路上被官府截获,也会让官府看的一头雾水,不会发现任何蛛丝马迹。而分舵收到消息后,使用相同的颠三倒四加密算法和加密密钥“反清复明”,便可将消息恢复成原始的命令“八月十五,太湖岸边,共举大事”。

总舵和分舵使用相同的密钥来加密和解密,这种方式也叫对称加密算法,主要包括DES3DESAES

项目

DES

3DES

AES

全称

Data Encryption Standard

Triple Data Encryption Standard

Advanced Encryption Standard

密钥长度

56

168

128位、192位、256

安全级别

 

  • 验明正身,完璧归赵---验证

古有蔺相如忠肝义胆,完璧归赵,今有IPSec火眼金睛,明辨是非。一方传递消息之前,先使用验证算法和验证密钥对消息进行处理,得到签字画押的文书,即签名。然后将签名随消息一同发出去。另一方收到消息后,也使用相同的验证算法和验证密钥对消息进行处理,同样得到签名,然后比对两端的签名,如果相同则证明该消息没有被篡改。

 

除了对消息的完整性进行验证,IPSec还可以对消息的来源进行验证,即验明消息的正身,保证消息来自真实的发送者。

通常情况下,验证和加密配合使用,加密后的报文经过验证算法处理生成签名。常用的验证算法有MD5和SHA系列。

项目

MD5

SHA1

SHA2

全称

Message Digest 5

Secure Hash Algorithm 1

Secure Hash Algorithm 2

签名长度

128

160

SHA2-256256

SHA2-384384

SHA2-512512

安全级别

 

IPSec的两大绝技中,AH只能用来验证,没有加密的功能,而ESP同时具有加密和验证的功能,AH和ESP可以单独使用也可以配合使用。

安全封装

天地会不能将反清复明的招牌挂于明处,所以只能用合法生意作为掩护。例如,总舵对外的公开身份是当铺,分舵对外的公开身份是票号,当铺和票号之间正常的生意往来就是最好的保护伞。在为了更好地利用这个保护伞,IPSec设计了两种封装模式:

  • 明修栈道暗度陈仓---隧道模式

在隧道模式下,AH头或ESP头***到原始IP头之前,另外生成一个新的报文头放到AH头或ESP头之前:

 

隧道模式使用新的报文头来封装消息,可以保护一个网络的消息,适用于两个网关之间通信,是比较常用的封装模式。总舵和分舵内部私网之间的信息经过加密和封装处理后,在外看来只是总舵和分舵的公开身份(公网地址),即当铺和票号之间的通信,不会被人怀疑。

  • 开门见山直来直往---传输模式

在传输模式中,AH头或ESP头***入到IP头与传输层协议头之间:

 

传输模式不改变报文头,隧道的源和目的地址就是最终通信双方的源和目的地址,通信双方只能保护自己发出的消息,不能保护一个网络的消息。所以该模式只适用于两台主机之间通信,不适用于天地会总舵和分舵内部私网之间通信。

互信盟友

IPSec中通信双方建立的连接叫做安全联盟SA(Security Association),顾名思义,通信双方结成盟友,使用相同的封装模式、加密算法、加密密钥、验证算法、验证密钥,相互信任亲密无间。

安全联盟是单向的逻辑连接,为了使每个方向都得到保护,总舵和分舵的每个方向上都要建立安全联盟。总舵入方向上的安全联盟对应分舵出方向上的安全联盟,总舵出方向上的安全联盟对应分舵入方向上的安全联盟。

 

为了区分这些不同方向的安全联盟,IPSec为每一个安全联盟都打上了唯一的标识符,这个标识符叫做SPI(Security Parameter Index)。

建立安全联盟最直接的方式就是分别在总舵和分舵上人为设定好封装模式、加密算法、加密密钥、验证算法、验证密钥,即手工方式建立IPSec安全联盟。

初显神威

了解到IPSec的强大威力后,天地会陈总舵主决定先在总舵和一个分舵之间使用手工方式部署IPSec隧道,对总舵和分舵内部网络之间传递的消息进行保护,验证IPSec隧道的安全效果。

 

为了让加密、验证、安全联盟的配置关系更清晰,IPSec为手工方式定义了四个步骤:

1、  定义需要保护的数据流

只有总舵和分舵内部网络之间交互的消息才被IPSec保护,其他消息不受保护。

2、  配置IPSec安全提议

总舵和分舵根据对方的提议,决定能否成为盟友。封装模式、ESP、加密算法和验证算法均在安全提议中设置。

3、  配置手工方式的IPSec安全策略

    指定总舵和分舵的公网地址、安全联盟标识符SPI,以及加密密钥和验证密钥。

4、  应用IPSec安全策略

手工方式的IPSec配置关系如下图所示:

 

天地会总舵和分舵的关键配置和解释如下:

配置项

天地会总舵

天地会分舵

ACL

acl number 3000

 rule 5 permit ip source 192.168.0.0 0.0.0.255 destination 172.16.0.0 0.0.0.255

acl number 3000

 rule 5 permit ip source 172.16.0.0 0.0.0.255 destination 192.168.0.0 0.0.0.255

IPSec安全提议

ipsec proposal pro1

 transform esp

 encapsulation-mode tunnel

 esp authentication-algorithm sha1

 esp encryption-algorithm aes

ipsec proposal pro1

transform esp

 encapsulation-mode tunnel

esp authentication-algorithm sha1

 esp encryption-algorithm aes

IPSec安全策略

ipsec policy policy1 1 manual

 security acl 3000

 proposal pro1

 tunnel local 1.1.1.1

 tunnel remote 2.2.2.2

 sa spi inbound esp 54321

sa spi outbound esp 12345

 sa string-key inbound esp huawei@123

 sa string-key outbound esp huawei@456

ipsec policy policy1 1 manual

 security acl 3000

 proposal pro1

 tunnel local 2.2.2.2

 tunnel remote 1.1.1.1

 sa spi inbound esp 12345

sa spi outbound esp 54321

 sa string-key inbound esp huawei@456

 sa string-key outbound esp huawei@123

应用IPSec安全策略

interface GigabitEthernet0/0/1

 ip address 1.1.1.1 255.255.255.0

 ipsec policy policy1

interface GigabitEthernet0/0/0

ip address 2.2.2.2 255.255.255.0

 ipsec policy policy1

 

注:除了上述IPSec的配置之外,防火墙安全策略也需要配置,允许总舵和分舵之间建立安全联盟,以及允许总舵私网和分舵私网之间互访。

部署完成后,总舵内部网络向分舵内部网络发出ping消息,分舵内部网络回复ping消息,天地会在Internet上模拟官府设卡检查,发现两个方向的ping消息都已经被IPSec安全联盟保护。两个方向上IPSec安全联盟的标识符SPI分别为0x3039(十进制12345)以及0xd431(十进制54321),与上文配置相符。

 

分析报文的内容,发现ping消息已经被加密,面目全非无法辨识,这样即使该消息真的被官府查获,也不能获取到任何有价值的信息。

为了对比ESPAH的作用,天地会又使用IPSec中的另一绝技AH来建立安全联盟。AH只有验证功能,没有加密的功能,官府从查获到的消息中看到私网报文头和ping消息真容。因此,如果要实现加密,还是要使用ESP,或者AHESP配合使用

 

自从使用了IPSec后,天地会总舵和分舵之间通信顺畅,没过多久,又新发展了好几个分舵,新建立的分舵也要和总舵建立IPSec隧道。如果继续使用手工方式的话,每个分舵都需要配置各种参数,工作量大也不便于维护。IPSec也考虑到了这种情况,除了手工方式之外,IPSec还支持总舵和分舵自动协商建立IPSec安全联盟,该招式名为IKE。欲知IKE详情,请听下回分解。

 

 

上一篇 VPN篇 L2TP LAC-Auto-Initiated VPN

下一篇 VPN篇 IPSec携手IKE,珠联璧合显神威

汇总贴

本帖被以下专题推荐:

  • x
  • 常规:

点评 回复

回去
回去 发表于 2017-1-8 17:32
请教一下。为什么ipsec不能传输动态协议,是和acl有关么?IPsec不也有隧道模式。 
回去
回去 发表于 2017-1-8 17:34
你好请教下为什么ipsec不能传输动态路由协议。他也有隧道模式啊。是和acl有关系么? 
跳转到指定楼层
x00151571
x00151571   发表于 2014-7-1 15:14:15 已赞(0) 赞(0)

IPSec是重头戏,得好好看!
  • x
  • 常规:

点评 回复

shadowboy
shadowboy   发表于 2014-7-1 17:16:16 已赞(0) 赞(0)

强哥,辛苦
  • x
  • 常规:

点评 回复

Cai_n
Cai_n   发表于 2014-7-1 17:28:06 已赞(0) 赞(0)

很有意思,期待后续内容

  • x
  • 常规:

点评 回复

DoubleDong
DoubleDong   发表于 2014-7-2 00:00:16 已赞(0) 赞(0)

学习到深夜!支持强叔!

  • x
  • 常规:

点评 回复

wangbenlie
wangbenlie   发表于 2014-7-2 09:06:35 已赞(0) 赞(0)

感谢分享!
  • x
  • 常规:

点评 回复

Y_GH
Y_GH   发表于 2014-7-2 10:02:56 已赞(0) 赞(0)

强总舵主V5!

  • x
  • 常规:

点评 回复

guoyehai
guoyehai   发表于 2014-7-3 11:25:26 已赞(0) 赞(0)

通俗易懂 极品
  • x
  • 常规:

点评 回复

user_18761
user_18761   发表于 2014-7-6 15:31:15 已赞(0) 赞(0)

这个写的是忒好,期待IKE。以前这个东西怎么也看不懂,今天图文并茂,语言通俗易懂,总算是有点入门了。谢谢了。
  • x
  • 常规:

点评 回复

周中斌
周中斌   发表于 2014-9-17 17:21:48 已赞(0) 赞(0)

跟看***一样***

  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录