首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何抵御恶意的GET请求?

如何抵御恶意的GET请求?
EN

Security用户
提问于 2015-07-28 05:24:17
回答 2查看 3.2K关注 0票数 6

如果请求如下所示,我的服务器将受到各种各样的攻击:

代码语言:javascript
复制
Started GET "/key/values"
ActionController::RoutingError (No route matches [GET] "/key/values")

Started GET "/loaded"
ActionController::RoutingError (No route matches [GET] "/loaded")

Started GET "/top/left"
ActionController::RoutingError (No route matches [GET] "/top/left")

我应该如何防御这种攻击呢?这些请求会不会减缓我的网站,即使他们没有得到回应?

EN

回答 2

Security用户

回答已采纳

发布于 2015-07-28 07:34:10

如何抵御恶意的GET请求?

这些请求看起来并不是真正的恶意。至少根据您的描述,它们不会造成任何伤害,即没有不必要的代码执行、SQL注入或类似的攻击。他们只需要一些资源来处理。您看到的是web服务器的每个操作员在日志文件中都能看到的内容:许多请求与服务器上的任何内容不匹配,因为有人在扫描互联网,寻找易受攻击的系统。此外,这些请求也可能是由您的站点的更改引起的,以前有效的URL现在是无效的,但是机器人仍然记得旧的URL,并检查这些URL的更新。

如果这些请求困扰您,那么您可以将应用程序更改为忽略此类请求(而不是将其记录为错误),也可以通过服务器/反向代理在应用程序前面过滤这些请求。

虽然建议的web应用程序防火墙(WAF)可以过滤这些请求,但我认为安装一个防火墙来过滤这些无害的请求是过分的。但是正确地使用(即适应应用程序,而不是像通常情况那样仅仅安装和遗忘),它可以是一个有用的保护层。虽然建议的fail2ban也可以提供帮助,但只有当这些请求仅来自少数几个IP地址时才会有用,而这通常不是这样的。此外,依赖fail2ban可以锁定有效用户,因为到站点的无效链接可以包含在邮件或其他网站中,因此请求的初始IP地址不是攻击者,而是在访问该链接时被欺骗的无辜用户。但是fail2ban只看到原始IP和错误消息,然后锁定无辜用户。

您应该做的是确保您的应用程序不会受到攻击,OWASP是学习保护web应用程序的一个很好的资源。如果您的应用程序比它更安全,那么处理这类请求就没有问题。但是,为了限制无效请求的资源使用,您应该确保在应用程序中尽早检测和拒绝这些请求,也就是说,如果无效请求也会触发对数据库的昂贵查询,那将是很糟糕的。

票数 10
EN

Security用户

发布于 2015-07-28 06:05:37

最简单的防御解决方案是安装一个Web应用程序防火墙。

您可以在OWASP维基百科上找到关于它们的深入描述。

我怀疑这些请求会拖慢你的网站。攻击者很可能会请求现有的项目,因为这样会更有效地浪费web服务器的资源。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/95119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档