如何减慢黑客的速度

Fli*_*ter 17 hacking asp.net

印度德里的某个脚本小子从昨晚开始就一直试图入侵我们的网站。他编写了一个浏览器脚本,在大量嵌套循环中向我们的服务器发出请求,在阳光下尝试一切。

他什么也没有,甚至连我们的基本防御都没有通过(但他正在填满我们的日志文件)。

我们403 Unauthorized几乎一收到他的请求就将a 发送回给他,但是我们阻止他的请求的速度越快,他的脚本运行得就越快。

我们想在发回 403 响应之前引入某种“延迟”。时间越长越好。

问题:我们如何才能在不影响网站其余部分的情况下延迟黑客尝试?

  • 我认为他线程上的 Sleep(15000) 对其他网站访问者来说是个坏消息。
  • 只为他创建一个新线程似乎有点矫枉过正。
  • 还有另一种发送延迟响应的方法吗?
  • 我们可以强制他的浏览器等待多久?我想我不太关心他是否得到403 Unauthorized错误或最终超时,所以我们甚至可以做无限期/无限期的等待。

Joe*_*oel 37

在您的 Web 服务器前面的某处应该有一个单独的防火墙。您想阻止那里的请求到达您的服务器,这样就他的 IP 而言,您的服务器不再存在。

  • @flip 单击您的姓名,然后单击右侧页面下方的“帐户”链接。这将使您将其关联回您的堆栈溢出帐户并重新获得问题的所有权。 (2认同)

Unr*_*son 5

有大小实际的入侵检测系统会根据各种过滤器、蜜罐和其他机制自动为您执行此操作

例如,fail2ban可以配置为根据日志分析采取行动。

这样你就可以

  • 轻松过滤攻击来源的单个 IP 地址,而不会影响您网站的其他用户
  • 您可以编写自己的正则表达式来分析日志
  • 您可以定义自己的操作(节流而不是禁令等)

还有其他更大的工具,请参阅维基百科上的另见部分。

由于您的问题被标记为 asp.net,我假设您的服务器平台是 windows。不过,如果使用 linux 防火墙是一种选择,您可以尝试上述方法

  • 在 WAN 和您的服务器之间放置一个 linux 防火墙
  • 授予对防火墙机器的访问权限以访问您的 IIS 日志
  • 写正则表达式来分析它
  • 将其插入现有模板以进行禁止

这样的防火墙可以在极其普通的硬件上运行 - 甚至可以考虑像 linksys 路由器(参见此处)之类的东西,以获得非常不错的链接带宽。


小智 0

如果您使用的是 Linux,请使用 iptables 来限制该人喜欢 1 字节/秒的大延迟,并让他花很长时间才能通过一个请求。如果它是分布式的,那不会有太大帮助。

我不确定您在 Windows 上如何执行此操作,但您可能会在路由器或硬件防火墙(如果有)中找到一些类似的选项。

编辑:同意上述内容,这更像是服务器故障问题。

  • 攻击者有时会在 DDoS 攻击中使用此技术。在服务器上执行此操作会适得其反。<_< (2认同)