在Ubuntu上对Nginx进行安全设置是确保Web服务器稳定性和数据安全性的重要步骤。以下是一些基本的安全配置措施:
server_tokens off;
以避免在响应头中暴露Nginx版本号,减少被攻击的风险。limit_except GET POST { deny all; }
来限制非GET和POST请求,防止恶意请求。add_header X-Frame-Options "SAMEORIGIN";
以防止网页被嵌套在frame中。add_header X-XSS-Protection "1; mode=block";
启用浏览器XSS过滤。server { listen 80; return 301 https://$host$request_uri; }
实现。ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
,并启用TLS 1.2和TLS 1.3。allow 192.168.1.0/24; deny all;
仅允许特定IP访问Nginx服务。limit_req_zone
和 limit_req
指令限制每个IP的请求速率,防止DDoS攻击。location ~* \.(php|log|env|git|svn|htaccess)$ { deny all; }
禁止访问敏感文件和目录。log_format security '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
记录关键安全信息。通过上述配置,可以显著提高Nginx服务器的安全性。但请注意,安全是一个持续的过程,需要定期更新、审计和加固。