企业怎么选择国产Web应用防火墙?

企业怎么选择国产Web应用防火墙?企业怎么选择国产Web应用防火墙?2005年前后,Web应用防火墙(WAF)进入了IT安全领域,最早提供这类产品的供应商是几家新兴公司,如Perfecto、KaVaDo和NetContinuum。工作原理相当简单:随着攻击范围向IP堆栈的上层移动,瞄上针对特定应用的安全漏洞,这时势必需要开发旨在识别和预防这些攻击的产品。虽然网络防火墙在阻止较低层攻击方面很有效,但并不擅长解开IP数据包层,以分析较高层协议;这就意味着,网络防火墙缺少应用感知功能,而要关闭自定义Web应用中的漏洞窗口,就需要这种功能。但是

大家好,又见面了,我是你们的朋友全栈君。

企业怎么选择国产Web应用防火墙?

2005年前后,Web应用防火墙(WAF)进入了IT安全领域,最早提供这类产品的供应商是几家新兴公司,如Perfecto、KaVaDo和NetContinuum。工作原理相当简单:随着攻击范围向IP堆栈的上层移动,瞄上针对特定应用的安全漏洞,这时势必需要开发旨在识别和预防这些攻击的产品。虽然网络防火墙在阻止较低层攻击方面很有效,但并不擅长解开IP数据包层,以分析较高层协议;这就意味着,网络防火墙缺少应用感知功能,而要关闭自定义Web应用中的漏洞窗口,就需要这种功能。

但是尽管WAF炒得很火,供应商承诺的优点也很多,但最终用户的使用体验却相当差。早期产品存在诸多缺点,比如误报率高,给受保护应用的性能带来负面影响,又很难有效地管理。2005年前后,包括思科、思杰和F5在内的大牌网络供应商或收购或开发了Web层监控技术,WAF随之成为一道公认的边界安全防线。促使WAF得到主流用户采用的另一个因素是,出台了支付卡行业数据安全标准(PCI-DSS),该标准在第6.6项需求中明确要求使用具有应用层感知功能的防火墙。

如今,WAF已是IT安全工具箱中一个公认的组成部分。但许多企业仍在为这个问题而纠结:该买哪一种WAF、如何最合理地把它们集成到Web应用风险管理产品系列中。本文分析了采购WAF方面一些主要的决策因素,并给出了相应的建议,以便确保它们很适合企业架构和网络生态系统。

在这里插入图片描述

1、架构和物理尺寸

WAF应该适合于现有的架构,并采用得到安全操作团队接受和支持的物理尺寸。WAF放置方面主要有两种架构方案可以考虑:桥接模式(in-line)或分接/跨接模式(tap/span)。

桥接模式:在这种架构(又叫主动配置)中,WAF就直接放在请求方(如浏览器客户端)与Web应用服务器之间的流量路径当中。WAF在检查应用请求和响应之后再传送请求和响应。

在桥接模式里面,WAN到底采用哪一种方法来传送流量,企业可以作出众多选择。网络方面的选择有:路由器(3层)、网桥(2层)和HTTP反向代理系统。WAF还可以直接在主机服务器(Web应用驻留在上面)上使用,这种WAF名为基于主机的WAF或嵌入式WAF。使用网桥模式的WAF可能不需要改动网络,但流量必须定向至路由器或反向代理模式中的WAF。热门产品腾讯云Web应用防火墙 3折特惠体验
架构方面要考虑的另一个因素是,将安装和管理多少个WAF。如果需要WAF用于多个场合,那不妨考虑支持分布式管理或分布式WAF的解决方案。在这种模式下,可使用中央控制台来管理用于多个场合的防火墙。可以针对所有WAF统一运用规则或设置;也可以根据每个WAF的情况,逐个运用规则集,具体取决于WAF在保护哪一种Web应用。

2、WAF检测技术

刚才已讨论了架构和物理尺寸问题,现在要问一下这个问题:WAF如何检测Web应用中的漏洞以及针对Web应用的攻击?WAF的目的是智能地保护Web应用,所以拥有细粒度规则和检测机制很要紧。大多数WAF采用结合不同检测技术的方法,确保检测范围最广泛、结果最准确。除了问供应商使用哪些检测技术外,还要让供应商出示证明误报率/漏报率的依据以及第三方测试结果,以便更清楚地了解WAF在实际使用时效果会有多好。下面是一些检测技术,以及向最后选出来的几家产品供应商询问的几个问题:

特征:与为反恶意软件和网络入侵检测系统(IDS)编写的特征很相似,WAF特征也将预定字符串或正则表达式(RegEx)与流量进行匹配,以查找已知攻击。

规则:规则在特征概念的基础上更进了一步,它可以用逻辑与运算符把一系列字符串联系起来,用或运算符添加更复杂的匹配机制,或者用非运算符实现排斥功能。还可以设定规则,寻索非常特定的字符串类型,就像16位号码(比如信用卡号),作为来自Web服务器的响应而发送。一些WAF能够动态学习流量模式,根据一套基准规则来查找异常行为。学到的信息可以发送给管理员,提议针对WAF或互补性保护设备(如IDS或网络防火墙)设定什么样的新规则。

规范化:攻击者的一种惯用手法是,对漏洞的有效载荷做手脚,冒充没有危害的内容(比如对有效载荷的一部分进行URL编码),从而避开WAF的检测。为了检测出这种攻击,WAF就要能够对请求进行规范化处理,以便进行分析。以下是仅仅几个规范化机制完整清单请参阅Web应用安全联盟Web应用防火墙评估标准的第3.1章节。

高可用性和高吞吐量:如果WAF在流量很大的环境下,它应该能够在不减慢Web应用速度的情况下,处理庞大流量,如果它是桥接式WAF更要有这种功能。如果一个WAF或Web应用失效或超过安全界限,WAF就得支持故障切换,与负载均衡器共同防止服务受到干扰。一些WAF与高可用性设备紧密集成,可作为Web流量管理系统的组件来运行。如果是独立式WAF,就要确保它们满足贵公司的高可用性需求,以便同时符合性能和架构方面的要求。

SSL和加密:加密可以保护传送的数据被人窥视,但这也意味着WAF要是不先对数据解密,就无法检查数据。这方面有两个选择:一是为WAF提供密钥,那样就能对数据解密。二是在WAF处终结SSL连接,然后建立一条新的加密隧道,以便数据从WAF传送到Web服务器/浏览器(建立加密隧道是可选功能)。SSL处理给处理器带来了开销,所以要精心选择可合理终结SSL会话的WAF,考虑使用加速板来卸载一部分处理工作。

与Web应用扫描器集成:Web应用扫描器这种产品能够自动扫描来自外部的Web应用,以模拟攻击者可能会发现的那种安全漏洞。扫描器与WAF互为补充,因为它们能发现管理员利用自定义WAF规则可以缓解的安全漏洞。有些Web应用扫描器供应商与WAF供应商结成了合作伙伴,那样扫描过程中发现了安全漏洞后,扫描器就能自动提议采用什么样的自定义规则,使用正确的WAF句法。这有助于迅速消除安全漏洞,也不需要试图制定防止攻击的最佳规则所需要的管理开销。

总结

你在购买WAF产品之前,需要弄清楚上述问题和考虑因素,它们是确保你买到合适产品的基础。想了解更多的详细内容和考虑因素,请参阅Web应用安全联盟的Web应用防火墙评估标准评估响应矩阵。将上述几点和评估响应阵里面的更多详细内容作为基准,列明需求,并确定必要的功能特性,然后向供应商提交采购需求,敲定最后的需求。虽然WAF市场不像其他一些市场来得拥挤,但事先做好明确采购需求方面的工作将大大缩小产品的选择范围,并有助于确保企业能够得到合适的工具。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137158.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • kafuka安装启动

    kafuka安装启动https://www.jianshu.com/p/ce203d4e2f41

  • scrapy安装步骤_scrapy官网

    scrapy安装步骤_scrapy官网安装scrapy过程中出现各种包安装错误,所以自己一直看教程知道scrapy安装需要准备好各种环境。这些包按照从下到上的顺序下载,lxml这个包按下文教程安装。不想看过多文字和图片的懒人们可看教程视频:http://www.iqiyi.com/w_19rz36pjft.html利用pipinstall命令安装pywin32,pyopenssl.这两个包可在cmd安装成功pip…

  • 群晖 docker 端口_群晖 l2tp

    群晖 docker 端口_群晖 l2tp最近群晖docker某个容器端口总是被扫描,系统自动封禁了很多IP,遂想更改端口,个人对Linux和docker非常不熟悉,只做记录,如有错误,欢迎指出流程分为以下几个步骤:停止容器修改端口映射重启docker停止容器首先用dockerps命令查看所有的容器名称和id例如容器ID为a1b2c3用dockerstopa1b2c3来停止容器修改端口映射修改端口映射主要在了两个文件hostconfig.json和config.v2.json下面是如何找到这两个文件的路径利用cd/v

    2022年10月18日
  • 王立平–include在Android应用

    王立平–include在Android应用

    2021年12月30日
  • ClassCastException。

    ClassCastException。这个错误也很常见,通常在程序中出现强制类型转换时出现这个错误,如下面这段代码所示:publicstaticMapm=newHashMap(){ { put("a","2"); } }; publicstaticvoidmain(String[]args){ IntegerisInt=(Integer)m.get("a"…

  • SMTP设置_搭建邮件服务器的方法

    SMTP设置_搭建邮件服务器的方法2019独角兽企业重金招聘Python工程师标准>>>…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号