适用场景
Linux 加固不是关几个服务就完事,核心是"账号能追责、操作有记录、暴露面最小、补丁跟进"。等保检查基本就是看这几项。
配置步骤(容器与云主机基线)
# Docker 基线
cat /etc/docker/daemon.json
usermod -aG docker 运维账号 # 避免用 root 跑容器
docker ps --format '{{.Names}} {{.Ports}}'
# 危险点:容器里跑 --privileged、挂载 docker.sock、端口 0.0.0.0 暴露
docker inspect --format '{{.HostConfig.Privileged}}' 容器名
关键参数与建议
- 账号:禁用无用账号,禁止 root 直接远程,按人分配账号并 sudo 授权
- SSH:改端口不是安全手段,禁 root 登录、禁空口令、限制来源更有效
- 审计:开启 auditd 或至少保留命令历史(HISTTIMEFORMAT + 集中日志)
- 防火墙:默认拒绝入站,只放通业务端口;管理端口限制来源
- 补丁与时间:定期更新安全补丁,NTP 同步保证日志可用
容易踩的坑
- 容器用 --privileged 且挂载宿主根目录,逃逸风险极高
- 数据库容器端口直接映射到公网
- 镜像未固定版本标签,更新后行为变化查不到原因
验证与巡检
docker ps --format '{{.Names}}\t{{.Ports}}'
docker inspect --format '{{.HostConfig.Privileged}}' 容器名
- 巡检:无 privileged 容器、端口仅监听内网、镜像版本固定
小结
加固后要能"证明":检查项逐条有输出、有截图、有台账。建议把检查脚本固化下来,每季度跑一次并归档结果。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。