以下是Ubuntu下Python的安全设置要点:
系统与软件更新
定期更新系统和Python包,修复漏洞:
sudo apt update && sudo apt upgrade
pip list --outdated && pip install --upgrade <package_name>
使用虚拟环境隔离依赖
避免系统级污染,隔离项目依赖:
python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt
输入验证与安全编码
eval()、exec()等不安全函数,使用参数化查询防止SQL注入。bcrypt/scrypt加密存储。依赖安全扫描
用safety或bandit工具定期扫描漏洞:
pip install safety
safety check -r requirements.txt # 检查依赖漏洞
pip install bandit
bandit -r ./src # 扫描代码安全问题
配置防火墙与网络隔离
用ufw限制端口访问,仅开放必要服务(如SSH、HTTP):
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw enable
HTTPS与加密传输
为Web应用配置SSL证书,强制使用HTTPS:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
日志监控与权限管理
fail2ban防范暴力破解,记录异常访问。chmod 600敏感文件)。避免不安全的库与函数
定期审查依赖库,移除冗余或存在漏洞的包,优先使用经过安全审计的框架(如Django、Flask)。
参考来源: