debian

Nginx在Debian下的安全设置指南

小樊
50
2025-08-27 04:18:09
栏目: 智能运维

以下是Nginx在Debian下的安全设置指南:

  1. 系统和软件更新:保持系统和Nginx软件包最新,及时安装安全更新。
    • sudo apt update && sudo apt upgrade -y
  2. 隐藏Nginx版本信息:编辑/etc/nginx/nginx.conf,在http块中添加server_tokens off;
  3. 配置安全HTTP响应头:在Nginx配置文件中添加以下指令:
    • add_header X-Frame-Options "SAMEORIGIN";
    • add_header X-XSS-Protection "1; mode=block";
    • add_header X-Content-Type-Options "nosniff";
    • add_header Content-Security-Policy "default-src 'self'";
    • add_header Referrer-Policy "no-referrer-when-downgrade";
  4. 限制连接数和请求频率:在http块中定义共享内存区域和限制。
    • limit_conn_zone $binary_remote_addr zone=addr:10m;
    • limit_conn addr 100;
    • limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s burst=20;
  5. 启用HTTPS:使用Let’s Encrypt免费证书,配置SSL证书并强制HTTPS访问。
    • sudo apt install -y certbot python3-certbot-nginx
    • sudo certbot --nginx -d yourdomain.com
  6. 防火墙配置:使用UFW或iptables控制进出流量,允许必要的端口。
    • sudo ufw allow 80/tcp
    • sudo ufw allow 443/tcp
    • sudo ufw enable
  7. 访问控制:通过IP黑白名单、限制敏感HTTP方法等方式控制访问。
    • location /admin { allow 192.168.1.0/24; deny all; }
    • if ($request_method !~ ^(GET|POST|HEAD)$) { return 444; }
  8. 日志与监控:配置详细的访问和错误日志,定期检查日志文件,使用工具分析日志。
    • access_log /var/log/nginx/access.log main;
    • error_log /var/log/nginx/error.log warn;

0
看了该问题的人还看了