小生博客:http://xsboke.blog.51cto.com

   

  

 

                             -------谢谢您的参考,如有疑问,欢迎交流


一、 EASY-***简介

   Ipsec***实现站点到站点的***

   Easy***实现远程***

  1. Easy-***面临的问题

1)因为整个ipsec ***加密传输的根本就是事先配置在设备上的预共享秘钥,一旦秘钥外泄,整个ipsec ***所作的努力全都会付之东流

2)建立L2L IPSEC ***时,双方都有固定的ip地址,这样我们才有可能在配置crypto map的时候指定对方的peer,才有可能配置crypto ACL来定义哪些流量将触发链接的建立。但是对于远程访问***而言,客户端一侧的ip是不可能固定的

3)通过建立动态crypto map,映射到静态crypto map上的方法实现将xauth和组策略绑定到端口上,因为端口是不允许绑定动态crypto map的。

  2. XAUTH

1)Xauth(扩展认证),Ipsec协议最初的设计并未考虑用户验证的问题,所以IETF引入了一个RFC的草案—XAUTH

2)Xauth提供用户名和密码的方式来验证用户身份,用于解决easy-***密钥外泄的问题。

3)既然存在用户验证自然就会涉及用户名和密码的存储方式,通常情况下有两种方式:

l存储在***网关设备的内部数据库中。

l存储在第三方设备上,如一台AAA服务器

AAA服务器主要使用RADIUSremote authentication dial in user server,远程验证拨入用户服务)协议和TACACS+terminal access controller access control system,终端访问控制器访问控制系统)协议

Radius是通用协议,协议类型为UDP

Tacacs+是思科独有的协议,只有思科的设备才能使用,但是协议类型是TCP相对radius安全很多

  3. 组策略

1)因为客户端的IP是不固定的,所以在配置crypto的时候无法指定peer,这时我们可以让***网关去推送这些策略给客户端。

2)策略主要包括:

l  地址池:分配客户端地址

l  DNS和网关:和DHCP一样,分配给客户端网关IPDNS

l  共享密钥:分配密钥给客户端

l  分离隧道:实现客户端在连接***的同时可以访问internet

l  分离DNS:实现客户端访问内网的网站使用内网的DNS,访问外网的网站,使用运营商的DNS

二、实例(路由器)

  Cisco系列:Easy-***详细剖析(路由器、防火墙)_第1张图片

  R1***配置

    R1(config)#intf 0/1

    R1(config-if)#ipadd 192.168.1.1 255.255.255.0

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)#intf 0/0

    R1(config-if)#ipadd 202.2.2.1 255.255.255.0

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)#iproute 0.0.0.0 0.0.0.0 202.2.2.2

首先配置xauth

    R1(config)#aaa new-model

      开启AAA

    R1(config)#aaa authentication login benet-authen local

      配置***客户端认证方式,local为本地认证,也就是在路由器上手动配置账户

    R1(config)#aaa authorization network benet-author local

      为远程访问***客户端进行授权

    R1(config)#username benet secret 123

      为客户端创建账户

    R1(config)#cryptoisakmp policy 10

    R1(config-isakmp)#encryption3des

    R1(config-isakmp)#hashsha   

    R1(config-isakmp)#authenticationpre-share

    R1(config-isakmp)#group2

      配置isakmp策略

    R1(config-isakmp)#exit

定义组策略

    R1(config)#ip local pool benet-pool 172.16.0.1 172.16.0.10

      创建地址池

    R1(config)#ip access-list extended split-acl

    R1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any

      配置隧道分离需要的ACL

    R1(config-ext-nacl)#exit

    R1(config)#cryptoisakmp client configuration group benet-group

    R1(config-isakmp-group)#keybenet-key       预共享密钥

    R1(config-isakmp-group)#poolbenet-pool     应用之前配置的地址池

    R1(config-isakmp-group)#dns202.16.41.51    指定DNS

    R1(config-isakmp-group)#aclsplit-acl         调用隧道分离

    R1(config-isakmp-group)#split-dnsbenet.com  分离DNS

      配置用户组及其密钥,并且关联地址池等

    R1(config-isakmp-group)#exit

    R1(config)#crypto ipsec transform-set benet-set esp-3desesp-sha-hmac

    R1(cfg-crypto-trans)#exit

      配置传输集

创建动态crypto和静态crypto并关联

    R1(config)#crypto dynamic-map benet-dymap 1

    R1(config-crypto-map)#set transform-set benet-set

      创建动态crypto并且关联传输集

    R1(config)#cryptomap benet-stamap 1000 ipsec-isakmp dynamic benet-dymap

      配置静态crypto关联动态crypto

    R1(config)#cryptomap benet-stamap client authentication list benet-authen

      配置静态crypto关联指定授权方式

    R1(config)#cryptomap benet-stamap isakmp authorization list benet-author

      配置静态crypto授权客户端使用IPsec***隧道

    R1(config)#cryptomap benet-stamap client configuration address respond

      让客户端首先发起连接

    R1(config)#intf 0/0

    R1(config-if)#cryptomap benet-stamap

      将静态map应用到接口

    R1(config-if)#end

    *Mar  1 00:08:34.355: %CRYPTO-6-ISAKMP_ON_OFF:ISAKMP is ONr

    R1#wr

    Buildingconfiguration...

    [OK]

   Cisco系列:Easy-***详细剖析(路由器、防火墙)_第2张图片

   然后在客户端安装***client去测试

   Cisco系列:Easy-***详细剖析(路由器、防火墙)_第3张图片

   Cisco系列:Easy-***详细剖析(路由器、防火墙)_第4张图片

   Cisco系列:Easy-***详细剖析(路由器、防火墙)_第5张图片

三、 Asa配置实例

   Cisco系列:Easy-***详细剖析(路由器、防火墙)_第6张图片

   R1的配置

   Cisco系列:Easy-***详细剖析(路由器、防火墙)_第7张图片

ASA防火墙的***配置

    ciscoasa#conf t

    ciscoasa(config)#int e 0/0

    ciscoasa(config-if)#nameif inside

    ciscoasa(config-if)#security-level 100

    ciscoasa(config-if)#ip add 192.168.1.1 255.255.255.0

    ciscoasa(config-if)#no sh

    ciscoasa(config-if)#exit

    ciscoasa(config)#int e 0/1

    ciscoasa(config-if)#nameif outside

    ciscoasa(config-if)#security-level 0

    ciscoasa(config-if)#ip add 202.1.1.1 255.255.255.0

    ciscoasa(config-if)#no sh

    ciscoasa(config-if)#exit

    ciscoasa(config)#route outside 0.0.0.0 0.0.0.0 202.1.1.2

首先配置isakmp第一阶段的传输集

    ciscoasa(config)# username benet password 123

      创建认证用户

    ciscoasa(config)# crypto isakmp enable outside

      启用asacrypto功能

    ciscoasa(config)#crypto isakmp policy 10

    ciscoasa(config-isakmp-policy)#encryption 3des

    ciscoasa(config-isakmp-policy)#hash sha

    ciscoasa(config-isakmp-policy)#authentication pre-share

    ciscoasa(config-isakmp-policy)#group 2

      配置isakmp第一阶段的传输集

    ciscoasa(config-isakmp-policy)#exit

定义组策略,阶段1.5

    ciscoasa(config)# ip local pool benet-pool172.16.0.1-172.16.0.10

      定义分配给客户端的地址池

    ciscoasa(config)# access-list split-acl permit ip 192.168.1.0255.255.255.0 any

      隧道分离实现访问***的同时,可以连接internet

    ciscoasa(config)# group-policy test-group internal

      Internal表示策略定义在本地,external表示策略定义在第三方服务器上(一般是AAA服务器上)。

    ciscoasa(config)# group-policy test-group attributes

      进入定义组策略的子命令行

    ciscoasa(config-group-policy)# split-tunnel-policytunnelspecified

      Tunnelall:所有流量必须走隧道,即不做分离隧道,这是默认设置。

      Tunnelspcified:所有匹配acl的流量走隧道。

      Excludespecified:所有不匹配ACL的流量走隧道。

    ciscoasa(config-group-policy)# split-tunnel-network-listvalue split-acl

      关联隧道分离

    ciscoasa(config-group-policy)#exit

    ciscoasa(config)#tunnel-group benet-group type ipsec-ra

    ciscoasa(config)#tunnel-group benet-group general-attributes

    ciscoasa(config-tunnel-general)#address-pool benet-pool

    ciscoasa(config-tunnel-general)#default-group-policy test-group

    ciscoasa(config-tunnel-general)#exit

      定义隧道组,将组策略关联,这里和路由器稍有区别

    ciscoasa(config)# tunnel-group benet-group ipsec-attributes

    ciscoasa(config-tunnel-ipsec)# pre-shared-key benet-key

    ciscoasa(config-tunnel-ipsec)# exit

      定义隧道组的共享密钥

isakmp第二阶段

    ciscoasa(config)# crypto ipsec transform-set benet-setesp-3des esp-sha-hmac

      设置传输集指定加密算法和身份验证算法

    ciscoasa(config)# crypto dynamic-map benet-dymap 1 settransform-set benet-set

      创建动态map并且关联ipsec

    ciscoasa(config)# crypto map benet-stamap 1000 ipsec-isakmpdynamic benet-dymap

      创建静态map并且映射动态map

    ciscoasa(config)# crypto map benet-stamap interface outside

      将静态map映射到接口

    ciscoasa(config)#end

    ciscoasa#wr

    Buildingconfiguration...

     wKiom1kQe-ygI2R7AACfgOUhVes921.jpg

     最后验证方式和路由器一样