Nginx处理500内部服务器错误安全问题

时间:2018-08-19 04:41:33

标签: security nginx lua zap custom-error-handling

我正在尝试修复500个内部服务器错误的安全漏洞,公开文件的位置

我的问题类似于(https://cdn-images-1.medium.com/max/1600/1 * 2DAwIEJhgLQd82t5WTgydA.png)

https://medium.com/volosoft/running-penetration-tests-for-your-website-as-a-simple-developer-with-owasp-zap-493d6a7e182b

我尝试过

  

proxy_intercept_errors;

  

error_page 500

重定向,但没有帮助。

对此有任何帮助吗?

1 个答案:

答案 0 :(得分:1)

这是实现1 to 10

的基本示例
RegularExpressionValidator

注意:

<asp:RegularExpressionValidator ID="RegExp1" runat="server"    
 ErrorMessage="Password range (1 -10)"
 ControlToValidate="Pass"    
 ValidationExpression="^[a-zA-Z0-9'@&#.\s]{1,10}$" />

这将拦截一些proxy_intercept_errors on;错误和upstream foo { server unix:/tmp/foo.sock; keepalive 60; } server { listen 8080 default_server; server_name _; location = /errors/5xx.html { internal; root /tmp; } location / { proxy_pass http://foo; proxy_http_version 1.1; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_intercept_errors on; error_page 500 501 502 503 504 505 404 =200 /errors/5xx.html; } } 除外,并返回200

还要检查error_page 500 501 502 503 504 505 404 =200 /errors/5xx.html; 的位置,是否使用5xx,因此您仍然需要创建文件404

/errors/5xx.html

您不一定需要一个文件来答复您的请求,也可以使用如下所示的内容:

root /tmp;

对于您而言,未找到的errors/5xx.html文件可能具有不同的处理方式,例如:

$ mkdir /tmp/errors
$ echo "intercepting errors" > /tmp/errors/5xx.hml

在这种情况下,如果找不到以location = /errors/5xx.html { internal; default_type text/plain; return 200 'Hello world!'; } 结尾的文件,它将尝试使用另一台服务器,那么如果需要,您仍然可以在其中侦听错误。