内部CA证书到期与“先关校验”
某银行内部自建CA为32个业务系统签发mTLS证书,有效期统一5年,由一名已离职的运维工程师手工签发,没有证书清单。周一,清算前置系统A与核心系统B的mTLS握手失败,日志显示certificate expired;A的证书到期日为当天。排查发现同批签发的还有11张证书将在30天内到期,其中3张用于支付网关。部分旧系统只支持SHA-1签名,新CA策略要求SHA-256;一张通配符证书*.pay.internal用于5个子域,私钥存放在共享跳板机的/home/certs目录,权限755,跳板机有12个运维账号可登录。业务部门要求临时关闭证书校验以恢复交易,并称“只关两天”。安全团队没有HSM,CA根私钥存放在同一跳板机的加密压缩包中,口令由3人分别掌握。支付网关日交易额约2亿元,停机1小时影响约800万元;监管要求金融交易可追溯、不可否认。系统A的证书主题为CN=clearing-a,SAN中缺少clearing-a.internal;系统B校验证书链和吊销状态,但CRL每7天发布一次。旧系统C运行在Windows Server 2008上,只支持TLS 1.0和SHA-1。公司规定变更需走CAB审批,紧急变更可事后补单;距离月底结算还有5天。运维团队提出用自签名证书替代,以最快速度恢复;开发团队建议把B的证书校验改为只记录日志。安全经理需要在当天给出书面意见。CA的根证书通过组策略分发到域内主机,非域设备需手工安装。
1. 业务部门要求临时关闭mTLS校验两天,你是否同意?请给出替代方案和理由。
Read the worked answer
不同意关闭校验。mTLS是支付网关身份认证和不可否认性的基础,关闭后任何能连到端口的主机都可冒充A或B,两天足以造成资金和审计风险;而且“临时关闭”常会变成长期例外。替代方案:用现有CA紧急签发一张短有效期证书,例如7天,SAN包含clearing-a.internal和clearing-a,密钥用途包含clientAuth和serverAuth;先在一套隔离环境验证链和算法,再灰度到生产;同时发布CRL或OCSP并监控握手。若旧系统只支持SHA-1,应把它隔离在受控网段并限期升级,而不是降低全链路安全。所有紧急变更走紧急变更单,事后补CAB审批。
2. 应急签发证书时必须核对哪些要点?至少四项。
Read the worked answer
至少核对:1)主体和SAN是否覆盖实际访问的主机名,CN已不是唯一依据;2)密钥用途和扩展密钥用途是否匹配mTLS;3)有效期是否短且不超出CA策略,起止时间是否考虑时钟偏差;4)签名算法和密钥长度是否符合新策略,如SHA-256、RSA不少于2048位或ECC,旧系统兼容性单独评估;5)证书链是否完整、根证书是否被对端信任;6)吊销状态如何发布,CRL或OCSP地址是否可达;7)私钥生成和保管位置,不能在跳板机明文目录;8)签发记录、序列号和责任人是否登记。签发后先在测试环境做握手和吊销测试。
3. 针对通配符证书私钥存放在共享跳板机、CA根私钥也在同一机器的问题,提出整改。
Read the worked answer
这是最严重的问题:私钥权限755、12个运维账号可登录,等于多人可导出支付通配符私钥;CA根私钥与终端实体私钥同机,一旦跳板机失陷,攻击者可签发任意可信证书。整改:把CA根私钥迁入离线环境或HSM,根CA与签发CA分层,签发CA也放HSM;通配符证书拆分为按子域的最小化证书,缩短有效期,停用不必要的通配符;私钥只以不可导出方式存放在受控主机或HSM,目录权限最小化,禁止共享账号;建立证书清单和到期监控,用ACME或自动化续期;所有签发、导出、吊销双人审批并留日志;对跳板机做堡垒机化、命令审计和MFA。