什么是Web应用防火墙(WAF)?

Web应用防火墙(WAF)可保护Web应用免受多种应用层攻击,例如跨站脚本攻击(XSS)、SQL注入和Cookie投毒等。针对应用的攻击是导致数据泄露的主要原因,攻击者可借此获取您的宝贵数据。部署合适的WAF,有助于阻止各种试图通过入侵系统窃取数据的攻击。

Web应用防火墙(WAF)的工作原理是什么?

WAF通过过滤、监控和阻止流向Web应用的恶意HTTP/S流量来保护Web应用,并防止未经授权的数据离开应用。WAF依据一组策略运行,这些策略有助于判断哪些流量是恶意流量,哪些是安全流量。代理服务器充当中介来保护客户端身份,而WAF则以相反的方式运行,称为反向代理,它充当中介,保护Web应用服务器免受潜在恶意客户端的侵害。

WAF可以采用软件、设备或即服务交付的形式。可以根据单个或一组Web应用的独特需求自定义策略。虽然许多WAF需要定期更新策略以应对新漏洞,但机器学习技术的进步使部分WAF能够自动更新。随着威胁形势日益复杂且不确定,这种自动化变得愈发重要。

反向代理位于客户端(如Web浏览器)与后端服务器(如应用服务器或其他Web服务器)之间,也可用于缓存后端服务器的响应。这样可以缩短常用资源的响应时间并减轻后端服务器的负载,从而提升Web应用性能。与后端服务器动态生成的响应相比,缓存的响应可以更快地返回。反向代理缓存还可以提高可扩展性和资源利用率,尤其是在流量较大或提供静态内容时。

Web应用防火墙(WAF)、入侵防御系统(IPS)与下一代防火墙(NGFW)之间的区别

IPS是入侵防御系统,WAF是Web应用防火墙,NGFW是下一代防火墙。三者有何区别?

IPS是一种防护范围更广的安全产品。它通常基于特征码和策略,这意味着它可以根据特征码数据库和既定策略,检查已知漏洞和攻击途径。IPS依据该数据库和策略建立基准,并在任何流量偏离基准时发出警报。随着新漏洞不断被发现,特征码和策略也会持续扩充。一般而言,IPS可保护多种协议类型的流量,例如DNS、SMTP、TELNET、RDP、SSH和FTP。IPS通常在第3层和第4层(即网络层和会话层)运行并提供保护,但有些IPS也可能在应用层(第7层)提供有限保护。

Web应用防火墙(WAF)用于保护应用层,专门分析应用层的每个HTTP/S请求。它通常能够感知用户、会话和应用,并了解其后端Web应用及这些应用提供的服务。因此,可以将WAF视为用户与应用之间的中介,在所有通信到达应用或用户之前进行分析。传统WAF可确保仅执行安全策略允许的操作。对许多组织而言,WAF是值得信赖的应用第一道防线,尤其可防范OWASP十大风险,即常见应用漏洞的基础性清单。目前,这十大风险包括:

获取电子书,了解如何应对OWASP十大风险

观看这段简短视频,了解IPS与WAF的区别

下一代防火墙(NGFW)会监控流向互联网的流量,包括网站、电子邮件帐户和SaaS流量。简而言之,它保护的是用户,而不是Web应用。NGFW不仅会实施基于用户的策略并为安全策略添加上下文,还会提供URL过滤、防病毒和防恶意软件等功能,并且可能自带入侵防御系统(IPS)。WAF通常是供服务器使用的反向代理,而NGFW通常是供浏览器等客户端使用的正向代理。

WAF是反向代理吗?

反向代理服务器是一种代理服务器,通常部署在专用网络的防火墙后方,将客户端请求转发到相应的后端服务器。代理通常用于保护客户端,而WAF用于保护服务器,并通过部署来保护特定的Web应用。因此,WAF可视为一种反向代理。WAF可以采用设备、服务器插件或过滤器等形式,也可以针对具体应用进行定制。

WAF的不同部署方式

WAF有多种部署方式,具体取决于应用的部署位置、所需服务、管理方式,以及对架构灵活性和性能的要求。您希望自行管理,还是将管理工作外包?采用云端部署模式更合适,还是希望将WAF部署在本地?部署方式将有助于确定哪种WAF更适合您的需求。以下是可选方案。

WAF部署模式:

  • 基于云且以完全托管服务形式提供。如果需要以快速、省心的方式在应用前端部署WAF,这会是一个合适的选择(尤其适合内部安全和IT资源有限的情况)
  • 基于云端+自行管理,在保留对流量管理和安全策略设置控制权的同时,获得云端的灵活性和安全策略可移植性
  • 基于云端+自动预置:这是在云端开始使用WAF的简便方式,可轻松且经济高效地部署安全策略
  • 本地部署的Advanced WAF(虚拟设备或硬件设备),可满足严苛的部署要求,适用于对灵活性、性能和更高级安全防护有关键业务需求的场景

本指南可帮助您选择合适的WAF和部署模式。

详细了解WAF,以及如何利用F5的Advanced WAF技术保护应用。F5还提供F5 NGINX App Protect,这是一款现代WAF应用,可与F5 NGINX Plus、F5 NGINX Ingress Controller及其他服务器配合使用。NGINX Plus还提供可大规模扩展的缓存解决方案和反向代理,能够以优化且可靠的方式向各类客户端提供静态内容和不常更新的内容。NGINX Plus缓存服务器还可处理脚本语言通过FastCGI、SCGI和uwsgi等协议返回的动态响应。