2、是否限制可用的方法----------if ($request_method !~ ^(GET|HEAD|POST)$ ) {return 444; }在哪里配置? [color=blue]---该段代码的作用是屏蔽非GET、HEAD或POST类型请求,返回XXX状态码。 根据作用范围,配置在server、location中都可以。 参考: server { listen 8083; server_name localhost; if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 403; } …… }[/color] 3、是否存在目录遍历 ----------没有autoindex参数是否合格? [color=blue]---nginx默认autoindex为off,一般不需要配置。 ngx_http_autoindex_module配置参考:http://wiki.nginx.org/NginxChsHttpAutoindexModule http://www.ctohome.com/FuWuQi/46/375.html 配置参考: location ^~/ui/ { root /netapp/applications/NetbWeb4; expires max; autoindex on; autoindex_exact_size off; autoindex_localtime on; } 配置前访问效果 [img]http://dl.iteye.com/upload/attachment/0071/9687/ae38da4e-18fc-36a1-87c8-da60a626089b.png[/img] 配置后访问效果 [img]http://dl.iteye.com/upload/attachment/0071/9689/75f9c2b5-414a-3489-93c6-4ed1faeb61d9.png[/img] [/color] 4、是否存在文件类型解析漏洞----------location 节点中无try_files $fastcgi_script_name = 404;是否合格? [color=blue]---1)该漏洞应该是针对nginx解析php的,目前我们的应用没有使用php,并已在nginx配置中设有屏蔽,如下 location ~* \.(php|asp|aspx)$ { rewrite ^(.*) http://172.19.67.1:8083/404.html redirect; } 2)若应用中采用php,则可以采用以下方式解决 关闭cgi.fix_pathinfo为0 或者 if ( $fastcgi_script_name ~ \..*\/.*php ) { return 403; } 参考:http://www.80sec.com/nginx-securit.html[/color]