waf核心优化功能点
对于网络设备来说管理是一个重要的部分,尤其对于安全设备来说,因为业务 需要的不停变化需要对设备不停的进行设置。
从这个角度来说,WAF的管理模块必须满足策略更新的需求,同时管理模块的设计和实现上需要格外小心, 保证不会影响吞吐量和可用性。
下面是关系 到WAF管理模块的几个方面,我们对其进行了分类,以便区分不同的管理需求,这可以从一个较高的抽象层次来对WAF进行评价,而不必深入到具体的相关技术。
策略管理
1.可以方便的弃用某些自动生成的策略,大多数的WAF设备都可以自动的学习应用的逻辑结构 并建立与之对应的安全策略,然而,如果这些策略带来了大量的误报,应该有一种机制可以很方便的弃用其中的某些策略,而不是从零开始再手工建
立策略。
2.可以方便的修正误判,对于某些策略将合法的请求误判是攻击的情况应该可以方便的将这些合法的请 求移出过滤规则。
3.为不同的应用定制不同的策略,对于新部署的应用需要对之采用学习模式,而那些已经建立了稳定的策略的老应用,则不推荐再使用学习模式了。
4.可以定制攻击的特征及其响应事件。
主动安全模式中应该没有自定义攻击特征的概念了,然而,一些商用的产品中 往往将这两种功能结合在一起来增强准确性,管理模块应该支持自定义特征来对付那些针对某些应用的特别的攻击行为。
1.可以定制防止CC的策略,由于应用环境的不同,对CC也不好作出一个标准的定义,因此WAF产品需要能允许管理员自己定义如何去辨别CC攻击,有些具有一定智能的WAF可以为正常的应用访问建立一个统计模型,通过监控流量是否偏离了这个正常模型来判断是否发生了CC攻击。
2.可以将探测和阻断结合起来,策略需要能在较细的粒度上提供支持,不能支持在整个应用的层面上不停的从检测和阻断模式之间进行切换,必须要在组件的层次上支持对每一个攻击在检测和阻断之间进行组合,这使得管理员可以方便的阻断那些真实攻击,同时也可以对流量进行检测【尽量的让功能模块化,并使得各模块之间可以同时工作和进行信息交换】。
3. 回退机制,如果新设置的策略没有正确的保护网站或者影响了网站的服务,应该有一种机 制能方便的返回到先前的策略状态。
4.策略共享,该WAF的策略是否可以共享到其他的系统,如何控制策略的版本?
学习机制
1.识别出可信任的主机,学习模式的基础是对客户端和应用服务器之间的流量进行监视,但是在一个时间段中可能没有任何的攻击行为发生,因此不能将这个作为学习无害流量的基础,应该可以指定一些可信任的主机让WAF将这些主机的流量作为无害流量来学习。
2.在无人干涉的情况下对应用特征进行学习,应该有一种内建的机制使得WAF可以在没有用户访问网站的情况下也可以对应用的特征进行学习。就像网络爬虫或是扫描器那样对网站的每一个链接页面和所有服务进行分析,这种爬虫需要和策略编辑器有机的结合起来,同时,应可以 定时进行扫描以发现Web应用的更改并及时对策略进行修正。
3.在图形界面可以对策略进行修正,有时策略自学习并不能生成足够准确的策略,因此必须可以对策略中的细节进行调整,譬如说修改那些正则表达式中的某些值等。
4.对策略进行检查
1. 审计安全策略并对之生成报告,审计方法?
2. 策略的变化是否进行了审计?审计都包括那些细节 (如: 更改的内容, 日期, 时间, 管理员等)。
配置管理
1.用户验证和角色管理,需要对登录的用户划分不同的权限,可以包括但不限于:设备管理员(设备配 置)、应用所有者(策略配置)、审计员(日志查看)等。
2.支持信任主机,信任主机 (通过IP或IP范围指定)有时需要被允许进行违反策略的操作。如在渗透性测试中,需要关闭保护机制或者仅仅产生报警。
3攻击特征库自动升级和安装
如果攻击特征库是作为一种检查手段的话,需要在每一个探测器上都可以自动下载和升级它。
4 远程管理,我们建议在安全的网络上对WAF进行远程管理。这使得管理员的维护工 作变得更安全,同时管理的网络流量需要能方便的通过防火墙并且要进行加密,以防被截获。
日志和监测
1.可以感知系统出错和性能的下降,管理模块应该可以对系统状态进行监测,以便在发生错误或性能下降时通知管理员,通常使用的通知方式是电子邮件、SNMP、Syslog或短信。
2.日志抑制,日志抑制其实是一种简单的机制,它通过一种巧妙的办法将相似的日志聚合为一条,并说明其次数,从而看起来更为简洁。如何去聚合则可由用户定义。
3.大数据平台,态势感知,通过检测分析waf日志结果,统计请求来源的特点、习惯等,将结果回馈到防护策略,优化策略。
服务和系统状态统计
统计报表可以在WAF在没有达到预期效果时为管理员提供帮助,同时,也有助于了解受保护的服务器的活动和性能,下面列出了相关工具可以提供的一些基本统计因素:
1.每秒的请求数/连接数/会话数
2.恶意请求的百分比
3.阻断的请求百分比
4.错误数
5.识别出的浏览器类型 (通过对 User-Agent header的判断得到)
6.访问最频繁的URL
这些数据应该存储在容易获取到的日志中,甚至可以直接显示在设备上。
界面的强壮性和可靠性
当WAF的界面存在BUG是很麻烦的,因此在设计界面时应该注意避免出现意外错误和管理失效的情况发生。应该设计一 种机制在设置新策略失败时,WAF可以恢复到原来的状态。
另一方面,WAF得管理界面不能存在像其准备去保护的应用中的那些相同的弱点,如SQL注入漏洞、参数恶意修改漏洞(Parameter Tampering) 等。
【Parameter Tampering:修改那些hidden的参数值或是url中 参数值,详细的请见http://www.owasp.org/index.php/Web_Parameter_Tampering】