我又双叒叕来了,当然今天的文章还是Web安全防护的内容,发现一个问题,我现在离开宝塔面板估计都生存不下去了,首先我本身是一个强迫症患者,不允许自己的站点有什么高危,中危漏洞(其实还真有,只是懒得修改),宝塔有自己的安全策略,基本都能满足了日常的攻击行为,为了安全起见,我还特意开启了网站CDN服务,进一步加强了服务器的安全防护,所以没有真正意义的去做过一些防护措施,直至此次搭建华为的麒麟服务器才算是从底部一点点做了起来,当然这得排除程序之外,毕竟还是那句老话,我并不熟悉ThinkPHP(说的好像除了TP之外都熟悉一样,其他所有的程序只懂一丢丢的ZBP),好了,不废话了,今天修改nginx服务器中不常用的HTTP方法。
漏洞简介
从安全防护角度考虑,一般我们要禁用不安全的 HTTP 方法,仅保留 GET、POST或者其他常用的方法。
Nginx 禁用不安全(非~常用的)的http方法,既可以在Nginx配置文件 server 下进行全局设置,也可以在某个location下进行设置。先来看看此次漏洞的名称“信息泄露”不安全的方法,如图:
修复方法:
漏洞级别属于低危,还好,漏洞的意思是攻击者可以使用OPTIONS和Trace方法来枚举服务器的相关信息,修复的建议就是在服务器的配置中禁止非~常用的HTTP方法,代码中只支持常见的HTTP方法,添加的方法有很多,可以在伪静态设置也可以直接设置在网站的配置文件中,本身设置方法是在网站的配置文件中,具体代码参考如下:
代码语言:javascript复制if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
复制如上代码,找到站点,点击设置,找到配置文件,粘贴空白处就行,如图。
大概的意思就是,如果页面使用这三种(GET、HEAD、POST)之外的方法,网站直接返回403页面,无法获取更多信息,从而加强了服务器的安全性能,添加完成后保存,重载nginx配置文件就行了。
真的没接触过其他的程序,也没有真正的去扫描过网站的漏洞情况,不知道我们的ZBP会不会也存在这些漏洞,又或者这是服务器的漏洞跟程序的源代码并没有任何关系,也许吧,等我时间充裕了,我也去检测下,不过我估计这么低危的常见的漏洞应该是不会有了,毕竟服务器 CDN都设置了防护的措施,但即便如此我们还是要学会一些常见的攻防措施,毕竟常在河边走哪有不湿鞋的!