Debian Nginx的安全配置是确保Web服务器稳定性和数据安全性的关键步骤。以下是一些主要的配置要点:
隐藏版本号信息:
server_tokens off;
指令,可以关闭版本信息的显示。配置安全Headers:
add_header X-Frame-Options "SAMEORIGIN";
:防止点击劫持。add_header X-XSS-Protection "1;mode=block";
:启用浏览器XSS防护功能。add_header X-Content-Type-Options "nosniff";
:禁止浏览器猜测资源的MIME类型。add_header Referrer-Policy "strict-origin-when-cross-origin";
:控制引用地址信息的传递。add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'";
:内容安全策略,控制资源加载来源。限制连接数:
limit_conn_zone $binary_remote_addr zone=addr:10m;
:定义一个共享内存区域,用于存储IP连接数信息。limit_conn addr 100;
:限制每个IP同时最多100个连接。limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s;
:定义请求频率限制,每个IP每秒最多10个请求。配置白名单:
allow 192.168.1.0/24;
:允许192.168.1.x网段的所有IP。allow 10.0.0.0/8;
:允许另一个内网IP段访问。deny all;
:拒绝其他所有IP访问。启用HTTPS配置:
listen 443 ssl;
:监听443端口,启用SSL。ssl_certificate /path/to/cert.pem;
:指定SSL证书路径。ssl_certificate_key /path/to/key.pem;
:指定SSL证书密钥路径。if ($scheme != "https") {return 301 https://$server_name$request_uri;}
:将所有HTTP请求重定向到HTTPS。add_header Strict-Transport-Security "max-age=31536000" always;
:启用HSTS,强制浏览器在指定时间内使用HTTPS访问。优化SSL配置:
ssl_protocols TLSv1.2 TLSv1.3;
:只允许TLS 1.2和1.3版本,禁用不安全的SSL和早期TLS版本。禁用不必要的模块和服务:
配置错误页面:
监控和日志记录:
通过以上配置,可以显著提高Debian Nginx服务器的安全性,保护网站和应用程序免受潜在威胁。