以下是CentOS下Python安全设置的操作方法:
-
使用虚拟环境隔离依赖
python3 -m venv myenv # 创建虚拟环境 source myenv/bin/activate # 激活环境 -
启用系统级安全模块
- SELinux:
sudo yum install selinux-policy-targeted sudo systemctl enable --now selinux可通过
audit2allow工具生成自定义策略。 - AppArmor(可选):
sudo yum install apparmor apparmor-utils sudo aa-genprof /usr/bin/python3 # 按提示配置文件访问权限
- SELinux:
-
配置防火墙限制访问
sudo yum install firewalld sudo systemctl enable --now firewalld sudo firewall-cmd --permanent --zone=public --add-port=8000/tcp # 开放指定端口 sudo firewall-cmd --reload -
强化用户权限与认证
- 禁用
root远程登录,使用普通用户+密钥认证SSH。 - 设置复杂密码,定期更新用户口令策略。
- 禁用
-
更新系统与软件包
sudo yum update -y # 系统更新 pip install --upgrade pip # Python包管理器升级 pip list --outdated --format=freeze | xargs -n1 pip install -U # 升级过时包 -
输入验证与安全编程
- 对用户输入进行类型、长度校验及正则表达式过滤,防止SQL注入、XSS等攻击。
- 避免使用
eval()、exec()等不安全函数。
-
加密与安全通信
- 生产环境使用HTTPS协议,通过Nginx/Apache配置SSL证书。
- 敏感信息(如数据库密码)通过环境变量或加密配置文件存储。
-
日志与监控
- 使用Python
logging模块记录应用日志,结合系统日志工具(如journalctl)分析异常。
- 使用Python