centos镜像如何提升系统安全性
小樊
40
2025-11-22 03:14:16
CentOS镜像安全提升清单
一 基础镜像与构建安全
- 选择可信基础镜像与最小化安装:优先使用官方或受信任仓库的镜像,遵循最小权限原则,仅安装必需软件包,减少攻击面。
- 多阶段构建与精简层:在 Dockerfile 中使用多阶段构建,删除编译依赖与临时文件,降低镜像体积与潜在漏洞。
- 非 root 运行:在 Dockerfile 中使用USER指令,容器内以非特权用户运行进程。
- 镜像签名与可信源:启用镜像仓库的签名校验,只拉取与运行经过验证的镜像。
- 镜像扫描与漏洞管理:在 CI/CD 中集成Clair/Anchore等工具,定期扫描并修复CVE。
- 基础系统更新:构建阶段执行yum/dnf update,确保基础镜像包含最新安全补丁。
二 系统与账户安全基线
- 保持系统与软件包更新:定期执行yum/dnf update,并建立补丁周期与变更留痕。
- 口令策略与复杂度:在**/etc/login.defs设置PASS_MAX_DAYS 90、PASS_MIN_DAYS 2、PASS_MIN_LEN 8、PASS_WARN_AGE 30**;在**/etc/pam.d/system-auth使用pam_pwquality.so**强制复杂度(如 minlen=8,包含大小写与数字)。
- 登录失败锁定:在**/etc/pam.d/sshd配置pam_tally2.so**(如 deny=5、unlock_time=300),必要时对 root 单独设置解锁时间。
- 禁用不必要账户与特权:锁定或删除adm、lp、sync等默认无用账户;限制su仅特定组可用。
- 会话超时与登录安全:设置TMOUT(如 600 秒)自动注销;禁用Ctrl+Alt+Del重启;限制 root 仅在特定tty登录;登录时减少系统信息泄露。
- 关键文件保护:对**/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow设置chattr +i**不可更改属性。
三 网络与 SSH 安全
- 防火墙默认拒绝:启用firewalld,仅放行必需服务(如SSH),并定期审查规则。
- SSH 加固:禁用root直登(PermitRootLogin no),强制SSHv2,优先使用密钥认证替代密码;可修改默认端口并结合 fail2ban 降低暴力破解风险。
- 关闭不必要端口与服务:禁用未使用的服务(如postfix)与端口(如TCP 25),减少暴露面。
四 日志审计与完整性
- 集中化日志:配置rsyslog将**/var/log/secure**等关键日志转发至日志服务器,便于审计与取证。
- 日志轮转与留存:在**/etc/logrotate.conf中设置合理的rotate与maxage**,满足合规留存。
- 审计与命令历史:启用auditd进行系统调用审计;在**/etc/profile.d/中设置HISTTIMEFORMAT**,为历史命令添加时间戳。
- 完整性保护:对关键系统文件设置chattr +i,防止未授权篡改。
五 容器与虚拟化场景补充
- 容器运行时安全:以非 root运行(Dockerfile USER),使用多阶段构建减小攻击面,持续镜像扫描与更新。
- 虚拟化与云平台:在 VM 镜像制作前清理历史命令与日志、移除临时加固脚本,保持镜像“干净”;在云上启用基线检查与合规扫描,并进行稳定性测试后再投产。