nginx 最佳安全实践

作者:亚艾元技术部

禁用不需要的http方法:


HTTP支持的方法要多一些,实际我们平时用的就是GET|HEAD|POST, 对于TRACE和DELETE,就不常用,而且后面两种方法经常带来潜在的危险,比如跨站追踪攻击和窃取cookie信息等等。

通过下面的代码,即可禁用:

if ($request_method !~ ^(GET|HEAD|POST)$ )
{
       return 405;
}


X-Frame-Options:

add_header X-Frame-Options "SAMEORIGIN";


X-XSS 保护:

add_header X-XSS-Protection "1; mode=block";



禁止显示nginx版本信息:

默认response header会显示:

Server: nginx/1.16.1


这样会泄露我们使用了哪个nginx版本。添加以下代码:

server_tokens off;


Drupal版本: