网络安全的核心是保护网络中传输的数据、信息的安全性和机密性,网络通信是信息传输的基础。这里主要介绍TCP/IP、SNMP、安全域及不同规模的安全需求等。
TCP/IP模型是在OSI模型之后出现的,是OSI模型的简化版本,是实际上的工业标准。TCP/IP模型包含TCP、IP、UDP、Telnet、FTP、SMTP等上百个互为关联的协议,得到了很多开源商业化产品的支持。
TCP/IP是从OSI模型简化而来的,简单的映射如图4-3所示。
图4-3 OSI和TCP/IP模型对比
OSI模型和TCP/IP映射更详细的介绍如表4-1所示。
表4-1 OSI模型和TCP/IP映射介绍
从这里看,OSI更多是一个概念,而TCP/IP是一个流行的工程实现。
4.1.1.1 MAC地址
媒体存取控制(Media Access Control,MAC)地址用来定义网络设备的位置,通常是绑定在网卡上的一个固定值,负责二层的数据交换。前三个字节(高位24位)是由IEEE的注册管理机构给不同厂家分配的代码,也被称为“编制上唯一的标识符”(Organizationally Unique Identifier,OUI)。后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,被称为“扩展标识符”(唯一性),具体格式见图4-4。
图4-4 MAC地址格式
4.1.1.2 IP地址
IP地址专注于网络层,将数据包从一个网络转发到另一个网络。在OSI模型中,第三层网络层负责IP地址管理。IP地址分为两个部分:网络位和主机位。网络位代表IP地址所属的网段,主机位代表网点上的某个节点。总之,MAC地址就像自己的ID号,而IP地址就像带着邮政编码的住址,各有各的用途。具体IP地址的格式如图4-5所示。
图4-5 IP地址格式
4.1.1.3 子网掩码
通过子网掩码(Subnet Mask),我们就可以判断两个IP在不在一个局域网。子网掩码是一个32位地址,用于区分网络地址和主机地址。1表示网络位,0表示主机位(连续)。子网掩码单独使用没有意义,必须结合IP地址一起使用。此外,127.0.0.0看着像一个掩码,但它是一个IP地址,又叫“本地回环地址”,用于在同一台计算机上测试网络应用程序和服务。
4.1.1.4 端口
TCP端口就是为TCP通信提供服务的端口,通过协议端口号(通常简称为端口)来识别。在OSI模型中,它实现第四层传输层所指定的功能。当访问一个应用进程的时候,只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由TCP端口来完成了。SSH、FTP、SNMP等都是常见的固定端口的TCP或UDP。
DNS同时占用UDP和TCP的53端口,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈中是特殊的。
· 域名解析(UDP):客户端向DNS服务器查询域名,一般返回的内容都不超过512B,用UDP传输即可。它是客户端向DNS服务器查询域名的命令,不用经过TCP三次握手,响应更快。
· 域名同步(TCP):辅域名服务器会定时(一般为3h)向主域名服务器进行查询,以便了解数据是否有变动,如有变动,则会执行一次区域传送以进行数据同步。区域传送将使用TCP。
我们常用的ping是ICMP,仅包含控制信息,不需要端口。
4.1.1.5 地址解析协议
地址解析协议(Address Resolution Protocol,ARP)主要维护IP和MAC地址关系(它们往往是成对出现的)。通常情况下,IP数据包只包含目标设备的IP地址,从而要求发送设备需要在本地的ARP缓存表中查找与目标IP地址对应的MAC地址。
4.1.1.6 套接字
套接字(Socket)是通信的基础,许多网络应用程序都依赖套接字进行数据传输。它是操作系统内核中的一个数据结构,是网络节点相互通信的门户,是网络进程连接的ID。两个进程通信时,首先要确定各自所在的网络节点的地址,而一台计算机上非常可能同时执行多个进程,因此套接口中还需要包含其他信息,也就是端口(Port)号。所以,使用Port号和网络地址的组合能够唯一确定整个网络中的进程。所以在一个TCP包中,除了源IP和目标IP,就是源端口和目标端口。
通信发生时,通过层层打包,例如最后一个FTP/Telnet指令被打包(具体打包过程如图4-6所示),离开客户端,到达服务端后,又以相反的方向逐层解包,直到拿出原始的指令。
图4-6 TCP打包过程
简单网络管理协议(Simple Network Management Protocol,SNMP)被广泛应用于企业、组织和服务提供商的网络管理系统中。SNMP是基于TCP/IP协议族的网络管理标准,是管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。SNMP能使网络管理员提高管理效能,及时发现并解决网络问题以及优化网络。网络管理员还可以通过SNMP接收网络节点的通知消息和告警事件报告,从而获知网络出现的问题。
网络中被管理的每个设备都被存储在一个管理信息库(MIB)。我们可以通过SNMP的Get查询主动获取到信息。例如,查询SNMP对象标识(OID)是.1.3.6.1.2.1.4.21,转换后为ip.ipRouteTable。
对应的输出如下:
解析出的路由表如下:
常见的网络设备支持把日志和告警信息以SNMP的形式发送出来。通常,我们将主动发送SNMP通知称为SNMP Trap。这种方式是通知管理员有关安全事件的详细信息。
SNMP出现得比较早,通过Get方式周期轮询容易导致反应滞后,而主动通知的Trap模式使用的UDP也常会丢包,再加上.1.3.6.1.2.1.2.1.8这么长的OID,SNMP在现如今的IT基础设施云化背景下,已经遇到瓶颈。
安全域是具有相同安全级别并且可以用统一的边界访问策略控制的服务集合。多数网络设备支持通过安全域的方式来分割和管理网络中不同的业务区域。安全域通过在网络间形成边界,将一个复杂庞大的系统分割成更小的结构,以对重要的区域重兵把守,从而保障安全。
比较典型的安全域划分方案是IATF提出的,旨在建立一个多层次、纵深的防御体系。4个典型的安全域划分包括终端等本地计算环境、安全设备等区域边界、服务器等网络和基础设施及机房等支撑性设施。
参考IATF安全域的划分思路,一旦一个脆弱的区域被攻破,很可能波及其他网络。例如攻击者先突破DMZ,然后利用运维监控工具(如Zabbix Agent)渗透到Zabbix Server所在的网络和安全管理域,基本上就可以访问任意一个区域(例如生产服务区)。典型的安全域划分如图4-7所示。
图4-7 典型的安全域划分
办公区内设有主要的办公设备,如办公计算机和打印机等,覆盖Windows、Mac、Android和iOS等不同操作系统。这些终端需要访问OA服务器区安装有各种安全设备的服务器端,而相应的客户端及代理程序分布在各个办公区。
生产网一般按从开发到发布的顺序把开发测试区、预发区、生产服务区分开。将生产网络和开发测试网络分开,可以降低开发测试过程中引入风险的可能性,保证生产环境的稳定性和安全性。生产网一般需要提供24h×7不间断的服务。
网络边界接入区主要包括互联网接入区、VPN接入区、专线接入区和第三方接入区等。互联网接入区主要是接入外部客户/消费者等,通过Web服务器访问生产服务器的数据。
生产网络和安全管理区主要部署网络管理系统、自动化运维系统、持续构建系统、安全基础设施主机入侵检测系统等服务端部分,对应的客户端代理分布在其他生产服务区的服务器上。
防火墙默认安全域(见图4-8)及其安全等级说明如下。
· 本地(Local)区:安全等级为100,指的是防火墙的各个端口,用户不可改变Local区本身的任何配置,包括向其添加接口。
· 信任(Trust)区:安全等级是85,一般连接内网的端口。
· 非信任(Untrust)区:安全等级是5,一般连接外网的端口。
· 隔离区或非军事区(DeMilitarized Zone,DMZ):安全等级是50,一般连接服务器的端口。
· 管理(Management)区:安全等级是100,一般性连接以Telnet、HTTP、HTTPS等协议管理防火墙的端口。
图4-8 防火墙默认安全域
如图4-9所示,在安全域和安全域之间部署防火墙都可以。不同的安全域又可以细分为更小的子安全域,这些安全域之间需要设置边界以进行安全保护。图4-9中的网络核心域又细分为应用计算域、安全支撑域、运维支撑域、网管支撑域和数据计算域。
图4-9 安全域划分示例
网络安全域大致可分为运维支撑域、网管支撑域、网络域、计算域、用户域,落实到具体产品、技术、服务等有差异。如以政企网站群为例,根据不同的Web业务数据流,垂直拆分业务服务模块,根据业务逻辑,区分不同业务数据流组。水平分割,不同的业务数据流组应划分为不同的VLAN。
不同的安全域具备不同的安全防护等级与策略,形成一个大的访问矩阵(Mesh)。目前,很多防御技术是基于IP网段来实施的,安全域之间是基于ACL的边界安全,安全域间的策略即边界安全访问控制。未来,我们会引入更多面向服务的Service Mesh安全模式,更加关注访问者的身份。
只要有分支,我们就需要关注其访问控制。例如某企业ERP受勒索病毒攻击,后经路径排查发现,黑客首先入侵该企业办公终端,然后以此为跳板控制总部的办公终端,再入侵EPR服务器。这个案例表明总部缺少对分支的访问控制,例如屏蔽掉445、3389等高危端口,才使得黑客得手。
中大型政企应定期梳理所有外部系统接入本单位内部网络的路径,并给出网络路径图。网络边界层是与外网直接连通的网络区域,是攻击者进入政企内网必经的网络区域,通常包含外联区域、DMZ、办公网区域等网络区域,是攻击者在第二阶段建立据点之后进行进一步信息获取并横向移动的区域。这里以图形化的方式表现安全域间访问路径,如图4-10所示。
比如使用Echart图表用低代码实现:
上述访问方式一个可能的风险点是,本来开通了远程办公,期望联动VPN跳到OA服务器,但是攻击者连通VPN后,可能会横向移动到运维网络。这种攻击在安全域这个层面上是无法防范的。
无论企业规模多大,它们都会有安全域划分、边界隔离和访问控制。要想在一个不断变化的世界中有所作为,你必须能以已有的知识体系解决更多没处理过的问题。大公司的框架不也是在很多类似小公司的单元上组合起来的吗?下面讨论不同业务规模企业的网络拓扑。
4.1.4.1 小型企业的网络拓扑
小型企业的网络拓扑通常非常简单,主要采用路由器和防火墙实现内外隔离。办公网络通常由LAN和Wi-Fi组成,是上网的基础;如果需要对外交流,可能会有一个网站,因此可能会有邮件服务器和网站服务器。另外,根据业务特点,可能会使用办公协同和生产管理系统,如OA和EPR等。典型的小型企业的网络拓扑如图4-11所示。
图4-10 安全域间访问路径
这里涉及的网络分区有办公接入区、DMZ、业务系统服务器区、安全管理区、Wi-Fi接入区,技术有VLAN、Trunk、DHCP、WLAN、OSPF、PPPoE、NAT、ACL等。除了像补丁、终端杀毒软件这类必需的桌面管理产品,这里要配置的安全设施往往只有和路由器一体的防火墙,如果关心带宽消耗会有上网行为管理,关心网站安全会有WAF、网页防篡改等。
在今天混合云盛行的架构下,如果把网站、邮件等都迁移到公有云上,甚至ERP系统也上了云,办公OA架设在钉钉或企业微信上,那么只剩下一个办公电脑的区域了。可以说,小型企业的安全投入往往是少得可怜的。
图4-11 典型的小型企业的网络拓扑
4.1.4.2 中型企业的网络拓扑
中型企业的网络拓扑根据业务的不同,可能会很简单,也可能非常复杂。可以看到在小型企业的基础上,中型企业的网络拓扑主要是利用路由器、防火墙实现更细粒度的内外隔离,通常有外部网络区、DMZ、内部网络区三大块。内部网络区又可以细分为业务服务器区、安全区、管理区、办公大楼接入区等,外部网络区有Wi-Fi接入区、供应链三方接入区。此外,IPS和IDS都是必要的产品。IPS是防火墙的合理补充,一般串联部署在访问路径上,帮助系统应对网络攻击,扩展系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高信息安全基础结构的完整性。IDS旁路部署在网络上,对业务干扰较小,可用于更细粒度地检测黑客和攻击者的入侵行为。典型的中型企业网络拓扑如图4-12所示。
如果有分公司、子公司,这里的区域就更细了,访问策略就很复杂了。如果分公司、子公司是企业的独立运营单位,并且只需要访问互联网或其他公共网络资源,那么它们的接入通常会放在外部网络区,而不是像分支机构那种可以接入内部网络区。几乎每个分支接入区都是一个小型的网络,其中区域间的两两连线都需要做更进一步的访问控制。在技术上,在小型企业网络的基础上引入很多新的概念,中型企业的网络规模较大,可能需要采用如核心层、汇聚层、接入层等多层次的网络架构。例如交换机之间的远程冗余(Inter-Switch FRC Remote Redundancy,IFR2)是光纤通道中用于实现交换机冗余和高可用性的一种技术。
为了方便外出人员办公,通常企业还要提供专业的SSL VPN设备,而不是再用防火墙自带的VPN能力。当然,中型企业可能需要将部分业务或数据迁移到云端,因此需要采用云计算技术,如云存储、云服务器、云备份等。
图4-12 典型的中型企业的网络拓扑
4.1.4.3 大型企业的网络拓扑
大型企业的网络拓扑就更复杂了,每个分公司、子公司几乎是一个小的中型公司。集团往往有各种类型的业务,比如有自己的生产厂区、门店、办事处、金融招商公司等,有自己的互联网业务或金融租赁等服务,需要采用一定的公有云服务。这几种服务的安全要求、能力和等级就完全不同了。在安全要求上,在中型公司的基础上,一般还会有终端准入系统、数据防泄露(DLP)系统的建设。终端准入是指安装了杀毒软件和DLP的客户端,才可以接入网络。DLP系统也可以通过网络准入系统进行客户分发;同时,在分支接入和三方伙伴接入区也会有IPSec VPN接入来实现点对点的连接。典型的大型企业的网络拓扑如图4-13所示。
大型企业尤其是集团企业通常会在多个地区或国家进行业务活动,因此需要建立跨地域的网络连接,以实现远程办公、数据共享和协同工作。在技术上,企业可能需要建立多级网络架构(如核心层、汇聚层、接入层、边缘层、混合云专线等),以实现更灵活、更可扩展、更可管理的网络架构。对应地,网络隔离、入侵预防系统、SIEM系统等都要引入更复杂的配置。
图4-13 典型的大型企业的网络拓扑
除了互联网接入需要重点关注,三方外联接入区也需要重点关注,这两个区都是可能给大企业带来恶意流量的入口。在攻防演练中,面对红队密集防守的总部系统,蓝队很难正面突破,直接撬开内部网络的大门,因此需要侧面包抄,尝试通过攻击防守相对薄弱的下属单位,再迂回攻入总部的目标系统。从2020年开始,各个行业的总部系统被红队从下级单位攻击甚至攻陷的案例比比皆是。
奇安信针对136个信息化组件,总结出了29个安全区域场景,部署了79类安全组件。它的内生安全框架试图从“甲方视角、信息化视角、网络安全顶层视角”展现出政企网络安全体系全景,设计出将网络安全与信息化相融合的目标技术体系和目标运行体系,帮助政企机构摆脱“事后补救”的局部整改建设模式,真正做到安全的“事前防控”。面对这样复杂的网络,看不懂,搞不清,有一些焦虑是很正常的。一口不能吃个胖子,可以一点点来,先以分公司、子公司为单位把大的框架画出来,再逐渐把更多的细节丰富起来。
4.1.4.4 安全能力要求差异
不同规模的企业有不同的安全投入,对应的投资回报(Return On Investment,ROI)也大不相同。初级防护是基础的安全建设,这一时期主要做办公网络安全的基础部分,往往只适用于小型企业;中型企业开始同时关注生产网络的安全,这时就要完成基础防范;大型企业就要讲体系化控制,所提的那些网络安全设备全都要覆盖到。集团企业更是会关注主动防御。互联网类型的企业强调与业务的融合,在成本产出较为直观的业务安全上主动投入,而不是局限在优化安全基础架构,这样产出会更加直观。对于高层来说,安全从第一阶段到第二阶段一直有明显可见的产出,只有看到持续的产出才会提高影响力,才会有持续的投入。如图4-14所示,从初级到成熟,企业的网络安全投入是逐步增加的。
图4-14 安全成熟度
我们或许掌握了许多安全建设的方法,但要真正将其应用到实践中极具挑战。业界有句顺口溜:“方法都知道,落地很艰难”。因此,在推动安全建设过程中,企业必须打好网络边界安全的基础,以便事半功倍。