IPSec如何工作的(转载)

Posted on 2007-05-24 15:49  苹果引擎  阅读(842)  评论(0编辑  收藏  举报

1,定义interesting traffic
如access-list 101 permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
2,IKE Phase 1
IKE Phase 1的目的是鉴别IPsec对等体,在对等体之间设立安全通道,以使IKE能够进行信息交换。
IKE Phase 1执行以下的功能:
  鉴别和保护IPSec对等体的身份
  在对等体之间协商一个相匹配的IKE安全关联策略。
  执行一个被认证过的Diffie-Hellman交换,其结果是具有匹配的共享密钥。
  建立安全的通道,以协商IKE Phase 2中的参数
IKE Phase 1有两种模式:
  master mode
  aggressive mode
3,IKE Phase 2
IKE Phase 2的目的是协商IPSec安全关联(SA),以建立IPSec通道。IKE Phase 2执行以下功能:
   协商受已有IKE SA 保护的IPSec SA参数
   建立IPSec SA
   周期性的重新协商IPSec SA 以确保安全性
4,IPSec 加密隧道
  在IKE Phase 2结束之后,信息就通过IPSec隧道被交换
5,隧道终止
  当被删除或生存期超时后,IPSec就终止了。当指定的秒数过去或指定的字节数通过隧道后,安全关联
  将超时。当SA终结后,密钥会被丢弃。当一个数据流需要后续的IPSEC SA时,IKE就执行一个新的IKE Phase
  2和IKE Phase 1协商,产生新的SA密钥,新的SA密钥可以在现有的SA超时之前被建立。
二IPSec安全关联(SA)
   IPSec 提供了许多选项用于网络加密和认证。每个IPSec连接能够提供加密、完整性、认证保护或三者
   的全部。两个IPSEC必须精确确定要使用的算法(如DES或3DES用于加密,MD5或SHA用于完整性验证)。在
   确定算法事,两个设备必须共享会话密钥。用于IPSEC 的安全关联是单向的。双向通信由两个安全关联
   组成。

                            NO
IOS  每个数据包---->;加密?------->;从接口送出
                      |                 |
                      |YES              |
IPSEC                 |                 |
是否有IPSEC SA        |      YES        |
                  IPSEC SA?------->;加密数据包并发送
                      |                  |
                      |NO                |KEYS
IKE                   |       YES        |
                    IKE SA ?-------->;通过IKE SA协商IPSEC SA
                      |                  |
                      |                  |
                      |NO       NO       |
                 用CA进行认证?------>;与另一个对等体协商IKE SA
                      |                  |
                      |                  |
CA认证                |YES               |
                  获得CA的公钥,产生自已的公钥/私钥

三、CISCO VPN 产品系列
VPN产器主要包括:Cisco VPN路由器,Cisco PIX防火墙,Cisco VPN集中器系列,Cisco Secure VPN客户端
Cisco Secure 入侵检测系统,Cisco Secure 策略管理器
四、配置CISCO IOS应用预共享密钥
使用预共享密钥来验证IPSEC会话比较容易配置,但是扩展性不太好。
分配给ISAKMP是UDP的端口500,ESP是IP协议号50,AH是IP协议号51,确保这些数据流没有被限制。
如:access-list 111 permit ahp host 192.168.20.2 host 192.168.30.2
   access-list 111 permit esp hot 192.168.20.2 host 192.168.30.2
   access-list 111 permit udp host 192.168.20.2 host 192.168.30.2 eq isakmp
可以show access-list查看。
1、激活IKE crypto isakmp enable
2、建立IKE策略  crypto isakmp policy priority
cisco(config)#crypto isakmp policy 100
hash md5        --消息完整性(散列)算法
authentication pre-share        --对等体签别预共享密钥
encryption des        --加密算法
group 2        --共享密钥交换
lifetime 10000        --SA的生存时间
3、配置预共享密钥
缺省情况下CISCO IOS软件使用IP地址作为身份标识方法。如果要使用主机名作为身份标识,
要配置crypto isakmp identity {address|hostname}.如crypto isakmp identity hostname,如果使用的
主机名没有DNS解析的话还要加ip host studio317.domain.com 192.168.20.2
用crypto isakmp key来配置预共享密钥。如crypto isakmp key keystring hostname peer-hostname
4、 验证IKE的配置
show crypto isakmp policy命令来显示配置了的策略。
5、配置IPSec
配置变换集
crypto ipsec transform-set transform-set-name transform1[transform2[transform3]]
最多3个变换
如crypto ipsec transform-set noAH esp-md5-hmac esp-des
上例使用MD5算法ESP认证,采用DES算法的ESP加密和隧道模式(缺省)现在AH很少用了
配置IPsec SA的生存时间
crypto ipsec serurity-association lifetime {seconds |kilobytes}
配置加密图
crypto map map-name seq-num ipsec-isakmp
如crypto map mymap 10 ipsec-isakmp
match address
peer
transform-set
security-association
配置实例:
RotuerA#show run

crypto isakmp policy 10
hash md5
authentication pre-share
crypto isakmp key cisco address 172.30.2.1
!
crypto ipsec transform mine esp-des
!
crypto map mymap 110 ipsec-isakmp
set peer 172.30.2.1
set transform-set mine
match address 110
!
interface Ethernet0/1
ip address 172.30.1.1 255.255.255.0
ip access-group 101 in
crypto map mymap
!
access-list 101 permit ahp host 172.30.2.1 host 172.30.1.1
access-list 101 permit esp host 172.30.2.1 host 172.30.1.1
access-list 101 permit udp host 172.30.2.1 host 172.30.1.1 eq isakmp
access-list 110 permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
access-list 110 deny any any

RotuerB#show run

crypto isakmp policy 100
hash md5
authentication pre-share
crypto isakmp key cisco address 172.30.1.1
!
crypto ipsec transform mine esp-des
!
crypto map mymap 110 ipsec-isakmp
set peer 172.30.1.1
set transform-set mine
match address 102
!
interface Ethernet0/1
ip address 172.30.2.1 255.255.255.0
ip access-group 101 in
crypto map mymap
!
access-list 101 permit ahp host 172.30.1.1 host 172.30.2.1
access-list 101 permit esp host 172.30.1.1 host 172.30.2.1
access-list 101 permit udp host 172.30.1.1 host 172.30.2.1 eq isakmp
access-list 102 permit ip 10.0.2.0 0.0.0.255 10.0.1.0 0.0.0.255
access-list 102 deny any any

Copyright © 2024 苹果引擎
Powered by .NET 8.0 on Kubernetes