安全扫描报告私钥文件可被其他用户读取,存在泄露风险。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

chmod 600 /etc/ssl/private/example.key
chown root:root /etc/ssl/private/example.key
ls -l /etc/ssl/private/

部署时用复制方式传文件,保留了默认权限,Web 服务用户之外的账号也能读。这一点先确认清楚,后面就不用反复试。

碰到「私钥权限」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

具体做法是,收紧私钥权限;把属主改为服务运行账号;确认目录权限不放开。

改完照着核一遍,扫描不再告警,服务重启后证书正常加载。

作者 9823189