Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 谷歌云功能是否受到DDoS攻击的保护?_Security_Google Cloud Platform_Google Cloud Functions - Fatal编程技术网

Security 谷歌云功能是否受到DDoS攻击的保护?

Security 谷歌云功能是否受到DDoS攻击的保护?,security,google-cloud-platform,google-cloud-functions,Security,Google Cloud Platform,Google Cloud Functions,据我所知,我的谷歌云功能是全球可访问的。如果我想控制对它们的访问,我需要将授权作为函数本身的一部分来实现。比如说,我可以使用基于承载令牌的方法。这将保护此功能背后的资源不受未经授权的访问 但是,由于该功能在全球范围内可用,因此仍然可能被坏人DDoS攻击。如果攻击不如谷歌的防御那么强大,我的功能/服务可能仍然有反应。这很好。但是,我不想为我未授权访问该函数的一方进行的函数调用付费。(因为计费是按函数调用次数计费的)这就是为什么在我负责收费之前,了解谷歌云功能是否检测到DDoS攻击并启用应对措施对我

据我所知,我的谷歌云功能是全球可访问的。如果我想控制对它们的访问,我需要将授权作为函数本身的一部分来实现。比如说,我可以使用基于承载令牌的方法。这将保护此功能背后的资源不受未经授权的访问


但是,由于该功能在全球范围内可用,因此仍然可能被坏人DDoS攻击。如果攻击不如谷歌的防御那么强大,我的功能/服务可能仍然有反应。这很好。但是,我不想为我未授权访问该函数的一方进行的函数调用付费。(因为计费是按函数调用次数计费的)这就是为什么在我负责收费之前,了解谷歌云功能是否检测到DDoS攻击并启用应对措施对我来说很重要。

从上的文档中可以看出,似乎没有对HTTP功能的滥用保护。你应该区分使谷歌服务器无响应的DDoS攻击和一些攻击者知道你的HTTP函数的URL并调用它数百万次的滥用,后者只涉及你支付的金额。

我最近一直在问自己同样的问题,并偶然发现了这一信息。简要回答您的问题:谷歌仍然无法自动保护您的GCF免受大规模DDOS攻击,因此:除非谷歌基础设施因攻击企图而崩溃,否则您将不得不为攻击造成的所有流量和计算时间付费

有一些机制,您应该仔细研究一下,因为我不确定它们是否也适用于GCF:


2020年7月更新:正如morozko所指出的,似乎有一个专门的Google服务来解决这个问题,它被称为Google Cloud Armor()。

我已经向Google Cloud support发送了一封电子邮件,关于云功能以及它们是否受到DDoS攻击的保护。我已收到工程团队的答复(截至2018年4月4日):

云功能位于Google前端的后面,它可以缓解和吸收许多第4层及以下的攻击,如SYN洪水、IP碎片洪水、端口耗尽等


DDoS攻击可以通过目前处于测试阶段的来缓解


另请参见与GC安全规则相关的Google insider以及相应的

我认为关于DDOS保护的问题已经得到了充分的回答。不幸的是,现实情况是,无论是否提供DDOS保护,都很容易收取大量费用。我在20分钟内支付了大约30美元的费用,DDOS保护却遥遥无期。我们还剩下“我不想为我未授权访问该函数的一方进行的函数调用付费。

那么,让我们谈谈现实的缓解策略。谷歌并没有给你一个严格限制开支的方法,但你可以做很多事情

限制函数可以拥有的最大实例数

编辑函数时,可以指定它可以生成的最大同时实例数。将其设置为用户不太可能命中的值,但如果攻击者这样做,则不会立即破坏银行。然后

设置预算警报

您可以在云控制台的计费部分创建预算和设置警报。但是这些警报会晚几个小时发出,你可能正在睡觉或者其他什么,所以不要太依赖它

混淆函数名

这仅在您的功能仅被私人访问时才相关。您可以为函数提供模糊的名称(可能是散列的),攻击者不太可能猜到这些名称。如果你的功能不是私人访问的,也许你可以

设置一个计算引擎实例作为用户和云功能之间的中继

计算实例是固定价格的。攻击者可以减慢他们的速度,但不能让他们打碎你的钱包。您可以在计算实例上设置速率限制。用户不会知道你的模糊云函数名,只有中继会知道,所以除非他们能猜到你的函数名,否则没有人能直接攻击你的云函数

如果您的云功能被调用过多,请让它们停止计费

每次调用函数时,都可以让它在Firebase或云存储对象中增加一个计数器。如果此计数器过高,您的函数可以自动禁用对项目的计费

谷歌提供了一个云功能如何禁用项目计费的示例:


在本例中,它禁用了计费,以响应来自计费的发布/订阅。然而,这些酒吧/酒吧的价格落后了几个小时,所以这似乎是一个糟糕的策略。在某个地方有一个计数器会更有效。

这是我自己的真实经验:他们没有。你必须使用自己的规则组合、原产地检测等来防止这种情况。我最近成为DDoS的受害者,不得不关闭服务一段时间以实现我自己的安全墙。

是的,我说的是后一种。我的答案可能不太正确。好吧,这是一个大的不可使用的服务。我们应该始终假定URL是众所周知的或容易发现的。云功能尤其如此,因为它们是作为“常规”web服务的替代品使用的,在“常规”web服务中,除了与流量相关的费用外,我们通常不会为每次调用支付任何费用。我不确定这就是它们的用途,每个人都有不同的用例。请接受我的回答,如果它有帮助的话……来自文档:
googlecloudfunctions是一个用于构建的无服务器执行环境