七月底,做医疗信息化的客户老板给我打电话,语气比平时急:医院那边发通知了,我们那套检验系统得过等保三级,测评机构下周就来,机房和服务器都是你们在管,帮我们准备准备。

我当时还觉得,不就等保嘛。那台机器托管在我们机房,密钥登录、防火墙、密码策略这些平时就有,顶多补几张截图的事。

等测评机构把整改清单发过来,我人有点傻。41 项,从日志留存到访问控制到主机加固,一项项列得清清楚楚,每项后面还带着"不符合"三个字。

头一个坎就是日志。测评要求服务器日志留存不少于六个月,我们平时的规矩是 logrotate 每周轮转、保留四周,也就是一个月。这好办也不好办:好办在改配置就行,不好办在 nginx 访问日志那台机器一天能写两三个 G,真留半年,/ 分区得先炸。最后是这么弄的:logrotate 改成保留 26 份周日志,sshd 的登录日志单独抽出来每天一份,另外写了个每月归档的活,把满月的日志打包挪到备份机上去。半年是够了,就是 /var 下多了一堆按周分卷的目录,看着乱,反正测评的人不看这个。

第二个坎是漏洞扫描。测评机构给了一份扫描报告,PDF 一百八十多条,我跟客户那边负责技术的两个人坐一块儿,一条条过。过到一半我就想骂人:报告里报了台机器 Redis 未授权访问——那台机器上压根没装 Redis,鬼知道是扫到了哪个网段;还报了一堆 OpenSSH 版本过低——CentOS 7 自带的 OpenSSH 7.4,在 CVE 库里头永远是"存在漏洞",可真要升级,跟系统组件的一堆依赖冲突,生产机器谁敢乱动。这种条子没法真改,只能一条条写整改说明:"该漏洞已通过禁用密码登录、仅允许密钥认证缓解,风险接受"。那两天我写得快把"风险接受"四个字背下来了。一百八十多条里真正动手改的,我数了数,不到二十条,剩下全是写说明。

第三个坎是主机安全 agent,这个最折腾。测评机构建议装一套主机安全防护,客户也买了,装上第二天医院那边就反馈系统变卡——agent 的实时文件监控把 CPU 吃掉了,检验报告出得比平时慢好几倍。卸了。测评机构那边不干,说主机侧没有入侵检测这块过不去。又装回去,这次学乖了,把业务目录一个个加进白名单,才总算消停。一个 agent 装装卸卸折腾了三个来回,最后它还老老实实跑在那台机器上,占用倒是降到可以忽略。

还有个小事我印象挺深。整改清单里有一条:禁止 SSH 密码登录,改用密钥。我们机房里的机器本来就是密钥登录,但客户老板平时自己也会登服务器看报表,一直用的密码,密码一禁,他连不上了。老板五十多岁,你让他配密钥他真不会。最后是我远程给他笔记本装了个 Xshell,密钥生成好、路径放好,桌面上建了快捷方式,告诉他:双击,输一次密钥口令就能进,别的别乱点。他试了两回成功了,挺高兴,说这个比记那一长串密码省事。行吧,也算给老板普及了一把。

现场测评那天倒没我想象的复杂。测评机构来了两个人,一个年轻小伙拿着检查表一项项问,另一个拿手机拍机柜、拍网络拓扑。服务器在我们机房,人在客户那边,我就远程陪着——客户技术举着手机把屏幕拍给我看,我这边把要的截图一张张发回去,来回跟传话游戏似的。中间小伙问了一句:你们有堡垒机吗?我说没有,用的是跳板机加操作日志审计。他嗯了一声没再追问,我隔着屏幕松了口气。

八月底结论下来的,基本符合,报告是盖了章的 PDF。客户老板把报告转到他们工作群里,发了个红包庆祝,我点开,2 块 6,群里最小的。

前天老板又给我打电话,问这个测评报告管多久。我说三级等保一年一测,明年这会儿还得来一遍。他在电话那头沉默了一下,说那行,明年还找你们。我嘴上说着没问题,心里想的是:明年整改清单,可千万别再是 41 项了。