2017-07-08 34 views
0

我正在运行开源解析服务器,并已妥善保护我的数据库。但是,我的应用程序需要管理员用户,他们需要有权读取和写入几乎所有的数据。这是一个安全问题,我想用双因素身份验证来解决,但我愿意接受其他想法(IP白名单,cookie或其他)。解析服务器双因素身份验证或额外的管理安全

在我的客户端应用程序中进行设置非常简单,我已经做到了,但我希望更安全,以便恶意代理程序具有我的应用程序ID(基本上是公共的)并以某种方式获取管理员凭据,他们仍然无法获得访问权限。

我对如何用解析服务器来实现这一点感到困惑,因为它就像今天一样。据我所知,没有用于用户登录的云代码触发器,所以我无法在Parse服务器本身上实施任何MFA。

我看到的一种可能性是在各种Cloud Code例程中检查一些MFA标记,例如beforeSave,beforeDelete和beforeFind,拒绝访问缺少适当MFA的管理员用户。这是否会完全防止虚假管理员读取或写入所有数据?

上述选项并不防止攻击者试图暴力破解MFA(假设它是一个6位数的代码)。我也看不到任何限制攻击者用App ID和管理员密码进行登录尝试的方式。这里的任何想法?

感谢您的任何提示!

回答

0

我真的很喜欢添加2FA和一个小脚本来管理仪表板上的用户帐户的想法。 您能否在https://github.com/parse-community/parse-dashboard上开启功能要求?

此外,使用验证,你很可能使用自定义的身份验证适配器这将验证用户名,电子邮件和2FA令牌

+0

谢谢!我将研究制作一个自定义的身份验证适配器。我最初的担心是,我只想要某些用户(或角色)需要2FA,而不是每个人。一个自定义的身份验证适配器是否可以在不允许通过使用应用程序ID,SDK和一些脚本进行规避的情况下实现这一点? 关于仪表板功能,您的意思是保护仪表板本身还是通过仪表板进行2FA管理?在我的特殊情况下,我们的仪表板只能在本地安全机器上运行,而不是在云上运行,但我可以看到在托管情况下它是如何有用的。 – jasonm1

+0

后续问题:因为我只关心我的管理员用户,所以似乎可以用Google身份验证适配器完成我的目标。我的问题是,当创建解析用户时,使用身份验证适配器登录时,该用户的密码会发生什么变化?我想避免恶意代理绕过Google身份验证路径。如果用户是通过Google身份验证创建的,那么这可能吗?谢谢! – jasonm1

+0

如果您使用的是谷歌身份验证适配器,那么您需要拒绝通过电子邮件和密码登录。我们不提供一个简单的方法来做到这一点,但可能在beforeSave调用时,只要对象包含用户名/密码,您可以拒绝它。如果你想要一个功能请求,让我们在parse-server回购上讨论它,并找到一个好办法:) – flovilmart