SSL VPN 实验

实验拓扑


图 1-1

注:此实验务必按照拓扑所示接口连接线缆,且运行前置环境中的 Win7-1、Windows Server 2008、Windows Server 2003 三台虚拟机。防火墙内存务必配置为 2G 以上。实验步骤中防火墙的配置可在 “Web 控制台配置方法” 和 “命令行配置方法” 中任选一种。本实验中 Win7-1 虚拟机需要将网卡桥接到 VMnet15,并配置公网 IP 地址来模拟互联网上的客户端连接 SSL VPN。


实验需求

  1. 按照图示配置网络,使内网能够接入互联网。
  2. 在 FW 上配置 SSL VPN,用户 zhangsan 可通过用户名和密码登录 SSL VPN。
  3. 在 FW 上配置 SSL VPN,使用户 zhangsan 能够通过 Web 接入访问 Win2008 上的网站,通过 TCP 接入远程桌面连接 Win2008,通过 IP 接入 Ping 通 Win2008。

前置基础配置

  1. 配置交换机。

    步骤 1:在 SW 上创建 VLAN10 和 VLAN30,将连接 Win2008 虚拟机的接口加入 VLAN10,连接防火墙的接口加入 VLAN30。

    [SW]vlan 10
    [SW-vlan10]port g1/0/2
    [SW-vlan10]vlan 30
    [SW-vlan30]port g1/0/1
    

    步骤 2:在 SW 上为 VLAN10、VLAN30 创建三层接口并配置 IP 地址。

    [SW]interface vlan 10
    [SW-Vlan-interface10]ip address 192.168.102.254 24
    [SW]interface vlan 30
    [SW-Vlan-interface30]ip address 10.1.1.2 30
    

    步骤 3:在 SW 上配置缺省路由,下一跳指向防火墙。

    [SW]ip route-static 0.0.0.0 0 10.1.1.1
    
  2. 在 Windows Server 2008 上部署 Web 服务,配置方法自行查阅。

  3. 在 FW 上配置接口、安全区域、路由、NAT、安全策略,使 Win2008 可以访问互联网。步骤参考前面的实验。

SSL VPN 配置(防火墙 Web 控制台配置方法)

  1. 创建用户,用于 SSL VPN 用户身份验证。

    步骤 1:在 Web 控制台中点击 对象 - 用户与认证 - 用户管理 - 本地用户 进入用户管理界面,再点击 新建 创建用户。


    图 1-2

    步骤 2:设置用户名与密码,在可用服务处钩选 SSL VPN 后点击 确定 创建用户。


    图 1-3

  2. 配置 SSL VPN 网关、 IP 接入接口与客户端虚拟地址池。

    步骤 1:点击 网络 - VPN - SSL VPN - 网关,进入网关配置界面后点击 新建


    图 1-4

    步骤 2:为新建网关命名,选择使用 IP 接口为防火墙公网接口,然后点击 确定 创建网关。考虑到 SSL 默认端口号 443 需要备案才能开放,这里更换端口号为 2000 或者其他端口号。


    图 1-5

    步骤 3:点击 IP 接入接口,再点击 新建。IP 接入接口用于对接 IP 接入的用户,类似 GRE VPN 的 Tunnel 口。


    图 1-6

    步骤 4:设置接口编号后,将 IP 接入接口加入 Untrust 区域,并配置一个虚拟 IP 地址网段。虚拟 IP 地址可选择一个网络中未使用的地址段。


    图 1-7


    图 1-8

    步骤5 :点击 客户端地址池,新建地址池,配置客户端地址池的地址范围。该地址池需要与 IP 接入接口在同一网段。


    图 1-9

  3. 配置 SSL VPN 访问实例。

    步骤 1:点击 访问实例,点击 新建,创建新的 SSL VPN 访问实例。


    图 1-10

    步骤 2:在基本配置页面关联之前创建的 SSL 网关,并开启自动生成安全策略。


    图 1-11

    步骤 3:在业务选择配置页面关联前面创建的 IP 接入接口,客户端地址池选择之前创建的地址池并配置掩码。


    图 1-12

    步骤 4:在 IPv4 接入资源新建去往 Win2008 的路由。


    图 1-13

    步骤 5:开启 Web 代理功能,在 URL 表项中新建 URL 表项,表项中的 URL 为希望用户 Web 接入访问的网址。


    图 1-14

    步骤 6:在 URL 列表中点击 新建,将上一步创建的 URL 表项添加进来。(注:一个 URL 列表中可包含多个 URL 表项,用来一次性发布多个网站资源给用户访问)


    图 1-15

    步骤 7:开启 TCP 代理功能,在端口转发表项中点击 新建。客户端主机填写 ”127.0.0.1“(一般建议写本机环回地址,也可以写局域网中其它主机地址),客户端代理端口填写希望转发的客户端本地端口,服务器地址是 Win2008 的私网 IP 地址,服务器端口是希望发布给用户的远程桌面端口 TCP3389。


    图 1-16

    步骤 8:在端口转发列表中点击 新建,将上一步创建的端口转发表项添加进来。(注:一个端口转发列表中可包含多个端口转发表项,用来一次性发布多个 TCP 资源给用户访问)


    图 1-17

    步骤 9:点击下一步进入资源授权配置页面,在资源组中点击 新建,在隧道业务中,配置指定 IPv4 路由接入 VPN 为子网资源,子网选择之前创建的 Win2008 的路由,客户端地址池选择之前创建的客户端虚拟地址池,并配置子网掩码。


    图 1-18

    步骤 10:在 Web 代理配置中将上一步创建的 URL 列表添加到 Web 资源,在 TCP 代理配置中将上一步创建的端口转发列表设置为 TCP 资源。


    图 1-19

    步骤 11:在角色授权中点击 新建,在弹出的页面中点击 新建角色 来创建用户 zhangsan 的角色收取。


    图 1-20

    步骤 12:为角色命名,选择要授权的用户 zhangsan。


    图 1-21

    步骤 13:创建完角色后,为该角色授权前面创建的资源组,并将三种接入方式都钩选。


    图 1-22

    步骤 14:完成后点击下一步,并点击 完成 完成 SSL VPN 配置。


    图 1-23

  4. 配置 SSL VPN 相关安全策略

    步骤 1:创建 SSL VPN 客户端虚拟地址池和防火墙内网口的 IP 地址对象组。


    图 1-24

    步骤 2:创建安全策略,源安全域和目的安全域都为 Trust、Untrust、Local,源地址和目的地址都为 Win2008 所在网段,防火墙内网口、虚拟地址池。该策略的主要目的是为了放通内网服务器和防火墙 SSL VPN AC 口以及客户端虚拟地址池之间的流量。


    图 1-25

SSL VPN 配置(防火墙命令行配置方法)

  1. 创建用户,用于 SSL VPN 用户身份验证。

    [FW]local-user zhangsan class network
    [FW-luser-network-zhangsan]password simple 123456
    [FW-luser-network-zhangsan]service-type sslvpn
    
    1. 配置 SSL VPN 网关、 IP 接入接口与客户端虚拟地址池。

    步骤 1:创建 SSL VPN 网关,配置 IP 地址为防火墙公网 IP 地址,端口可自定义。

    [FW]sslvpn gateway SSL
    [FW-sslvpn-gateway-SSL]ip address 100.1.1.2 port 2000
    [FW-sslvpn-gateway-SSL]service enable
    

    步骤 2:创建 SSL VPN IP 接入接口,配置一个未使用的 IP 地址。

    [FW]interface SSLVPN-AC 0
    [FW-SSLVPN-AC0]ip address 1.1.1.1 24
    

    步骤 3:创建 IP 接入客户端的虚拟地址池,与 SSL VPN IP 接入接口同一网段。

    [FW]sslvpn ip address-pool SSL_Pool 1.1.1.2 1.1.1.100
    
  2. 配置 SSL VPN 访问实例。

    步骤 1:创建 SSL VPN 访问实例,调用上一步创建的网关,IP 接入接口与虚拟地址池。

    [FW]sslvpn context SSL_VPN
    [FW-sslvpn-context-SSL_VPN]gateway SSL
    [FW-sslvpn-context-SSL_VPN]ip-tunnel interface SSLVPN-AC0
    [FW-sslvpn-context-SSL_VPN]ip-tunnel address-pool SSL_Pool mask 24
    

    步骤 2:创建 Web 接入资源,URL 项目的 URL 为 Win2008 上网站的网址。再将该 URL 项目加入到 URL 列表。

    [FW-sslvpn-context-SSL_VPN]url-item Web
    [FW-sslvpn-context-SSL_VPN-url-item-Web]url http://192.168.102.1/cms
    [FW-sslvpn-context-SSL_VPN-url-item-Web]quit
    [FW-sslvpn-context-SSL_VPN]url-list Web_List
    [FW-sslvpn-context-SSL_VPN-url-list-Web_List]resources url-item Web
    

    步骤 3:创建 TCP 接入资源。将客户端本地的 44444 端口映射到 Win2008 的 3389 端口。再将该端口转发项目加入到端口转发列表。

    [FW-sslvpn-context-SSL_VPN]port-forward-item RDP
    [FW-sslvpn-context-SSL_VPN-port-forward-item-RDP]local-port 44444 local-name 127.0.0.1 remote-server 192.168.102.1 remote-port 3389
    [FW-sslvpn-context-SSL_VPN-port-forward-item-RDP]quit
    [FW-sslvpn-context-SSL_VPN]port-forward TCP_List
    [FW-sslvpn-context-SSL_VPN-port-forward-TCP_List]resources port-forward-item RDP
    

    步骤 4:创建 IP 接入资源。将 Win2008 的主机路由发布。

    [FW-sslvpn-context-SSL_VPN]ip-route-list Win2008
    [FW-sslvpn-context-SSL_VPN-route-list-Win2008]include 192.168.102.1 32
    

    步骤 5:创建资源组,将前面创建的资源都关联进来。

    [FW-sslvpn-context-SSL_VPN]policy-group Resource_List
    [FW-sslvpn-context-SSL_VPN-policy-group-Resource_List]resources url-list Web_List
    [FW-sslvpn-context-SSL_VPN-policy-group-Resource_List]resources port-forward TCP_lIST
    [FW-sslvpn-context-SSL_VPN-policy-group-Resource_List]ip-tunnel access-route ip-route-list Win2008  
    [FW-sslvpn-context-SSL_VPN-policy-group-Resource_List]ip-tunnel address-pool SSL_Pool mask 24
    

    步骤 9:创建角色用户,关联要授权的用户 zhangsan。

    [FW]user-identity role name zhangsan_Au
    [FW-identity-role-zhangsan_Au]user name zhangsan
    

    步骤 10:配置上一步创建的角色用户的角色授权,关联资源组,开启三种接入方式

    [FW-sslvpn-context-SSL_VPN]role zhangsan_Au
    [FW-sslvpn-context-SSL_VPN-role-zhangsan_Au]resources policy-group Resource_List
    [FW-sslvpn-context-SSL_VPN-role-zhangsan_Au]web-access enable    
    [FW-sslvpn-context-SSL_VPN-role-zhangsan_Au]ip-tunnel enable 
    

    步骤 11:开启 SSL VPN 服务。

    [FW-sslvpn-context-SSL_VPN]service enable 
    
  3. 配置 SSL VPN 相关安全策略

    步骤 1:创建 Win2008 所在网段,防火墙公网口,防火墙内网口,SSL VPN 虚拟地址池的 IP 地址对象。

    [FW]object-group ip address VLAN10
    [FW-obj-grp-ip-VLAN10]network subnet address 192.168.102.0 24
    [FW]object-group ip address FW_LAN
    [FW-obj-grp-ip-FW_LAN]network host address 10.1.1.1
    [FW]object-group ip address FW_WAN
    [FW-obj-grp-ip-FW_WAN]network host address 100.1.1.2
    [FW]object-group ip address SSL_Pool
    [FW-obj-grp-ip-SSL_Pool]network subnet 1.1.1.0 24
    

    步骤 2:创建允许 SSL VPN 双向协议及业务流量的安全策略。源安全域和目的安全域都是 Trust、Untrust、Local。源地址和目的地址都是 Win2008 所在网段,防火墙公网口,防火墙内网口,SSL VPN 虚拟地址池。

    [FW]security-policy ip
    [FW-security-policy-ip]rule name SSLVPN
    [FW-security-policy-ip-1-SSLVPN]source-zone Untrust
    [FW-security-policy-ip-1-SSLVPN]source-zone Trust
    [FW-security-policy-ip-1-SSLVPN]source-zone Local
    [FW-security-policy-ip-1-SSLVPN]destination-zone Local
    [FW-security-policy-ip-1-SSLVPN]destination-zone Trust
    [FW-security-policy-ip-1-SSLVPN]destination-zone Untrust
    [FW-security-policy-ip-1-SSLVPN]source-ip SSL_Pool
    [FW-security-policy-ip-1-SSLVPN]source-ip VLAN10
    [FW-security-policy-ip-1-SSLVPN]source-ip FW_LAN
    [FW-security-policy-ip-1-SSLVPN]source-ip FW_WAN
    [FW-security-policy-ip-1-SSLVPN]destination-ip SSL_Pool
    [FW-security-policy-ip-1-SSLVPN]destination-ip VLAN10
    [FW-security-policy-ip-1-SSLVPN]destination-ip FW_LAN
    [FW-security-policy-ip-1-SSLVPN]destination-ip FW_WAN
    [FW-security-policy-ip-1-SSLVPN]action pass
    

效果验证

  1. Web 接入效果验证

    步骤 1:将 Win7-1 虚拟机的网卡模式改为桥接 VMnet15,并将 IP 地址配置为 200.2.2.2/24,网关为 200.2.2.1。然后在浏览器中通过防火墙的公网地址和端口访问 SSL VPN。


    图 1-26

    步骤 2:使用 zhangsan 用户登录后,可以在页面中看到授权的 Web 和 TCP 资源列表。点击 Web 资源中的链接,可以打开 Win2008 中的网站。并且观察 URL 可以发现客户端并不是直接访问了网站,而是通过 SSL VPN 进行了协议代理。


    图 1-27


    图 1-28

  2. TCP 接入效果验证

    步骤 1:在客户端上安装 Java 运行环境,方法自行查阅。

    步骤 2:在 Java 控制面板的安全配置中,点击例外站点列表的编辑按钮,将 SSL VPN 的 URL 地址加入到例外站点列表。


    图 1-29

    步骤 3:在 SSL VPN 主界面中点击 启动 TCP 客户端应用程序,下载并运行 TCP 代理插件。运行成功后会在右下角显示。


    图 1-30


    图 1-31

    步骤 4:在客户端上运行远程桌面连接,连接地址为 127.0.0.1:44444,可以登录 Win2008 的远程桌面控制(需要自行开启 Win2008 的远程桌面服务)。


    图 1-32


    图 1-33

  3. IP 接入效果验证

    步骤 1:在 SSL VPN 登录页面点击下载 IP 接入客户端。也可自行下载安装 iNode。


    图 1-34

    步骤 2:安装并运行客户端程序,在网关处填写 SSL VPN 的地址和端口,点击 刷新 后可输入用户名和密码登录。


    图 1-35


    图 1-36

    步骤 3:此时客户端已具备访问 Win2008 所有端口的权限。可以 Ping 通 Win2008。


    图 1-37