Linux安全加固与容器基础
Linux 是云和容器的基础平台。安全加固要覆盖账号、SSH、补丁、端口、审计、权限、容器运行时和镜像供应链。
# 1. 学习目标
- 掌握 Linux 主机基础安全加固项。
- 理解容器依赖的 namespace、cgroup、capability 和 seccomp。
- 能识别容器运行中的常见安全风险。
# 2. 知识框架
Linux安全加固与容器基础
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料
安全加固从主机基线开始,向上覆盖容器运行时、镜像、编排平台和应用自身。
# 3. 核心概念
| 主题 | 说明 | 工程关注 |
|---|---|---|
| SSH 加固 | 限制远程登录方式和认证策略 | 密钥登录、禁 root、审计 |
| 安全模块 | SELinux、AppArmor、seccomp 等限制机制 | 强制访问控制、系统调用过滤 |
| Capability | 把 root 权限拆成细粒度能力 | 容器最小权限 |
| 镜像安全 | 基础镜像、依赖漏洞、签名和扫描 | 供应链风险 |
# 4. 机制与实践
- 关闭不必要服务和端口,保留可审计的远程入口。
- 容器默认不要 privileged,按需添加 capability 和只读文件系统。
- 镜像构建固定版本,定期扫描漏洞并清理敏感文件。
# 5. 常用命令与工具
| 命令或工具 | 作用 | 使用建议 |
|---|---|---|
ss -lntup | 查看监听端口 | 确认暴露面 |
last | 查看登录历史 | 排查异常登录 |
docker run --cap-drop=ALL | 启动时移除默认 capability | 按需最小授权 |
# 6. 常见误区
- 容器内用 root 无所谓:容器 root 仍有逃逸和误操作风险,应使用非 root 用户。
- 关闭 SELinux 解决问题:可能掩盖策略配置错误并降低整体安全。
- 镜像中留下密钥:构建层可能保留历史文件,造成凭据泄漏。
# 7. 进阶研究方向
- 学习 CIS Linux Benchmark 和容器安全基线。
- 研究 seccomp、AppArmor、SELinux 对容器的限制方式。
- 演练一次从镜像漏洞到运行时权限的风险评估。
# 8. Tips 快问快答
Q:容器 privileged 有什么风险?
A:它会授予容器大量宿主机能力,显著扩大逃逸和破坏范围。
Q:Linux 主机加固最先做什么?
A:先做账号、SSH、补丁、端口、日志审计和最小权限。
Q:镜像扫描能解决所有安全问题吗?
A:不能。它主要发现已知漏洞,还需要运行时限制、密钥治理和供应链控制。
# 9. 总结
Linux 安全不是某个工具,而是一套从主机到容器的分层防护。越接近生产,越要强调最小权限、可审计和持续更新。
上次更新: 2026/06/25, 10:02:19