创业后端生死线:政策合规、数据可信、安全可控
|
文章配图,仅供参考 告警响的那一刻,我正把泡面桶从键盘上拎起来,汤汁滴在散热口里滋啦一声。手机震得桌角跳,是合规组老陈,没开口先叹气:“审计要溯源链路,今晚就得交。”我嗯了下,手指划开告警面板——三台日志转发节点全红,Kafka 消费 lag 突破两百万,ES 里 last_heartbeat 时间停在凌晨两点四十七分。我原以为是磁盘满了,结果扫了一眼 df -h,根分区才用六成。不是磁盘。是证书。那个被开发塞进 logstash 启动脚本里的自签 CA,过期了三天。他们说“测试环境凑合用”,我说“logstash 不认过期证书会静默丢消息”,他们回:“那配个 ignore_ssl_verify 就行”。我点了头。结果审计一查 TLS 握手日志,全链路没一个可信时间戳,签名链断在第二层。不是丢日志,是整条链被判定为“不可信输入”——你存得再全,没签章,等于没发生过。 窗外天快亮了,灰白光漫进来,照见屏幕上还开着两个窗口:左边是三年前写的《日志可信存证 checklist》,右边是上周刚 merge 的 devops pipeline 脚本,里面有一行 # TODO: add cert rotation hook(后面跟着三个问号)。我删掉了问号,换成一个句号。句号比问号更像埋葬。 其实去年最狠那回,不是证书,是备份。不是没做备份,是备份的索引元数据跟主集群不同步。开发改了 index template 加了个 keyword 字段,但没推到 backup cluster;回滚时 restore 出来的索引,mapping 里那字段是 text,查的时候直接报错,连 mapping 都不给你报全,就卡在 search_phase_execution_exception。机房的人扛着硬盘过来换线缆,我蹲在机柜前调 esrally,他递来一瓶冰水,瓶身结着水珠,我手抖洒了半瓶在裤腿上。冷。真冷。 我们跟开发吵了一架,在会议室玻璃门上看见自己变形的影子。他说:“用户行为日志又不涉密,为什么非得存三年?为什么非得加审计日志字段?”我指着他 laptop 屏幕右下角那个小图标——国产加密模块的 loading 动画,转了八秒才停。“因为去年政策补丁打下来那天,所有没启国密 SM4 加密的日志归档,自动进了‘暂不合规缓存池’。你猜谁手动捞的?我。捞了四十八小时,没睡。”他低头抠指甲,没接话。其实他后来说了一句:“那……下次加字段你提前钉钉我。”我点头,心里想:下次?下次你连 docker build 命令都懒得看 --no-cache 参数,凭什么信你能盯住 crypto_config.yml? 我认了。优胜劣汰不是口号,是半夜三点你发现 audit-trail-index-20231207 这个索引压根没开 ILM,而法务发来的《个人信息出境安全评估申报表》倒计时还剩十小时。你一边写 curl 手动 trigger rollover,一边看 Slack 里另一个创业公司同事发截图:他们被网信办约谈后七十二小时内,日志全量重采、加盲水印、上可信时间戳、接入第三方公证 API——他们活下来了。不是因为他们技术强,是他们上个月被罚过二十万,公章都盖歪了。罚得疼,才记得住日志不是用来查 bug 的,是用来对质的。 家里炖的银耳羹在保温壶里凉透了,糖沉底,我昨晚说“今晚加班不回来吃饭”,结果今早七点才关电脑。手机里还有我妈两条未读:“血压药吃完没?”“你爸问你过年回不回”。我没回。反正值班表排到月底,排班软件又崩了一次,导出 CSV 时漏掉我名字,还是隔壁组的小张顺手把我拖进表格里。她今天穿了件毛绒领外套,说新买的,怕冷。机房确实很冷,空调总抽风,上礼拜我裹着羽绒服调 fluentd buffer size,冻得手指发僵,输错一个数字,buffer 占满内存,把整个 collector 干趴。没人骂我,反正都趴过。 反常识的是,最致命的操作往往没留痕。比如那天我手动停了 logstash,去改证书路径,没做 systemctl reload,也没 touch /etc/logstash/conf.d/ 目录下的任何文件——就改了一个环境变量 LOGSTASH_SSL_CERT。它没热加载,但也没报错。日志继续往 Kafka 发,看着正常,直到消费者那边 decode 失败,而我们的监控只盯了 “process_up”,没盯 “message_integrity_valid”。这个逻辑漏洞,是我写 dashboard 时漏的。我原以为加了 heartbeat 就万事大吉,结果 heartbeat 只管活,不管真。 现在想想,所谓“数据可信”,根本不是技术问题,是权力问题——谁有权决定哪条日志算“存在”?谁有权定义什么叫“完整”?去年有家同行,日志存了七年,结果审计一查原始采集端时间戳和 NTP 服务器偏差 2.3 秒,整套审计日志被判无效。他们没丢数据,只是时钟慢了两秒。可政策不会跟你谈误差允许范围,它只看你是否落在白名单授时源列表里。我们连授时源都没进白名单,靠的是隔壁公司蹭的阿里云 NTP,人家哪天切掉,我们连“失效”都来不及标。 所以这事本来能避免。只要当初在 CI 流程里加一条 check:任何涉及日志 schema、证书、时钟源的变更,必须关联法务备案编号。但我们没加。因为上线太赶,因为老板说“先跑通”,因为所有人都默认“日志嘛,反正还能查”。其实不能。真的不能。 下一步我打算把 certs 自动轮转的脚本写进 ansible role,哪怕它只会跑一半,至少让 logstash 启动时多吼一句 warn:“当前证书剩余 72 小时,请人工确认”。吼不出来也行,至少让它退出。总比静默丢信好。 反正我明天得重装一遍内网的 cert-manager 实例。旧版本不支持双签模式,新审计要求“主CA + 备份CA 同时有效”。泡面桶还搁在显示器边沿,汤已经干了,一圈黄渍像年轮。我盯着看了三秒,没动。它不重要,真的。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


完善等级保护系统 保障本单位信息系统的安全可控
中汽协发布汽车数据可信存证区块链平台


