Linux 下 C++ 程序安全防护清单
一 安全编码与内存安全
二 编译器与构建加固
三 运行时与系统防护
四 漏洞检测与审计
五 最小可用加固示例
g++ -O2 -fstack-protector-strong -D_FORTIFY_SOURCE=2 \
-Wl,-z,relro,-z,now -Wl,-z,noexecstack -fPIE -pie \
-Wall -Wextra -Werror -o myapp myapp.cpp -lssl -lcrypto
[Unit]
Description=My Secure C++ Service
[Service]
ExecStart=/usr/local/bin/myapp
User=appuser
Group=appgroup
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=yes
Restart=on-failure
ProtectSystem=strict
PrivateTmp=yes
ProtectHome=yes
ReadWritePaths=/var/lib/myapp /var/log/myapp
[Install]
WantedBy=multi-user.target