Ubuntu Nginx安全设置要点如下:
- 系统基础加固
- 定期更新系统及Nginx:
sudo apt update && sudo apt upgrade -y。
- 最小化安装,移除不必要的软件包。
- 禁用root SSH登录,使用密钥认证。
- Nginx核心安全配置
- 隐藏版本信息:
server_tokens off;。
- 限制HTTP方法:仅允许GET、HEAD、POST,拒绝其他方法。
- 安全头部设置:添加X-Frame-Options、X-XSS-Protection等头部,防御点击劫持、XSS等攻击。
- SSL/TLS配置:启用HTTPS,使用Let’s Encrypt证书,配置强加密套件(TLSv1.2/1.3)。
- 访问控制与速率限制
- IP访问控制:通过
allow/deny指令限制特定IP或IP段访问敏感路径。
- 速率限制:使用
limit_req模块防止DoS攻击,例如限制API请求频率。
- 认证机制:通过HTTP Basic Auth或集成OAuth/JWT保护敏感区域。
- 防恶意攻击措施
- 防SQL注入/XSS:过滤请求参数,禁止危险字符(如
<script>)。
- 文件上传限制:禁止上传可执行文件,限制文件类型和大小。
- WAF集成:安装ModSecurity等Web应用防火墙,拦截常见攻击。
- 日志与监控
- 配置详细访问日志和错误日志,定期分析异常请求。
- 安装Fail2Ban防止暴力破解。
- 其他安全实践
- 使用低权限用户运行Nginx(如
nginx用户)。
- 限制配置文件权限:
chmod 600 /etc/nginx/*.conf。
- 定期备份配置文件和证书。
参考来源:[1,2,3,4,5,6,7,8,9,10]