【问题标题】:Can the GAE Servlet code be accessest by anyone任何人都可以访问 GAE Servlet 代码吗
【发布时间】:2016-12-17 10:07:37
【问题描述】:

我刚刚在this tutorial的低谷使用

Android 应用中的 Firebase 和 App Engine 标准环境

这很好,但我想知道现在任何人都可以上传和替换我的 servlet 代码。就像我需要在某处设置一些防火墙一样。我读了the docs 关于

使用网络和防火墙

但我看不到任何实际操作如何应用它,它真的很先进,如果有人可以分解它,我需要做的是只允许我访问代码。

我对此有点陌生,但在使用 this tutorial

使用 Firebase 和 App Engine Flexible 构建 Android 应用 环境

我从 CloudPlatform-noreply 收到这封电子邮件,说我必须维护防火墙:

尊敬的开发者,我们注意到您的 Google Cloud 项目已打开 项目防火墙。这可能会使您的实例容易受到 妥协,因为互联网上的任何人都可以访问并建立一个 与实例的连接。以下项目具有开放的防火墙: Playchat (ID: playchat-4cc1d) 谷歌云平台提供 您可以灵活地配置项目以满足您的特定需求。 我们建议更新您的设置以仅允许访问端口 您的项目需要的。您可以通过以下方式查看项目的设置 检查 gcloud 计算防火墙规则的输出或访问 GCP Console 上的防火墙设置页面。了解更多关于使用 防火墙和与 VM 实例的安全连接。

我在这里需要害怕什么 - “因为互联网上的任何人都可以访问并建立与实例的连接”。真的是什么意思?

我希望我的 Firebase 登录用户只能访问

【问题讨论】:

  • 只有您和您指定的管理员列表才能上传新的 Appengine 应用版本。您无需针对该保护执行任何特定操作
  • 你会如何解释这个相反的answer
  • 它说可以访问并建立与实例的连接,但你问的是如何保护源代码,对吧?我是说只有管理员可以访问源代码和管理控制台

标签: google-app-engine firewall


【解决方案1】:

源代码部署 唯一可以将源代码部署到您的应用程序的人是您在IAM permissions pages in the Cloud Platform Console 中授予访问权限的人。那里的人需要所有者或具有“App Engine Admin”或“App Engine Deployer”的特定角色。

连接到您的实例 如果您使用的是 App Engine 标准环境,则有没有个虚拟机实例。标准环境纯粹是一个平台即服务,而不是典型的带有服务器的托管环境。

如果您使用的是 App Engine 柔性环境,您的代码会在虚拟机实例上运行。但是,这些实例默认情况下被锁定。你可以enable SSH for debugging purposes。但是,这些连接通过您授权的 gcloud 安装使用令牌进行连接。所有这一切只是说,默认情况下您的实例被锁定,即使在调试模式下它们仍然非常安全。

总的来说,您的代码默认是安全的。保护您的资源实际上可能更多是关于保护您的 Gmail 帐户,从而保护它的连接资源,例如您的云平台项目。使用双重身份验证保护您的帐户,不要让人们获得比他们需要的更多的项目访问权限,最后不要启用调试,除非您需要它,甚至在完成后关闭它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多