传统观点认为,企业必须在安全性成本与性能和用户体验之间取得平衡。 这一想法意味着安全是每次数字交互的一种税收。 为了实现最佳响应速度和加载时间,必须最大限度地降低安全性。 或者更好的是,经过优化。 但是,在应用程序堆栈中添加安全性可以提高性能吗? 我们发现答案是肯定的。 在本博客中,我们将探讨我们如何得出此结论,以及应用程序性能下降的与安全相关的原因,边缘如何缓解这些问题,以及客户如何实现9%的性能提升。
恶意流量和您的Web app
Edgecast (现为Edgio)平台每天处理数十亿个请求。 我们的威胁情报引擎利用此海量数据源分析安全模式,并更新为我们的Web应用程序防火墙(WAF),爬虫程序抵御和其他安全服务提供支持的签名。 平均而言,我们发现超过16,000个恶意请求正在探测典型网站。 这些探测是自动化的,全天候搜索和探测未受保护的Web应用程序和漏洞。 这些请求可能会使您的服务陷入困境,尤其是当您的应用程序已经承受来自合法用户的沉重负载时。
在恶意流量进入应用程序之前将其删除是提高性能的最佳做法。 如果您使用的是WAF,则您已经在执行此操作。 可是和你的起源的关系很重要。 在CDN边缘运行WAF可确保恶意流量被丢弃,并且不会代理返回源站。
加速恶意requests
CDN利用缓存来减少源站的负载。 但现代CDN还优化了CDN边缘和源站服务器之间的动态内容请求。 这适用于恶意和合法流量。 大多数Web应用程序威胁的目标是Web应用程序中的动态功能,如登录服务,数据库查询和API。 除非过滤和删除它们,否则CDN将把它们视为合法,共同努力加快好的和坏的速度。 假设您注重性能并使用CDN来改善用户体验和控制成本,您的应用程序堆栈可能会在无意中优化所有请求,包括恶意请求,这会降低源站资源的性能,甚至使其脱机。
WAF和延迟
WAF旨在解决上述挑战。 WAF可在应用程序体系结构的任意位置部署。 它的位置始终会影响您的整体应用程序性能–无论好坏。 无论WAF是在服务器本身上运行,还是在数据中心作为单独设备运行,通过第三方服务运行,还是集成到边缘结构或CDN中,WAF都是检查每个HTTP请求的另一层。 延迟和往返时间是因素,尤其是当多个第三方解决方案链接在一起时。 随着组织部署WAF,爬虫程序抵御和DDoS保护服务,这种情况变得越来越普遍。
通过CDN提供商将WAF迁移到边缘可以立即获得净性能提升,因为它旨在与边缘逻辑集成,利用内嵌处理减少跃点。
WAF体系结构
在体系结构级别,WAF类似于应用程序堆栈中的任何其他组件。 架构性能受WAF设计的影响,WAF设计包括原始功率(如CPU,RAM,SSD)和软件组件(如WAF操作系统和规则集)。 每天都会发现新的威胁。 随着时间的推移,这些新签名可能会创建一个膨胀的WAF运行时,需要处理更多的逻辑。
如果优化性能是您的目标,了解您的WAF提供商的方法至关重要。 Edgio不只是向我们的WAF添加新签名。 我们对它们进行了优化,以充分利用我们的系统架构,并对它们进行配置,使它们高效地协同工作,这就是我们在性能测试中击败领先的源安全软件的原因。 有关详细信息,请参阅我们的技术文章”通过更快的安全规则提高应用程序性能”。
案例研究
一位潜在客户正在审查我们的平台,以提高其网站的性能。 在概念验证期间,我们的网络表现出性能提升。 但有趣的是,激活WAF后,性能增加了27%。
经过进一步分析,我们发现WAF阻止了持续的第7层攻击。 由于攻击不是体积的,因此不会导致灾难性的中断。 由于客户端未使用WAF,因此他们不知道攻击及其持续时间。