配置Nginx以解决http host头攻击漏洞

配置Nginx以解决http host头攻击漏洞

最近开发的应用接受了安全测试,发现了几个安全问题,在解决的过程中记录一下;

一、HTTP Host头攻击漏洞解决

1、问题描述

	检测应用是否在请求目标站点时返回的URL是直接将Host头拼接在URI前。

2、测试过程

在请求目标站点时,将HOST改为其他域名,如www.baidu.com,应用返回的URL将www.baidu.com拼接在URI前,如下图所示:
在这里插入图片描述

3、 解决方案

在Nginx里还可以通过指定一个SERVER_NAME名单,只有这符合条件的允许通过,不符合条件的返回403状态码。

server {
        listen 80;
        server_name 127.0.0.1 192.168.1.32;
        if ($http_Host !~* ^192.168.1.32|127.0.0.1$)
        {
            return 403;
        }                
    }

二、 HTTP Method非POST和GET方式击漏洞解决

安全要求,尽量用get和post的api的应用,禁用OPTIONS ,即对put,delete,tract等最不要使用,他们认为不安全

解决方案

#在nginx的server中配置,禁用options请求,即仅仅让GET、POST类型请求通过,其余不安全的请求方式返回403状态码,代码如下。

 if ($request_method !~* GET|POST) {
            return 403;
  }

参考链接:https://www.cnblogs.com/huiy/p/13427401.html


版权声明:本文为xiashenbao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。