【隧道篇 / SSL】(7.4) ❀ 01. 只允许国内IP通过SSL VPN访问内网 ❀ FortiGate 防火墙

【简介】SSL VPN可以让公司员工远程访问公司内网的服务器,发现有些国外IP也在尝试登录SSL VPN,领导要求,只允许国内IP可以登录SSL VPN,如何解决这个问题?


SSL VPN配置条件

要想成功的配置SSL VPN,首先需要有一条可以远程访问的宽带,然后是验证用的用户名和密码,以及需要访问的IP网段。

① 不管是ADSL宽带还是固定IP宽带,都需要有一个公网IP地址。并且该公网IP地址要能远程访问。测试是否通远程访问的方法很简单,就是在管理访问启用PING。

② 然后在外网PING该公网IP地址,如果能PING通,说明可以远程访问。有些拨号宽带得到的是100.64开头的IP地址,这些地址无法在公网上PING通,也就无法远程。

③ 如果是ADSL拨号宽带,且获得的公网IP可以远程,那么可以选择菜单【网络】-【DNS】,创建FortiGuard DDNS, 如果是固定IP,就不需要这个步骤。

④ FortiGuard DDNS允许设置一个固定的域名,将接口IP和域名绑定。只要访问域名,就会解析成绑定的IP地址。我们知道ADSL拨号宽带获得的公网IP会经常改变,每次公网IP改变后,FortiGuard会将最新的IP和域名重新绑定,这样只要对域名进行访问,即使公网IP改变也没有影响。

⑤ 登录SSL VPN时需要进行身份验证,建立用户组,可以将多个用户加入用户组中,对用户组进行权限分配。如果权限不同,也可以创建多个用户组。

⑥ 创建用户,用户可以是本地用户也可以是远程用户,将新建的用户加入用户组。

⑦ 将需要远程访问的IP网段创建地址对象。

⑧ 如果SSL VPN要访问的IP网段比较多,也可以创建地址组,将多个要访问的IP网段加入地址组。到目前为止,所有的准备工作就都完成了。

SSL VPN门户

当所有配置条件都OK后,就可以配置SSL VPN门户了。

① 选择菜单【VPN】-【SSL-VPN门户】,full-access包含隧道和Web两种模式,tunnel-access只包含隧道模式,由于Web模式不是很安全,推荐使用隧道模式。选择【tunnel-access】,点击【编辑】。

② 由于只允许访问内网的服务器,隧道分割选择【基于策略目标启用】,也就是说在防火墙策略的目标地址中,需要填写具体要访问的IP地址。隧道分离地址选择前面创建的地址组,也就是说,只允许地址组的这些IP通过SSL VPN隧道。源IP地址为默认的地址对象,内容是SSL VPN拨号后自动生成的IP的地址。地址对象内容可以修改。

③ 还用一种情况,就是SSL VPN拨号后,客户端所有流量都走SSL VPN隧道,包括上网流量。这样可以通过防火墙走防火墙上的宽带上网。这种情况门户里的隧道分割选择【禁用】,这也是默认选项。

SSL VPN设置

SSL VPN门户配置好后,就可以进行下一步了。

① 选择菜单【VPN】-【SSL-VPN设置】,选择宽带接口,可以同时选择多个宽带接口,分别通过多个宽带接口拨入。默认监听端口是443,会和防火墙的默认https端口冲突,建议修改,常见的有8443、10443。服务器证书选择默认内置证书。记住一定要选择,不然连接会报错。

② 限制访问选择【特定主机有限访问】,主机选择基于IP地理位置数据库的地理地址对象CHINA,关于地理地址对象参考其它文章。只样只有国内IP网段才可以拨入。如果要走SSL VPN隧道上网,而上网DNS与本地上网DNS不同,就需要配置DNS服务器。

③ 在认证/门户映射,将用新创建的用户组SSL_VPN_Users和修改的门户tunnel-access进行映射。其它用户组也和tunnel-access映射。这样设置就完成了

SSL VPN访问策略

SSL VPN门户和设置完成后,就可以配置访问策略了。

① 创建新的策略,SSL VPN配置完成后,在接口里会多出一个SSL-VPN tunnel interface (ssl.root) 虚拟接口。可以在策略的流入接口和流出接口引用。从SSL-VPN隧道进来的流量,需要访问防火墙时,必须同时经过自动生成的IP地址和用户验证。目标地址选择允许访问的内网服务器地址组,限制访问范围。

② 如果SSL VPN门户里隧道分割选择了【禁用】,那么客户端所有流量都会进入SSL VPN隧道,在客户端创建SSL VPN隧道访问宽带的策略,那么客户端就可以通过防火墙上的宽带上网了。

FortiClient客户端

SSL VPN在防火墙上的所有配置都完成了。下一步需要在客户端安装及配置FortiClient。

① 可以在 https://www.fortinet.com/support/product-downloads#vpn 网址下载FortiClient VPN客户端。 由于服务器在国外,下载速度会比较慢。

② 也可以在 https://support.fortinet.com 网站中下载,前提是需要有注册帐号,并注册了防火墙设备,且设备在服务期内。

③ FortiClient支持多种平台,也有多个版本,其中FortiClientVPN仅支持SSL VPN和IPsec VPN功能,如果我们只用于SSL VPN拨号,可以选择这个版本。x64表示支持64位的操作系统。

④ 这里以Mac平台为例,下载并安装启动FortiClient VPN,首页显示欢迎信息,钩选【我承认这个自由软件不附带任何产品支持。对于使用此免费软件时遇到的任何问题,我不会联系Fortinet技术支持。】,点击【我接受】。

⑤ 点击【配置VPN】。

⑥ 输入自定义的连接名,远程网关填写FortiGuard DDNS里配置的域名,如果是固定IP,直接填写IP地址。由于端口已经从443改为10443,这里钩选择【自定义端口】,将443改为10443,点击【保存】。注意这里一定要钩选【自定义端口】,不然直接改端口号是无效的。

⑦ 输入前面创建的用户和密码,点击【连接】。

⑧ 显示无效服务器证书提示,这里忽略,点击【Continue】。

⑨ 显示连接成功介面,这里客户端FortiClient获得的IP地址是由防火墙上的SSLVPN_TUNNEL_ADDR1地址对象分配的。

⑩ 因为防火墙上创建了SSL VPN虚拟接口访问Internal接口的策略,这里可以从客户端的电脑Ping通防火墙的Internal接口,也就能远程访问内网下的服务器了。

⑪ 如果客户端的外网IP不匹配地理地址对象CHINA,也就是非国内IP,那么同样的配置发起连接后,显示报错提示,无法连接成功。


相关推荐
Fanmeang1 天前
OSPF路由过滤
运维·网络·华为·ip·路由·ospf·路由过滤
诗句藏于尽头2 天前
完成ssl不安全警告
网络协议·安全·ssl
与火星的孩子对话3 天前
Unity进阶课程【六】Android、ios、Pad 终端设备打包局域网IP调试、USB调试、性能检测、控制台打印日志等、C#
android·unity·ios·c#·ip
you秀5 天前
HTTPS通信流程:SSL/TLS握手全解析
网络协议·https·ssl
小菜鸡95275 天前
http、SSL、TLS、https、证书
http·https·证书·ssl·tls
小小鱼儿小小林5 天前
免费一键自动化申请、续期、部署、监控所有 SSL/TLS 证书,ALLinSSL开源免费的 SSL 证书自动化管理平台
开源·自动化·ssl
斯普信专业组5 天前
K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
nginx·kubernetes·ssl
Fanmeang5 天前
OSPF高级特性之FRR
运维·网络·华为·ip·ospf·spf·frr
qq_4924484465 天前
Java 访问HTTP,信任所有证书,解决SSL报错问题
java·http·ssl
AWS官方合作商15 天前
AWS ACM 重磅上线:公有 SSL/TLS 证书现可导出,突破 AWS 边界! (突出新功能的重要性和突破性)
服务器·https·ssl·aws