基于零信任SDP的新一代用户安全访问控制系统设计
2022-07-07蒋亚坤李晓耕
蒋亚坤,李晓耕,林 旭
(云南电力调度控制中心,云南 昆明 650000)
用户在从外部互联网访问企业内部信息系统时,主要通过虚拟专用网络(VPN)设备实现用户身份认证、数据加密等网络安全控制,VPN已在各行业大量使用。首先传统VPN使用TCP/IP通信协议进行互联网用户身份认证,先连接网络,后认证身份,存在资产暴露问题;其次传统VPN是基于网络为中心的准入控制,用户一旦通过VPN接入企业内部网络,就难以控制其对内部网络的攻击[1][2]。
零信任是近年来国际上最为领先的新一代安全架构,通过软件定义边界(SDP)构建无边界的安全防御体系。本文对零信任安全架构的用户安全访问控制系统实现进行设计探讨,首先介绍零信任安全架构原理,并以面向业务及用户的访问控制为例对其进行阐述,最后探讨零信任架构优化及改进建议,可为零信任安全架构的设计与实现提供指导。
1 零信任SDP介绍
零信任SDP是国际云安全联盟(CSA)于2013年提出的一个全新概念,弥补了传统TCP/IP漏洞,其核心思想是通过SDP架构隐藏核心网络资产与设施,使之不直接暴露在不可信网络下,使得网络资产与设施免受外来安全威胁。
2 系统架构设计
2.1 系统架构
本文设计了一种适用于网络环境的零信任SDP安全隔离与准入系统,下面对其系统架构进行说明。
SDP弥补了TCP/IP架构的缺陷,避免重要网络资产直接暴露在Internet中,规避网络安全风险,在架构上实现彻底安全防护。SDP架构主要包含三部分:SDP控制器(Controller)、SDP网关(Gateway)和SDP客户端(Client)。SDP架构图如图1所示。
图1 SDP安全架构图
SDP基于SDN架构实现控制平面与转发平面的分离,通过先认证,再连接的方式规避了TCP/IP架构的缺陷,实现了网关的隐身功能;通过SPA单包认证机制实现了控制器的隐身。通过网络隐身特性让攻击者无法攻击不可视资产进而规避已知与未知攻击威胁。
零信任SDP新一代用户安全访问控制系统基于SDN架构进行设计,实现了控制平面与转发平面的分离,系统由零信任中央管理模块(Controller)、终端环境感知模块、密钥分发管理模块、安全审计模块、统一身份管理模块、流量调度管理模块、API可信网关、应用准入网关、安全客户端、安全SDK等多个模块组成,其架构图如图2所示。其中,零信任中央管理模块是该系统的核心部分,负责各个模块之间的通信,处理各种服务进程;终端环境感知模块负责对终端补丁、杀毒软件、系统设置等进行综合感知与评价并向中央处理模块反馈终端感知评价分值;密钥分发管理模块可以实现客户端或SDK的密钥分发管理,负责密钥的生产、存储与更新;安全审计模块对用户访问行为UEBA进行海量日志分析与判断,对用户异常行为进行感知与处理;统一身份管理模块,可以实现本地认证或认证转发功能,基于SPA单包认证方式实现控制器与网关的网络隐身,同时基于MFA多因素认证方式,增强系统的认证安全性;流量调度管理模块负责多网关、多用户的负载均衡流量调度与系统的灾备与切换;API可信网关与应用准入网关负责用户的安全准入控制,基于身份实现最小化网络分段与隔离;安全客户端与安全SDK实现终端安全的隧道建立、可信进程、环境感知等功能。各个模块互相协作,共同构成一个完整的零信任SDP用户安全访问控制系统。
图2 零信任SDP用户安全访问控制系统架构
2.2 系统设计
零信任SDP用户安全访问控制系统可以部署在不同网络的接入访问、供应商远程访问、远程安全运维等多个场景进行运用。
零信任SDP系统可集中或在不同的网络中分布式部署控制器Controller模块,提供整个零信任SDP系统的中央调度功能,包括客户端统一认证、密钥分发、动态流量调度、动态防火墙网关模块、流量审计等整体协作与控制,管理员可以根据实际情况通过控制器调整和下发用户访问资源的权限与安全策略,并实时通知网关进行动态安全策略调整。在各个网络边界部署云化或硬件专属SDP网关模块实现泛边界防御功能。内外部用户通过安全客户端或SDK基于加密隧道方式,只有通过身份认证才能访问特定的资源与数据,具有云-管-端的立体安全防御能力。下面对系统实现作具体分析。
2.2.1 身份认证与识别
SDP系统基于SPA单包认证方式进行身份认证,SPA(Single-Packet Authorization,单包认证)是一种轻量级的认证协议,遵循RFC4226,SPA是SDP的重要核心组件,Client-Controller Controller-Gateway Client-Gateway之间都采用了SPA方式进行认证。
图3 SPA流程
为了增强SDP系统认证的安全性,在原有SPA认证协议基础上增加了控制器模块的认证转发与MFA多因素认证功能。
图4 控制器认证及转发模块
控制器收到认证报文后会向后端第三方统一身份认证模块IAM进行转发,如果有任何认证因子错误时控制器会直接将认证报文进行丢弃,使非法攻击者无法探知控制器的服务端口,进而实现控制器的网络隐身功能,保障SDP控制器模块的系统安全运行,同时基于MFA多因素增强了认证的丰富性与安全性,极大增加了黑客破解口令的难度系数。
2.2.2 动态防火墙
传统的防火墙基于规则模式进行配置,需要手工方式逐条进行配置,通常只能针对防火墙后端访问资源进行严格的ACL安全策略配置,针对用户侧往往只能配置允许放通服务端口或基于内部网段进行粗颗粒度策略放通,存在网络及服务端口暴露面风险,无法针对不断变换位置的BYOD等移动办公终端进行严格的ACL访问控制。本系统API可信网关及应用准入网关采用了动态防火墙技术,改变了原有防火墙的静态配置模式,通过控制器采用动态策略计算生成并动态下发,动态防火墙默认采用deny any any策略拒绝一切流量的连接,只有通过身份认证的终端或用户,SDP防火墙才会基于用户的位置、IP地址、设备指纹等信息进行动态的安全策略配置,任何非法用户或攻击者都将无法扫描到SDP防火墙及后端应用的任何IP地址及端口,因而实现了SDP动态防火墙的网络隐身功能,可抵御扫描、渗透、暴力破解、撞库、SQL注入、APT等各类网络攻击。
2.2.3 动态流量调度
零信任SDP系统基于SDN架构进行实现,实现了控制平面与转发平面的分离,并且通过私有协议进行组件间的通信,北向接口通过RESTFUF API方式向外部系统开放调度能力,同时控制器平面也可以实现masterslaver或多master等多种方式实现主备与冗余。实际运用中可能存在多数据中心、多云、多边界部署,动态流量调度模块可以感知系统内各个GW的在线用户、Tunnel、Session、流量等多个性能指标,系统可以支持多种负载均衡算法,包括Round-Robin、Random、Weight-Round-Robin、Hash,可以基于用户的规模、网关的并发处理能力、网络吞吐量动态决策每台SDP所承载的业务流量,实现弹性计算能力扩展及灵活的业务调度能力。
2.2.4 密钥分发与管理
密钥分发与管理模块是保障SDP系统安全一个重要模块,涉及SDP用户的注册、密钥的生成与分发、密钥管理(颁发、更新、作废、验证)等功能。
该模块工作模式为新增用户首先在本平台进行注册,注册信息包括用户名、密码、邮箱、手机、部门等多维度信息,建议通过内部可信网络进行申请,用户也可以基于第三方统一身份平台IAM,由第三方平台确保用户身份的合法及所属部门组织架构;经管理员进行核实并审核通过后系统自动生成用户的公钥和私钥,其中公钥推送到SDP系统中,私钥根据客户的安全管理级别,高安全性使用推荐使用的专业介质USB-Key并通过安全方式递交给使用者;另外可以针对注册成功的用户在可信网络登录系统下载自己的私钥,私钥的使用密码为自己的登录系统的密码,当用户修改密码后原密钥作废,用户需要重新下载私钥。另外平台可以更新、轮转、作废、验证密钥,当用户注销后,系统自动作废证书。
3 预期应用效果展望
现有运行的VPN设备,是来自互联网对企业内网及信息系统网络安全最大的威胁源和风险点,项目研究成果投入使用后,可大幅降低来自外网的网络攻击,将外网访问内网的风险降至最低。将消除现有VPN存在的缺陷,解决现有VPN资产暴露、0day漏洞频发、内网资产暴露等问题,阻断DDoS、服务器查询、高级持续性威胁(APT)、中间人攻击等各类网络攻击、数据泄露等带来的经济损失,大幅提升内网网络及信息系统安全,保障企业关键核心基础设施安全。
同时可保障特殊时期不断网,通过外网访问内网业务正常运行7×24小时不中断,避免了因应对断网带来的临时增加大量人力资源成本和时间成本,提升企业管理水平和管理效率,维护企业良好形象。
4 结束语
零信任SDP是新一代的安全架构,解决了TCP/IP漏洞问题,通过先认证,后连接和基于SDN的系统架构实现了控制器和网关及后端应用资源的网络隐身功能,可以抵御各类网络攻击风险。本文设计了一种适用网络接入的零信任SDP用户安全访问控制系统,该系统可针对内网安全接入访问、合作伙伴、供应商远程安全访问等场景起到良好的安全防护效果。
需要指出的是,虽然SDP架构比较完善可以较好实现网络隐身功能,但攻击者仍然可以通过客户端进行抓包,探测控制器IP地址,然后可以通过拒绝服务攻击方式来诱使控制器无法提供服务,进而造成服务不可用,因此需要充分考虑控制器的防止DDOS攻击能力。未来可以在此次研究基础上不断完善和扩展应用场景,在物联网安全接入、APP安全接入、工业互联网等领域进行应用与推广。■