以下是Debian Nginx的安全配置技巧:
- 基础安全加固
- 隐藏版本号:在配置文件中添加
server_tokens off;。 - 配置安全HTTP头:添加
X-Frame-Options、X-XSS-Protection等头信息防止点击劫持、XSS攻击。
- 隐藏版本号:在配置文件中添加
- 访问控制
- 限制IP访问:通过
allow/deny指令配置白名单/黑名单,如限制管理后台仅允许可信IP访问。 - 限制连接数与请求频率:使用
limit_conn_zone和limit_req_zone模块防止DDoS攻击。
- 限制IP访问:通过
- SSL/TLS安全配置
- 启用HTTPS并强制跳转:配置SSL证书,通过
return 301 https://重定向HTTP请求。 - 优化加密套件:仅使用TLS 1.2/1.3协议及强加密套件,如
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384'。 - 启用HSTS:添加
Strict-Transport-Security头强制浏览器使用HTTPS。
- 启用HTTPS并强制跳转:配置SSL证书,通过
- 防火墙与网络隔离
- 使用UFW限制端口:仅开放HTTP(80)、HTTPS(443)等必要端口。
- 禁用不必要的服务:关闭非必要的网络接口和服务,降低攻击面。
- 日志与监控
- 记录访问与错误日志:配置
access_log和error_log定期分析异常行为。 - 结合工具监控:使用Fail2Ban自动封禁恶意IP,或通过ELK Stack分析日志。
- 记录访问与错误日志:配置
- 其他高级措施
- 禁用危险模块:如不需要的HTTP方法(
OPTIONS、TRACE等)可通过limit_except限制。 - 定期更新:保持Nginx、系统及依赖库的最新版本,及时修补漏洞。
- 禁用危险模块:如不需要的HTTP方法(
参考来源: