﻿传统意义上来讲，WAF通常的要求是部署在Web应用程序前，在用户请求到达Web服务器前对用户请求进行扫描、过滤、分析并校验每个用户请求的网络包，确保每个用户请求有效且安全，对无效或有攻击行为的请求进行记录或隔离。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_51cad162658dbf048182ec015a113ff3.png) </span>*传统Web防御原理*

而在业务云原生化的架构下，容器会频繁启动停止，应用也会通过CI/CD流程持续的集成更新，容器流量的可视化越来越差。传统的WAF主要是作为南北向的应用安全网关提供对外防护，而对于容器节点、容器集群内部这类以东西向流量为主要特征的场景，缺乏有效的保护。

因此，在基础架构云原生化的趋势下，火山引擎容器安全通过技术洞察打造了「容器级应用和API防护」能力，可以检查特定容器的进出流量，有效的保护云原生工作负载、应用程序堆栈和服务。火山引擎「容器级应用和API防护」的主功能是保护容器层面的应用流量，从容器的视角防御内外部的应用攻击，从而与传统边界WAF的防御措施相结合，构建纵深防御体系，而非取代边界WAF或NGFW。

<span id="火山引擎「容器级应用和api防护」的实现方式"></span>
### **火山引擎「容器级应用和API防护」的实现方式**

火山引擎「容器级应用和API防护」以非特权容器的方式启动运行，旁路部署于容器网络中，在受保护的微服务容器前，对进出网络流量进行旁路分析，并执行相应的安全策略。使用旁路检测方式，具有以下优势：在不影响业务运行效率的前提下，充分利用已有硬件的功能，部署方便，不会影响现有的网络结构，实现灵活的审计与监控。

对于那些需要对恶意攻击进行安全阻断的场景，火山引擎「容器级应用和API防护」通过虚拟网卡，向服务端容器发送Reset包的方式，在网络层面主动关闭相应的Web连接，并且阻断方式对当前的网络运行没有干扰。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_9586e3c1fbe33d4687cfb9497a3f3154.png) </span>*火山引擎容器安全的「容器级应用和API防护」实现原理*

由于云原生业务特性的不同，火山引擎「容器级应用和API防护」的防护重点和展现的安全能力，较传统的WAF也有较大不同：

首先，传统WAF通过拦截网络流量来识别攻击，除了常见的漏洞防御之外，还会对CC攻击、网页篡改、防恶意扫描等进行防御。而在云原生场景下，常见的CC攻击、持久化攻击手段，在容器资源限制以及不可变基础设施的条件下很难奏效。火山引擎「容器级应用和API防护」可以更多针对边界防御被突破或绕过后，对平台内部的重点应用进行安全保护。基于这样的场景，「容器级应用和API防护」会重点针对典型的OWASP漏洞进行检测防御，如SQL注入攻击 、XSS网页漏洞攻击 、WebShell、会话固定攻击等。

其次，火山引擎「容器级应用和API防护」具有自主定义规则的能力，尤其在应急防护的场景下，能够迅速自制规则更新整个应用环境的安全性。火山引擎的「容器级应用和API防护」可以自定义规则筛选流量，从而保护Web应用程序免受攻击。例如，可以筛选Web请求中的HTTP标头部分，设置key/value的键值对，这样就能够有效阻止特殊类型的攻击模式。

第三，暴力撞库是容器业务对外开放过程中常见的疑难问题，火山引擎「容器级应用和API防护」拥有良好的防暴力撞库的能力。为了应对暴力撞库类场景，用户除了在边界配置各种安全策略外，在容器层面同样需要具备定制化的检测规则。火山引擎「容器级应用和API防护」能够对特定的Web容器进行流量检测防护，通过用户识别、阈值管控、实时响应处置等手段，降低关键业务被攻击的安全风险。

<span id="金融行业实践案例解析"></span>
### **金融行业实践案例解析**

举例分析，某银行的网银业务采用云原生业务架构，由于网银业务属于面向公众的重点业务，经常受到外部黑客的各类攻击。这些攻击中，出现的最多情况就是撞库攻击，如黑客通过变换手机号登录的方式进行暴力撞库登录。原有的WAF保护主要集中于边界的网关侧，保护的粒度过粗，并且无法覆盖容器平台内部的流量互访，拦截效果一直不理想。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_ed495317d096edfe8fa36e0932c6257e.png) </span>*火山引擎容器安全的「容器级应用和API防护」场景实现*

火山引擎「容器级应用和API防护」对指定的容器业务进行网络流量镜像，扫描器对流量解码，将数据按照指定规则进行过滤。检测规则要素可包括时间、用户标签、登录数量、失败情况等。对于检测出的攻击，会作为安全事件上报。如果设置的动作是中断链接，火山引擎应用和API防护的扫描器会向业务容器发送Reset报文来中断链接。

在实践过程中，火山引擎「容器级应用和API防护」所使用的流量检测手段是离线方式，即仅采集特定容器的流量，不会干扰业务系统的运行。数据过滤时，能够根据规则抽取特定的业务数据，并利用业务数据进行规则判断。通过以上先进的技术手段，火山引擎容器安全在用户的网银业务层面构建起有效安全保护能力，降低业务遭受撞库等攻击的风险。

火山引擎容器安全基于字节跳动多年的云原生安全实践经验，打造原生化安全能力，从多个维度为客户的云上业务提供有深度有质量的安全保护，广泛适用于各类公有云、私有云及混合云场景，让云原生安全更加可见、可知、可控。



