【隧道篇 / 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,那么同样的配置发起连接后,显示报错提示,无法连接成功。


相关推荐
心勤则明16 小时前
Netty配置SSL证书加密
服务器·https·ssl
广东数字化转型17 小时前
SSL/TSL 总结
网络·网络协议·ssl
小徐敲java1 天前
Windows本地制作java证书(与jeecgboot配置本地证书ssl问题)
java·windows·ssl
[廾匸]2 天前
uni-app获取设备唯一值、静态IP以及公网IP的方法
uni-app·ip·imei·唯一值
Hello_WOAIAI2 天前
ImportError: DLL load failed while importing _ssl: 找不到指定的模块的解决方法
网络·网络协议·ssl
Dragon_qu·x2 天前
Certbot 生成 SSL 证书并配置自动续期
运维·网络协议·https·ssl
Bob99982 天前
电脑浏览器访问华为路由器报错,无法访问路由器web界面:ERR_SSL_VERSION_OR_CIPHER_MISMATCH 最简单的解决办法!
开发语言·javascript·网络·python·网络协议·华为·ssl
Hello.Reader3 天前
使用 Nmap 进行 SSL/TLS 加密套件枚举
网络·网络协议·ssl
alsknv4 天前
只有IP地址没有域名怎么实现HTTPS访问?
网络·网络协议·tcp/ip·http·https·ssl
soladuor4 天前
xray 与 nginx 多网站共存(443端口复用方案)
nginx·https·ssl