反馈 Ruby-China 的安全机制需要改进

kevinhua · June 24, 2012 · Last by hawkflying replied at June 28, 2012 · 3556 hits

第三方登录是安全问题所在,建议尽快 patch up。

Unknow user #1 June 24, 2012

问题在哪里呢

#1 楼 @yggg 用第三方登录,可以冒充管理员。

眼拙没看出来,再说清楚一点吧

#2 楼 @kevinhua 哦,可以有管理员的权限么?

#3 楼 @Rei 「隐藏」

-- Rei:好了解了,多谢反馈,现在马上修

#3 楼 @Rei 当然,我仅测试了一下,测试成功后我立即删除了这个帐号。

了解了,多谢反馈,现在马上修

修复了,楼主可以再测试一下。再次多谢反馈。

我觉得是 ruby china 的管理员功能实现的很怪异。

普通做法是在 user 表上加一个标记。

现在 ruby china 的做法是在配置里存一个邮箱数组,通过判断用户的邮箱是否在数组里来判断是否有管理权限。

带来的问题就是: 1.添加管理员之后要重启 2.管理员改邮箱后就丢失了管理权限 3.只有有权限修改服务器上配置的人才能分配权限(这个也可以当作优点)

Unknow user #10 June 24, 2012

#8 楼 @Rei 现在正常啦。

#8 楼 @Rei 赞高效率!

@hooopo 你说的第 3 点,我认为应该考虑的更细一点。部署的伙计应该不让他配置参数。有程序自己来配置。方法: 1、有独立的 APP 来管理配置。 2、管理功能有标记来识别。 3、向目前这样,不配置管理员。全局在配置中加上白名单,也就是超级用户。

#12 楼 @xds2000 你说的第一点类似 Heroku 这样的云平台了,Heroku 目前的做法是所有配置都存储在环境变量里,有专门工具去修改环境变量,并且每次环境变量修改之后代码重新 release 一个版本,可以 rollback

我觉得(超级)管理员这个功能应该和配置没有关系,应该是数据库 seed 或One-off admin processes来做的事情。

是需要改进

kevinhua closed this topic. 10 Oct 10:52
You need to Sign in before reply, if you don't have an account, please Sign up first.