一,实验环境

   Vmware 上模拟Cisco ASA 防火墙

     网络环境 外部网络192.168.1.0

              内部网络 10.80.1.0

        

配置Cisco ASA

ciscoasa(config)#confg  t

ciscoasa(config)#int  ethernet 0/0

ciscoasa(config-if)#ip add 192.168.1.200 255.255.255.0

ciscoasa(config-if) #nameif outside

 ciscoasa(config-if)# security-level  0

    ciscoasa(config-if)#no shutdown

    ciscoasa(config-if)#int  ethernet 0/1

    ciscoasa(config-if)# ip  add 10.80.1.254 255.255.255.0

    ciscoasa(config-if)#nameif inside

    ciscoasa(config-if)# security-level 100

    ciscoasa(config-if)# no shutdown

    ciscoasa(config)# route outside 0 0 192.168.1.1

配置 身份证书

     生成一个ssl***keypait 的字签证书,并将这个自签证书应用在“outside”接口上面。默认情况下,安装设备每次重新启动以后,都要重新生成我们的证书,这个证书可以从厂商购买自己的证书,这个证书即使我们的网络设备重启了它仍然存在

   1 生成一个RSA密钥的证书,该名称是唯一的

           ciscoasa(config)#crypto  key generate rsa label ssl***keypair

   2 建立一个自我信任点颁发证书

           ciscoasa(config)#crypto ca trustpoint localtrust

           ciscoasa(config-ca-trustpoint)#enrollment self

           ciscoasa(config-ca-trustpoint)#fqdn  ssl***.frank.org

           ciscoasa(config-ca-trustpoint)#subject-name  CN=ssl***.frank.com

           ciscoasa(config-ca-trustpoint)#keypair ssl***keypair

           ciscoasa(config-ca-trustpoint)# crypto ca enroll localtrust  noconfirm

           ciscoasa(config)#ssl  trust-point localtrust  outside

      2SSL *** 客户端镜像上传到ASA 中,如果没有的话可以去官方网站上下载。下载完成后并将其放到本地的ftp 上,并登录到asa 中并把其拷贝到ASA

ciscoasa(config)# copy  ftp://Frank:Frank@IP/ASA/ anyconnect-win-2.2.0133-k9.pkg   disk0:/

           ciscoasa(config)# web***

           ciscoasa(config-web***)# svc image disk0:/ anyconnect-win-2.2.0133-k9.pkg

     3  启用SSL *** 访问

       如果不启用的话,在浏览器中打不开SSL *** 的页面

          ciscoasa(config-web***)#enable outside

          ciscoasa(config-web***)# svc enable

          ciscoasa(config-web***)# exit

4  建立SSL *** 拨号地址池

远程访问客户端需要在登录期间分配一个IP地址,所以还需要为这写客户端建立一个DHCP地址池,不过如果有DHCP服务器,还可以使用DHCP服务器

     ciscoasa(config# ip  local pool SSLClientPool 10.80.1.245-10.80.1.250 mask 255.255.255.0

5 创建组策略

   组策略用于指定应用于所连接客户端的参数,

       ciscoasa(config)#group-policy SSLClientPolicy internal

       ciscoasa(config)#group-policy  SSLClientPolicy attribute

       ciscoasa(config-group-policy)#***-tunnel-protocol svc

       ciscoasa(config-group-policy)#default-domain value frank.org

       ciscoasa(config-group-policy)#address-pools value SSLClientPool

       ciscoasa(config-group-policy)# exit

 6 配置访问列表旁路

       通过使用sysopt connect 命令,我们告诉ASA准许SSL/IPsec 客户端绕过接口的访问列表

       ciscoasa(config)#sysopt  connection permit-***

7 创建连接配置文件和隧道组

     在远程访问的客户端连接ASA时,也就连接到了connection profile 连接配置文件,也称为隧道组,将用这个隧道组来定义其使用的特定连接参数。

   首先,创建隧道组SSL 客户端

        ciscoasa(config)#tunnel-group SSLClientProfile type remote-access

    下一步是创建SSL ***隧道分配特定的属性

          ciscoasa(config)#tunnel-group SSLClientProfile general-attribute

            ciscoasa(config-tunnel-genral)#default-group-policy SSLClientPolicy

            ciscoasa(config-tunnel-genral)#tunnel-group SSLClientProfile  web***-attributes

            ciscoasa(config-tunnel-genral)#group-alias SSL***Client enable

            ciscoasa(config-tunnel-genral)# exit

 8 将隧道组列表在web*** 中开启

   开启之后, 在登录时候会有GROUP,否则就没有GROUP这个列表

      ciscoasa(config)#web***

      ciscoasa(config-web***)# tunnel-group-list  enable

      ciscoasa(config-web***)#exit

9 配置NAT 免除

    在告诉ASA不要对远程访问客户端和要访问的内部网络之间的通信进行网络地址转换

     首先,要创建一个可定义通信的访问列表,然后,将此列表用于接口的NAT语句

      ciscoasa(config)#access-list inside_nat0_outboud extended permit ip  10.80.1.0 255.255.255.0 192.168.1.0 255.255.255.0

      ciscoasa(config)#nat inside0 access-list inside_nat0_outbound

  10 配置用户

     创建用户并将该用户指排给SSLK ***

  ciscoasa(config)#username Frank password Frank

ciscoasa(config-username)#username  Frank  attributes

ciscoasa(config-username)#exit

11保存

   ciscoasa(config)# write memory

12 用客户端连接

    IE 浏览器中通过https 浏览

3 配置实用隧道分离配置

      ciscoasa(config)#access-list ***client——splitTunnelAcl standard permit 10.80.1.0 255.255.255.0

      ciscoasa(config)#group-policy  SSLClientPolicy attributes

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

      ciscoasa(config-group-policy)#split-tunnel-networ-list value ***client_splitTunnelAcl

     ciscoasa(config-group-policy)#exit

    ciscoasa(config)#write memory