首页/安全/加密与证书速查/私钥文件权限基线

私钥文件权限基线

私钥在主机上的可读范围由文件权限与属主决定:通常文件 600、目录 700/750,属主为部署账号或服务账号;容器场景用只读挂载,避免私钥进入镜像层。

加密与证书速查安全更新于 2026-10-13

私钥权限基线

私钥在主机上的可读范围由文件权限与属主共同决定。常见基线是私钥文件 600、目录 700 或 750,属主为部署账号或服务账号;容器场景应使用只读挂载,避免私钥进入镜像层或构建缓存。权限只是第一道控制,私钥出现在备份、日志与持续集成缓存中同样构成暴露。

基本信息

推荐权限私钥 600,证书可 644,目录 700 或按需 750
属主部署账号为佳;服务需读权限时用受限组
容器只读挂载,不进镜像层与构建缓存
检查方式逐级路径检查与属性查询

典型使用场景

  • 新主机部署:按基线设置权限与属主
  • 排错:服务读不到私钥时改用最小化授权方案
  • 容器化改造:确认私钥不从镜像层泄露
  • 合规检查:核对私钥文件的权限与属主
  • 泄露应急:确认可读范围后决定是否轮换

权限设置与核对

权限设置与核对
chmod 700 /etc/nginx/ssl
chmod 600 /etc/nginx/ssl/example.com.key
namei -l /etc/nginx/ssl/example.com.key     # 逐级确认目录权限不放大
stat -c '%a %U:%G %n' /etc/nginx/ssl/*      # 批量查看权限与属主

权限基线

对象建议说明
私钥文件600,属主为服务账号只有属主可读写
证书文件644公钥内容可公开
目录700 或 750避免目录权限放大可读范围
容器挂载只读防止运行时被改写
私钥出现在备份、日志、持续集成缓存与镜像层中同样构成暴露,权限只是第一道控制;发现私钥离开受控位置后应按泄露处理并轮换。

落地建议

  • 部署脚本负责设置权限,避免依赖人工操作
  • 把私钥目录与业务代码目录分离
  • 限制备份范围,不把私钥纳入常规备份
  • 定期巡检权限与属主,发现偏差立即修正
为让服务读到私钥而把文件设为全局可读,是最常见也最危险的权宜做法;正确方式是调整属主或引入受限用户组。

易错点

  • 为避免权限报错把私钥设为其他用户可读
  • 把私钥提交进代码仓库或打进镜像层,权限再紧也无法挽回
  • 只检查文件权限而不检查上级目录,目录权限过宽导致实际可读
  • 备份与日志中残留私钥副本,权限设置形同虚设
  • 发现暴露后只改权限而不轮换密钥,风险仍然存在

数据来源与参考

  • OpenSSL 官方文档(私钥文件处理)
  • CIS Benchmarks(文件权限控制)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌