/var/log/nginx/error.log
中的异常请求# 禁用server tokens
server_tokens off;
# 限制HTTP方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 405;
}
# 防止点击劫持
add_header X-Frame-Options "SAMEORIGIN";
# 启用XSS保护
add_header X-XSS-Protection "1; mode=block";
# 禁用内容类型嗅探
add_header X-Content-Type-Options "nosniff";
# 限制请求体大小
client_max_body_size 10m;
# 限制缓冲区大小
client_body_buffer_size 128k;
client_header_buffer_size 1k;
# 限制请求速率
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384...';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ModSecurity:开源WAF模块
load_module modules/ngx_http_modsecurity_module.so;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
商业WAF:Cloudflare、Akamai等
限制连接数:
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 100;
启用SYN Cookie防护:net.ipv4.tcp_syncookies = 1
nginx -t
和gixy
工具通过以上综合措施,可以显著提高Nginx服务器的防御能力,并建立有效的监控机制,及时发现和应对安全威胁。