C++ 在 Linux 系统的安全防护实践
一 构建期加固
二 代码与运行时安全
三 系统与进程隔离
四 网络与数据安全
五 快速检查清单
| 领域 | 关键动作 | 工具/配置 |
|---|---|---|
| 构建期 | 开启栈保护与强化检查 | -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -Wextra |
| 代码质量 | 静态/动态分析 | Clang Static Analyzer、Cppcheck、Valgrind |
| 内存与并发 | 智能指针、容器、同步 | std::unique_ptr/shared_ptr、std::vector/string、pthread |
| 访问控制 | 强制访问控制 | SELinux/AppArmor 策略 |
| 网络安全 | 防火墙与端口最小化 | firewalld/iptables 仅放行 80/443 等必要端口 |
| 账户与 SSH | 禁止 root 直登、限制登录 | PermitRootLogin no、MaxAuthTries |
| 加密与密钥 | TLS 与密钥安全 | TLS 1.2+、证书权限 0600、HSM/KMS |
| 日志与监控 | 安全审计与告警 | /var/log/secure、Prometheus/Grafana |