如何理解和减少Rails应用程序中的IP欺骗攻击错误?

And*_*rew 7 security ip ruby-on-rails spoofing

我的错误报告服务收到大量关于IP欺骗攻击的电子邮件,频率越来越高.如果我理解正确,当请求设置HTTP标头指定请求来自的IP地址不是原始IP地址时,就会发生这种情况.

错误消息如下所示:

IP spoofing attack?!HTTP_CLIENT_IP="10.212.0.172"HTTP_X_FORWARDED_FOR="10.212.0.172, 68.180.224.232"
Run Code Online (Sandbox Code Playgroud)

如果我正确读取此错误,则此错误消息中的两个IP地址是本地IP地址(10.xxx)和Yahoo! IP地址(68.180.224.232).

我不确定我是否正确阅读,但似乎这可能是由Yahoo抓取工具引起的.错误会报告许多不同的URL,使其看起来像一个爬虫.此外,它似乎是一个合法的请求,因为它是通过外部IP路由的内部IP.

我的问题是:

  • 您如何确定这些是合法请求还是恶意请求.
  • 如果是恶意的,允许这些GET请求有什么害处?
  • 无论哪种方式,我如何防止这些错误发生(除了关闭电子邮件通知)?我是否需要找到阻止IP地址的方法?如果这是合法的请求怎么办?我是否需要设置某种白名单?

更新:我查看了请求参数,用户代理确实是Yahoo抓取工具:

Mozilla/5.0(兼容; Yahoo!Slurp; http://help.yahoo.com/help/us/ysearch/slurp)

小智 0

也许不是一个完整的答案,但我一直在使用这个 gem 进行异常通知,它支持过滤掉爬虫引发的异常

http://smartinez87.github.io/exception_notification/#ignore-exceptions/ignore_crawlers