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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. 秘密潜入2小辣椒_短暂潜入2次,我显然不知道自己作为开发人员正在做什么

    秘密潜入2小辣椒 by Zachary Kuhn 扎卡里·库恩(Zachary Kuhn) 那两次我显然不知道我作为开发人员正在做什么 (Those two times where I clearly ...

  2. 学完教程,不知道接下去从哪里开始做自己的第一个APP,怎么办?酷课堂iOS交流群问答(201902期)

    酷课堂iOS移动开发交流群问题精华整理 以下内容由@客服妹子爬楼整理,限于篇幅,无法就所有问题做详细说明,感兴趣的小伙伴,可以添加小课QQ:3068527144,申请加入交流小群.希望大家碰到的这些问 ...

  3. 每天不知道吃什么,于是我做了个随机选择的小程序

    每天不知道吃什么,于是我做了个随机选择的小程序 选择 使用uni-app跑在微信小程序里 思路 用一个菜单数组,有一个index, 有一个定时器,每次让index++ 点击停止,结束定时器 点击换一个 ...

  4. python开源项目贡献_通过为开源项目做贡献,我如何找到理想的工作

    python开源项目贡献 by Utsab Saha 由Utsab Saha 通过为开源项目做贡献,我如何找到理想的工作 (How I found my dream job by contributi ...

  5. 一个资深Java架构师告诉你我们是如何将一个项目做烂的

    首先我想声明一个项目做烂不是你一个人挖坑就行的,这是一个很大的工程 需要团队协作 既然标题都用到了"烂"这个词,那什么才是烂呢? 在你的项目里,"烂"和&quo ...

  6. 【Java进阶营】一个资深Java架构师告诉你我们是如何将一个项目做烂的

    首先我想声明一个项目做烂不是你一个人挖坑就行的,这是一个很大的工程 需要团队协作 既然标题都用到了"烂"这个词,那什么才是烂呢? 在你的项目里,"烂"和&quo ...

  7. 第二个项目做完了,总结一下~~

    很惭愧,很多次都在<大事记>里面说要坚持写博客的,但项目做完后不是忘了写,就是懒得写,最终在项目里学到的一点东西都淡忘了.如果不能把这些零碎的知识记录下来的话,以后 必定还会做同样的工作, ...

  8. 人生四大境界:不知道自己不知道 知道自己不知道 不知道自己知道 知道自己知

    http://uzone.univs.cn/blog/blog_3148752_37lnaxe662b6nj3de663.html 阅读(36) / 评论( 0 ) / 分享 加为好友 毛毛虫都喜欢吃 ...

  9. 知道自己不知道不可怕,可怕的是不知道自己不知道 No.148

    大蕉蕉,自认不是一个聪明的人,也不是一个勤奋到无可挑剔的人.但却一直都有一个信念,就是现有的自己的眼界依然不够完全开阔,想去更多开阔自己的视野. 庄子说过这么一句话,井蛙不可以语于海者,拘于虚也;夏虫 ...

  10. 不知道自己不知道 知道自己不知道 不知道自己知道 知道自己知道

    记得08年暑假的时候陪女朋友去参加一个面试,公司是一个很小的公司,老板据说是从英国刚刚回来创业的年轻人,除了感觉公司的员工很有礼貌,很客气之外,没有太多的印象.但是大厅的墙壁上一个小牌子上的几句话却吸 ...

最新文章

  1. python 文件分割 按大小_python处理分隔大文件
  2. 八位图 16位图_了解位图
  3. LeetCode(#1)————Two Sum
  4. 替换Oracle,从阿里巴巴到亚马逊-他们在逃离什么?
  5. d3 v5 api arrays
  6. LinkedHashMap 底层分析
  7. 正则表达式 - C语言
  8. Html 返回顶部代码及注释说明
  9. mysql 触发器 insert new_mysql触发器实例 插入前更新数据
  10. 【路径规划】局部路径规划算法——B样条曲线法(含python实现)
  11. 图像处理(十四)HOG特征提取
  12. ERP基础数据 华夏
  13. 复习JQuery validate验证规则
  14. 【老孙随笔】腾讯,互联网创业者的噩梦
  15. ORB-SLAM2 特征点法SLAM 单目 双目 rgbd相机SLAM 单应/本质矩阵恢复运动 小图大图地图优化
  16. 2021年年度总结 虎虎生威 继往开来
  17. LinuxC—标准IO与文件IO学习笔记
  18. 高铁、动车到底啥区别?看完彻底懂了(组图)
  19. 该如何教育我们的下一代
  20. 中国地质大学计算机学院迎新群,地大迎新志愿者标兵

热门文章

  1. 机械工程人工智能_机械工程中的人工智能
  2. matlab没有曲线,有个程序,运行后只有坐标没有曲线,是怎么回事呢 望大神们解答...
  3. python用matplotlib画皮卡丘_python使用matplotlib绘图 -- barChart
  4. python row column_将rowcolumnvalue数据转换为数组numpy
  5. linux hdfs授予文件夹权限,修修改hdfs上的文件所属用户、所属组等读写执行控制权限...
  6. batch与spark spring_spark streaming 与 kafka 结合使用的一些概念理解
  7. [INet] WebSocket 数据收发的详细过程
  8. 2.原子变量 CAS算法
  9. 【Java】Java_18 方法
  10. 包导出Android升级ADT22后会报ClassNotFoundException的原因分析