近日,火山引擎宣布推出「容器级应用和API防护」能力,帮助企业与传统边界WAF的防御措施相结合,构建云原生应用安全的纵深防御体系。
据介绍,传统意义上的WAF通常的要求是部署在Web应用程序前,在用户请求到达Web服务器前对用户请求进行扫描、过滤、分析并校验每个用户请求的网络包,确保每个用户请求有效且安全,对无效或有攻击行为的请求进行记录或隔离。
传统Web防御原理
而在业务云原生化的架构下,容器会频繁启动停止,应用也会通过CI/CD流程持续的集成更新,容器流量的可视化越来越差。传统的WAF主要是作为南北向的应用安全网关提供对外防护,而对于容器节点、容器集群内部这类以东西向流量为主要特征的场景,缺乏有效的保护。
因此,在基础架构云原生化的趋势下,火山引擎容器安全通过技术洞察打造了「容器级应用和API防护」能力,可以检查特定容器的进出流量,有效的保护云原生工作负载、应用程序堆栈和服务。火山引擎「容器级应用和API防护」的主功能是保护容器层面的应用流量,从容器的视角防御内外部的应用攻击,从而与传统边界WAF的防御措施相结合,构建纵深防御体系,而非取代边界WAF或NGFW。
火山引擎「容器级应用和API防护」的实现方式
火山引擎「容器级应用和API防护」以非特权容器的方式启动运行,旁路部署于容器网络中,在受保护的微服务容器前,对进出网络流量进行旁路分析,并执行相应的安全策略。使用旁路检测方式,具有以下优势:在不影响业务运行效率的前提下,充分利用已有硬件的功能,部署方便,不会影响现有的网络结构,实现灵活的审计与监控。
对于那些需要对恶意攻击进行安全阻断的场景,火山引擎「容器级应用和API防护」通过虚拟网卡,向服务端容器发送Reset包的方式,在网络层面主动关闭相应的Web连接,并且阻断方式对当前的网络运行没有干扰。
火山引擎容器安全的「容器级应用和API防护」实现原理
由于云原生业务特性的不同,火山引擎「容器级应用和API防护」的防护重点和展现的安全能力,较传统的WAF也有较大不同:
首先,传统WAF通过拦截网络流量来识别攻击,除了常见的漏洞防御之外,还会对CC攻击、网页篡改、防恶意扫描等进行防御。而云原生场景下,常见的CC攻击、持久化手段在容器资源限制以及不可变基础设施的条件下也很难奏效。并且「容器级应用和API防护」更多针对边界防御被突破或者绕过后,对于平台内部的重点应用进行安全保护。基于这样场景下,「容器级应用和API防护」会重点针对典型的OWASP漏洞进行检测防御,如SQL注入攻击 、XSS网页漏洞攻击 、WebShell、会话固定攻击等。
其次,火山引擎「容器级应用和API防护」具有自主定义规则的能力,尤其在应急防护的场景下,能够迅速自制规则更新整个应用环境的安全性。火山引擎的「容器级应用和API防护」可以自定义规则筛选流量,从而保护Web应用程序免受攻击。例如,可以筛选Web请求中的HTTP标头部分,设置key/value的键值对,这样就能够有效阻止特殊类型的攻击模式。
第三,暴力撞库是容器业务对外开放过程中常见的疑难问题,火山引擎「容器级应用和API防护」拥有良好的防暴力撞库的能力。为了应对暴力撞库类场景,用户除了在边界配置各种安全策略外,在容器层面同样需要具备定制化的检测规则。火山引擎「容器级应用和API防护」能够对特定的Web容器进行流量检测防护,通过用户识别、阈值管控、实时响应处置等手段,降低关键业务被攻击的安全风险。
金融行业实践案例解析
举例分析,某银行的网银业务采用云原生业务架构,由于网银业务属于面向公众的重点业务,经常受到外部黑客的各类攻击。这些攻击中,出现的最多情况就是撞库攻击,如黑客通过变换手机号登录的方式进行暴力撞库登录。原有的WAF保护主要集中于边界的网关侧,保护的粒度过粗,并且无法覆盖容器平台内部的流量互访,拦截效果一直不理想。
火山引擎容器安全的「容器级应用和API防护」场景实现
火山引擎「容器级应用和API防护」对指定的容器业务进行网络流量镜像,扫描器对流量解码,将数据按照指定规则进行过滤。检测规则要素可包括时间、用户标签、登录数量、失败情况等。对于检测出的攻击,会作为安全事件上报。如果设置的动作是中断链接,火山引擎应用和API防护的扫描器会向业务容器发送Reset报文来中断链接。
在实践过程中,火山引擎「容器级应用和API防护」所使用的流量检测手段是离线方式,即仅采集特定容器的流量,不会干扰业务系统的运行。数据过滤时,能够根据规则抽取特定的业务数据,并利用业务数据进行规则判断。通过以上先进的技术手段,火山引擎容器安全在用户的网银业务层面构建起有效安全保护能力,降低业务遭受撞库等攻击的风险。
火山引擎容器安全基于字节跳动多年的云原生安全实践经验,打造原生化安全能力,从多个维度为客户的云上业务提供有深度有质量的安全保护,广泛适用于各类公有云、私有云及混合云场景,让云原生安全更加可见、可知、可控。