您可能会感到意外:投入资金,利用自动化和人工智能(AI)改善安全状况,最终可以节省更多成本。IBM Security团队在《2021年数据泄露成本报告》中指出,与全面部署自动化和AI的组织相比,未采用安全自动化和AI的组织发生安全漏洞时,平均成本要高出80%,分别为671万美元和290万美元,相差381万美元。优先采用安全自动化和AI,有助于组织更快地发现并遏制安全漏洞,从而节省资金和时间。

(来源:《2021年数据泄露成本报告》)
不过,在将安全功能集成到CI/CD流水线时,务必避免工具负载过重。检查流量的次数越少,引入的延迟就越低。由此可见,从业务角度而言,技术复杂性会阻碍敏捷性。
F5 NGINX提供的安全平台可实现无缝集成,并帮助团队在软件开发生命周期中“将安全左移”。组织将“安全即代码”集成到CI/CD流水线后,即可实现安全自动化并运用AI,从而获得IBM所述的大幅成本节省。通过将安全融入应用和API开发的每个阶段,配置文件和安全策略文件可作为代码使用,SecOps团队也可以创建和维护声明式安全策略,供DevOps在构建应用时使用。这些策略可重复应用于新应用,从而将安全自动化融入CI/CD流水线。
下面我们逐层深入,了解F5 NGINX App Protect和F5 NGINX Plus可帮助实现安全防护自动化的3个流量处理阶段:
- 阶段 1:F5 NGINX App Protect DoS 可检测并防御拒绝服务(DoS)攻击
- 第2阶段:F5 NGINX App Protect WAF可防御OWASP十大安全风险相关攻击和恶意机器人
- 第3阶段:F5 NGINX Plus使用原生功能以及与第三方单点登录(SSO)解决方案的集成,对应用和API客户端进行身份验证并强制执行授权要求

这套由三部分组成的安全解决方案可通过两种方式帮助节省成本,在公有云环境中尤其如此:
- 只有合法流量才能到达您的应用,因为NGINX App Protect DoS会过滤DoS攻击流量,随后NGINX App Protect WAF会消除OWASP十大风险等多种攻击途径。
- NGINX Plus采用高效的事件驱动型设计,能够以较低的CPU占用率每秒处理海量请求。高效平台仅处理合法的应用流量,可显著减少所需的计算资源,节省时间和成本,并在不使工具过载的情况下防范多种攻击途径。
如果目前使用F5 BIG-IP Advanced WAF保护数据中心内运行的应用,可以轻松添加NGINX Plus作为Kubernetes的Ingress控制器,并结合NGINX App Protect DoS和WAF,形成一套全面的解决方案,用于扩展和保护现代应用,以及在云端编排Kubernetes应用。借助F5的安全即代码方法,可以通过声明式API或文件中采用JSON格式的声明式定义,将基础设施和安全策略控制定义为代码,还可以将BIG-IP XML文件转换为JSON文件。策略(即由安全运营团队[SecOps]负责并维护的标准企业安全控制)可以存储在代码存储库中,并像其他代码一样从中提取并集成到开发流水线。此方法有助于开发运营团队(DevOps)与SecOps弥合运营差距,以更低的成本、更完善的安全防护加快应用上市。
F5将WAF策略构建和基线设定纳入开发流程,这是在应用开发流水线中实现“安全左移”和应用部署自动化的重要环节。
BIG‑IP和NGINX中的可视化工具相辅相成,使安全运营团队能够在DevOps生命周期的早期阶段融入自动化流程。借助BIG‑IP,团队可以将XML文件转换为供NGINX使用的JSON文件,从而保持安全策略的一致性。NGINX支持团队微调现有应用,并引入现代应用安全自动化,帮助降低未来发生安全漏洞的风险及潜在攻击造成的成本。
阶段 1:NGINX App Protect DoS 防御 DoS 攻击
安全流量管理的第一步是识别并阻止拒绝服务(DoS)攻击。从一开始就遏制此类滥用行为,是必不可少的第一道防线。
我们此前曾指出,攻击者正越来越多地放弃传统的流量型攻击,转而使用HTTP和HTTPS请求或API调用在第7层发起攻击。为什么?因为他们会选择阻力最小的攻击路径。基础设施工程师多年来一直在构建有效抵御第3层和第4层攻击的防御体系,使这类攻击更容易被阻止,成功的可能性也更低。第7层攻击则可以绕过这些传统防御。
并非所有DoS攻击都是流量型攻击。旨在通过Slow POST或Slowloris等“低速慢速”方法消耗服务器资源的攻击,很容易隐藏在合法流量中。虽然gRPC等开源HTTP/2远程过程调用框架可为现代应用提供所需的速度和灵活性,但其固有的开放性可能使其比专有协议更容易受到DoS攻击。
与传统DoS防护不同,NGINX App Protect DoS利用自动化用户和站点行为分析、主动运行状况检查以及免手动配置来检测当前的攻击。它是一种可阻止常见攻击的低延迟解决方案,包括HTTP GET洪水攻击、HTTP POST洪水攻击、Slowloris、慢速读取和慢速POST攻击。
为抵御这些攻击,SecOps和DevOps团队需要将“安全即代码”自动化集成到CI/CD工作流中,这是安全左移理念的一部分。NGINX App Protect DoS可帮助实现这一目标。它为现代分布式应用和API提供高级DoS威胁防护,并通过轻量级软件包、持续的威胁缓解反馈闭环,以及借助RESTful API与常用DevOps工具集成来支持这一模式,从而帮助协调SecOps与DevOps有时相互冲突的优先事项。
NGINX App Protect DoS集成了IBM Security报告所强调的机器学习(ML)技术,该技术是显著节省成本的关键。它通过分析客户端行为和应用健康状况来建立正常流量模式模型,使用独特算法创建动态统计模型,以提供更准确的防护,并部署动态签名来自动缓解攻击。它还会持续衡量缓解措施的有效性,并适应不断变化的行为或健康状况。借助这些功能,NGINX App Protect DoS能够阻止每个攻击请求看似完全合法的DoS攻击,即使单个攻击者产生的流量可能低于普通合法用户,也能进行阻止。

NGINX App Protect DoS和WAF高效处理流量,保障应用安全
第2阶段:NGINX App Protect WAF防御OWASP十大风险
虽然DoS防护能够有效阻止恶意流量进入基础设施,但攻击仍可能突破防线。因此,在下一阶段的防御中,需要使用Web应用防火墙(WAF),重点应对恶意行为者伪装成合法流量的流量。
轻量且高性能的NGINX App Protect WAF可提供全面的安全防护,包括检查响应、强制实施HTTP协议合规性、检测规避技术、使用Data Guard屏蔽信用卡号及其他敏感个人信息,以及检查禁用的元字符和文件类型、格式错误的JSON和XML以及敏感参数。它还可防范更新后的OWASP十大风险:
访问控制失效
加密机制失效
注入
不安全设计
安全配置错误
易受攻击和过时的组件
身份识别和身份验证失效
软件和数据完整性失效
安全日志记录和监控失效
服务器端请求伪造
针对OWASP十大漏洞(例如A03:2021 注入)的网络攻击仍然很常见,这并不令人意外。2021年7月,开源电子商务网站WooCommerce宣布其许多插件存在漏洞,容易受到SQL注入攻击,当时已发生多起相关攻击。随着企业和客户的活动主要转移到线上,攻击者自然会将目标对准基于Web的应用。这类应用通常结构复杂,由微服务组成,横跨分布式环境,其中大量API相互通信,因而增加了可能被利用的端点数量。
现代攻击也会快速变化并调整策略。AI正是在这方面发挥作用,这也是IBM强调其重要性的原因。与NGINX App Protect DoS类似,NGINX App Protect WAF中功能丰富的机器学习系统可帮助平台运维、DevOps和SecOps团队轻松共享攻击趋势和数据。一项新功能,即自适应违规评级功能,将通过检测应用行为何时发生变化,进一步利用机器学习。借助这项机器学习功能,NGINX App Protect WAF会持续评估每个应用的预测行为。根据学习结果,它可以允许原本会被阻止的客户端请求,从而降低应用的违规评级分数,并显著减少误报,改善用户体验并降低管理成本。
NGINX App Protect WAF还提供机器人防护。目前,近50%的互联网流量来自机器人。NGINX App Protect WAF使用Bot Signature数据库预先消除已知恶意流量,从而快速阻止机器人流量。
在CI/CD管道的早期阶段引入WAF作为安全层,有助于降低安全风险。NGINX App Protect WAF适用于CI/CD,因此可以在应用开发流程的早期阶段将安全即代码融入其中并实现自动化。尽早树立安全意识并在团队之间开展适当协作,还可以消除交付风险等瓶颈。多阶段DoS和WAF防护可设置多个检查点,让安全团队了解应用使用情况,并让应用团队了解应用的维护方式。
阶段3:NGINX Plus 对应用和 API 客户端进行身份验证和授权
即使NGINX App Protect Dos和NGINX App Protect WAF已过滤恶意流量,仍需验证客户端是否合法,以及是否有权访问其请求的资源。此时,NGINX Plus便可发挥作用,负责身份验证和授权,然后将请求路由到相应的服务器。通过部署NGINX Plus作为API网关,可以为多个API提供统一入口,并进一步简化技术栈。
还可以通过单点登录(SSO)实现身份验证和授权自动化,帮助DevOps团队保持所需的敏捷性。NGINX Plus支持OpenID Connect(OIDC),这是构建于OAuth 2.0协议之上的身份层。NGINX文档介绍了如何使用OIDC为NGINX Plus代理的应用启用SSO。

API具有开放性,因此容易成为攻击目标。Gartner在年度报告中预测,API将在2022年成为最常见的攻击途径,导致企业Web应用发生大量数据泄露事件。随着2022年逐步推进,我们观察到各组织的API攻击面持续扩大,这一预测也得到了印证。
F5 Labs发布的《API身份验证事件:2020年应用保护报告》重点介绍了API事件的3个常见原因:
API端点未进行身份验证
实施API流量身份验证后,成功证明身份的客户端会从可信身份提供商处获得令牌。随后,客户端会在每个HTTP请求中提供访问令牌。在将请求传递给应用之前,NGINX Plus会验证令牌,并提取令牌中编码的身份及其他数据(例如组成员身份),以确保客户端通过身份验证并获得授权。如果令牌验证成功,且客户端有权访问相应资源,则请求会被传递给应用服务器。可通过多种方法完成此验证,其中OpenID Connect(基于OAuth 2.0协议构建)是为API请求启用第三方身份验证的常用方式。
然而,市场上许多API在身份验证层面缺乏保护。2021年,互动健身平台Peloton被曝存在API数据泄露问题。一名安全研究人员发现,无需身份验证即可向Peloton的API发出请求,轻易获取用户数据。尽管Peloton在发生重大数据泄露之前修复了代码,但这一事件表明,单一的安全方法未能考虑API结构固有的多样性,也无法满足灵活防护这些API的需求。
API身份验证失效
API旨在实现计算机之间的连接,因此许多DevOps团队认为,人类不会与API端点通信。F5 Labs报告中的一个案例显示,一名研究人员将多个API请求串联起来,在一款移动应用中“赚取”了价值数十万美元的积分。该应用持续生成用于防止滥用的令牌,却没有为其设置到期时间,导致这些令牌可以反复使用。
如果未正确验证API身份验证令牌,攻击者可能会利用API漏洞。如果发现此类漏洞的不是研究人员,而是恶意行为者,整个企业都可能受到威胁。
API授权失效
API身份验证失败自然会导致API授权失效。F5 Labs报告还介绍了一起事件:操作系统中的一个漏洞允许恶意HTTP请求访问API,使恶意行为者能够轻易获取授权令牌。攻击者一旦获得该授权令牌,便拥有了管理员权限。
NGINX提供多种方法来保护API并对API客户端进行身份验证。有关详细信息,请参阅以下文档:基于IP地址的访问控制列表(ACL)、数字证书身份验证和HTTP基本身份验证。此外,NGINX Plus原生支持验证用于API身份验证的JSON Web Token(JWT)。有关详细信息,请参阅博客文章《使用JWT和NGINX Plus对API客户端进行身份验证》。
立即开始
安全自动化让每个人都能承担起安全责任。通过优先推进安全自动化,贵组织可以构建更可靠的应用、降低风险和运营支出,并加快发布速度。这意味着微服务、应用和API能够获得敏捷、可扩展且快速的安全防护,从容应对当今的市场竞争。
这种三阶段安全架构还可优化处理流程,避免WAF因检查DoS攻击流量而不堪重负,也避免将宝贵资源浪费在对恶意行为者进行身份验证和授权上。尽早消除易于识别的攻击,有助于节省时间和成本,并提升应用性能。
准备亲自试用NGINX Plus和NGINX App Protect?立即开始30天免费试用,或联系我们,讨论您的用例。
关于作者


相关博客文章
NGINX Plus R26 正式发布
NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。
使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。
Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。
NGINX Plus R19 正式发布
NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。
NGINX现已正式加入F5
NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。
