当前位置: 首页 > news >正文

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

作者: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:更多详细端口规范可查阅:

Service Name and Transport Protocol Port Number Registry

二、端口利用方式

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 爱尔兰卫生部 

(图片来源:超400名旅客在爱尔兰强制隔离期间被检测出新冠病毒!_费用)

爱尔兰国家医疗保健局(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连接耗尽攻击与防御

相关文章:

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

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

[ Linux Busybox ] flash_eraseall 命令解析

文章目录 相关结构体flash_eraseall 函数实现flash_eraseall 实现流程图 文件路径:busybox-1.20.2/miscutils/flash_eraseall.c 相关结构体 MTD 相关信息结构体 struct mtd_info_user {__u8 type; // MTD 设备类型__u32 flags; // MTD设…...

RabbitMQ 消息中间件 消息队列

RabbitMQ1、RabbitMQ简介2、RabbitMQ 特点3、什么是消息队列4、RabbiMQ模式5、集群中的基本概念 单实例安装RabbitMQ安装依赖安装erlang安装rabbitmq开启rabbitmq的web访问界面添加用户修改配置文件重启服务浏览器访问Rabbit-test rabbitMQ集群准备工作(三台&#x…...

ChatGPT王炸升级GPT-4 Turbo:更强大还更便宜

11月7日,OpenAI首届开发者大会如期召开,在大会上OpenAI正式推出了GPT-4 Turbo。 据OpenAI介绍,相比于GPT-4,GPT-4 Turbo主要有6方面的提升: 第一,上下文对话长度,GPT4最大只能支持8k的上下文长…...

3.JMeter高级使用-让你与众不同

目录 概述插件下载与安装插件下载配置插件 服务器硬件资源监控(精简版)配置服务端代理JMeter配置监控CPU监控网络 JMeter下载结束 概述 今日目标: 插件下载与安装Basic Graphs 主要点 Average Response Time 平均响应时间Active Threads 活动线程数Successful/Fai…...

考研408-计算机网络 第一章-计算机网络体系结构学习笔记及习题

第一章 计算机网络体系结构 一 计算机网络概述 1.1 概念及功能 1.1.1 计算机网络的概念 计算机网络就是互连的、自治的计算机系统的集合 互连:通过通信链路互联互通 自治:各个节点之间无主从关系,高度自治的 1.1.2 计算机网络的功能 功…...

【快速使用ShardingJDBC的哈希分片策略进行分库分表】

文章目录 🔊博主介绍🥤本文内容🍊1.引入maven依赖🍊2.启动类上添加注解MapperScan🍊3.添加application.properties配置🍊4.普通的自定义实体类🍊5.写个测试类验证一下🍊6.控制台打印…...

102. 二叉树的层序遍历

原题链接&#xff1a;102. 二叉树的层序遍历 以下代码为模板&#xff0c;需要层序遍历时都可以使用该模板进行代码更改 全代码&#xff1a; class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {//创建一个TreeNode* 队列用于存储树中的每…...

macOS磁盘分区调整软件--Paragon Camptune X 中文

Paragon Camptune X是一款专为Mac用户设计的强大分区大小调整工具。通过它&#xff0c;用户可以简便地调整Mac硬盘上的分区大小&#xff0c;实现存储空间的高效管理。无论是需要在Mac和Windows系统之间切换的双系统用户&#xff0c;还是有其他特定存储需求的用户&#xff0c;Ca…...

kaggle中报错NameError: name ‘q_1‘ is not defined

在开始练习之前&#xff0c;先点击“全部运行”按钮。...

SQL注入漏洞 其他注入

文章目录 宽字节注入案例 HTTP头部注入Cookie注入base64User-Agent注入Referer 注入 SQL注入读写文件条件1.是否拥有读写权限2.文件路径3.secure_file_priv 读取文件写入文件 SQLMap安装sqlmapkail 源安装仓库克隆 参数简介快速入门&#xff1b;SQLmap&#xff08;常规&#xf…...

Java自学第2课:Java语言基础知识要点

1 Java主类结构 任务&#xff1a;创建新项目名为item&#xff0c;包名为number&#xff0c;类名为first。 1.1 包声明 不指定包时&#xff0c;默认就是工程名&#xff0c;指定后&#xff0c;类文件可以分类了&#xff0c;是这意思吧。包就大概等于一个文件夹。而且在类文件中…...

flink状态和检查点

检查点和状态后端的区别 检查点 就是某个时间点下的所有算子的状态快照。这个时间点就是等所有任务将“同一个数据”处理完毕的时候。 状态后端&#xff1a;是一个管理状态的组件&#xff0c;还负责将本地状态&#xff08;检查点&#xff09;持久化到远程文件存储系统中。 分…...

数据仓库工具箱-零售业务

文章目录 一、维度模型设计的4步过程1.1 第一步&#xff1a;选择业务过程1.2 第二步&#xff1a;声明粒度1.3 第三步&#xff1a;确定维度1.4 第四步&#xff1a;确定事实 二、零售业务案例研究2.1 第一步&#xff1a;选择业务过程2.2 第二步&#xff1a;声明粒度2.3 第三步&am…...

网络工程实验记录

网络工程 show ip route show running-config 第一周 相同设备使用交叉线&#xff0c;不同设备之间使用直通线 R1能ping通10.1.1.1 R2能ping通所有的 R3能ping通172.16.1.1 即路由器只能到达自身线连接出去的&#xff0c;另一端就连接不了了。 此时给R1分配静态路由 R…...

Danswer 接入 Llama 2 模型 | 免费在 Google Colab 上托管 Llama 2 API

一、前言 前面在介绍本地部署免费开源的知识库方案时&#xff0c;已经简单介绍过 Danswer《Danswer 快速指南&#xff1a;不到15分钟打造您的企业级开源知识问答系统》&#xff0c;它支持即插即用不同的 LLM 模型&#xff0c;可以很方便的将本地知识文档通过不同的连接器接入到…...

react:路由

官方文档&#xff1a;https://reactrouter.com/en/main/start/overview#pending-navigation-ui 一&#xff1a;简单版本 先 npm i react-router-dom main.ts中内容替换为 import ReactDOM from react-dom/client import App from ./App.tsx import ./index.css import {creat…...

【AI工具】手把手带你使用Gradio分享你的模型

手把手带你使用Gradio分享你的模型 1. 快速入门2. 基本参数|支持的接口2.1 Interface类以及基础模块2.2 组件属性2.3 多输入输出组件2,4 图像组件2.5 Chatbots2.6 动态界面接口2.7 Blocks:更具灵活性和调控性2.7.1 Blocks入门2.7.2 更复杂的Blocks3. 分享自定义采样训练参考资…...

海洋专用cmocean颜色包_共22种--全平台可用

海洋专用cmocean颜色包_共22种–全平台可用 往期推荐&#xff1a; Python语言_matplotlib包_共80种–全平台可用 Python语言_single_color_共140种–全平台可用 R语言_RColorBrewer包–全平台可用 R语言gplots包的颜色索引表–全平台可用 R语言中的自带的调色板–五种–全平台…...

uni-app多端开发

uni-app 多端开发 一、命令创建uni-app 项目二、在微信小程序后台找到 appId 填写 appId三、运行项目四、使用 uni-ui4-1、下载4-2、自动导入4-3、ts项目下载类型校验 &#xff08;uni-ui 组件库&#xff09;4-3-1、下载4-3-2、配置 五、持久化 pinia六、数据请求封装七、获取组…...

Linux中固定ip端口和修改ip地址

一&#xff0c;更改虚拟网络编辑器 1&#xff0c;首先启动VMware&#xff0c;选择自己要更改ip或固定ip的虚拟机&#xff0c;并找到虚拟网络配编辑器&#xff0c;点击进入 2&#xff0c;进入之后需要点击右下角获取管理员权限后才能修改&#xff0c;有管理员权限之后图片如下 …...

csdn初始模板【自用】

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

2311rust无畏并发.

原文 Rust无畏并发 Rust是为了解决两个麻烦问题: 1,如何安全系统编程 2,如何无畏并发 最初,这些问题似乎是无关的,但令惊讶的是,方法竟然是相同的:使Rust安全的相同工具也可帮助解决并发问题. 内存安全和并发错误,一般认为是代码在不应访问数据时访问数据.Rust依靠所有权为…...

阿里云中的云服务器的ubuntu中的vim没有显示行号

没有行号&#xff1a; 在终端输入命令&#xff1a; vim ~/.vimrc set nu...

Golang 在 Mac、Linux、Windows 下如何交叉编译

Golang 支持交叉编译&#xff0c;在一个平台上生成另一个平台的可执行程序。 GOOS&#xff1a;目标平台的操作系统&#xff08;darwin、freebsd、linux、windows&#xff09; GOARCH&#xff1a;目标平台的体系架构&#xff08;386、amd64、arm&#xff09; 具体组合&#xf…...

如何写好一篇学术论文

目录 前言 1.标题和摘要 1.1标题 1.2摘要及关键词 1.2.1摘要 1.2.2关键词 2.正文 2.1引言 2.2问题建模 2.3研究方法及分析 2.4仿真&#xff08;伪代码&#xff09; 2.5实验结果及分析 2.6 总结 2.7延深 2.7.1图片处理 2.7.2审稿回复 2.7.3如何避免拒稿 2.7.4写…...

kubernetes资源监控

目录 一、资源限制 1、limitrange 2、ResourceQuota 二、metrics-server 三、图形化监控和代码行监控 1、dashboard 2、k9s 四、hpa 一、资源限制 Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求)&#xff1a;即运行Pod的节点必须满足运…...

Bitget Wallet:使用 Base 链购买 ETH 的简明教程

Base 链是一种 Layer 2&#xff08;L2&#xff09;公链&#xff0c;它可以为用户提供以太坊&#xff08;ETH&#xff09;代币&#xff0c;而 Bitget Wallet 是一款多功能加密货币钱包&#xff0c;支持 Base 链以及其他主要区块链。...

PostgreSQL简介及安装步骤

PostgreSQL简介 PostgreSQL是一款开源的关系型数据库管理系统&#xff0c;具有强大的扩展性、高度的可定制性和可靠的稳定性&#xff0c;因此在企业级应用和开发领域中得到了广泛的应用。本文将介绍PostgreSQL的基本概念以及在各种操作系统上的安装步骤。 安装步骤 1. Window…...

《安富莱嵌入式周报》第326期:航空航天级CANopen协议栈,开源USB PD电源和功耗分析,开源EtherCAT伺服驱动板,时序绘制软件,现代机器人设计

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程&#xff1a; BSP视频教程第28期&#xff1a;CANopen协议栈专题&#xff0c;CANopen主从机组网实战&a…...