企业安全建设之路:端口扫描(上)

小小猫钓小小鱼 小小猫钓小小鱼     2022-08-24     274

关键词:

0×00、业务需求

由于工作关系,最近一年来都奔走在各大安全会议,无论是公开会议,例如:ISC互联网大会、freebuf互联网大会等、还是半公开的会议,例如某SRC组织的互联网金融会等。互联网安全运维人员都在谈自己企业的运维平台是如何建立的。这里我简单用思维导图总结一下:

技术分享

有一定研发能力的互联网安全团队都在建立自己的安全运管平台。我想这样做的目的是:

(1)半自动化或者全自动化安全运维规则,提高工作效率,降低人力成本。

(2)现有安全厂商提高的产品无法满足用户日益增长业务安全需求,业务架构变更。例如:日志管理部分,传统SIEM是无法满足 50万QPS Web日志处理能力,需要storm/spark架构处理。

(3)降低人员变动带来的业务安全的稳定性

当然这种安全投入是巨大的,而且需要持续发展才能摊平成本。

0×01、端口扫描需求分析

1、竞品获得需求:

 传统扫描器云扫描器企业内网端口扫描器
检查模式 并发 分布式/并发 并发
IP端口资产管理 不支持 支持 支持
IP端口资产变更告警 不支持 支持 支持
检查是否开放违规端口 不支持 支持 支持

2、安全经验获得需求 

操作系统分布windows操作系统版本分布
web容器分布 IIS版本分布
数据库端口对外开放 mysql数据库版本分布
暴力破解协议分布 OpenSSH版本分布

3、简单数据挖掘分析获得需求

在此之前做了一部分数据采集工作,表一ip_result.csv主要记录主机IP、域名、是否存活和操作系统类型,表二ports_result.csv主要记录了地址、端口、服务、服务详细描述等,通过对本测试数据集的分析,找到我们的业务需求。首先要了解数据全貌,可以多个维度去分析数据,包括:可视化分析(pandas)、SQL方式分析、excel分析等。

(1)Pandas分析法:

在这之前想说一下为什么要可视化分析,因为,通过图形人们可以判断出趋势,举个小例子:

技术分享

单纯的几组数字是看不出什么规律和趋势的,但是如果以矩阵的形式可视化后,大家对下一个点的出现就有趋势的判断了。

我们先了解一下我们的数据内容是什么,分别对两张表的数据导入到pandas中。

技术分享

技术分享

然后对各个有意思的字段或者字段组合聚类分析,

ip表:os

port表:port、service、product&product_version、scripts_results(address字段由于是公网数据暂时忽略)

技术分享

技术分享

技术分享

技术分享 

技术分享

技术分享

技术分享

pandas分析方法,多字段之间Group by比较麻烦,所以建议使用SQL分析法。

(2)SQL分析法:

把csv数据导入到postgresql数据库,执行:

 

SELECT port,count(*) as hit from ports_resultGROUP BY port ORDER BY hit DESC

SELECT service,count(*)as hit from ports_resultGROUP BY serviceORDER BY hit DESC

SELECT product,product_version,count(*) as hit from ports_resultGROUP BY product,product_version ORDER BY hit DESC

SELECT scripts_results,count(*)as hit from ports_resultGROUP BY scripts_resultsORDER BY hit DESC

 

 

技术分享

技术分享

然后通过正则表达式过滤掉一些无用数据,就可以得到我们想要的数据,那么,通过以上数据的简单的分析,我们对已有的安全经验和竞品数据有更深入的了解数据的本质。

(3)机器学习分析

当然可以用更高级的数据挖掘手段去分析,比如:聚类、分类、回归、降维、时间序列、文本挖掘。首先要确定我们挖掘的目的,是确定我们安全报表的需求,也就是聚类的问题,那么如何实现呢?

在这里我们引入sklearn这个机器学习python库,它为我们选择机器学习算法提供了优化的路径:

技术分享

我们port表中大约有10000多条数据,根据算法选择可以看出,

1、样本数据>50条,不需要获取更多的数据

2、如果是分类的问题,数据是否标记,对于我们的数据来说是没有的,那就进入clustering象限

3、分类类型是已知还是未知的呢?对于我们的数据当然是未知的,因为我们不知道如何分类,这需要算法告诉我们。

4、那么我们的数据样本>1w条,建议使用Kmeans。

我们需要使用的算法已经确定,下一步就是把数据经过清洗后导入算法库运算。这里要注意几个问题:

1、数据要做预处理,去除掉空值

2、把有意义的string项转化成数字类型,方便机器学习算法处理

多说无用,上代码:

技术分享

技术分享

最终机器学习分析的图:

技术分享

经过对k值的调整,发现分4类是最靠谱的。也就是说,对服务的分析做4类足够,http、https、ssh、rdp。

0×02、功能设计

1、设计目的:

版本规划设计功能
V1.0 通过端口扫描模块获得内网IP端口资产,资产变更告警,违规告警规则设置 实现内网扫描、外网扫描、行业扫描
V1.1 增加端口资产拓扑图

备注:当前版本只上线V1.0功能。

2、用户场景

用户场景对应功能
用户通过网络层面了解企业内部网络存在的资产 内网IP资产和端口扫描 (1)对存活主机探测 l 主机扫描范围设置 l 主机扫描结果存储 (2) 对存活主机端口探测 l 对主机扫描端口范围设置 l 端口扫描结果存储 (3)IP端口资产变更告警 l 提供周期性扫描设置 l Email报警 (4) 违规告警规则设置 l 内置数据库对外服务检查报警 (5) report l 操作系统类型分布 l 对外服务类型分布 l web服务器类型分布 l 远程访问服务类型分布
用户通过网络层面了解企业对外网络资产 外网IP资产和端口扫描 (1)对外网存活主机探测 l 主机扫描范围设置 l 主机扫描结果存储 (2) 对外网存活主机端口探测 l 对主机扫描端口范围设置 l 端口扫描结果存储 (3)IP端口资产变更告警 l 提供周期性扫描设置 l Email报警 (4) 违规告警规则设置 l 内置数据库对外读物检查报警 (5) report l操作系统类型分布 l 对外服务类型分布 lWEB服务类型分布 l 远程访问服务类型分布
用户想了解一下自己在所在行业安全指数 对行业IP资产和端口扫描 (1)行业资产录入 (2) 行业报告 操作系统类型分布 web服务类型分布 远程访问服务类型分布

0×03、总结 

本节先简单说到这里,后面会详细描述:详细设计、交互设计、前端实现、后端实现、测试联调、安装部署等环节。本节重点讲述的是如果在需求分析阶段加入数据分析,帮助产品人员更好的设计产品。有不足之处还请各位大佬指教。

* 本文原创作者:bt0sea,本文属FreeBuf原创奖励计划,未经许可禁止转载







11.企业安全建设指南(金融行业安全架构与技术实践)---互联网应用安全(代码片段)

第11章 互联网应用安全 传统企业会用防火墙进行隔离,将应用部署在隔离区(DMZ)。11.1 端口管控 首先要做的就是端口管控,即在防火墙上严格限制对外开放的端口。原则上DMZ服务器只允许对外开放80,443端口,... 查看详情

[甲方安全建设之路]自动化代码审计系统

在甲方安全建设的过程中,除了项目上线外需要经过黑盒的安全测试,还需要在整个SDL进行建设。因为单单只是黑盒测试的点是有限的,但是如果内部内置了一个后门,不能够及时的发现。如果从0开始去写可能会浪费很多的时... 查看详情

某企业信息安全体系整体建设方案规划方案毕业设计毕业答辩

【摘要】随着国内企业信息化的快速发展,存在一部分企业在不同程度上信息化集成的优势没有发挥出来,阻碍了信息化的带给企业的高可用的利用,影响了它的软实力给企业带来的间接或直接的工作效率。因此࿰... 查看详情

关于云租户安全建设的思路分享

随着企业云化的深入,安全策略成为企业云上建设需要着重考虑的问题,如何安全有效的使用云计算开展自己的业务?本篇文章将简单分享云租户的安全建设思路:知己知彼,将安全风险控制在可接受范围之内。(一)知已了解... 查看详情

互联网企业安全高级指南读书笔记之分阶段的安全体系建设

宏观过程第一阶段是基础安全策略的实施,ROI最高,大多属于整改项,不需要太多额外的投入就能规避80%的安全问题第二阶段是系统性整体建设,如果是大型互联网公司,应该直接进入自研之路第三阶段是业... 查看详情

互金企业安全建设总结

...或者两三个普通人的小团队,非大佬团队,非互联网航母企业)安全一定要由上往下去推动不制定奖惩措施的制度是很难推行落地的外部机构的检查远远比自己找出来的问题更有影响力作为甲方安全,你要以主人翁的角度去思考... 查看详情

互联网企业和传统企业在安全建设中的区别

总体来看,传统企业偏重管理,有人说是“三分技术,七分管理”;而互联网企业偏重技术。其实这种说法也是不准确的,到底什么算技术,什么算管理,这些都没有明确的定义。安全领域大部分所谓管理不过是组织技术性的活... 查看详情

网站建设公司告诉你如何确保企业网站建设的安全性

    安全性对于企业网站建设的发展是至关重要的,企业网站建设如果不注意安全的防范是很可能造成全盘皆输的厄运,当然对于站长如果能够积极的面对和解决网站上的安全问题,那也是亡羊补牢未为晚也。通常... 查看详情

镜像安全扫描建设指南-用户篇

...稳定、成本较低、加快产品上市时间等。若开源软件存有安全漏洞、恶意代码、病毒等安全问题,将造成业务系统被入侵导致数据泄露,从而影响公司业务开展。故着眼于从根源上发现安全问题,注重开源软件的安全... 查看详情

中台建设之路

...台的本质,中台的本质是什么,本质是能力复用平台或者企业级能力复用平台,是共性问题与个性问题的分离,在阿里巴巴提出中台概念之前,在IT行业一直有厚平台、薄应用的说法,我认为两者要表达的意思大体是一样的,平... 查看详情

「360企业安全云」上线,免费护航中小微企业数字化建设

3月1日,360集团推出“360企业安全云”,面向中小微企业免费提供企业级数字安全与管理解决方案,全面助力中小微企业数字化建设。行业人士表示,该产品的推广对资金、技术和人力有限的中小微企业无疑是一... 查看详情

企业安全建设进阶

安全是个“无底洞”,没有一个企业的安全负责人会说自己的系统是百分百安全的,安全也不是特别好衡量和量化,尤其是定量地评估出谁比谁做得好、好多少。有时候也会反思,或者说迷茫,“上了那么多防护手段、到底能不... 查看详情

应用安全体系建设之路

参考技术A只要提到应用安全,总是离不开一个概念——sdl建设,但是在大部分互联网公司并没有看到过哪家SDL做的好的,SDL强调安全流程,从业务需求的提出就介入进去,在整个业务的研发周期中,每一块都有相应的安全方法... 查看详情

6.企业安全建设指南(金融行业安全架构与技术实践)---安全培训(代码片段)

...意识不足的真实案例 6.1.2 信息安全培训的必要性 金融企业信息安全培训的必要性体现在三个方面: 1.金融企业涉及的信息的敏感性极高 2.金融企业信息安全的核心问题是人的安全意识 3.金融企业信息安全意识仍然普... 查看详情

9.企业安全建设指南(金融行业安全架构与技术实践)---安全认证(代码片段)

第9章 安全认证9.1 为什么要获得认证9.2 认证概述 9.2.1 认证分类 9.2.2 认证机构9.3 选择什么样的认证9.4 如何通过认证                       查看详情

工业企业的工控安全现在做的怎么样了?

1、       工控企业在信息安全领域的现状: 1)、目前工业企业在工控安全建设中,没有具体对应的企业分级建设指南或标准,企业无从知道安全建设的临界点,并且各部委安全管理职能相互交叉,... 查看详情

“暴风骤雨”之下,企业数据安全能力建设迎来“觉醒年代”

...个人信息先后进行通报等。在安全合规趋紧的当下,企业加强数据安全能力建设已是势所 查看详情

镜像安全扫描建设指南-管理员篇

0x00产品介绍Trivy是一种适用于CI的简单而全面的容器漏洞扫描程序。软件漏洞是指软件或操作系统中存在的故障、缺陷或弱点。 Trivy检测操作系统包(Alpine、RHEL、CentOS等)和应用程序依赖(Bundler、Composer、npm、yarn等&... 查看详情