文 / 达州银行 何智敏 李宏轶

随着我国大数据、云计算等技术的快速发展以及当前严峻的国际形势,愈演愈烈的网络攻击已经成为国家安全的新挑战,国家关键信息基础设施时刻受到来自网络攻击的威胁。每当国家级重大会议、赛事以及各层次的网络安全对抗演练期间,金融、政府、交通、税务、电信及能源等关键基础行业的网络安全防护等级均须提升应对级别。

而SSL VPN作为连接互联网与内部私域网络的重要通道,虽然现在大家的安全意识都有极大的提升,网络安全管理员也会及时修复已知漏洞,但黑客组织往往利用VPN设备的0day漏洞进行攻击,一旦VPN设备被攻陷,黑客可以通过横向渗透等手段获取核心数据、部署木马、散播勒索病毒,可能导致企业遭受巨大损失。

因此,许多企事业单位会选择在重要时段关闭SSLVPN服务,但这种简单粗暴的做法也严重影响了企事业单位正常的远程办公。基于以上情况本文将探讨在不关闭服务的前提下,如何有效降低SSLVPN安全风险。

思路分析

无论什么样的网络攻击方式通常都是由攻击者通过IP网络进行远程连接和攻击,而基本不会出现攻击者拿着电脑直接到被攻击方数据机房进行操作的情形。如果攻击者和VPN设备之间的IP网络不可达,从源头阻断攻击路径,那么无论怎样的远程攻击手段都无法奏效。因此,我们基于这个思路考虑如果让VPN的服务端口仅对特定用户开放而对互联网上其他所有人进行隐藏,就能做到即使VPN设备出现0day漏洞时攻击者也无法利用该漏洞进行攻击。

一种方案是采用安全厂商推出的零信任网关设备部署在网络入口,合法用户使用专用客户端先发送SPA(Single Packet Authorization,单包授权)报文到零信任网关进行认证和授权,当认证通过后零信任网关再针对该用户动态开放VPN服务端口,而此时互联网上其他人禁止连接该VPN端口。此方案能够将VPN业务端口进行隐藏避免黑客攻击,并拥有安全厂商的技术支持。但所需投入成本较高,且设备本身也需要将SPA认证端口直接暴露在互联网上,和VPN设备一样存在被攻击者利用的可能性,只是将攻击目标从VPN功能转向SPA认证功能。此方案适用于“拥有大量远程接入用户,需要对接入用户进行有效的身份认证和终端安全检查”的场景。

另一种方案就是本文将要探讨的基于DDNS实现对VPN端口进行动态精准访问控制。该方案的核心思路是:使用DDNS(Dynamic Domain Name Server,即动态域名解析服务)技术,在防火墙上配置基于域名的访问策略,只允许指定的域名访问SSL VPN端口,而拒绝其他未知访问连接,以达到隐藏SSL VPN端口防止黑客攻击的目的。

整个工作流程如下:管理员事先分配授权用户域名,如zhangsan.example.com,并在前置防火墙上配置仅允许这些域名访问后端的VPN端口;远程用户在访问SSLVPN前,使用客户端软件自动获取当前公网IP,并将其暂时绑定到分配的域名上(如将2.2.2.2绑定到zhangsan.example.com);前置防火墙会实时更新域名解析并放行该IP的网络连接;后台定时脚本会将域名重新指向一个无效IP,及时收回访问权限。基于DDNS实现SSLVPN动态访问控制流程如图所示。

图 基于DDNS实现SSL VPN动态访问控制流程图

使用此方案能够有效将VPN端口进行隐藏避免黑客攻击,且无需额外的资金投入。整个方案细节由网络运维人员进行设计和实现,拥有较高的自主权。但此方案对网络运维人员的技术能力有一定的要求,需要开发相应的域名更新客户端,最好能够嵌入相应终端的安全检查功能,若能将此功能集成到VPN客户端中将拥有更好的用户体验。此方案中域名服务相关的访问授权也成为重要的保护对象,需防止客户端外泄并制定更新策略进行定期更新。此种方案适用于“IT运维技术能力较强,且仅有少量VPN接入用户,又对网络安全防护等级要求较高”的场景。

方案实现

以上文提到的第二种方案为例,在方案实施过程中,需要完成以下任务。

(1)建议申请一个VPN专用的公网域名和IP,并获得其域名解析服务配置权限,最好与本单位不建立关联以避免遭受域名扫描后被定点攻击,推荐使用阿里云或腾讯云等安全度更高的第三方DNS服务。

(2)在前置防火墙上将其DNS服务器地址指向已申请了服务的第三方DNS系统,并配置安全策略仅允许管理员预分配的用户域名(如zhangsan.example.com)访问VPN端口而禁止其他IP连接。

(3)在第三方DNS系统里新增用户域名(如zhangsan.example.com),设置其TTL为最小值(如60秒),并解析为一个不可用的IP地址(如127.0.0.2)。

(4)编写一个域名更新客户端,实现获取当前公网地址并调用域名服务商的API将其绑定到相应用户域名的功能。

(5)因互联网用户大多使用的是动态IP,为避免VPN合法用户使用结束一段时间后其他互联网用户动态获取到该IP地址从而拥有连接VPN服务端口的权限。建议在企业后台运维服务器部署定时脚本,自动连接该DNS系统,重置用户域名的解析结果为一个不可用的IP地址(如127.0.0.2),达到及时回收连接权限的目的。

方案进阶

在上述方案中使用DDNS实现了合法用户的公网IPV4地址动态放行,但由于电信提供商往往未给个人用户分配独立的公网IPV4地址,若攻击黑客和合法用户处于同一个内网域时,他们可能会因相同的公网IP地址而拥有VPN端口连接权限。

针对以上风险,若需要更高的安全等级,可以利用手机5G网络拥有独立IPV6公网地址的特性,在企业前置防火墙和VPN设备配置IPV6地址。远程客户端电脑进行接入时需要先连接自己的手机热点,然后再利用客户端通过IPV6网络进行域名更新和VPN接入,此时动态放行的IPV6地址则能保证其独有性。这种方式下用户在远程接入时多了一个操作步骤,但是整个过程拥有更高的安全等级,网络运维人员可以结合各自企业的实际情况选择IPV4或IPV6连接方式。

安全加固

为进一步提升安全性,建议在对SSLVPN设备进行配置时采用以下安全选项:客户端接入VPN后禁止和互联网进行连接,避免客户端成为网络连接跳板;使用国密算法进行隧道加密;使用双因素认证进行SSL VPN接入认证;接入VPN后赋予用户最小化的访问权限。

方案总结

此方案通过利用DDNS技术实现了SSL VPN服务的动态精准访问控制,可以隐藏VPN服务端口,防止黑客攻击,是一种简单可行且成本低廉的SSL VPN安全加固方案。随着企业对网络安全意识的提升,以及未来5G、IPV6、云计算等技术的推动,SSL VPN将得到更广泛的应用,基于DDNS的动态精准访问控制技术有望成为企业重要的安全防护手段之一。

在我行使用此方案进行远程运维的近两年里从未因SSL VPN服务长期开启遭受过攻击,该方案的稳定性和安全防护能力均经受住了考验。VPN设备厂商也可以参考此方案将DDNS技术加入到自家设备支持功能中,以满足部分客户对VPN安全等级要求很高的需求。

(此文刊发于《金融电子化》2024年1月下半月刊)

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。