Flan Scan:Cloudflare开源轻量级网络漏洞扫描软件
大家好!Cloudflare内部的轻量级网络漏洞扫描器——Flan Scan于此刻正式开源!Flan Scan是一种基于Nmap的扫描器,我们把这个知名流行的开源工具转换成一个漏洞扫描器,并提供很多新特性,非常易于部署。
在两次尝试使用符合“行业标准”的扫描器进行合规性扫描但失败后,我们创建了Flan Scan。一年多以前,我们为某家大型厂商的漏洞扫描器支付了一大笔钱,而到后来,我们意识到这是我们在安全方面最大的花销之一,它的许多功能我们都用不上。不久之后,我们开始使用开源的扫描软件,并根据需求进行各种设置和维护。但这还是很难对超过190个数据中心的Cloudflare网络进行管控。
考虑到扫描的最后期限近在咫尺,又没有工具满足整体需要,于是我们决定自己动手编写一个适用于我们的扫描软件。我们与安全审核员密切合作,深入了解各项需求。这个扫描软件需要准确地探测出网络中的各项服务,然后在CVE数据库中查找服务相关漏洞。此外,这个软件必须能部署在网络中的每个角落。
一开始,我们就决定选择Nmap作为基础模板,因为它不像其他扫描器为了速度而牺牲准确性,误报较少。此外Nmap脚本引擎(NSE)所提供的海量功能中有一项为检测服务所对应的CVE,这正是我们所需要的。
下一步是解决部署问题,为此我们往Flan Scan中添加了三个特性,使之成为一个操作友好,可跨大型网络部署的软件。
易于部署和配置——为了创建一个易于配置的轻量级扫描器,我们选择在Docker容器中运行Flan Scan。因此,你可以轻松地并将其保存在Docker registry中,灵活配置使用。Flan Scan还包括某些Kubernetes配置示例和部署文件,其中包含的一些占位符可帮助你快速启动和扫描。
将结果推送到云——Flan Scan可将结果推送到谷歌云存储桶或S3存储桶中。你所需要做的就是设置一些环境变量,然后等Flan Scan完成其余工作。这使得在大型网络上运行的多次扫描可以在同一个中心汇集,方便处理分析。
可操作的报告——Flan Scan会利用Nmap的输出生成可操作的报告,让你快速识别出网络中存在漏洞的服务,以及对应的IP地址、端口、CVE等。这对于工程师以及安全审计人员都很有用。
Scan Flan如何改善Cloudflare的网络安全?
到第三季度结束时,我们不仅完成了合规性扫描,还切实提高了网络安全性。根据扫描结果,我们评估在Cloudflare网络中的某些服务的某些版本的隐患,对升级成本与安全性进行权衡。例如用来管理Linux用户和主机的FreeIPA节点上有一个过时的Apache,存在几个中等程度的漏洞,我们就对其优先进行更新。而另外一个PostgreSQL的漏洞来自一个已经不存在的页面,就无需立刻更新。
Flan Scan只是我们的漏洞管理计划的一部分。我们最近将osquery部署到整个网络,对于机器漏洞进行跟踪。通过osquery与Flan Scan的配合,我们正在努力发现边缘服务器的服务和弱点。此外未来还会构建一个工具来管理不断增加的漏洞,并及时对新漏洞发出警报,过滤掉误报,跟踪已修复的漏洞。当然,Flan Scan也是新工具的重要组成部分。
Flan Scan如何工作?
Flan Scan的第一步是用Nmap进行服务检测。Flan Scan默认使用以下扫描方式:
ICMP ping扫描——确定哪些IP是活跃的。
SYN扫描——Nmap扫描活跃IP地址的1000个最常用端口,将其标记为打开、关闭或被过滤。
服务探测扫描——对开放端口发送TCP握手包,确定服务种类。
你也可以使用UDP扫描以及IPv6地址,Flan Scan允许用户通过某些Nmap参数来使用Nmap的其他特性。
Flan Scan会默认使用Nmap中的vulners
脚本,以列出服务的漏洞列表。vulners
脚本的原理是对vulners.com
的API进行调用,返回给定服务的所有已知漏洞。
Flan Scan的下一步是使用Python脚本将Nmap输出的结构化xml内容转换为可操作的报告。我们以前扫描器的报告会列出了每个被扫描的IP地址,以及相关联的漏洞。由于我们有多个IP地址运行相同的服务,因此报告中每个IP地址都有重复的漏洞。这在长达数百页的文档上来回出现,很难统计和分析。
而Flan Scan的扫描结果是围绕服务构建的,以存在漏洞的服务为主,关联出所有的IP地址。这样的报告更短,方便操作。Flan Scan的报告是使用LaTeX编写的,谁不喜欢格式漂亮的报告呢?你也可以使用pdf2latex或TeXShop将其转换成PDF。
接下来是什么?
Cloudflare的使命是帮助每个人建立一个更好的网络,而不仅仅是那些互联网巨头。我们之所以开源Flan Scan,是因为我们相信真正的网络安全不应该花费大量的金钱。
按照README上的说明,你可以在几分钟内迅速开始漏洞扫描。我们欢迎社会各界提供意见和建议。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://blog.cloudflare.com/introducing-flan-scan/
最新评论