CentOS 上 C++ 安全漏洞防范方法
一 系统层面加固
二 编译与工具链安全
三 代码层面安全实践
四 运行与网络部署
五 快速检查清单
| 环节 | 关键措施 | 命令或示例 |
|---|---|---|
| 系统更新 | 全量更新与自动更新 | sudo yum update -y;sudo yum install yum-cron -y && sudo systemctl enable --now yum-cron |
| 防火墙 | 仅开放 80/443 | sudo firewall-cmd --permanent --add-service=http --add-service=https && sudo firewall-cmd --reload |
| SELinux | 启用并按需策略 | sudo setenforce 1;/etc/selinux/config 中 SELINUX=enforcing |
| 运行用户 | 专用非 root | sudo adduser myappuser;chown -R myappuser:myappgroup /opt/myapp;chmod 750 /opt/myapp |
| 编译选项 | 安全加固与 PIE | g++ … -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wall -Wextra -O2 -pie -fPIE |
| 静态分析 | 发现缺陷 | scan-build g++ …;cppcheck --enable=all src/ |
| 动态分析 | 内存错误 | valgrind --leak-check=full ./myapp;ASan:-fsanitize=address |
| 数据库安全 | 防注入 | 使用参数化查询/预处理语句 |
| 日志监控 | 集中与告警 | 配置 rsyslog;部署监控/告警规则 |
| 备份恢复 | 定期与可恢复 | rsync/备份脚本 + 定期恢复演练 |