科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道VPN的基本概念及在PIX上的实现

VPN的基本概念及在PIX上的实现

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

VPN是‘网络’,因为它是联网的!我们在连接两个不同的网络,并有效地建立一个独立的、虽然是虚拟的实体:一个新的网络。”

作者:论坛整理 来源:zdnet网络安全 2008年3月12日

关键字: 防火墙 CISCO 思科 PIX防火墙 思科PIX防火墙

  • 评论
  • 分享微博
  • 分享邮件

  VPN(Virtual Private Network)的概念,我觉得《IPSec新一代因特网安全标准》(IPSec: the new security standard for the Internet, intranets, and virtual private networks,机械工业出版社出版)这本书中的一句话概括得极好:“VPN是‘虚拟的’,因为它不是一个物理的、明显存在的网络。两个不同的物理网络之间的连接由通道来建立。VPN是‘专用的’,因为为了提供机密性,通道被加密。VPN是‘网络’,因为它是联网的!我们在连接两个不同的网络,并有效地建立一个独立的、虽然是虚拟的实体:一个新的网络。”

  说到VPN就绕不开IPSec,IPSec可以说是VPN架构的基石。除了IPSec,也可以通过L2TP、PPTP协议来走VPN,但在绝大部分的VPN中都是用IPSec来实现的。

  IPSec提供了这么几个基本功能:

  数据机密性(Data confidentiality)-IPSec传送者在将数据发送并穿越网络之前就加密数据包。

  数据完整性(Data integrity)-IPSec接收者在收到IPSec传送者发送来的数据时,可以验证数据包以确保数据在传送过程中未被改动。

  数据源验证(Data origin authentication)-IPSec接收者可以验证发送IPSec数据包的源头。此服务依附于数据完整性服务。

  反重播(Anti-replay)-IPSec接收者可以检测并拒收重播数据包。

  IPSec的两个重要组成部件AH和ESP:

  AH(Authentication Header,验证头) :AH提供的功能包括了数据完整性、数据源验证以反重播(要注意的是:AH没有提供数据机密性服务)。

  ESP(Encapsulating Security Payload ,封装安全载荷):除了具有AH的所有功能外,还可以保证数据的机密性。

  下面是和IPSec有关的几个重要概念:

  两种传送模式(Transport Mode):

  传送模式(transport mode)与通道模式(tunnel mode)。两者的主要区别:传送模式用来保护上层协议;而通道模式用来保护整个IP数据包。

  加密算法:

  DES Algorithm和Triple DES Algorithm (3DES)。DES是56位的加密算法,3DES为加密强度三倍于DES,即168位的加密算法。

  密钥交换算法:

  DH(Diffie-Hellman key agreement)和RSA(Rivest, Shamir, and Adelman Signatures )。允许通话双方通过一个不安全的通信信道建立起一个可以被加密算法(如DES、MD5)所使用的共享安全密钥(shared secret key)。Cisco路由器和PIX防火墙中支持768位(Group 1)和1024位(Group 2)的DH组。

  验证算法:

  MD5(Message Digest 5)和SHA-1(Secure Hash Algorithm-1)。又称为HASH算法,基本原理是对一个任意长度的输入值进行处理,产生一个固定长度的输出信息(称为摘要,digest)。HMAC-MD5和HMAC-SHA是MD5和SHA的HMAC(Hashed message authentication codes )变体,比MD5和SHA更为强壮,HMAC-MD5产生的摘要长度为96位,而HMAC-SHA产生的摘要长度为128位。

  IKE(Internet Key Exchange,Internet密钥交换):用于验证IPSec的对端体,协商IKE SA和IPSec SA(Security Association)的安全策略,验证加密材料的建立。

  SA(Security Association,安全联盟):两个通信实体经协商建立起来的一种协定,规定了通信实体将怎样利用安全服务来实现安全的通讯。

  接下来是一个IPSec会话的五个主要过程:

  1、定义哪些数据要进行安全传输;

  2、IKE阶段一(Phrase One):通过协商IKE SA来验证IPSec对端体,并建立起一个可以在IKE阶段二(Phrase Two)协商IPSec SA的安全通道;

  3、IKE阶段二(Phrase Two):IKE协商IPSec SA的参数并在对端体之间建立起匹配的IPSec SA;

  4、数据传输:IPSec通道被正确地建立起来,数据在IPSec对端体之间进行安全传输;

  5、IPSec通道被终止。

  下面结合一个实例来说明在PIX Firewall上配置VPN的过程,设备为两个PIX,拓扑图大致如下:

  (Inside:10.1.1.1)PIX1(Outside:192.168.1.52)----(cloud)----(Outside:172.22.112.12)PIX2(Inside:172.16.1.1)

  IKE阶段一(Phrase One)

  IKE Phrase 1所要做的主要任务有--

  * 打开IKE(这里是在outside接口上打开IKE)。

  以上定义的相对应语句:

  isakmp enable outside

  * 定义密钥分发方式:可以用手工分发,也可以用CA服务器来分发。我们这里采用手工分发方式;

  * 定义验证方式:可以在pre-shared密钥或者RSA signatures中选择。我们这采用pre-shared密钥,密钥为“securevpn”。

  * 定义对端IPSec设备的IP地址或者主机名。这里即为:172.22.112.12。

  以上定义的相对应语句:

  isakmp identity address

  isakmp key securevpn address 172.22.112.12 netmask 255.255.255.255

  !--- securevpn为pre-share key,172.22.112.12为对端IPSec设备IP地址。

  * 定义ISAKMP策略(注:在Cisco设备中,ISAKMP和IKE是同义)。这里包括了定义加密算法(这里用DES),定义HASH算法(这里用MD5),以及定义IKE SA的生存期(这里定义为1000秒,此项可选)。

  以上定义的相对应语句:

  isakmp policy 1 authentication pre-share

  !--- 定义验证方式

  isakmp policy 1 encryption des

  !--- 定义加密算法

  isakmp policy 1 hash md5

  !--- 定义HASH算法

  isakmp policy 1 group 1

  !--- 定义密钥交换算法

  isakmp policy 1 lifetime 1000

  IKE阶段二(Phrase Two)

  IKE Phrase 2所要做的主要任务有--

  * 定义哪些流量需要进行安全传输,也就是定义interesting traffic的过程,用ACL来定义:

  以上定义的相对应语句:

  access-list101 permit ip 10.1.1.0 255.255.255.0 172.16.1.0 255.255.255.0

  !--- 允许10.1.1网段的机器访问172.16.1网段,172.16.1网段为对端PIX2的内网地址。

  * 定义传送集(Transform Set)。记住,Transform Set=AH+ESP+Transport Mode(这里定义为esp-des和esp-md5-hmac)。

  以上定义的相对应语句:

  crypto ipsec transform-set chevelle esp-des esp-md5-hmac

  !-- chevelle为transform set名,transform set定义了采用ESP,加密算法为DES,验证算法为HMAC-MD5。

  * 定义crypto map,并将crypto map映射到相应接口上。(这里定义了使用ISAKMP来进行Phrase 2协商,interesting traffic为ACL 101决定的traffic,对端IPSec IP地址为172.22.112.12,并将名为chevelle的transform set绑定到此crypto map上)。

  以上定义的相对应语句:

  crypto map transam 1 ipsec-isakmp

  !--- 使用ISAKMP进行Phrase 2协商

  crypto map transam 1 match address 101

  !--- interesting traffic由ACL 101决定

  crypto map transam 1 set peer 172.22.112.12

  !--- 对端IPSec IP地址

  crypto map transam 1 set transform-set chevelle

  !--- 将chevelle绑定

  crypto map transam interface outside

  !--- 将crypto map映射到outside接口

  另外几个很容易忽视但绝不能忘记的配置:

  nat (inside) 0 access-list 101

  !--- 让ACL 101的流量不进行NAT操作

  sysopt connection permit-ipsec

  !--- 忽略对IPSec流量的ACL或conduit检查。这句绝对重要!

  route outside 0.0.0.0 0.0.0.0 192.168.1.1 1

  !--- 定义缺省路由。走VPN之前先保证你的网络是通的

  最后是完整的配置(这个例子是Cisco站上的,我上面做了分解并加了注释):

  PIX Version 5.1(5)

  nameif ethernet0 outside security0

  nameif ethernet1 inside security100

  enable password ****** encrypted

  passwd ****** encrypted

  hostname Maui-PIX-01

  fixup protocol ftp21

  fixup protocol http 80

  fixup protocol h323 1720

  fixup protocol rsh 514

  fixup protocol rtsp 554

  fixup protocol smtp 25

  fixup protocol sqlnet 1521

  names

  access-list 101 permit ip 10.1.1.0 255.255.255.0 172.16.1.0 255.255.255.0

  pager lines 24

  logging on

  no logging timestamp

  no logging standby

  no logging console

  no logging monitor

  no logging buffered

  no logging trap

  no logging history

  logging facility 20

  logging queue 512

  interface ethernet0 auto

  interface ethernet1 auto

  mtu outside 1500

  mtu inside 1500

  ip address outside 192.168.1.52 255.255.255.0

  ip address inside 10.1.1.1 255.255.255.0

  no failover

  failover timeout 0:00:00

  failover ip address outside 0.0.0.0

  failover ip address inside 0.0.0.0

  arptimeout 14400

  nat (inside) 0 access-list 101

  route outside 0.0.0.0 0.0.0.0 192.168.1.1 1

  timeout xlate 3:00:00 conn 1:00:00 half-closed 0:10:00 udp 0:02:00

  timeout rpc 0:10:00 h323 0:05:00

  timeout uauth 0:05:00 absolute

  aaa-server TACACS+ protocol tacacs+ AAA-server RADIUS protocol radius

  no snmp-server location

  no snmp-server contact

  snmp-server community public

  no snmp-server enable traps

  floodguard enable

  connection permit-ipsec

  no sysopt route dnat

  crypto ipsec transform-set chevelle esp-des esp-md5-hmac

  transam 1 ipsec-isakmp

  crypto map transam 1 match address 101

  crypto map transam 1 set peer 172.22.112.12

  crypto map transam 1 set transform-set chevelle

  crypto map transam interface outside

  isakmp enable outside

  isakmp key ********** address 172.22.112.12 netmask 255.255.255.255

  isakmp identity address

  isakmp policy 1 authentication pre-share

  isakmp policy 1 encryption des

  isakmp policy 1 hash md5

  isakmp policy 1 group 1

  isakmp policy 1 lifetime 1000

  telnettimeout 5

  terminal width 80

  Cryptochecksum:xxxxxx [OK]

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章