给全公司200台机子做软件台账,我把安装包哈希值也记上了,后来审计帮了大忙
干运维20年,我越来越信一句话:软件稳不稳,先看你手里的底账清不清。
上个月公司搞信息安全审计,上面要查每台电脑装的软件从哪来的、版本对不对、有没有夹带。换以前我肯定抓瞎——200多台机子,安装包东一个西一个,U盘拷来拷去,谁知道哪个是原版哪个被人顺手改过。
这回我提前做了个笨活:给每个准入的安装包算了个哈希值,SHA256,跟软件台账记在一起。台账就一张表,字段是:软件名、版本号、安装包文件名、SHA256、来源(官网/供应商/内部镜像)、准入日期、适用部门。
听着麻烦,其实一台机子装完,顺手跑个命令就把哈希记下了。我这边用的是系统自带的certutil,一条命令的事,不用装任何工具。批量的时候写了个小脚本,把安装目录里所有exe的哈希导成CSV,再跟台账对账。
结果审计那天,人家要查某办公软件的来源,我直接把表拉出来,哈希一比对,原版,一个字节没差。审计的同志看了都说你们这个底账做得扎实。反过来,我也揪出两个包:哈希对不上,一查是某部门自己从网上下的“绿色版”,当场清掉重装。
这里头有几个坑,给同行摆一摆:
第一,别用文件名判断版本。供应商发来的补丁包,文件名写的是V2,里头装的可能是V1.5,哈希一算就现原形。
第二,安装包要统一存放。我这边建了个内部共享盘,按“软件名/版本/”的目录放,只读权限,谁要装从这里拿。以前各部门自己存,出了事查都查不到源头。
第三,哈希值要跟台账一起备份。我吃了回亏,台账放本地,硬盘一坏全没了,后来重新一个个补,整了两天。现在台账放共享盘,每周自动备份一次。
第四,升级版本要留旧包。有些软件新版本跟我们业务系统打架,得回退。旧包不留,回退的时候满世界找,急死人。
这套东西跟Win解压缩也有关系。我准入这个工具,看中的就是它没广告、安装包干净,哈希值稳定,每次下下来都对得上。有些解压软件装完给你捆绑一堆东西,哈希每次都不一样,台账根本没法记。
说到底,软件管理不是装完就完事,底账清、来源明,出了事才站得住脚。
问一句:你们单位做软件台账,是只记软件名和版本,还是把安装包来源和哈希也记上了?有没有被审计问住过的,来摆摆咋个应对的。
