我的知识记录

网站只允许GET POST HEAD方法配置_新手友好_白名单配置教程

HTTP方法的安全配置遵循最小权限原则,网站只开放业务必需的方法。绝大多数网站只需要GET(获取页面)和POST(提交表单),HEAD方法用于检查资源状态可以保留,其他方法如果没有明确的业务需求都应该禁用。这项配置改动小、效果明显,是网站安全加固中性价比最高的操作之一。

Nginx禁用危险HTTP方法的配置方式是在server块中添加if条件判断。推荐使用白名单方式:只允许GET、POST、HEAD方法,其他全部返回405。配置写法:if ($request_method !~ ^(GET|POST|HEAD)$) { return 405; }。这条规则会匹配所有非白名单内的方法,返回405 Method Not Allowed状态码。需要注意Nginx的if指令在某些情况下有性能问题,但用于方法判断影响很小,可以放心使用。

CONNECT方法用于建立隧道连接,通常只在代理服务器中使用。Web服务器如果支持CONNECT方法,可能被利用作为代理进行攻击或访问内网资源。绝大多数网站不需要CONNECT方法,应该禁用。此外还有PROPFIND、PROPPATCH、MKCOL、COPY、MOVE、LOCK、UNLOCK等WebDAV扩展方法,如果不使用WebDAV都应该一并禁用。

禁用HTTP方法后需要检查网站功能是否受影响。大部分网站只使用GET和POST,禁用其他方法不会有影响。但有一些特殊场景需要注意:使用CORS跨域的网站,浏览器会发送OPTIONS预检请求,这种情况下不能完全禁用OPTIONS,需要限制OPTIONS只在特定路径下允许。使用RESTful API的网站可能需要PUT和DELETE方法,需要根据API设计决定是否开放。CDN缓存可能使用HEAD请求,所以建议保留HEAD方法。

运维案例:有个客户的服务器开启了WebDAV,被攻击者通过PUT方法上传了webshell。处理时不仅删除了木马,还卸载了WebDAV模块,在HTTP方法配置中禁用了PUT、DELETE、PROPFIND等所有WebDAV相关方法,后续没有再出现类似问题。

安全提示:禁用HTTP危险方法只是安全加固的一项,不能替代其他安全措施。它能防止特定类型的攻击,但对于SQL注入、XSS、文件上传漏洞等没有防护效果。建议结合WAF、程序升级、权限加固等措施形成完整防护体系。

网站只允许GET POST HEAD方法配置_新手友好_白名单配置教程

标签:

更新时间:2026-08-26 23:17:21

上一篇:企业客户案例页突然打不开

下一篇:Windows10微信六开教程_分身版一步一步_数据独立