Firebase安全风险评估查询

时间:2017-12-24 13:36:13

标签: android firebase firebase-authentication

我有一个项目,其中一个应用程序需要访问跨多个firebase项目分片的多个数据库。现在因为它是相同的应用程序,我不能在我添加应用程序的所有项目中使用相同的SHA1。

我没有为任何项目添加任何google-services.json文件,而是从我自己的服务器获取每个项目的数据库URL,存储桶信息,api-key和appids所有分片的火力棒项目。

我的问题是,有了这么多信息,任何人都可以对firebase进行身份验证吗?

没有SHA1保护,即使使用auth!= null规则,我的数据库甚至是安全的吗? (因为任何人都可以使用此信息初始化FirebaseApp并获取FirebaseAuth实例并匿名登录)。总结一下,任何人都可以创建自己的应用程序,使用信息并访问/操作我的数据库吗?

如果使用当前配置不安全我如何保护我的应用

2 个答案:

答案 0 :(得分:2)

是的,这应该足以创建连接到数据库的Web应用程序。

但是,如果数据库规则和身份验证提供程序适合您的情况,那么这应该不是问题。例如:

  • 如果您不希望匿名用户通过您的应用进行身份验证,请停用Firebase控制台中的选项。
  • 如果您想在不启用新注册的情况下仅授予有限的一组用户访问权限(或者您对auth有特殊要求),请使用自定义身份验证提供程序。
  • 如果要限制对数据库某些部分的访问(或需要不同的用户角色),请调整数据库规则。

我希望能回答你的问题!

答案 1 :(得分:1)

经过一番研究和一点脑力激荡后,我得出结论,Oauth域默认为localhost和firebase-app域将阻止任何人直接向我的Firebase应用程序进行身份验证。

即使显示api-key和其他信息,只要隐藏了服务帐户,auth-domain将保护我的应用程序,因为auth-domain将导致来自非授权域的身份验证失败。也许我甚至想要删除生产中的localhost:)