我们不知道我们不知道:用同化项目做网络安全

简介: 本文讲的是 我们不知道我们不知道:用同化项目做网络安全,Assimilation Project(AP,同化项目),是指在无需明显增长集中化资源的情况下,发现和监视未知规模网络上的基础设施、服务及相关设备的解决方案。

本文讲的是 我们不知道我们不知道:用同化项目做网络安全,Assimilation Project(AP,同化项目),是指在无需明显增长集中化资源的情况下,发现和监视未知规模网络上的基础设施、服务及相关设备的解决方案。

有关IBM AS/400中小型多用户商业计算机系统超高可靠性的段子还挺多的。其中流传最广的一个版本是:某天,一位IBM维护工程师到客户那里维护一台AS/400服务器,倒霉的接待员工根本不知道那名维护工程师在说啥。最终,该系统在一个隔离空间中被找到了,它已经在那里默默扛起业务数年,完全被人遗忘,无人打理。

image

从可靠性视角看,这简直太棒不过。从安全角度看,根本就是噩梦。它代表的是美国前防长拉姆斯菲尔德臭名昭著的“未知的未知”论调——有些事,我们不知道我们不知道,比如在缺乏证据表明,伊拉克政府向恐怖组织提供大规模杀伤性武器的情况下,英美还是攻打了伊拉克。

阿兰·罗伯森,开源开发者,高可用性专家,常问人需要多长时间才能发现他们的服务中有哪些是未受监管的。典型的答案落在3天到3个月的范围内。讽刺的是,逆命题(当前提供了哪些服务)却很好回答,因此分清所提供的服务清单与未受监管的服务列表之间的差异应该是很容易的。但,正如前文所述例子显示的,要找出都有哪些服务在运行,并不总是那么容易的,想知道这些未受监管的服务是否配置良好,就更不容易了。

幸运的是,罗伯森正在研究该问题的解决方案,以开源项目AP的形式。AP可对你的系统执行详尽的服务发现和入库动作,并存储结果数据以便查询。一旦数据被收集,AP会将系统当前状态与一组IT安全最佳实践进行对比。默认使用数据交换标准协会(DISA)/美国国家标准与技术研究所(NIST)的安全技术实施指南(STIG),但也可定义自己的或选择适合自身情况的最佳实践。

罗伯森还写了一系列博客文章指导用户怎样快速启动和运行AP:

  1. 15分钟获得更好的安全
  2. 1小时获得更好的安全
  3. 半天得到更好的安全

15分钟那篇引导你通过简单几步下载自动化安全脚本来安装AP及其依赖项。推荐在以root用户运行之前花点时间看一下脚本,也多花不了几分钟。

AP依赖于高性能图形数据库Neo4j,因此,下一步就是启动数据库、核心服务和库存代理。几分钟之内,发现和收集就完成了,可产生单个系统的快照。示例如下:

image

大红框醒目地显示出该系统没遵从 DISA/NIST STIG 安全配置建议。

此时,可开始对数据库进行一系列查询,查看还有其他什么发现。输入 assimcli query list 命令,可得到可用查询的完整列表。要查看与系统互动的IP完整列表,发出 assimcli query allips 命令。示例结果如下:

image

从结果中显示的 CADMUS COMPUTER SYSTEMS 可以推断出测试用例运行在一台VirtualBox虚拟机上。剩下的条目能看出测试用例的系统十分简单,定义的主机名极少,纳米探针代理运行了极短一段时间。一个产品网络会有大得多的IP列表,相关信息也丰富得多。只要有新的IP在网络中出现,列表就会新增一条,因此该列表会随时间长大。这是发现你现有服务的第一步。AP能从这一个系统扩展到监视你所访问的所有系统。

罗伯森系列文章的第三部分里,他描述了如何远程安装纳米探针代理到你网络中的其他系统中。纳米探针会向CMA服务器发送收集到的配置数据,这样你就能像上文描述的一样,可视化你网络中提供的服务了。短期内,不止你网络中的系统和服务,甚至它们的配置及距离你理想配置的差距,都能被显示出来。

此处可再引用一句拉姆斯菲尔德的名言:“你与现有系统对战,而不是与可能想要或希望拥有的系统对战……” AP提供了一种方法,可确保知晓自身确实拥有的东西。

原文发布时间为:六月 29, 2016
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛。
原文链接:http://www.aqniu.com/learn/17228.html

相关文章
|
1月前
|
Java Spring
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
94 0
|
3月前
|
机器学习/深度学习 存储 算法框架/工具
生成对抗网络项目:6~9(1)
生成对抗网络项目:6~9(1)
72 0
|
3月前
|
机器学习/深度学习 存储 数据可视化
生成对抗网络项目:1~5(2)
生成对抗网络项目:1~5(2)
59 0
|
5月前
|
缓存 网络协议 Linux
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
|
5月前
|
JavaScript Java 关系型数据库
ssm+vue的课程网络学习平台管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
ssm+vue的课程网络学习平台管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
|
2天前
|
SQL 安全 测试技术
2021年职业院校技能大赛“网络安全”项目 江西省比赛任务书—B模块
B模块涵盖安全事件响应和网络数据取证,涉及多项应用安全挑战。任务包括使用nmap扫描靶机、弱口令登录、生成反弹木马、权限验证、系统内核版本检查、漏洞源码利用、文件名和内容提取等。此外,还有Linux渗透测试,要求访问特定目录下的文件并提取内容。应用服务漏洞扫描涉及服务版本探测、敏感文件发现、私钥解密、权限提升等。SQL注入测试需利用Nmap扫描端口,进行SQL注入并获取敏感信息。应急响应任务包括处理木马、删除恶意用户、修复启动项和清除服务器上的木马。流量分析涉及Wireshark数据包分析,查找黑客IP、枚举测试、服务破解等。渗透测试任务涵盖系统服务扫描、数据库管理、漏洞利用模块搜索等。
9 0
|
3月前
|
机器学习/深度学习 存储 编解码
生成对抗网络项目:6~9(5)
生成对抗网络项目:6~9(5)
42 0
|
3月前
|
机器学习/深度学习 存储 数据可视化
生成对抗网络项目:1~5(4)
生成对抗网络项目:1~5(4)
78 0
|
4月前
|
网络协议 Linux 网络安全
Linux MQTT智能家居项目(网络基础知识)
Linux MQTT智能家居项目(网络基础知识)
71 0
Linux MQTT智能家居项目(网络基础知识)
|
5月前
|
NoSQL API Redis
微服务轮子项目(04) - 服务认证架构设计(无网络隔离)
微服务轮子项目(04) - 服务认证架构设计(无网络隔离)
75 0

热门文章

最新文章