点击蓝字关注我们
应用之道
存乎一心

前言
配置管理数据库的英文全称为Configuration Management Database (CMDB)。CMDB造了千千万万个,几乎每家公司都希望自己造个CMDB,实际情况却是,每家公司都感觉自己的CMDB不够用、不好用。笔者所碰到的相关问题大体上可以总结成以下几点:
「过去资产」陈年烂帐算不清
「现有资产」亡羊补牢搞不定
「未来资产」得过且过可不行
01
CMDB的困境
功能臃肿效果差
企业寄托太多希望于CMDB,CMDB也被当成了万能的解决方案,以至于CMDB功能臃肿,复杂度高,造成最终的使用体验是非常难用,而且使用维护的成本巨大。有的时候CMDB用到运维人员最后竟然发现——还是Excel比较好用!

目标需求没想清
CMDB存在大量冗余并不意味着它不会缺失信息。比如笔者所从事的信息安全行业,并不关心主机服务器的物理位置等信息,而比较关心这些机器对应什么应用,这些应用又由谁来维护。但涉及到应用的信息CMDB不一定有记录。需求如果不清楚,一股脑的啥都要最后可能却是啥都得不到。
数据错误很严重
CMDB并不能做到完全自动化。试想我们这个时代还在指望着人工智能能够比肩人类,又怎么奢求CMDB率先达到这个水平。既然涉及到人工参与,那必然会带来一系列问题。比如,人员信息不对称导致录入出错,人员管理不规范导致信息更新迟缓……
02
改变从改名开始
随着云计算技术的发展,传统思维建设CMDB将会变得越来越复杂。如果想要有所改变,就要先跳出过去建设CMDB的思维,CMDB的本质就是资源配置与管理,不要再添加一些杂七杂八的功能。所以建议工程师干脆叫它“信息资产库”,让一切“尘归尘,土归土”。

03
面向场景重构思路
建设信息资产库要遵循一个原则:先有使用的场景,再来管理场景所需要的资源。
什么是场景
简单说来,场景是一组“人、事、物”的组合,是特定的人对特定的物完成一系列的管理动作。面向场景的可视化,就是要深入分析人和事的需求,并在此基础上对物以及物之间的关系做可视化。
如何设定场景
基于用户的岗位角色(最直观的就是部门职责)进行分类细化。比如,网络运维、服务器运维、机房运维、安全运维等等。各个岗位之间的需求是不同的,他们的关注点是不同的。

举个例子,安全运维人员关注应用的网络流量信息和应用维护信息,而不太关注物理机的位置信息。设备运维人员关注点却刚好相反。针对安全运维人员的用户场景就应该是他们在“企业遭受攻击”时第一时间需要核查的资产信息。
03
人工自动化并重
信息资产库建设人员可以使用基于自动化+人工辅助的手段来构建信息资产库的体系,通过数据集成为场景提供更加丰富的运维信息,再提供异常反馈界面让用户自行修正,最后通过数据分析提高资产库信息整合的能力。
自动发现
自动发现是提升配置数据质量的重要手段,最常见的做法还是全网扫描。但这种方式虽然人工投入,但往往带来其它负面问题:
探测出大量没有用的细粒度信息。
由于扫描范围极大,扫描频率不可能很高,致使数据更新不及时。
大型企业内部网络环境复杂,区域管控严格,很难做到全网扫描。
全网扫描很可能在某个角落引发安全或性能问题,而运维工程师却并不知道。
实际上我们可以怎么做?运维工程师应该以场景为单位自动发现信息资产。比如,“负责检测互联网攻击”的安全运维场景下,只需要关注互联网可访达的资源。对这些资源进行扫描的范围远远小于全网环境,因此可以有更高的扫描频率、更个性化的扫描内容和更小的扫描风险。此外,利用特定场景还能使用更多的资产发现方式。同样是在“负责检测互联网攻击”的安全运维场景下,运维工程师就可以利用安全设备中的外部攻击信息,从而主动发现扫描遗漏的信息资产。
人工补充
自动发现无疑是降低维护成本的一种有效方式,但仅仅靠此技术却无法确保一个信息资产库信息的有效性。因此还是需要标准化的流程和人工维护。梳理标准化的流程是人工运维的重要一环。比如,信息资产的初始化就需要网络管理人员按照标准化流程登记分配,信息资产用途发生变更就需要资产运维人员主动录入……
众测反馈
大量事实证明,构建100%准确的信息资产库既不可能也无必要。企业只需要建立起一套有效的反馈机制,让用户在使用过程中发现数据问题时能够方便反馈并及时修正即可。
样例一:谷歌地图修正措施
以Google Maps为例,它的每个城市地图的生产流程基本是这样的:首先基于GIS数据构建出一个城市的概要地图,并辅以人工修正(谷歌内部成为Hand-Massage),然后进行地图的数据丰富(引入街景、路况等信息),并在使用时提供一个反馈界面。只要每个城市都这样做,那么就能得到一张准确的国家地图。每个国家都这样做,就能得到一张准确的全球地图。
每个场景关注的要点并不完全相同,但仍然可能存在交叉重合。只要各个场景的信息资产数据都做到自洽,那么每个场景都会变得准确,进而得到一个相对准确的整体企业信息资产库。
当然,对于用户个人而言,他一般只会关心自己的场景准确就好啦。

智能分析
这里所说的智能分析仍然是建立在“数据资产”这一基础上所进行的合理、有节制的开发。这一步往往不是必须的,但它很可能提高信息资产库的整合能力。
如今各种新的技术层出不穷,或许能够给信息资产库的构建带来新的活力。比如,笔者现在所参与的“基于图计算的资产管理”项目。虽然目前前景不明,但仍然可以作为一次探索信息资产库建设的积极尝试。

应用之道
END
存乎一心
本文作者:Bingunner
一位头发浓郁的信息安全工程师
爱摄影/爱数码/爱跑步的经济学人死忠粉





