配置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
|