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服务器的安全性,保护网站和应用程序免受潜在威胁。