Serverless 云计算架构下的 DDos 攻击与防范

随着云计算的普及,Serverless 架构正在成为一种趋势。相较于传统的基于虚拟机的架构,Serverless 更为灵活与高效,并且承诺降低资源和成本消耗。但是,DDos 攻击也随之而来,Serverless 架构也面临着类似于传统架构的攻击风险。

DDos 攻击是指一定数量的计算机同时对一个目标进行攻击,造成不同程度的瘫痪。而在 Serverless 架构下,应用程序不再运行在固定的虚拟机实例上,而是由云服务提供商来自动管理管理并自动分配资源。这导致传统的 DDos 防御策略可能并不适用,然而 Serverless 架构本身的特性,也使得 DDos 攻击变得更难追踪与防止。本文将分析 Serverless 架构下的 DDos 攻击与防范,并提供一些 tips 和指导意义。

DDos 攻击对 Serverless 架构带来的风险

Serverless 架构的本质是将应用程序的计算和存储部分从基础设施中抽象出来,使得开发者可以专注于实现业务逻辑,而由云服务提供商来自动管理和扩展系统。在传统的计算机架构中,攻击者会尝试让其目标服务崩溃,使得目标服务不能响应客户端请求。在 Serverless 架构中,攻击者可能会更多地关注与应用程序所依赖的云服务本身,如云函数的调用与数据存储、消息队列等。这意味着,构建防御策略时,需要考虑到 Serverless 架构的特点,并且仔细分析可能会影响系统稳定性的攻击场景。

DDos 攻击防范的建议

  1. 加强认证和鉴权

任何访问你的部署环境的请求必须要经过安全认证才能被执行。在 Serverless 架构中使用 Token 或者 API 密钥鉴权,限制在数据可能被泄露时,只允许通过审核的请求进入系统。

--- --------------
    ----- - -------------------------
    -- ----- -- ------------------------
        ----------
  1. 减少网络延迟

网络延迟能够给攻击者充足的时间进行攻击。一些技术措施可以大大减少网络延迟,例如使用 CDN 和短周期的刷新缓存、缓存处理过的数据等。

------------------ -----------------
------------------------
--- -----------
    ---- - ----
    -- ---------------------
        ---- - -----------------
    -----
        - -- ---- --------- -----------
        ---- - -------
        ------------------- ----------- -----------
    ------ ----
  1. 攻击识别与限制

通过使用 WAF、IDS 和 AI 等技术,可以识别出各种类型的攻击,并采取相应的限制措施。因为 Serverless 架构的自动扩展与自动配置的特性,可能会导致这些限制措施无法直接使用,需要使用其他技术手段进行处理。

--- --------------
    --------------- - -----------------
    - ------- ------- --- ------ - ------- -------
    ------------- - ----------------
    --- ------- -- ----------------
        -- - -----------------
        ----------------- -- -
    ------ - ------------------------- ---------- -- -----------------
    -- --------------------- - -----
        ------ ----
    ------ -----
  1. 控制函数并发数

在函数并发执行时,会导致云服务提供商的资源下降,当这些资源被占满时,可能会对系统造成 DDos 攻击。以下是如何对函数进行限制的示例代码:

---- --------------- ------ ----

--------- - ------

--- -------------- ---------
    ---- ----------
        - -- ---------
  1. 合理分片异步处理

当系统规模扩大时,需要分片异步处理以节省资源。分片需要满足两个条件:每个分片都能够被一台底层机器上的 CPU 执行,每个分片相互之间独立。如果分片不是独立的,则可能在共享数据时出现竞争,从而更容易出现 DDos 攻击。因此在设计分片的过程中需要多加考虑。

--- -------------- ---------
    ----------- - --------------------
    - -- ---- ----------- ----- -- -----------
    ------ -------

结论

Serverless 提供了一种便捷有效的架构方式,但同时也引入了新的威胁和安全挑战。DDos 攻击是目前 Serverless 部署环境面临的最严重的安全威胁之一,但通过合理的防御策略,可以帮助开发人员在 Serverless 环境下保持应用程序的安全性。本文提供了一些建议的防御策略以供参考,但是因为每个系统的架构和部署环境都有所不同,需要根据具体情况选择相应的防御策略。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/671478dbad1e889fe213f619