写点什么

vivo 网络端口安全建设技术实践

  • 2023-11-03
    广东
  • 本文字数:9658 字

    阅读完需:约 32 分钟

作者:vivo 互联网安全团队 - Peng Qiankun


随着互联网业务的快速发展,网络攻击的频率和威胁性也在不断增加,端口是应用通信中的门户,它是数据进出应用的必经之路,因此端口安全也逐渐成为了企业内网的重要防线之一,然而网络端口因其数量庞大、端口开放和关闭的影响评估难度大,业务影响程度高、以及异常识别技术复杂度高等特点给网络端口安全治理带来了一定挑战,如何对端口风险进行有效治理几乎是每个企业安全团队在攻击面管理工作中持续探索的重点项。

一、网络端口简介

在网络空间中,标记一个服务资源实体最基本的两个要素就是 IP 和逻辑端口,二者构建服务资源实体的唯一标志符。


1.  常见的端口分布划分:

(1)知名端口(Well-Known Ports)

知名端口即众所周知的端口号,范围从 0 到 1023,这些端口号一般固定分配给一些服务。比如 21 端口分配给 FTP 服务,25 端口分配给 SMTP(简单邮件传输协议)服务,80 端口分配给 HTTP 服务,135 端口分配给 RPC(远程过程调用)服务等等。


(2)动态端口(Dynamic Ports)

动态端口的范围从 1024 到 65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如 1024 端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。


2.  另外,端口还会按照协议类型划分

(1)TCP 端口

即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括 FTP 服务的 21 端口,Telnet 服务的 23 端口,SMTP 服务的 25 端口,以及 HTTP 服务的 80 端口等等。


(2) UDP 端口

即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有 DNS 服务的 53 端口,SNMP(简单网络管理协议)服务的 161 端口,QQ 使用的 8000 和 4000 端口等等。


3.  常用的网络端口映射表

图 1 常用网络端口映射表


PS:更多详细端口规范可查阅:

http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

二、端口利用方式

2.1 基于传输层的资源耗尽攻击(DDoS)

该攻击是非常有效的利用小流量冲击大带宽的攻击手段,也是十分常见的攻击方式。其本质还是利用 TCP 协议的链接建立(三次握手)及链接关闭(四次挥手)阶段机制漏洞进行攻击,链接资源耗尽攻击方式主要分为以下几个类别:


(1) SYN flood

SYN flood 是基于 TCP 协议产生的,它利用三次握手机制,制造多个半连接,消耗服务器的连接数。

图 2 SYN flood 示意图


攻击者伪造源 IP 地址向服务器发送大量的 SYN 报文,请求建立三次握手。由于发送源 IP 是伪造的,所以服务器回应了 SYN-ACK 报文后,源 IP 并不会再继续回应 ACK 报文进行确认。这样服务器就会维持一个庞大的等待列表,不停地重试发送 SYN-ACK 报文,同时占用着大量的资源无法释放。这就导致,被攻击的服务器被恶意半连接占满,不再接受新的 SYN 请求,而合法用户无法完成三次握手建立 TCP 连接。另外,随着对抗技术的持续演进,攻击者通过肉鸡或 Ddos 服务发起大规模分布式真实 IP 集中进行资源耗尽攻击,此类攻击成功率更高。


(2)SYN-ACK Flood

通信双方通过三次握手建立一个 TCP 连接的过程中,SYN-ACK 报文出现在第二次握手中,是用来确认第一次握手的。一方收到 SYN-ACK 报文后,首先会判断该报文是不是属于三次握手范畴之内的报文。如果都没有进行第一次握手就直接收到了第二次握手的报文,那么就会向对方发送 RST 报文,告知对方其发来报文有误,不能建立连接。SYN-ACK Flood 攻击正是利用了这一点,攻击者利用工具或者操纵僵尸主机,向目标服务器发送大量的 SYN-ACK 报文,这些报文都属于凭空出现的第二次握手报文,服务器忙于回复 RST 报文,导致资源耗尽,无法响应正常的请求。


(3)ACK Flood

在 TCP 三次握手的过程中,ACK 报文出现在第三次握手中,用来确认第二次握手中的 SYN-ACK 报文。ACK Flood 攻击指的是攻击者利用工具或者操纵僵尸主机,向目标服务器发送大量的 ACK 报文,服务器忙于回复这些凭空出现的第三次握手报文,导致资源耗尽,无法响应正常的请求。


(4)FIN/RST Flood

TCP 交互过程中还存在 FIN 和 RST 报文,FIN 报文用来关闭 TCP 连接,RST 报文用来断开 TCP 连接。这两种报文也可能会被攻击者利用来发起 DDoS 攻击,导致目标服务器资源耗尽,无法响应正常的请求。


(5)TCP connection Flood

TCP 是面向连接的协议,通信双方必须保持连接状态,并且通过确认、重传、滑动窗口等机制,保证数据传输的可靠性和稳定性。攻击者利用 TCP 协议的上述特点,在 TCP 连接上做文章,利用 TCP 连接来消耗被攻击目标的系统资源。例如,攻击者与被攻击目标完成三次握手后,立刻发送 FIN 或 RST 报文,释放本端连接,同时快速发起新的连接,以此来消耗被攻击目标的系统资源,或者攻击者与被攻击目标完成三次握手后,发送很少的报文来维持连接状态,通过这种异常的 TCP 连接来消耗被攻击目标的系统资源。

2.2 基于应用层的资源耗尽攻击(cc)

CC 攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC 主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC 就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量 CPU 时间)的页面,造成服务器资源的浪费,CPU 长时间处于 100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。以下介绍一些 cc 攻击的常用变种。


(1)基于 HTTP-header 慢速 cc 攻击

Web 应用在处理 HTTP 请求之前都要先接收完所有的 HTTP 头部,因为 HTTP 头部中包含了一些 Web 应用可能用到的重要的信息。攻击者利用这点,发起一个 HTTP 请求,一直不停的发送 HTTP 头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立 TCP 连接后,每 30 秒才向服务器发送一个 HTTP 头部,而 Web 服务器再没接收到 2 个连续的\r\n 时,会认为客户端没有发送完头部,而持续的等等客户端发送数据。


(2)基于 HTTP-body 慢速 cc 攻击

攻击者发送一个 HTTP POST 请求,该请求的 Content-Length 头部值很大,使得 Web 服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立 TCP 连接后,发送了完整的 HTTP 头部,POST 方法带有较大的 Content-Length,然后每 10s 发送一次随机的参数。服务器因为没有接收到相应 Content-Length 的 body,而持续的等待客户端发送数据。


(3)基于 HTTP-read 慢速 cc 攻击

客户端与服务器建立连接并发送了一个 HTTP 请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取 Response,比如很长一段时间客户端不读取任何数据,通过发送 Zero Window 到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。抓包数据可见,客户端把数据发给服务器后,服务器发送响应时,收到了客户端的 ZeroWindow 提示(表示自己没有缓冲区用于接收数据),服务器不得不持续的向客户端发出 ZeroWindowProbe 包,询问客户端是否可以接收数据。


剖析其原理,本质上还是对任何一个开放了 HTTP 访问的服务器 HTTP 服务器,先建立了一个连接,指定一个比较大的 content-length,然后以非常低的速度发包,比如 1-10s 发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。

2.3 基于端口发起的渗透测试

IP 和端口作为应用暴露在公网的唯一入口,攻击者通常发起渗透测试的起点便是通过扫描目标 IP 上的开放端口来发现系统的漏洞、薄弱点或安全隐患。


往往服务器系统本身或引入的应用服务就具备一定的脆弱性,攻击者获取到目标服务器的端口列表后会逐一去比对自己的武器库进行漏洞利用尝试。


以下是整理的常见端口利用清单及攻击利用方式:

图 3 常见的端口利用清单

三、基于端口利用的案例

Equifax 数据泄露案落幕:七亿赔款,索赔期限延长四年

图 4 EQUIFAX (图片来源:globalnews.ca


2017 年 9 月,Equifax 系统遭到黑客攻击,导致超过 1.45 亿美国消费者的个人信息,以及 1520 万英国居民的记录和 8000 名加拿大用户的数据遭到泄露,其中包括姓名、地址、出生日期、身份证号、护照、驾照、信用卡等信息。事件曝光后,Equifax 股票暴跌 30%,相当于蒸发掉 50 亿美元市值,成为史上罕见大型数据泄露事件之一。2018 年 12 月,美国国会众议院的政府改革暨监督委员会发布报告指出,因 Equifax 公司组织架构的缺陷,导致公司部门间的沟通失效,从而致使大量的关键系统补丁没有被及时开发,其中包括一个超 19 个月未做更新的漏洞。最终,黑客对 Equifax 进行了长达 76 天的攻击,先后 265 次从公司获取未被加密的数据。该事件最初是由于 Equifax 未修补针对 Apache Struts 的漏洞而导致的,攻击者利用该漏洞访问了 Equifax 的数据库,这个漏洞是通过开放的 80 端口进行攻击的。


爱尔兰国家医疗保健局数据泄露事件

图 5 爱尔兰卫生部 

(图片来源:https://www.sohu.com/a/480716983_121123851


爱尔兰国家医疗保健局(HSE)是负责为爱尔兰居民提供医疗保健的机构。在 2021 年 5 月,该机构发生了一起数据泄露事件,影响到数百万个患者的个人信息。该事件起因于攻击者通过暴露的 VPN 服务端口进行攻击,成功登录了 HSE 的 IT 系统。接着,攻击者开始利用系统漏洞,并最终获取了 HSE 服务器的管理员权限。攻击者随后将一个 WastedLocker 勒索软件的恶意代码安装在服务器上,并要求赎金以释放数据。在攻击过程中,攻击者还利用了 HSE 的 Exchange 电子邮件系统,以及 HSE 员工用于管理患者信息的软件系统。这些系统中的漏洞使得攻击者能够访问和窃取大量患者的个人信息,包括姓名、出生日期、地址、电话号码、诊断信息和病历等。据称,该事件涉及到的患者数量达到了数百万。HSE 在发现事件后,立即关闭了受影响的系统,并采取措施保护患者数据的安全。HSE 还与执法部门和网络安全专家合作,以追查攻击者的身份和追回数据。截至目前,尚未有人或组织宣称对此次攻击负责。

四、端口风险防护及治理实践

4.1 端口风险防护

无论是 Flood 还是 cc 防护,一般都是借助一些安全设备及安全设备提供的策略定制能力,流量级的可以依靠运营商提供的抗 D 服务,如云盾、云堤,流量清洗服务等,面向应用层的攻击可以借助防火墙,WAF,NIDS 等安全设备/节点提供的能力。无论是借助厂商还是自身建设抗 D 能力,都需要摸清企业所面临的资源耗尽风险,一方面理清基础架构的脆弱点,治理脆弱点;另一方面需要熟悉攻击利用原理,制定针对性策略来进行异常检测及攻击缓解。


这里简述一些对抗思路,例如上文提到 SYN Flood 攻击,其本质上是利用 TCP 建立链接的机制漏洞,只要持续发送建立链接请求,服务端就会进行响应同时在连接池里记录一条链接,那么依据该原理,防护思路就很明确了:


1. 对发起源进行主动认证

图 6 主动认证示意图


  1. 当连续一段时间内去往目标服务器的 SYN 报文超过告警阈值后,抗 DDoS 设备启动源认证机制。源认证机制启动后,抗 DDoS 设备将会代替服务器向客户端响应带有正确确认序号的 SYN-ACK 报文;

  2. 如果这个源是虚假源,是一个不存在的地址或者是存在的地址但却没有发送过 SYN 报文,不会做出任何响应;

  3. 如果这个源是真实客户端,则会向服务器发送 ACK 报文,对收到的 SYN-ACK 报文进行确认。抗 DDoS 设备收到 ACK 报文后,将该客户端的源 IP 地址加入白名单。同时,抗 DDoS 设备会向客户端发送 RST 报文,要求重新建立连接;

  4. 后续这个客户端发出的 SYN 报文命中白名单直接通过。


2. 首包丢弃

图 7 首包丢弃示意图


TCP 的可靠性保证除了面向连接(三次/四次握手)之外,还体现在超时与重传机制。TCP 协议规范要求发送端每发送一个报文,就启动一个定时器并等待确认信息;如果在定时器超时前还没有收到确认,就会重传报文。


首包丢弃功能就是利用了 TCP 的超时重传机制,Anti-DDoS 系统对收到的第一个 SYN 报文直接丢弃,然后观察客户端是否重传。如果客户端重传了 SYN 报文,再对重传的 SYN 报文进行源认证,即反弹 SYN-ACK 报文,这样就可以大大减少反弹报文的数量。


混合使用,效果更佳

实际部署时,一般将首包丢弃和源认证结合使用。防御 SYN Flood 攻击时,先通过首包丢弃功能来过滤掉一些攻击报文,当重传的 SYN 报文超过告警阈值后,再启动源认证。这样就能够减少反弹的 SYN-ACK 报文的数量,缓解网络拥塞情况。对于虚假源攻击,尤其是对于不断变换源 IP 和源端口的虚假源攻击,可以达到最佳防御效果。


针对连接耗尽场景,其防御思路可以总结为以下内容:

针对此攻击会耗尽服务器的 TCP 连接资源的特点,对目的 IP 地址的新建连接速率和并发连接数分布进行统计,当新建连接速率或并发连接数大于阈值时,则触发对源 IP 地址的相应检查,当检查发现异常时,将异常源 IP 地址加入黑名单,切断其 TCP 流量。


  • 源 IP 地址新建连接速率检查:启动源 IP 地址新建连接速率检查后,如果某个源 IP 地址在检查周期内发起的 TCP 新建连接数大于阈值,则将该源 IP 地址判定为攻击源。

  • 源 IP 地址并发连接数检查:启动源 IP 地址并发连接数检查后,如果某个源 IP 地址的 TCP 并发连接数大于阈值,则将该源 IP 地址判定为攻击源。

  • 慢速连接速率检查:启动慢速连接速率检查后,统计同一源 IP 地址对同一目的 IP 地址的连接次数,在各统计时间间隔内,如果连续多次连接数相同并超过阈值,则判定为 TCP 慢速连接攻击。

  • 异常会话检查:如果在检查周期内,某个源 IP 地址发起的 TCP 异常会话的连接数大于阈值时,则将该源 IP 地址判定为攻击源。


判定 TCP 异常会话依据如下:

  • 【空连接检查】:如果在检查周期内,在某条 TCP 连接上通过的报文数小于阈值,则判定该连接为异常连接。

  • 【重传会话检查】:当某条 TCP 连接上重传报文数量大于阈值时,则判定该连接为异常连接。

  • 【慢启动连接检查】:当某条 TCP 连接上通过的报文窗口小于阈值时,则判定该连接为异常连接。

  • 当异常会话数超过一定数量时,将此源加入黑名单。异常会话数量可配置。


同样的,应用层 CC 攻击,按照相对应的原理进行内容检查,这也是一般 WAF 或 NIDS 设备提供的基础能力,这里就不再累述。

4.2 端口风险治理实践

上段内容有提到的防护思路,理解协议的脆弱性原理再依据攻击者的视角进行防护措施的定制,则会有比较清晰的防护思路和防护效果,因此在端口安全治理实践上,我们通过建立常态化端口发现机制以及常态化的漏洞扫描机制,将网络端口及端口漏洞风险进行持续统一治理,同时建立基于流量的异常识别能力丰富基于行为的异常端口检测能力,再辅以脆弱性管理以及端口生命周期管理(规范与流程)来形成整个端口安全治理体系。


1. 建立常态化的端口发现机制

使用网络发现工具进行异常端口识别,设计思路是首先通过 vscheduler 中间件触发扫描(支持两种模式:一网段配置表全表网段扫描、二是:指定网段扫描。),调用扫描工具(以 nmap 为例)进行扫描,通过增加两个异步线程去读取缓冲区内容以解决缓冲区拥塞问题,通过异步线程进行缓冲区内容读取以及清理的同时通过错误缓冲区内容判断是否扫描失败。扫描结果输出 xml 后通过 dom4j 进行解析,再进行分批保存,避免大事务以及减少 jvm 内存占用。最后把文件删除,释放存储空间。

图 8 端口扫描架构图


2. 建立常态化漏洞扫描机制

结合漏洞扫描工具及端口扫描工具构建自动化漏洞扫描平台,漏扫平台架构设计思路如下图:

图 9 漏扫平台架构图


该系统架构的核心功能点包括:资产收集、Web 漏洞扫描、依赖包扫描、端口扫描,辅助功能包括:扫描任务管理、风险管理等。

  1. 【资产收集】:扫描的目标是公司的网络资产,没有资产无法进行扫描,资产不全面扫描的效果也会打折扣,所以平台采集了多种途径进行资产的采集,力求做到无遗漏,持续丰富采集的手段。

  2. 【Web 漏洞扫描】:用于发现暴露在公网的站点、URL 等 Web 资源是否存在漏洞。

  3. 【依赖包扫描】:用于发现线上业务是否使用了高危的 Java 依赖包。

  4. 【端口扫描】:用于发现公司服务器是否对公网开放了高危端口。

  5. 【扫描任务管理】:无论是依赖包扫描、端口扫描,都是通过创建扫描任务的形式来发起的,扫描任务分为立即扫描任务和定时扫描任务两种类型,用户可以创建立即扫描任务来一次性执行扫描,也可以创建定时任务来周期性执行扫描。

  6. 【风险管理】:对于扫描出来的 Web、依赖包和端口风险,系统能够对其处理状态进行管理,以便安全工程师对风险状态进行跟踪和处理。

  7. 【工单管理】:对于扫描出来的 Web、依赖包和端口风险,运营人员可对其创建工单,工单会对接到漏洞管理系统,通过漏洞管理系统的工单体系来对跟踪风险的处理进程。


常用的漏扫工具:

  • 【Nmap】:Nmap 是一款常用的网络发现和安全审计工具,支持多种扫描技术和扫描选项,可以快速扫描本地或远程计算机上的开放端口和服务。

  • 【Masscan】:Masscan 是一款高速的端口扫描工具,可以在短时间内扫描数百万个端口,支持 TCP 和 UDP 扫描,适用于大规模网络扫描。

  • 【Zenmap】:Zenmap 是 Nmap 的图形用户界面(GUI)版本,可以方便地进行扫描选项配置和结果分析。

  • 【Angry IP Scanner】:Angry IP Scanner 是一款轻量级的端口扫描工具,支持多线程扫描和快速扫描本地网络和远程主机。

  • 【SuperScan】:SuperScan 是一款 Windows 平台上的端口扫描工具,支持 TCP 和 UDP 扫描、多线程扫描、服务版本识别等功能。

  • 【Unicornscan】:Unicornscan 是一款高速的网络扫描工具,支持 TCP、UDP、ICMP 等多种扫描方式和扫描选项。

  • 【Netcat】:Netcat 是一款多功能的网络工具,其中包括端口扫描功能,支持 TCP 和 UDP 扫描,可以快速扫描本地或远程计算机上的开放端口和服务。


3. 建立基于流量的异常识别能力

(1)流量基线学习

流量基线一般对五元组进行配置学习,通过对比应用流量基线,发现孤立的端口流量,对比端口开放库以发现异常开放的端口,另外,可以同步建设告警能力与处置能力,在发现异常的第一时间切断风险源头。

图 10 基线学习


流量基线学习的核心表:

  1. 【策略快照表】:从离线同步过来的每个小时的服务维度的多种策略计算结果

  2. 【学习配置表】:用于存放学习配置,包括各种策略的加解锁条件(偏离阈值+次数)、偏离告警条件(偏离阈值+次数,可以预留出来,告警下迭代做)

  3. 【当前策略集】:服务维度自定义的的策略集

  4. 【策略状态表】:记录各个服务节点的锁状态,偏离情况,策略生效时间等

  5. 【策略目标集】:部分策略拥有自己的目标机器/服务结算逻辑,该表用于存放目标范围,用于定时清理不在目标集的策略


(2)异常检测

通过对上节提到的流量基线结果的数据分析来识别网络个体或群体的异常行为,一方面建立行为偏离预警机制,另一方面需要引入一些统计分析模型帮助建立阈值点,在偏离预警机制这块我们做了一些架构实践,其逻辑简单描述如下:


行为偏离比对逻辑:


总结四个关键点分别为:

  • 配置文件,用于描述对应服务的流量特征

  • 上锁,参数或配置文件在满足预设规则条件下或人工干预下停止动态学习行为

  • 解锁,参数或配置文件在满足预设规则条件下或人工干预下重新开始动态学习行为

  • 偏离,指同一服务下某一时间切片的配置文件与已上锁的配置文件的参数值对比,发生超过阈值的变化


此外便是阈值的设定问题,通过引入统计模型的使用来帮助我们制定阈值,常用的入侵检测统计模型有以下几类:

  • 操作模型:该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内多次针对某一端口尝试建立连接失败,则可能是针对端口的拒绝服务

  • 方差:这也是常用的模型,通过计算参数的方差,设定置信区间,当测量值超过置信区间的范围时表明可能存在异常

  • 多元模型:操作模型的扩展,通过同时分析多个参数实现异常检测

  • 马尔柯夫过程模型:将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,如果状态矩阵中该转移的概率较小则可能是异常事件

  • 时间序列分析:将流量切片特征提取出来按照时间排成序列,如果一个新的请求或一个新的请求集合在该时间发生的概率较低,则该事件可能是异常


在异常识别这块通常也会引入基于图的数据分析方法,针对网络个体和网络群体进行流量行为分析来发现异常行为,但应用起来相对较为复杂,也需要较高学习与实践成本,这块更多在 NIDS 的应用范畴,在此模块不再赘述。


需要提醒的是以上这种方法还是存在一些局限,如爬虫类服务,商业广告类服务因为其服务的特殊性,以上机制比较难进行准确的基线生成,虽说无法解决 100%的问题,但也能 cover 住大部分的服务类型,同样的,在这个领域还需要持续探索来提升服务类型的覆盖率以及异常检测精度。


4. 健全脆弱性管理能力实现风险追踪与闭环

端口暴露的最核心问题就是脆弱性利用,因此健全基础架构的脆弱性管理能力是阻断外部威胁,有效控制风险的重要手段,我们通过建立统一的脆弱性管理平台来建立业务关系流,脆弱性库,资产三者的关联关系,针对脆弱性做到持续发现,持续修复并将脆弱性作为安全告警关联分析中的重要评价维度。脆弱性管理系统因其安全管理战略特殊性,此处只能简单介绍给读者一些建设思路:


脆弱性管理系统核心功能模块结构


另外脆弱性关联分析 AVC 是脆弱性管理系统的核心功能,读者可以从以下评价维度进行建设实践:


5. 完善端口生命周期管理(规范与流程)

(1)制定端口管理规范

规范原则

  • 最小权限原则:端口开放遵循最小权限原则,只允许开放运行 http 和 https 的 80/443 端口,其他对外开放的端口必须有合理的业务理由,并且应该只开放业务需要的最小端口集合,由端口使用者提出工作联络单进行申请经审批同意后方可开放。

  • 可审计原则:所有端口开放都必须有可追溯的对应申请依据、安全性评估依据、审批依据,不允许私自开放端口。

  • 闭环原则:端口开放应实施闭环管理,在业务不再需要时,应及时关闭端口。


对端口进行明确定义

图 11 端口定义示例

规范内容可包含端口申请规范,端口使用规范,端口关闭规范以及明确的处罚规定。


(2)端口生命周期管理

实现从端口申请到端口关闭全流程管理:应用申请 → 端口记录→ 开墙(映射)→ 安全节点纳管 → 流量反馈 → 主动关闭 → 端口映射记录清除→ 安全节点卸载→ 端口资源池回收


(3)持续评估

结合异常端口发现机制和端口开放库以及相关流程建立起持续端口风险评估机制,用以保障规范以及风险处置有效性的落地。

五、总结

端口作为应用对外暴露的主要入口,是应用暴露在公网上的标识,因此端口安全建设是企业信息安全防护体系中的重要一环,安全团队需要详细了解其内部网络中使用的所有端口,以及开放和关闭的端口数量和情况,在理解协议的脆弱性原理基础上制定合适的安全策略和措施。同时再安全策略和措施制定的过程中,通过对各类端口扫描工具的使用,安全团队可以快速获取目标网络中的端口开放情况。然后根据扫描结果,采取合适的安全策略和措施,禁止不必要端口的开放或者采取过滤、加密等方式对端口进行保护。在技术实践上,建设常态化端口发现机制以及常态化的漏洞扫描机制,将网络端口及端口漏洞风险进行持续统一治理,同时建立基于流量的异常识别能力丰富基于行为的异常端口检测能力,再辅以脆弱性管理以及端口生命周期管理(规范与流程)来形成整个端口安全治理体系。另外值得强调的是,全员网络安全意识的水位决定整体安全态势的下限,个人行为和错误配置通常是网络漏洞的一大原因,因此安全管理团队需要持续加强内部员工的网络安全教育和培训,提高其网络安全意识和知识水平,建立全员参与的安全意识文化。总的来说,可以通过规范,流程,技术和人员意识培训来构建全面的网络端口风险治理体系。


参考文献:

  1. 《网络端口安全治理的研究与实践》(姜云飞,高国权,张全超,2019)

  2. 《基于漏洞扫描的网络端口安全治理研究》(黄珂,杨明,张鹏飞,2017)

  3. 《基于流量监测的网络端口安全治理技术研究》(胡彩玲,申伟,周婷婷,2016)

  4. 《网络端口安全治理技术研究》(程显霞,郑晓宁,2014)

  5. 《网络端口安全治理策略研究》(朱绍军,李彦霞,陈琳琳,2013)

  6. vivo 互联网端口开放管理规范

  7. 什么是网络端口?

  8. 【漏洞分析】DDOS攻防分析(四)——TCP篇

  9. CC攻击原理及防范方法和如何防范CC攻击 

  10. 常用的端口攻击

  11. TCP连接耗尽攻击与防御原理

  12. DDOS之TCP连接耗尽攻击与防御

发布于: 刚刚阅读数: 4
用户头像

官方公众号:vivo互联网技术,ID:vivoVMIC 2020-07-10 加入

分享 vivo 互联网技术干货与沙龙活动,推荐最新行业动态与热门会议。

评论

发布
暂无评论
vivo 网络端口安全建设技术实践_网络端口风险治理_vivo互联网技术_InfoQ写作社区