从历史发展的角度看,安全域隔离一直是传统安全领域广泛采用的防御手段,比如起建于春秋战国期间的边塞长城一直延续至明末都在发挥巨大作用,坚城巨塞外围都会建设起高高城墙、宽宽的护城河等等,无论长城还是城墙,它们的目的都是为了形成关里关外、城里城外两个安全域,以便于实施统一的防护策略,也是为了方便同一安全域内的实体能够相对比较容易沟通及联系。
在企业网络安全防护方面,网络安全域隔离也是网络安全防御最重要、最基础的手段之一,也是企业数据中心、信息系统建设最先需要考虑的基础性问题。但是在企业网络安全建设过程中,网络安全域隔离的有效落实却面临各种各样的问题,本文就是笔者对此问题的一些思考,记录下来以供各位读者参考。
一、什么是网络安全域
网络安全域就是一组安全等级相同、业务类型/功能相似的计算机、服务器、数据库、业务系统等构成的系统**,具体表现在网络中可能是一个IP网段(一个C段、一个B段)或几个网段**,或者是一个VLAN或几个VLAN**,或者是连接一个防火墙接口下的整个网络区域,或者是机房里的一个机柜或几个机柜等。上面的解释其实还是比较抽象,举几个例子,比如存储****的数据库服务器与供客户访问的Web服务器显然就不是一个安全等级,测试环境的服务器与正式提供服务的生产服务器显然也不是一个安全等级,因此,要对他们进行安全域划分。总的来说,一个安全域其实就是一个信任域,在符合监管要求的情况下你可以把一些你认为可以相互信任的计算机、设备放置在一个安全信任域当中,在信任域内部实施较松的安全策略,而信任域边界实施较为严格监控、访问控制等。每个信任域内服务器的多寡取决于单位信息系统建设、信息安全意识等多方面因素的制约。
从网络攻击者的角度来说,有一种典型的攻击方式叫横向渗透攻击,其含义是攻击者拿下了内网的某一台主机,为了扩大战果,往往会对该主机所在的C类地址段进行扫描,因为在企业内部一般同一个C类地址段不会有进一步的网络隔离划分。此时,这是一个C类段处于风险之中,那么如果我们没有进行网络安全域隔离,那么,整个数据中心都有可能处于攻击者的直接打击范围。基于这后一点,我们明白了,网络安全域隔离其实就是将整个网络划分为一个一个比较小的安全信任域,要不然整个网络处于一张平面,攻击者拿下一个地址之后,可以对整个网络进行扫描探测发现。
二、网络安全域隔离有什么好处
据笔者看来有四点:一是可以将坏东西、坏人隔离在一个小区域,以减小破坏程度。二是可以将坏东西、坏人集中在隔离边界对其进行集中清除消灭。三是可以让好东西、好人隔离在一个相对安全的区域,免受其他坏东西、坏人的侵害。四是可以在隔离边界部署安全设施,以对好东西、好人加强保护,对坏东西、坏人进行阻断拦截。
三、网络安全域该怎么规划设计
从不同的站位视度、不同观察粒度来看,企业的网络安全域划分可以有不同分法。从企业外部看,安全域可以分为内网和外网,在此时,企业内部的所有办公计算机、服务器、路由器、交换机等都属于我们要保护的信息资产。因此,内、外网边界就是我们实施统一安全策略、部署防御设施的“主阵地”,比如部署边界防火墙、入侵检测、上网行为管理等。
下面我们移步进入企业内部,站在企业内部泛泛的看,一般会将企业划分为办公网PC终端安全域和数据中心安全域,在此时,企业内部的办公网区域、数据中心区域又是属于不同的安全等级。
如果我们再进一步稍微细致的审视一下,其实各安全域内部也是分为子安全域的,内部的安全域划分就是八仙过海、各显神通了。比如,在《GB/T 25070-2019 信息安全技术 网络安全等级保护安全设计技术要求》中,将企业内部网络按照不同的等级保护级别进行安全域划分,不同级别安全域之间采用安全互联部件进行数据交互。
在赵彦老师的《互联网企业安全高级指南》一书中,作者着重讲了办公网的安全域划分问题。办公网安全域被划分为OA服务器域、事业部A桌面域、事业部B桌面域等,事业部桌面域又划分为高度PC用户、中度PC用户、轻度PC用户等。这副设计图应该属于赵彦老师早期的设计图,不知道最近的思路有没有变化?在图中OA服务器域,我们看到了持续集成代码托管和测试环境,依笔者的观点,此类服务器应该归属于数据中心安全域。
其实最早笔者认为OA服务器域应该划归数据中心内的安全域,后来参看了赵彦老师的《初探下一代网络隔离与访问控制》(美团技术团队文章),好几副图的划分方法都是把OA服务器域划归办公网,如下图。在这篇文章中赵彦老师分享了好几种典型的区域隔离划分方案,有兴趣的读者可以去参看一下。
另外,刘焱老师的《基于开源软件打造企业网络安全》一书中,OA服务器是被划分为独立的安全域,但此时应该属于数据中心安全域内。
数据中心安全域又划分为生产网、开发测试网等不同的网络安全域,生产网安全域又会分为集团安全域、子分公司安全域等。集团安全域又划分为生产网内网区和生产网DMZ区,生产内网安全域又会根据业务类型不同分为普通业务安全、核心业务安全域、数据仓库安全域、KMS安全域等。
以上一般都是按照功能进行的安全域划分,在实际场景中,还会存在其他方式的安全域划分方法,比如,从纵深防御的角度看,一般系统分为DMZ区(Web服务区)、外联区、APP区,DB区等。如下图所示。这里面的DMZ区、外联区、APP区、DB区就是一个一个的网络安全域。
对于集团化的公司,各子公司都会逐渐明确自己的业务边界和战略中心,假如由集团统一提供IT基础设施服务,但是各子公司的业务可能面临的监管要求完全不同,比如按照金融监管的要求去管理社区服务系统,或者按照社区服务系统的要求去管金融业务,都会面临或严、或松的压力。因此,集团化的数据中心要对子公司进行隔离划分,明确划分各子公司在数据中心中的访问边界。按子公司职能、业务特点等,划分安全信任域,建立清晰责任边界、安全边界、信任边界。
四、传统网络安全域隔离方式
说了这么多网络安全域隔离的问题,那么具体怎么实现呢?有什么方式呢?以笔者的经验主要有物理隔离、逻辑隔离(防火墙隔离、VLAN隔离等)。
(一)物理隔离。这里面又分为几种:1、强物理隔离。从字面上看,这是一种非常容易理解的网络隔离方式,两个网络安全域从网络线路、网络设备、系统主机等硬件系统层面都是单独部署一套,两者之间严禁各种网络连接。这个在当前大环境下,估计只有JD、GA、ZF等核心敏感部门或核心工业控制系统才会这么做,此种隔离方式不光建设成本比较高,后续的运维、信息共享都会存在较大的人力成本和时间成本。所以,一般企业都不可能采用这种方式了,特别是在互联网、移动互联的大背景下,凡是需要为客户提供在线服务的就更难实现完全的强物理隔离了。2、弱物理隔离。绝大部分传统金融企业应该都是属于这种模式。网络设备、主机系统根据需要一般是每个网络安全域一套,但是,安全域之间一般可以通过网闸、单向数据传输设备建立了特定的安全传输通道。
(二)逻辑隔离。逻辑隔离相对于物理隔离,主要区别是各个网络安全域之间是有链路连接的,只是在协议上、路由上进行逻辑阻断,让两者不能直接相通。但是,如果两者之间想互通,直接在交换节点、路由节点、网关节点等上进行配置即可,不用再单独拉物理线路或者部署网闸等设备。细细想来,常用的逻辑隔离方式只有防火墙隔离和VLAN隔离两种,VXLAN是VLAN划分在云环境下的一个变种实现。
五、网络安全域之间如何进行访问控制
网络隔离形成安全域只是为了提高企业的安全等级,但是,不管管理需要还是业务需要,最终安全域之间还是需要或多或少的进行通信,否则整个企业信息系统就没有存在的必要了。那么,安全域之间通信应该通过什么方式进行隔离呢?以笔者的经验,目前,网络隔离后的通信方式主要网络访问控制策略(ACL)、接入网关、正反向代理、堡垒机等。其中:
ACL是防火墙或三层交换机上实现的,是一种基于IP地址的控制策略,在企业内部,网管人员可能为了方便进行管理,往往还会采用IP地址段的形式开通访问控制列表,因此,这种控制粒度较粗,而且对于应用层的访问缺乏控制。
接入网关、正反向代理是可以实现应用层一级访问控制,还可以在其上增加更多的访问控制策略等模块。
堡垒机是为远程运维提供的一种访问控制办法,可以登录控制、操作拦截、操作审计等功能。
六、虚拟化/云计算环境下的网络安全域隔离
一个服务或应用占用一台物理机的时代已经逐渐成为历史,虚拟化/云计算已经是目前广泛应用的数据中心交付模式。然而,在虚拟化/云计算环境下,有没有必要进行网络安全域隔离?如何进行网络安全域隔离呢?笔者翻阅了阿里云、华为云等云计算公司发布的白皮书,网络安全域隔离仍然是其网络安全架构的基本实现方式之一。以阿里云的白皮书为例:
上面这一段话,我们看到了阿里云基础平台怎么实现网络安全域隔离的,首先,阿里云分为生产网和非生产网,其次,阿里云分为对外提供服务的云服务网络和支撑云服务的物理网络,最后,我们还看到了阿里云办公网与生产网络的隔离。以上说的,以笔者的理解,应该是云平台提供者所做的网络区域隔离。
那么对于云租户之间是怎么实现安全域隔离呢?目前云厂商普遍提供的方式是VPC的方式实现。VPC即virtual private cloud,也就常说的虚拟局域网,VPC实现了不同租户间网络隔离,由于VPC 使用了隧道封装技术,保证了不同 VPC 间,网络流量完全不可见,而 VPC 内部网络流量则直接到达目的机器,从而确保了无论 VPC 内,还是 VPC 间,用户流量都能够得到安全性保障。其实根据企业的IT规划,如果数据中心云平台只是为了提供自己企业内部服务,VPC也可以实现企业内部各种网络安全域的划分,比如我们可以把DMZ划为一个VPC,把数据库划为一个安全域,把办公服务器划为一个VPC。一般情况下,每个VPC都需要指定 1 个网段,网段范围如下:
10.0.0.0/8 (10.0.0.0 - 10.255.255.255)
172.16.0.0/12 (172.16.0.0 - 172.31.255.255)
192.168.0.0/16 (192.168.0.0 -192.168.255.255 )
VPC 可以通过 EIP 或者 NAT 服务,让 VPC 内虚拟机连接公网,或者通过 VPC 对等连接两个 VPC,还可以通过 VPN 或者专线连接用户自建数据中心,构建混合云。
最后,对于云租户内部又有什么方法实现网络安全域隔离呢?这里也可以灵活考虑,比如,云租户可以多租用几个VPC实现隔离。另外,在VPC内部还可以采用安全组进行安全域划分。以下是阿里云对安全组应用场景的表述:(1)安全组用于设置单台或多台云服务器的网络访问控制,它是重要的网络安全隔离手段,用于在云端划分安全域。(2)安全组是一个逻辑上的划分,这个分组由同一个地域内具有相同安全保护需求并相互信任的实例组成。这种安全组在不同的云厂商实现中,叫法和实现方式可能也有差异,比如下图中就将VPC内的隔离成为Subnet(子网),意思应该与安全组一样。
七、结语
随着虚拟化以及云计算技术的不断演进,在网络安全域隔离方法又出现了一些新的研究方向和实践探讨,比如微分段或微隔离。国际权威技术分析与咨询研究公司Gartner公司在2016年、2017年、2018年连续三次将“微分段或微隔离”纳入年度十大安全技术(项目),但是在最新的2019年已经没有纳入,不知道Gartner是怎么考虑的,但是从笔者了解的企业实践来看,目前大面积实施“微分段或微隔离”的企业还不多,甚至是没见过,也有可能是笔者视野狭窄,希望将来能够与各位读者一起探讨关于“微分段或微隔离”方面的实践。近期,在读郑云文老师的《数据安全架构设计与实战》时,郑老师提出了一个观点:安全域过多,会导致防火墙运维难度加大。在满足合规要求下,安全域的数量越少越好。这也许也代表企业网络安全域划分的一个新方向,有兴趣的读者也可以好好研究一下。
参考资料
1、GB/T 25070-2019 信息安全技术 网络安全等级保护安全设计技术要求
2、互联网企业安全高级指南 赵彦、江虎、胡乾威
3、企业安全建设入门基于开源软件打造企业网络安全 刘炎
4、初探下一代网络隔离与访问控制 赵彦
5、阿里云安全白皮书
6、数据安全架构设计与实战 郑云文
(本文是作者在企业安全实践中一些分析和思考,也是作者的一家之言,供大家参考。因个人能力、视野及技术水平限制,未免有些错误、偏颇以及疏漏,敬请读者谅解。)
*本文作者:shengl99,转载请注明来自FreeBuf.COM