我在开发环境中使用'Thin'作为我的rails服务器。我注意到一些令我惊恐的事情。我休息了一下......我的机器上没有按键。瘦机运行的终端窗口产生以下内容:
Started GET "/controller/method" for 127.0.0.1 at ...
Processing by ...Controller#method as HTML
Completed 401 Unauthorized in 58ms
Started GET "/users/sign_in" for 127.0.0.1 at 2013-08-16 11:47:02 -0400
Processing by Devise::SessionsController#new as HTML
...
Completed 200 OK in 178ms (Views: 22.3ms | ActiveRecord: 3.7ms)
某处我的开发机器响应了对需要授权的特定页面的请求,并向某人显示了登录屏幕。它不在我的机器上。我办公室里没有其他人具备在我的机器上进行黑客攻击的技术能力或兴趣。所以它必须来自我的无线路由器或通过我们的互联网连接...我猜。
在制作中我有一个访问日志,它为所有访问我们网站的人提供了一个IP地址。我可以做些什么来提供这种信息吗?我可以在rails配置中做些什么来确认它确实是一次黑客攻击?
我在这里解决了rails进程。如果有一个StackExchange站点来解决与我的路由器,互联网连接和开发机器相关的安全问题?可能是哪一个?
感谢。
答案 0 :(得分:4)
这看起来似乎是一些自动黑客攻击。如果你运行的是旧版本的rails,你可以让它执行这样的任意控制器方法,或者如果你设置了不正确的路由文件。
只是提醒您将所有不希望外部世界可见的控制器方法设置为私有或受保护。还要仔细检查您的路线文件,以确保您尽可能避免使用不太安全的路线定义,如匹配。
虽然这不应该完全缓解您的安全问题,但主动限制攻击者可能获得的访问权限将为您的项目提供最佳服务。此外,您可以设置thin以绑定到127.0.0.1而不是0.0.0.0,从而防止外部请求(如果可能)。
答案 1 :(得分:1)
哦,男人......真是太简单了。不敢相信我花了这么长时间才弄明白。 Safari拥有“顶级网站”功能。每当我打开一个新标签页时,顶部网站就是显示的页面。我的一些顶级网站是通过将网址拖到热门网站图标来修复的。其余部分由最常显示的其他页面组成。在我改变代码之后,我经常查看页面以确保没有错误。热门网站正在尝试展示其中一些网页。查看这些页面需要授权。热门网站正试图破解我的开发服务器。 :=]