网络隔离技术应用(基于零信任的软件定义边界网络隐身技术研究)
网络隔离技术应用(基于零信任的软件定义边界网络隐身技术研究)01过去企业IT基础设施局限在企业自建或租赁的“机房”内,企业用户或合作伙伴都是通过传统的企业“内网”访问企业的业务系统,企业的IT架构是“有边界”的。在业务上云和用户开始使用自带设备(Bring Your Own Device,BYOD)移动办公的大背景下,企业IT基础设施与用户办公的内外边界变得模糊,传统安全边界开始慢慢消失,企业IT架构正在从“有边界”向“无边界”进行过渡。传统的网络安全手段已经不能满足云时代和移动办公时代企业所需的安全防护以及高效的访问要求,零信任安全架构模型应运而生。零信任网络安全架构打破了传统的边界防护思维,从以往的以网络防护为中心转变为以身份(人、设备、应用)为中心;最小化权限访问控制,默认不信任网络内部和外部的任何人、设备或网络,持续监控所有连接的可疑行为。3.2.3 防火墙策略00引言
软件定义边界(Software-Defined-Perimeter,SDP)作为零信任安全的最佳实践落地技术架构,打破了旧式边界防护思维,从传统的以网络为中心转变为以身份为中心进行最小权限访问控制。通过网络隐身技术,不区分内外网,确保只有合法的身份以及设备和网络环境才能接入。在访问过程中,对用户行为持续进行安全等级评估,并对风险行为进行动态控制,在云计算及数字化转型的大趋势下能有效地保护企业的数据资产安全。
内容目录:
0 引 言1 概 述2 零信任SDP2.1 SDP客户端2.2 SDP管控平台2.3 SDP网关3 网络隐身技术3.1 SDP网络隐身设计3.2 SPA隐身服务3.2.1 网络通信
3.2.2 数据加解密及验证
3.2.3 防火墙策略
4 网络隐身安全能力5 SDP网络隐身最佳实践6 结 语00
引言
过去企业IT基础设施局限在企业自建或租赁的“机房”内,企业用户或合作伙伴都是通过传统的企业“内网”访问企业的业务系统,企业的IT架构是“有边界”的。在业务上云和用户开始使用自带设备(Bring Your Own Device,BYOD)移动办公的大背景下,企业IT基础设施与用户办公的内外边界变得模糊,传统安全边界开始慢慢消失,企业IT架构正在从“有边界”向“无边界”进行过渡。传统的网络安全手段已经不能满足云时代和移动办公时代企业所需的安全防护以及高效的访问要求,零信任安全架构模型应运而生。零信任网络安全架构打破了传统的边界防护思维,从以往的以网络防护为中心转变为以身份(人、设备、应用)为中心;最小化权限访问控制,默认不信任网络内部和外部的任何人、设备或网络,持续监控所有连接的可疑行为。
01
概述
零信任(Zero Trust,ZT)安全的核心思想是:打破旧式边界防护思维,从传统的以网络为中心转变为以身份为中心进行最小权限访问控制。软件定义边界(Software-Defined-Perimeter,SDP)安全模型作为零信任的最佳实践,由国际云安全联盟在2013年提出,也被Gartner定义为零信任网络访问零信任网络接入(Zero Trust Network Access,ZTNA)。
SDP是围绕某个应用或一组应用创建的。基于身份和上下文的逻辑访问边界,SDP从架构设计上就只允许可信任的业务报文通过,同时丢弃不合法报文。一般来讲,在SDP架构下真实的后端服务是被隐藏的:客户端与众多的SDP边缘节点联动,使得合法报文知道如何进入SDP网络,恶意流量将被SDP边缘节点丢弃,把应用资源从公共视野中消除,从而显著减少攻击面。
02
零信任SDP
SDP作为零信任的最佳实践落地技术架构,在“移动 云”的时代背景下,旨在通过网络隐身技术,为企业构建起一个云安全边界,确保只有合法的身份、设备和网络环境才能接入,对其他工具完全不可见,由于看不到目标,因此有效地规避了各种安全风险。同时,SDP还有一个很重要的零信任机制,就是在访问过程中对用户行为持续进行安全等级评估,并对风险行为进行动态控制,从而有效保护企业的数据资产的安全。
传统的网络接入控制是先接入再认证,由于端口暴露在互联网上,很容易遭受安全攻击,从而产生各种安全威胁。零信任SDP安全模型跟传统的网络接入控制模型不同,通过网络隐身技术实现先认证后连接,端口不暴露在互联网。同时,采用三角架构,管理控制平面与传输数据平面分离,实现更安全的接入管控,并且在云环境下实现系统的灵活可扩展。
零信任SDP安全模型由3部分组成:SDP管控平台、SDP网关和SDP客户端。该模型采用三角架构,SDP客户端发起连接请求,SDP管控平台认证客户端请求,并控制SDP客户端与SDP 网关建立数据通道。(见图1)
图1 SDP架构
2.1 SDP客户端SDP客户端通过敲门技术携带认证信息,包含用户名、密码、终端信息、网络环境等,SDP控制器对这些认证信息组合的多因素身份进行验证,向客户端返回SDP网关列表及权限列表。
2.2 SDP管控平台SDP管控平台用来对接入的SDP客户端进行身份验证,管理SDP网关。管控平台自身具备安全策略管理、日志审计等功能,能够动态管控用户的认证和访问行为,以及与企业已有的身份管理、态势感知等系统对接。
2.3 SDP网关默认情况下,SDP网关拒绝一切连接请求,只有管控平台下发认证策略后,才动态接受指定SDP客户端的连接,通过加密传输的方式代理SDP客户端和应用的数据通信,同时根据管控平台下发的控制策略,管理通信过程。
03
网络隐身技术
网络隐身作为零信任SDP最关键的技术之一,其目标之一是克服传输控制协议/互联网协议地址(Transmission Control Protocol/Internet Protocol Address,TCP/IP)开放和不安全的基本特性。该特性允许“先连接后认证”,而使用SDP架构的应用被隐藏在SDP网关之后,实现“先认证后连接”,从而只有被授权的用户才能可靠地访问,而未授权用户则看不到这些服务。
单包授权(Single Packet Authorization,SPA)是实现SDP网络隐身的核心网络安全协议。在允许访问控制器、网关等相关系统组件所在的网络之前先验证设备和用户身份,实现零信任“先认证,再连接”的安全模型理念。SPA包含包括请求方的IP地址等在内的连接请求的信息,在单一的网络信息中被加密和认证,通过配置默认丢弃(Default-Drop)的防火墙策略使保护的服务对外不可见。SPA的目的是允许服务器防火墙隐藏起来并被默认丢弃。该防火墙系统应该丢弃所有TCP和用户数据报协议(User Datagram Protocol,UDP)数据包,不回复连接尝试,从而不为潜在的攻击者提供任何关于该端口是否正被监听的信息。
用户尝试访问时,先验证用户的身份、设备和网络信息,然后允许用户网络访问零信任系统组件管控平台和SDP网关,最后用户才被允许访问该服务。所以,SPA对于SDP不可或缺,用于在客户端和控制端、网关和控制器、客户端和网关等之间的连接中通信。
SPA实现原则:
(1)数据包必须被加密认证;
(2)数据包必须自行包含所有必要的信息,单独的数据包不被信任;
(3)生成和发送数据包必须不依赖于管理员或底层访问权限,不允许篡改原始数据包;
(4)服务器必须尽可能无声地接受和处理数据包,不发送回应或确认。
具体实现原理如图2:
图2 SDP网络隐身原理
3.1 SDP网络隐身设计SDP架构下保护的业务服务只允许被认为合法的报文进行访问,丢弃“非法”报文,从而实现了业务服务隐身,SPA认证流程如图3。
图3 SPA认证流程
认证处理流程如下:
(1)客户端发送一个签名的请求授权访问后端服务的数据包给SPA服务;
(2)SPA服务对收到的请求授权包进行解包、验签等操作,对无效请求直接丢弃;对检查通过的,设置防火墙访问规则并回复授权响应包给合法客户端。
SPA可以看做通信层的访问保护,主要在网络通信层保护防火墙之后的后端服务。SPA首包认证作为网络通信的授权认证手段,有效地防范未信任数据包的风险。
3.2 SPA隐身服务SPA对网络授权数据包的应用访问进行防火墙管控,从而达到控制网络访问的目的。SPA服务主要有如下技术特点:
(1)无监听端口:使用快速数据路径(eXpress Data Path,XDP)直接从网卡驱动层获取通信数据包,直接处理报文内容。扫描程序无法侦测到监听端口,这样可以防范黑客攻击前的扫描侦测,从源头杜绝黑客对具体业务服务的攻击。无监听服务端口方式只需要SPA直接在网络层抓包,直接解析UDP网络报文内容,不需要真正拥有应用服务监听网络端口。
(2)支持大网络流量处理:XDP技术性能非常高,可接近网卡带宽上限,特别是在抵御DDoS攻击方面有先天优势。
(3)支持千万级别管理策略:使用源IP、目的IP和目的端口,通过服务标识做hash(哈希)算法来管控网络,可支持千万级别管理策略。
(4)更加安全的SPA首包认证协议:SPAD使用自定义SPA协议。通过使用个性化签名算法和报文加密算法,以及MAC算法,提高了安全性。
(5)支持高可用集群部署:管理策略使用NoSQL、MySQL等存储,支持多节点集群部署。目前SPAD支持VIP模式高可用方案(Keepalived VIP)。
SPA网络控制组件架构如图4所示:
图4 SPA 网络控制组件架构
从上图可以看出,SPA网络控制组件可以分为以下三层。
(1)网络通信层:可使用UDP、TCP通信,也可以使用自定义协议。SPA一般选择使用UDP通信,因为UDP传输是无连接的,默认无须响应,可通过drop授权不通过的数据包来隐藏自己,这个特性使得SPA可以隐藏自己。另外从安全角度讲,TCP更容易被攻击。
(2)授权包的加解密以及签名验证:数据本身包含签名、加密算法密文以及防篡改MAC保护。
(3)防火墙网络策略规则管理:对SPA授权认证通过的应用开放网络访问权限,添加防火墙的访问策略。一般网络策略默认设置时间生命周期(Time To Live,TTL),过期时访问策略会清除。
3.2.1 网络通信
负责网络通信的服务应用容易被扫描器侦测,也容易被DDOS攻击,这在安全方面必须考虑到。另外如果被识别出提供服务的端口,也会增加网络攻击的概率。因此SPA可需要通过抓包方式直接拿到请求授权包。
目前主流网络抓包方式有以下四种。
(1)XDP:全名是eXpress Data Path,是一种内核快速表达数据路径方法。
(2)DPDK(Data Plane Development Kit):DPDK是数据平面开发套件,它由多个库组成,可提高在各种CPU架构上运行的数据包处理工作量。
(3)PF_RING:PF_RING是一个Linux内核模块和用户空间框架,可以高速率处理数据包,同时为数据包处理应用程序提供一致的API。
(4)PCAP:PCAP由应用程序编程接口组成,通过这种高层次的接口来捕获网络流量。PCAP也支持把捕获的数据包保存为本地文件并从本地文件读取信息。
以下(表1)是上述抓包方式在大流量高并发场景下的比较:
表1 网络抓包性能
3.2.2 数据加解密及验证
SPA请求授权包必须保证完整性和安全性,可参考以下主流算法实现自定义业务报文协议。
(1)对称加密算法:指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。
(2)公钥加密算法:指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。常见的非对称加密算法:RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal。
(3)Hash函数:是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1。
3.2.3 防火墙策略
通过防火墙安全策略可以控制内网访问外网的权限、控制内网不同安全级别的子网间的访问权限等。同时也能够对设备本身的访问进行控制,例如限制哪些IP地址可以通过Telnet和Web等方式登录设备,并且控制网管服务器、NTP服务器等与设备的互访等。
04
网络隐身安全能力
SDP通过网络隐身技术(如图5)可有效减少受攻击面,缓解或者彻底消除多项安全威胁、风险和漏洞,例如:
(1)系统和应用程序漏洞
SDP显著减少攻击面,通过将系统和应用程序的漏洞隐藏起来,对于未授权用户不可见。
(2)账号劫持
基于会话cookie的账户劫持被SDP完全消除。如果没有预先认证和预先授权,并且携带适当的SPA数据包,应用服务器会默认拒绝来自恶意终端的网络连接请求。因此,即使网络请求中携带被劫持的会话cookie,也不会被SDP网关准入。
(3)数据泄露
SDP通过添加预验证和预授权层来减少公开暴露的主机的攻击面,实现服务器和网络的安全性的“最小访问权限”模型,从而有助于减少数据泄露的许多攻击方式。
(4)DDoS拒绝服务
SDP架构中的单包授权(SPA)技术使得SDP控制器和网关对阻止DDoS攻击更有弹性。SPA与典型的TCP握手连接相比可花费更少的资源,使服务器能够大规模处理、丢弃恶意的网络请求数据包。与TCP相比,基于UDP的SPA进一步提高了服务器的可用性。
图5 网络隐身安全能力
05
SDP网络隐身最佳实践
目前,开源社区中发布了一个实现SPA实现单包授权技术的方案Fwknop。该技术实现了只通过一个加密的UDP数据包来传达各种信息,且该技术兼容目前主流操作系统中的防火墙,如最常用的iptables。通过在客户端封装Fwknop,将单个携带认证信息的UDP数据包进行非对称加密,并发送到Fwknop服务端进行验证,同时,支持对UDP数据包的认证信息进行多重因子的验证,包括用户信息、设备信息、网络环境等。
单个或多个应用服务隐藏于Fwknop服务之后,部署Fwknop服务的主机防火墙默认拒绝一切数据包的连接,丢弃一切数据包。然后通过libpcap从物理网卡上被动地嗅探Fwknop客户端发出的单个UDP数据包。
封装Fwknop的客户端向Fwknop服务端发送单个UDP的认证数据包,Fwknop服务端嗅探到合法的Fwknop客户端发送过来的数据包后,暂时授予被动认证的Fwknop客户端的访问权限。即向主机上相应的iptables链中添加该主机对相应服务的accept规则,实现授信终端的接入。
06
结 语
移动互联网时代,在云化的大背景下,随着企业的数字化转型升级,新技术态势下的网络安全威胁和风险不断涌现,基于传统边界安全解决方案难以应对。基于零信任安全模型的软件定义边界(SDP)架构应运而生。SDP破除传统安全防护思维,通过在云上建立起虚拟的网络安全边界,帮助企业能够快速、安全上云,加速各行各业的数字化进程,具有非常重要的战略意义。零信任安全作为一种颠覆传统安全边界思维的策略,对传统安全防护机制的革新不是一蹴而就的,需要结合企业的数字化转型规划和业务发展规划。必须基于企业现有条件,通过确立愿景、制定规划、运用合理的技术手段,分步骤稳妥地进行零信任实践,最终实现零信任安全体系架构建设。
引用本文:于欣越 孙刚 张亚伟.基于零信任的软件定义边界网络隐身技术研究[J].通信技术,2021,54(5):1229-1234.
作者简介 >>>
于欣越,学士,网络安全工程师,主要研究方向为网络安全、云计算、网络通信技术;
孙 刚,硕士,主要研究方向为网络安全、零信任安全、网络通信技术;
张亚伟,学士,主要研究方向为网络安全、数据安全、网络通信技术。
选自《通信技术》2021年第5期(为便于排版,已省去原文参考文献)
商务合作 | 开白转载 | 媒体交流 | 理事服务
请15710013727(微信同号)
《信息安全与通信保密》杂志投稿邮箱:
xxaqtgxt@163.com
《通信技术》杂志投稿邮箱:
tongxinjishu001@163.com
更多信息,请关注信息安全与通信保密杂志社