5、配置SSL VPN用户绑定IP地址
5.1 功能简介
客户端使用IP接入方式访问SSL VPN网关时,网关需要为客户端分配IP地址。通过配置本功能,可以保证同一个用户多次访问该网关时能使用固定范围的IP地址。本功能提供以下两种方式为SSL VPN用户绑定IP地址:
(1) 指定固定的地址范围:为用户绑定分配的IP地址列表,当网关从SSL VPN访问实例引用地址池中为客户端分配IP地址时,优先分配绑定的IP地址;
(2) 指定可分配的地址数目:网关也可以为客户端自动分配空闲的IP地址,即网关会从SSL VPN访问实例引用地址池中获取指定个数的空闲IP地址,为用户绑定。
5.2 配置限制和指导
当SSL VPN策略组中引用了地址池时,配置SSL VPN用户绑定的IP地址必须是此地址池中的IP地址。
当SSL VPN策略组中未引用地址池时,配置SSL VPN用户绑定的IP地址必须是此SSL VPN访问实例引用的地址池中的IP地址。
未关联VPN实例或在同一VPN实例中,不同SSL VPN用户不能绑定相同的IP地址。
5.3 配置步骤
(1) 进入SSL VPN访问实例视图。
sslvpn context guotiejun
(2) 创建SSL VPN用户,并进入SSL VPN用户视图。
user guotiejun
(3) 配置SSL VPN用户绑定的IP地址。
ip-tunnel bind address 111.1.1.111
(4) 再次进行登录,可以看到地址被限制为绑定的IP地址111.1.1.111。
6、为IP接入配置SSL VPN策略组
6.1 功能简介
在SSL VPN策略组视图下需要配置下发给客户端的路由表项。AAA服务器将某个策略组授权给SSL VPN用户后,SSL VPN网关会将该策略组下配置的路由表项下发给客户端。下发的路由表项具有三种配置方法:
(1) 直接配置路由表项:用于将一条路由下发给客户端;
(2) 配置路由列表:用于将路由列表中的多条路由同时下发给客户端;
(3) 强制将客户端的流量转发给SSL VPN网关(指定force-all参数):SSL VPN网关在客户端上添加优先级最高的缺省路由,路由的出接口为虚拟网卡,从而使得所有没有匹配到路由表项的流量都通过虚拟网卡发送给SSL VPN网关。SSL VPN网关还会实时监控SSL VPN客户端,不允许SSL VPN客户端删除此缺省路由,且不允许SSL VPN客户端添加优先级高于此路由的缺省路由。
SSL VPN网关可以通过高级ACL和URI ACL规则对SSL VPN用户的IP接入进行过滤,防止非法用户接入内部网络。配置SSL VPN访问控制策略后,设备对IP接入按照如下原则过滤:
(1) 进行URI ACL的规则检查,成功匹配URI ACL中permit规则后用户的访问请求才允许通过;
(2) 若URI ACL匹配失败时,再进行高级ACL的检查,成功匹配规则后用户的访问请求才允许通过;
(3) 若高级ACL检查失败,则授权失败,用户不允许访问资源。
高级ACL支持根据接入请求报文的目的IP地址和目的端口号、源IP地址和源端口号、协议类型、报文优先级、分片信息、TCP报文标识、ICMP报文的消息类型和消息码信息进行过滤;URI ACL支持根据接入请求报文的协议类型、地址、域名、端口号和URL进行过滤。
6.2 配置限制
配置对IP接入进行URI ACL过滤时,指定的URI ACL规则中不能包含HTTP和HTTPS协议。
6.3 验证配置
在前面的配置中,我们有两个地方可以对访问资源进行控制,分别是下发的路由列表ip-route-list和控制资源访问策略policy-group中的ACL列表。上面我们使用的配置如下:
sslvpn context guotiejun ip-route-list guotiejun include 100.1.12.0 255.255.255.0 policy-group guotiejun filter ip-tunnel acl 3333 ip-tunnel access-route ip-route-list guotiejun
此时测试,发现我们是可以访问到对应资源的。
接下来我们修改一下ACL规则,变更配置如下:
# acl advanced 3402 rule 0 deny ip source 111.1.1.0 0.0.0.255 # policy-group guotiejun filter ip-tunnel acl 3402 ip-tunnel access-route ip-route-list guotiejun
可以看到资源已经不能访问。
再结合修改路由列表ip-route-list看一下,变更配置如下:
# acl advanced 3402 rule 0 deny ip destination 100.1.12.0 0.0.0.255 rule 5 permit ip # sslvpn context guotiejun ip-route-list guotiejun include 100.1.12.0 255.255.255.0 include 200.1.12.0 255.255.255.0 policy-group guotiejun filter ip-tunnel acl 3402
再来看一下效果,说明是通过ACL对访问资源权限做了控制。
我们再修改一下路由列表ip-route-list看一下。
# ip-route-list guotiejun include 100.1.12.0 255.255.255.0
可以看到此时访问不到,查看路由表项,去往200.1.12.0网段的路由表项已经不见了,说明路由表项是下发资源的,并且修改之后会实时同步到客户端,还可以通过ACL进行限制访问,保证只有通过ACL检查的报文才可以访问IP资源。
再看一下配置强制将客户端的流量转发给SSL VPN网关,命令如下:
# policy-group guotiejun filter ip-tunnel acl 3402 ip-tunnel access-route force-all
查看客户端的路由表,发现路由的优先级被修改了。
发现之前的默认路由优先级被修改为了110,新下发的默认路由优先级为21。尝试一下修改路由优先级看能不能成功。
route change 0.0.0.0 mask 0.0.0.0 172.2.216.254 metric 7
发现默认路由优先级确实被修改了,但是和修改的优先级是不一样的。并且iNode没有再次修改路由优先级。尝试在设备上重新操作一遍配置,查看路由是否重新下发。
发现设备上又多了一条优先级为21的路由,说明当前的实现方式是下发一条指向SSL VPN网管的优先级为21的默认路由,并且没有检测机制,容易被最终用户修改。
7、经验总结
SSL VPN默认的端口为443,可用端口为<443, 1025-65535>,如果需要映射则端口需要映射为443,否则如果客户端配置时不知道端口号,会造成连接失败。
在配置PKI域时,一般需要禁用Certificate revocation list (CRL) function(证书撤销列表),undo crl check enable。在导入证书时,需要注意证书格式,如果不能使用时,尝试切换证书格式。V7防火墙设备默认自带证书,但dir里看不到。设备中没有手工导入证书的情况下,通过调用设备自身默认的证书仍可以实现sslvpn认证成功。由于设备中存在默认证书,可不用手工导入证书,如果导入证书有问题反而有可能导致认证失败!
如果正常通信后拨号不成功,提示“查询SSL VPN网关参数失败”,检查配置没有问题,重新导入证书、使能SSL服务器端策略,最终拨号成功;如果拨号成功之后无法访问内网。可以检查域间策略配置,将资源涉及到的所有域全部放通,可以解决资源访问异常的问题。由于防火墙设备的特殊性,一定要确保域间策略正确!
缺省情况下,策略组下未引用地址池,若引用的地址池不存在或无可用地址,分配失败,用户无法通过IP接入。若策略组未引用地址池,则SSL VPN网关将使用SSL VPN访问实例中引用的地址池为客户端分配IP地址。缺省情况下,SSL VPN网关禁止所有客户端访问IP接入资源,如果引用的ACL不存在,则SSL VPN网关拒绝所有IP接入方式的访问。