Rails gem或代码实时标记恶意用户行为?

时间:2010-01-28 22:45:22

标签: ruby-on-rails rubygems

是否存在可实时标记恶意用户行为的现有gem或代码?即不是我手动梳理404s或可疑访问的日志文件(例如sql注入尝试,插入文本字段的js等?)

例如,今天我在日志中注意到了这样的请求。

ActionController :: RoutingError(没有路由匹配 带有{:method =>:get}的“///scripts/setup.php”:

如果有人正在扫描网站是否存在漏洞 - 即将无害的404与恶意404区分开来,标记sql注入或js注入等,我想通过警报或电子邮件实时了解。

是否有现有的宝石或代码可以执行此操作,还是必须自行编写?

感谢您的想法。

1 个答案:

答案 0 :(得分:0)

如果有这样的系统并且您的网站甚至适度填充,您将获得很多的实时更新。

现实情况是,你可能会让人们试图将js放入他们的个人资料中,出于好奇和恶意而向你的网站提交奇怪的东西。您可以定期扫描日志文件以确保您的操作和视图免受此类攻击,但从长远来看,这实际上是无法管理的。

问题是,您如何知道您的输入是否是恶意的?根据您的网站,您刚才提到的输入可能完全有效。

如果你担心sql注入,你应该记录并彻底测试你的find_by_sql语句。

如果您担心未转义的用户输入,您可以考虑转移到erubis并默认启用转义。

对于大多数网站来说,一个更紧迫的问题是滥用您提供的功能,例如发送太多邮件,发布太多问题,过于频繁地投票,抓取您的内容等等......为此您可以配置您的网络服务器停止用户提出过多请求(您可以非常轻松地使用nginx进行设置)并在应用程序代码中强制设置速率限制。