【简介】虽然常用的站到站的连接用的是IPsec VPN,但是在某些特殊情况下,UDP500或4500端口被阻断,IPsec VPN无法连接,那么还有其它办法实现站到站的连接吗?SSL VPN也可以的。


实验要求与环境

  OldMei集团深圳总部部署了域服务器和ERP服务器,用来对集团总部进行管理。

  OldMei集团上海分公司需要实时访问深圳总部的域服务器和ERP服务器,上海分公司和深圳总部都部署有FortiGate防火墙,两地防火墙通过宽带创建IPsec VPN连接,访问一直很正常。忽然某日无法远程访问,经排查,两地上网正常,IPsec VPN则一直无法连接。要求尽快恢复远程访问功能。

  解决方案:由于IPsec VPN无法连接,只能另外想办法,FortiGate防火墙FortiOS 7.2支持FortiGate作为客户端使用SSL VPN进行远程访问,但是需要有证书的支持。

  实验目标:笔记本电脑通过网卡上网,可以从上海分公司访问深圳总部的域服务器远程桌面。

获取证书

  获取证书的方法有很多,这里只介绍在FortiAuthenticator上获取证书的方法,其它方法自行研究。

  ① 登录FortiAuthenticator,选择菜单【Certificate Management】-【Certificate Authorities】-【Local CAs】,点击【Create New】,创建一个新的本地CA证书。

  ② 证书内容很多,这里只要填写证书ID和名称就可以了,其它均保持默认,点击【OK】。

  ③这样一个本地CA证书就创建好了,So easy!

  ④ 下一步是创建用户证书,选择【End Entities】-【Users】,点击【Create New】。

  ⑤ 通常会建立多个用户证书,例如有多台设备以星状拓扑连接,所以用户证书ID和名称带上一个序号。Certificate Authority选项会自动出现刚才创建的本地CA证书。

  ⑥点击【OK】后用户证书也就创建好了,容易得有点过份哈。要想看证书内容,只要点击证书就可以。

  ⑦证书的有效期默认为一年,在生产环境的时候,这个时间可以调大一些。

  ⑧下一步是下载用户证书,钩选证书,点击【Export key and Cert】。

  ⑨输入两次相同的自定义密码,这个密码在证书导入的时候要用到的,点击【OK】。

  ⑩点击【Download PKCS#12 files】。

  ⑪证书是以PKCS#12文件格式保存的。

  ⑫同样还要下载本地CA证书,选择菜单【Certifate Authorities】-【Local CAs】,钩选证书,点击【Export Certificate】。

  ⑬ 本地CA证书下载成功。

深圳总部防火墙导入证书

  获得本地CA证书和用户证书后,就可以将证书导入深圳总部防火墙了。

  ① 登录深圳总部防火墙,在菜单上却找不到证书选项,这是因为默认是关闭的。选择菜单【系统管理】-【可见功能】,启用【证书】。

  ② 刷新一下,可以看到出现证书菜单选项,选择菜单【证书】,点击【创建/导导】-【CA证书】。

  ③ 类型选择【文件】,找到CA证书文件,点击【确认】。

  ④ CA证书导入成功,注意看是否有效。

  ⑤ 下一步是导入用户证书,这次是点击【创建/导入】-【证书】。

  ⑥ 出现向导提示,点击【导入证书】。

  ⑦ 由于我们在FortiAuthenticator下载证书保存的是PKCS#12格式,因此在这里选择对应的类型,找到证书文件,输入在下载证书时设置的密码。点击【下一步】。

  ⑧提示证书导入成功。

  ⑨ 在本地证书列表上出现导入的证书,状态为有效。

深圳总部防火墙PKI与用户

  FortiGate防火墙作为SSL VPN客户端使用PSK和PKI客户端证书进行认证。

  ① 点击右上角命令图标,打开CLI控制台,输入命令config user peer,创建PKI,编辑一个PKI用户,用户名可自定义,set ca CA_Cert_1 命令设置CA证书。也就是我们前面导入的CA证书,end命令保存并退出。

  ②刷新视窗,在用户与认证菜单下多出了一个PKI菜单。选择【PKI】菜单,右边显示刚才用命令的创建的UserCert1,选择并点击【编辑】。

  ③subject字段输入【CN=UserCert1】,点击【确认】。

  ④ 为啥填这个呀,因为这是证书UserCert1的subject的内容。你也可以复制粘贴。

  ⑤ 然后就要创建一个登录时用到的验证用户了。选择菜单【用户与认证】-【设置用户】。

  ⑥ 出现向导提示,默认是创建本地用户,点击【下一步】。

  ⑦ 输入用户名称和密码,点击【下一步】。

  ⑧ 联系人信息保持默认,点击【下一步】。

  ⑨ 由于这里只有一台FortiGate作为客户端进行连接,所以只创建一个用户,没有创建用户组,如果是多台设备连接,要用到多个用户,建议使用用户组。

  ⑩ 用户创建完成。

深圳总部防火墙SSL-VPN门户、设置及策略

  前提条件都准备好了,现在可以配置SSL VPN了。

  ① 选择菜单【VPN】-【SS L-VPN门户】,选择full-access,点击【编辑】。

  ② 门户的主要作用,就是指定什么流量走隧道进来。这里选择【基于策略目标启用】,隧道分离地址选择要访问的服务器地址对象。如果没有,可以创建。其它保持默认。

  ③ 门户设置完后,选择菜单【SSL-VPN设置】,选择拨号进来的宽带接口,修改监听端口,服务器证书这次选择前面导入的UserCert1证书。

  ④ 为了简化操作,我们将【全部其他用户/组】对应的门户设置为【full-access】,SSL-VPN设置就配置完了。

  ⑤ 最后还要创建一条允许SSL虚拟接口访问DMZ接口的策略。这样深圳总部防火墙的所有配置就都完成了。

上海分公司防火墙配置

  下面我们开始配置上海分公司防火墙。

  ① 用同样的方法导入两个证书文件,具体操作步骤就不再重复了。

  ② 通过命令创建PKI,这里一次性直接输入完成。

  ③ 内容和深圳总部防火墙的设置完全相同。

  ④ 下一步是创建一个虚拟接口,选择菜单【网络】-【接口】,点击【新建】-【接口】。

  ⑤ 输入自定义名称,类型选择【SSL-VPN隧道】。

  ⑥ 接口选择【wan1】,启用https、ping协议。

  ⑦ wan1下的SSL VPN虚拟接口就创建好了。

  ⑧ 选择菜单【VPN】-【SSL-VPN客户端】,点击【新建】。

  ⑨ 输入自定义名称,接口选择刚刚在wan1下面创建的SSL VPN虚拟接口,服务器输入深圳防火墙wan1接口公网IP。端口已经设置成为10443,用户名和密码也在深圳防火墙里已经设置好的,最后是客户端和对等体的证书。点击【确认】。

  ⑩ 最后就是创建访问策略,和普通上网策略一样,只是流出接口选择SSL VPN虚拟接口。记住这里一定要启用NAT。这是因为对方只认拨号后生成的IP,这里启用NAT,就是将所有IP转换成拨号生成的IP。

检验效果

  配置完后,作为客户端的上海分公司防火墙会自动拨号,发起连接。

  ① 在上海分公司防火墙上选择菜单【仪表板】-【网络】,点击【路由】,查看路由表,可以看到自动生成了两条走SSL VPN隧道的路由。

  ②从上海分公司internal接口,可以成功的ping通深圳总部的域服务器。

  ③远程桌面也能正常打开,感觉比IPsec下略有延迟。

  ④深圳总部防火墙可以看到SSL VPN的连接状态。