参考资料

  1. Nginx 启动、停止、重启、加载配置详细说明以及案例
  2. Nginx配置文件详细说明以及案例
  3. nginx 配置ssl证书
  4. 如何配置Nginx反向代理?
  5. Nginxroot指令根目录配置详细说明以及案例
  6. 如何设置Nginx的SSL/TLS加密?
  7. Nginx集群配置详细说明以及案例
  8. Nginx基础安全设置及示例
  1. 保持Nginx更新

  • 定期升级到最新稳定版

  • 及时应用安全补丁

  1. 配置安全策略

# 禁用不必要的方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
    return 444;
}

# 限制敏感文件访问
location ~* \.(bak|sql|conf|sh|php|log)$ {
    deny all;
}
  1. 文件权限控制

  • 设置nginx运行用户为非root

  • 配置目录权限为755

  • 配置文件权限为644

  1. Web应用防火墙

  • 安装ModSecurity模块

  • 启用OWASP核心规则集

  1. 备份策略

  • 每日自动备份配置文件

  • 使用版本控制系统管理配置变更

  • 离线存储重要备份

  1. 日志监控

# 增强日志记录
log_format security '$remote_addr - $remote_user [$time_local] '
                   '"$request" $status $body_bytes_sent '
                   '"$http_referer" "$http_user_agent" $request_time';
  1. 禁用危险功能

# 关闭server_tokens
server_tokens off;

# 禁用自动目录列表
autoindex off;
  1. 网络层防护

  • 限制管理接口访问IP

  • 启用防火墙规则

  • 使用fail2ban防暴力破解

  1. SSL配置强化

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';