SSL VPN+AAA认证
By 紫川凌
微博:http://weibo.com/lingych QQ:616385000
需求拓扑图:
GNS3搭建拓扑:
实验需求
1)本地内网用户能够通过ASA 防火墙实现与外网通信,ASA 使用出口PAT。
2)在ASA 上配置SSL VPN,为外网用户提供VPN 接入,采用AAA认证,外网用户可获得内网
IP
地址,实现能够通过使用内网IP 访问内网的资源,如访问HTTP 服务器。 3)远程拨入的用户,不仅能够访问内网资源,而且同时能够正常访问Internet。 实验实施:
1. 路由交换基本配置在此略过,附件提供startup-config。 2. 防火墙配置:
ciscoasa> enable Password: ciscoasa# conf t
ciscoasa(config)# int e0/1
ciscoasa(config-if)# ip add 211.1.1.1 255.255.255.252 ciscoasa(config-if)# no sh
ciscoasa(config-if)# nameif outside ciscoasa(config-if)# int e0/0
ciscoasa(config-if)# ip add 10.1.2.1 255.255.255.252 ciscoasa(config-if)# no sh ciscoasa(config-if)# nameif inside ciscoasa(config-if)# exit
ciscoasa(config)# nat (inside) 1 0 0
ciscoasa(config)# global (outside) 1 interface global for this range already exists
ciscoasa(config)# route outside 0 0 211.1.1.2
ciscoasa(config)# route inside 10.1.1.0 255.255.255.0 10.1.2.2 ciscoasa(config)# access-list 1 permit icmp any any
ciscoasa(config)# access-group 1 in interface outside
//以上是防火墙的基本配置
ciscoasa(config)# aaa-server spoto protocol radius //设置AAA服务器名称为spoto,协议采用radius
ciscoasa(config-aaa-server-group)# aaa-server spoto host 10.1.1.111 //设置AAA服务器spoto的IP地址为10.1.1.111 ciscoasa(config-aaa-server-host)# key spoto //设置防火墙与AAA服务器的认证key为spoto ciscoasa(config-aaa-server-host)# exit
进入到服务器设置AAA认证
1.建立AAA客户端,就是我们的防火墙;
注意:这里选择的协议要和我们防火墙上配置的要一致,否则会认证不成功。
2.设置一个测试用户名和密码
用户名:test 密码:test
3. 回到防火墙上测试
如果认证不成功,请检查AAA与防火墙使用的协议是否一致。
ciscoasa(config)# webvpn
ciscoasa(config-webvpn)# enable outside // 外网口开启webvpn
ciscoasa(config-webvpn)# svc image disk0:/sslclient-win-1.1.4.179-anyconnect.pkg //交换虚链路提供的镜像文件位置及其名字 ciscoasa(config-webvpn)# svc enable //开启交换虚链路功能(SSL VPN)
ciscoasa(config-webvpn)# ip local pool ssl-user 192.168.10.1-192.168.10.99 //本地地址池,ssl-user 为池的名字,池为VPN 用户提供IP 地址
ciscoasa(config)# access-list go-vpn permit ip 10.1.1.0 255.255.255.0 192.168.10.0 255.255.255.0
//创建ACL,用于SSL VPN 不做NAT 的流量,前为本地内网网段,后为远程网段 ciscoasa(config)# nat (inside) 0 access-list go-vpn //配置ASA 上不做NAT 的VPN 流量
ciscoasa(config)# group-policy sslvpn-group-policy internal //创建并指定组的内部组策略
ciscoasa(config)# group-policy sslvpn-group-policy attributes //进入组策略的命令模式
ciscoasa(config-group-policy)# vpn-tunnel-protocol webvpn //VPN 隧道协议使用webvpn
ciscoasa(config-group-policy)# webvpn //进入webvpn 配置模式
ciscoasa(config-group-webvpn)# svc enable //webvpn 中使用SSL VPN
ciscoasa(config-group-webvpn)# exit ciscoasa(config-group-policy)# exit
ciscoasa(config)# tunnel-group sslvpn-tunnel-group type webvpn //隧道组使用webvpn
ciscoasa(config)# tunnel-group sslvpn-tunnel-group general-attributes //进入隧道组mysslvpn 的一般属性配置模式
ciscoasa(config-tunnel-general)# address-pool ssl-user //引用之前创建的地址池ssl-user
ciscoasa(config-tunnel-general)# authentication-server-group spoto //设置VPN拨入到spoto AAA服务器认证
ciscoasa(config-tunnel-general)# default-group-policy sslvpn-group-policy
//设置tunnel的默认组策略
ciscoasa(config-tunnel-general)# exit
ciscoasa(config)# tunnel-group sslvpn-tunnel-group webvpn-attributes //进入mysslvpn 隧道组的webvpn 属性配置模式
ciscoasa(config-tunnel-webvpn)# group-alias SPOTO enable //应用SPOTO 这个组,在用户端拨入时可以看到这个选项 ciscoasa(config-tunnel-webvpn)# exit ciscoasa(config)# webvpn
ciscoasa(config-webvpn)# tunnel-group-list enable //启用隧道组列表
ciscoasa(config-webvpn)# access-list split-ssl extended permit ip 10.1.1.0 255.255.255.0 any //配置隧道分离时使用的访问列表,其实这条可与前面ACL 100 相同 ciscoasa(config)# group-policy sslvpn-group-policy attributes //进入组策略属性配置
ciscoasa(config-group-policy)# split-tunnel-policy tunnelspecified //隧道分离的策略为特殊隧道
ciscoasa(config-group-policy)# split-tunnel-network-list value split-ssl //隧道分离使用的列表
ciscoasa(config-group-policy)# exit
在XP上进行验证
1. 先ping vpn服务器。
2. 在IE浏览器中访问https://211.1.1.1
后面的测试我就不详细截图了,大家参考薯薯的SSL vpn配置文档。 附件