Jack Jiang

我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
posts - 471, comments - 13, trackbacks - 0, articles - 1

本文由vivo互联网技术Peng Qiankun分享,原题“vivo 网络端口安全建设技术实践”,本文进行了排版和内容优化等。

1、引言

随着互联网业务的快速发展,网络攻击的频率和威胁性也在不断增加,端口是互联网络通信中的门户,它是数据进出的必经之路,因此端口安全也逐渐成为了企业内网的重要防线之一。

然而网络端口因其数量庞大、端口开放和关闭的影响评估难度大,业务影响程度高、以及异常识别技术复杂度高等特点给网络端口安全防护带来了一定的挑战,如何对端口风险进行有效治理几乎是每个企业安全团队在攻击面管理工作中持续探索的重点项。

 
 技术交流:

- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM

- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK备用地址点此

(本文已同步发布于:http://www.52im.net/thread-4644-1-1.html

2、系列文章

本文是IM通讯安全知识系列文章中的第14篇,此系列总目录如下:

即时通讯安全篇(一):正确地理解和使用Android端加密算法

即时通讯安全篇(二):探讨组合加密算法在IM中的应用

即时通讯安全篇(三):常用加解密算法与通讯安全讲解

即时通讯安全篇(四):实例分析Android中密钥硬编码的风险

即时通讯安全篇(五):对称加密技术在Android平台上的应用实践

即时通讯安全篇(六):非对称加密技术的原理与应用实践

即时通讯安全篇(七):用JWT技术解决IM系统Socket长连接的身份认证痛点

即时通讯安全篇(八):如果这样来理解HTTPS原理,一篇就够了

即时通讯安全篇(九):你知道,HTTPS用的是对称加密还是非对称加密?

即时通讯安全篇(十):为什么要用HTTPS?深入浅出,探密短连接的安全性

即时通讯安全篇(十一):IM聊天系统安全手段之通信连接层加密技术

即时通讯安全篇(十二):IM聊天系统安全手段之传输内容端到端加密技术

即时通讯安全篇(十三):信创必学,一文读懂什么是国密算法

即时通讯安全篇(十四):网络端口的安全防护技术实践》(* 本文

3、认识网络端口

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

3.1常见的端口分布划分

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

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

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

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

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

3)常用的网络端口映射表:

▲ 常用网络端口映射表

PS:更多常见端口请见《常见TCP/UDP端口号大全》。

4、端口被攻击方式1:基于传输层的资源耗尽攻击(DDoS)

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

1) SYN flood:

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

 

 

 

▲ 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连接来消耗被攻击目标的系统资源。

5、端口被攻击方式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发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。

6、端口被攻击方式3:基于端口发起的渗透测试

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

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

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

 

7、端口被攻击的现实案例

7.1Equifax数据泄露案

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

▲ 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端口进行攻击的。

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

▲ 爱尔兰卫生部

爱尔兰国家医疗保健局(HSE)是负责为爱尔兰居民提供医疗保健的机构。在2021年5月,该机构发生了一起数据泄露事件,影响到数百万个患者的个人信息。

该事件起因于攻击者通过暴露的VPN服务端口进行攻击,成功登录了HSE的IT系统。接着,攻击者开始利用系统漏洞,并最终获取了HSE服务器的管理员权限。

攻击者随后将一个WastedLocker勒索软件的恶意代码安装在服务器上,并要求赎金以释放数据。

在攻击过程中,攻击者还利用了HSE的Exchange电子邮件系统,以及HSE员工用于管理患者信息的软件系统。这些系统中的漏洞使得攻击者能够访问和窃取大量患者的个人信息,包括姓名、出生日期、地址、电话号码、诊断信息和病历等。

据称,该事件涉及到的患者数量达到了数百万。HSE在发现事件后,立即关闭了受影响的系统,并采取措施保护患者数据的安全。HSE还与执法部门和网络安全专家合作,以追查攻击者的身份和追回数据。截至目前,尚未有人或组织宣称对此次攻击负责。

8、端口风险安全防护思路

无论是Flood还是cc防护,一般都是借助一些安全设备及安全设备提供的策略定制能力,流量级的可以依靠运营商提供的抗D服务,如云盾、云堤,流量清洗服务等,面向应用层的攻击可以借助防火墙,WAF,NIDS等安全设备/节点提供的能力。

无论是借助厂商还是自身建设抗D能力,都需要摸清企业所面临的资源耗尽风险,一方面理清基础架构的脆弱点,治理脆弱点。另一方面需要熟悉攻击利用原理,制定针对性策略来进行异常检测及攻击缓解。

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

1)对发起源进行主动认证:

▲ 主动认证示意图

如上图所示:

  • 1)当连续一段时间内去往目标服务器的SYN报文超过告警阈值后,抗DDoS设备启动源认证机制。源认证机制启动后,抗DDoS设备将会代替服务器向客户端响应带有正确确认序号的SYN-ACK报文;
  • 2)如果这个源是虚假源,是一个不存在的地址或者是存在的地址但却没有发送过SYN报文,不会做出任何响应;
  • 3)如果这个源是真实客户端,则会向服务器发送ACK报文,对收到的SYN-ACK报文进行确认。抗DDoS设备收到ACK报文后,将该客户端的源IP地址加入白名单。同时,抗DDoS设备会向客户端发送RST报文,要求重新建立连接;
  • 4)后续这个客户端发出的SYN报文命中白名单直接通过。

2)首包丢弃:

▲ 首包丢弃示意图

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

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

3)混合使用,效果更佳:

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

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

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

具体是:

  • 1)源IP地址新建连接速率检查:启动源IP地址新建连接速率检查后,如果某个源IP地址在检查周期内发起的TCP新建连接数大于阈值,则将该源IP地址判定为攻击源;
  • 2)源IP地址并发连接数检查:启动源IP地址并发连接数检查后,如果某个源IP地址的TCP并发连接数大于阈值,则将该源IP地址判定为攻击源;
  • 3)慢速连接速率检查:启动慢速连接速率检查后,统计同一源IP地址对同一目的IP地址的连接次数,在各统计时间间隔内,如果连续多次连接数相同并超过阈值,则判定为TCP慢速连接攻击;
  • 4)异常会话检查:如果在检查周期内,某个源IP地址发起的TCP异常会话的连接数大于阈值时,则将该源IP地址判定为攻击源。

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

  • 1)空连接检查:如果在检查周期内,在某条TCP连接上通过的报文数小于阈值,则判定该连接为异常连接;
  • 2)重传会话检查:当某条TCP连接上重传报文数量大于阈值时,则判定该连接为异常连接;
  • 3)慢启动连接检查:当某条TCP连接上通过的报文窗口小于阈值时,则判定该连接为异常连接;
  • 4)当异常会话数超过一定数量时,将此源加入黑名单。异常会话数量可配置。

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

9、端口风险安全防护实践

9.1概述

上段内容有提到的防护思路,理解协议的脆弱性原理再依据攻击者的视角进行防护措施的定制,则会有比较清晰的防护思路和防护效果。

因此在端口安全治理实践上,我们通过建立常态化端口发现机制以及常态化的漏洞扫描机制,将网络端口及端口漏洞风险进行持续统一治理,同时建立基于流量的异常识别能力丰富基于行为的异常端口检测能力,再辅以脆弱性管理以及端口生命周期管理(规范与流程)来形成整个端口安全治理体系。

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

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

▲ 端口扫描架构图

9.3建立常态化漏洞扫描机制

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

▲ 漏扫平台架构图

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

具体是:

  • 1)资产收集:扫描的目标是公司的网络资产,没有资产无法进行扫描,资产不全面扫描的效果也会打折扣,所以平台采集了多种途径进行资产的采集,力求做到无遗漏,持续丰富采集的手段;
  • 2)Web漏洞扫描:用于发现暴露在公网的站点、URL等Web资源是否存在漏洞;
  • 3)依赖包扫描:用于发现线上业务是否使用了高危的Java依赖包;
  • 4)端口扫描:用于发现公司服务器是否对公网开放了高危端口;
  • 5)扫描任务管理:无论是依赖包扫描、端口扫描,都是通过创建扫描任务的形式来发起的,扫描任务分为立即扫描任务和定时扫描任务两种类型,用户可以创建立即扫描任务来一次性执行扫描,也可以创建定时任务来周期性执行扫描;
  • 6)风险管理:对于扫描出来的Web、依赖包和端口风险,系统能够对其处理状态进行管理,以便安全工程师对风险状态进行跟踪和处理;
  • 7)工单管理:对于扫描出来的Web、依赖包和端口风险,运营人员可对其创建工单,工单会对接到漏洞管理系统,通过漏洞管理系统的工单体系来对跟踪风险的处理进程。

常用的漏扫工具:

  • 1)Nmap:Nmap是一款常用的网络发现和安全审计工具,支持多种扫描技术和扫描选项,可以快速扫描本地或远程计算机上的开放端口和服务;
  • 2)Masscan:Masscan是一款高速的端口扫描工具,可以在短时间内扫描数百万个端口,支持TCP和UDP扫描,适用于大规模网络扫描;
  • 3)Zenmap:Zenmap是Nmap的图形用户界面(GUI)版本,可以方便地进行扫描选项配置和结果分析;
  • 4)Angry IP Scanner:Angry IP Scanner是一款轻量级的端口扫描工具,支持多线程扫描和快速扫描本地网络和远程主机;
  • 5)SuperScan:SuperScan是一款Windows平台上的端口扫描工具,支持TCP和UDP扫描、多线程扫描、服务版本识别等功能;
  • 6)Unicornscan:Unicornscan是一款高速的网络扫描工具,支持TCP、UDP、ICMP等多种扫描方式和扫描选项;
  • 7)Netcat:Netcat是一款多功能的网络工具,其中包括端口扫描功能,支持TCP和UDP扫描,可以快速扫描本地或远程计算机上的开放端口和服务。

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

1)流量基线学习:

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

 

▲ 基线学习

流量基线学习的核心表:

  • 1)策略快照表:从离线同步过来的每个小时的服务维度的多种策略计算结果;
  • 2)学习配置表:用于存放学习配置,包括各种策略的加解锁条件(偏离阈值+次数)、偏离告警条件(偏离阈值+次数,可以预留出来,告警下迭代做);
  • 3)当前策略集:服务维度自定义的的策略集;
  • 4)策略状态表:记录各个服务节点的锁状态,偏离情况,策略生效时间等;
  • 5)策略目标集:部分策略拥有自己的目标机器/服务结算逻辑,该表用于存放目标范围,用于定时清理不在目标集的策略。

2)异常检测:

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

其逻辑简单描述如下:

 

行为偏离比对逻辑:

 

总结四个关键点分别为:

  • 1)配置文件:用于描述对应服务的流量特征;
  • 2)上锁:参数或配置文件在满足预设规则条件下或人工干预下停止动态学习行为;
  • 3)解锁:参数或配置文件在满足预设规则条件下或人工干预下重新开始动态学习行为;
  • 4)偏离:指同一服务下某一时间切片的配置文件与已上锁的配置文件的参数值对比,发生超过阈值的变化。

此外便是阈值的设定问题,通过引入统计模型的使用来帮助我们制定阈值。

常用的入侵检测统计模型有以下几类:

  • 1)操作模型:该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内多次针对某一端口尝试建立连接失败,则可能是针对端口的拒绝服务;
  • 2)方差:这也是常用的模型,通过计算参数的方差,设定置信区间,当测量值超过置信区间的范围时表明可能存在异常;
  • 3)多元模型:操作模型的扩展,通过同时分析多个参数实现异常检测;
  • 4)马尔柯夫过程模型:将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,如果状态矩阵中该转移的概率较小则可能是异常事件;
  • 5)时间序列分析:将流量切片特征提取出来按照时间排成序列,如果一个新的请求或一个新的请求集合在该时间发生的概率较低,则该事件可能是异常。

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

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

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

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

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

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

 

另外脆弱性关联分析AVC是脆弱性管理系统的核心功能。

读者可以从以下评价维度进行建设实践:

 

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

1)制定端口管理规范:

规范原则:

  • 1)最小权限原则:端口开放遵循最小权限原则,只允许开放运行http和https的80/443端口,其他对外开放的端口必须有合理的业务理由,并且应该只开放业务需要的最小端口集合,由端口使用者提出工作联络单进行申请经审批同意后方可开放;
  • 2)可审计原则:所有端口开放都必须有可追溯的对应申请依据、安全性评估依据、审批依据,不允许私自开放端口;
  • 3)闭环原则:端口开放应实施闭环管理,在业务不再需要时,应及时关闭端口。

对端口进行明确定义:

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

2)端口生命周期管理:

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

3)持续评估:

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

10、本文小结

端口作为应用对外暴露的主要入口,是应用暴露在公网上的标识,因此端口安全建设是企业信息安全防护体系中的重要一环,安全团队需要详细了解其内部网络中使用的所有端口,以及开放和关闭的端口数量和情况,在理解协议的脆弱性原理基础上制定合适的安全策略和措施。

同时再安全策略和措施制定的过程中,通过对各类端口扫描工具的使用,安全团队可以快速获取目标网络中的端口开放情况。

然后根据扫描结果,采取合适的安全策略和措施,禁止不必要端口的开放或者采取过滤、加密等方式对端口进行保护。

在技术实践上:建设常态化端口发现机制以及常态化的漏洞扫描机制,将网络端口及端口漏洞风险进行持续统一治理,同时建立基于流量的异常识别能力丰富基于行为的异常端口检测能力,再辅以脆弱性管理以及端口生命周期管理(规范与流程)来形成整个端口安全治理体系。

另外值得强调的是:全员网络安全意识的水位决定整体安全态势的下限,个人行为和错误配置通常是网络漏洞的一大原因,因此安全管理团队需要持续加强内部员工的网络安全教育和培训,提高其网络安全意识和知识水平,建立全员参与的安全意识文化。

总的来说:可以通过规范,流程,技术和人员意识培训来构建全面的网络端口风险治理体系。

11、参考资料

[1] 什么是网络端口?

[2] 常用的端口攻击

[3] 常见TCP/UDP端口号大全

[4] 跟着动画来学TCP三次握手和四次挥手

[5] CC攻击原理及防范方法和如何防范CC攻击

[6] 如果这样来理解HTTPS原理,一篇就够了

[7] 探讨组合加密算法在IM中的应用

[8] 通俗易懂:一篇掌握即时通讯的消息传输安全原理

[9] IM聊天系统安全手段之通信连接层加密技术

[10] IM聊天系统安全手段之传输内容端到端加密技术

[11] 微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解


(本文已同步发布于:http://www.52im.net/thread-4644-1-1.html



作者:Jack Jiang (点击作者姓名进入Github)
出处:http://www.52im.net/space-uid-1.html
交流:欢迎加入即时通讯开发交流群 215891622
讨论:http://www.52im.net/
Jack Jiang同时是【原创Java Swing外观工程BeautyEye】【轻量级移动端即时通讯框架MobileIMSDK】的作者,可前往下载交流。
本博文 欢迎转载,转载请注明出处(也可前往 我的52im.net 找到我)。


只有注册用户登录后才能发表评论。


网站导航:
 
Jack Jiang的 Mail: jb2011@163.com, 联系QQ: 413980957, 微信: hellojackjiang