是否存在可实时标记恶意用户行为的现有gem或代码?即不是我手动梳理404s或可疑访问的日志文件(例如sql注入尝试,插入文本字段的js等?)
例如,今天我在日志中注意到了这样的请求。
ActionController :: RoutingError(没有路由匹配 带有{:method =>:get}的“///scripts/setup.php”:
如果有人正在扫描网站是否存在漏洞 - 即将无害的404与恶意404区分开来,标记sql注入或js注入等,我想通过警报或电子邮件实时了解。
是否有现有的宝石或代码可以执行此操作,还是必须自行编写?
感谢您的想法。
答案 0 :(得分:0)
如果有这样的系统并且您的网站甚至适度填充,您将获得很多的实时更新。
现实情况是,你可能会让人们试图将js放入他们的个人资料中,出于好奇和恶意而向你的网站提交奇怪的东西。您可以定期扫描日志文件以确保您的操作和视图免受此类攻击,但从长远来看,这实际上是无法管理的。
问题是,您如何知道您的输入是否是恶意的?根据您的网站,您刚才提到的输入可能完全有效。
如果你担心sql注入,你应该记录并彻底测试你的find_by_sql
语句。
如果您担心未转义的用户输入,您可以考虑转移到erubis并默认启用转义。
对于大多数网站来说,一个更紧迫的问题是滥用您提供的功能,例如发送太多邮件,发布太多问题,过于频繁地投票,抓取您的内容等等......为此您可以配置您的网络服务器停止用户提出过多请求(您可以非常轻松地使用nginx进行设置)并在应用程序代码中强制设置速率限制。