Web应用防护系统的概述(WAF)

前言

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

背景

当WEB应用越来越为丰富的同时,WEB 服务器以其强大的计算能力、处理性能及蕴含的较高价值逐渐成为主要攻击目标。SQL注入、网页篡改、网页挂马等安全事件,频繁发生。2007年,国家计算机网络应急技术处理协调中心(简称CNCERT/CC)监测到中国大陆被篡改网站总数累积达61228个,比2006年增加了1.5倍。其中,中国大陆政府网站被篡改各月累计达4234个。

企业等用户一般采用防火墙作为安全保障体系的第一道防线。但是在现实中,Web服务器和应用存在各种各样的安全问题,并随着黑客技术的进步也变得更加难以预防,因为这些问题是普通防火墙难以检测和阻断的,由此产生了WAF(Web应用防护系统)。Web应用防护系统(Web Application Firewall, 简称:WAF)代表了一类新兴的信息安全技术,用以解决诸如防火墙一类传统设备束手无策的Web应用安全问题。与传统防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。

功能

审计设备

对于系统自身安全相关的下列事件产生审计记录:

  1. 管理员登录后进行的操作行为;
  2. 对安全策略进行添加、修改、删除等操作行为;
  3. 对管理角色进行增加、删除和属性修改等操作行为;
  4. 对其他安全功能配置参数的设置或更新等行为。

访问控制设备

用来控制对Web应用的访问,既包括主动安全模式也包括被动安全模式。

架构及网络设计工具

当运行在反向代理模式,他们被用来分配职能,集中控制,虚拟基础结构等。

WEB应用加固工具

这些功能增强被保护Web应用的安全性,它不仅能够屏蔽WEB应用固有弱点,而且能够保护WEB应用编程错误导致的安全隐患。需要指出的是,并非每种被称为Web应用防火墙的设备都同时具有以上四种功能。

同时WEB应用防火墙还具有多面性的特点。比如从网络入侵检测的角度来看可以把WAF看成运行在HTTP层上的IDS设备;从防火墙角度来看,WAF是一种防火墙的功能模块;还有人把WAF看作“深度检测防火墙”的增强。(深度检测防火墙通常工作在的网络的第三层以及更高的层次,而Web应用防火墙则在第七层处理HTTP服务并且更好地支持它。)

特点

异常检测协议

Web应用防火墙会对HTTP的请求进行异常检测,拒绝不符合HTTP标准的请求。并且,它也可以只允许HTTP协议的部分选项通过,从而减少攻击的影响范围。甚至一些Web应用防火墙还可以严格限定HTTP协议中那些过于松散或未被完全制定的选项。

增强的输入验证

增强输入验证,可以有效防止网页篡改、信息泄露、木马植入等恶意网络入侵行为。从而减小Web服务器被攻击的可能性。

及时补丁

修补Web安全漏洞,是Web应用开发者最头痛的问题,没人会知道下一秒有什么样的漏洞出现,会为Web应用带来什么样的危害。WAF可以为我们做这项工作了——只要有全面的漏洞信息WAF能在不到一个小时的时间内屏蔽掉这个漏洞。当然,这种屏蔽掉漏洞的方式不是万无一失的,并且没有安装对应的补丁本身就是一种安全威胁,但我们在没有选择的情况下,任何保护措施都比没有保护措施更好。

基于规则的保护和基于异常的保护

基于规则的保护可以提供各种Web应用的安全规则,WAF生产商会维护这个规则库,并时时为其更新。用户可以按照这些规则对应用进行全方面检测。还有的产品可以基于合法应用数据建立模型,并以此为依据判断应用数据的异常。但这需要对用户企业的应用具有十分透彻的了解才可能做到,可现实中这是十分困难的一件事情。

状态管理

WAF能够判断用户是否是第一次访问并且将请求重定向到默认登录页面并且记录事件。通过检测用户的整个操作行为我们可以更容易识别攻击。状态管理模式还能检测出异常事件(比如登陆失败),并且在达到极限值时进行处理。这对暴力攻击的识别和响应是十分有利的。

其他防护技术

WAF还有一些安全增强的功能,可以用来解决WEB程序员过分信任输入数据带来的问题。比如:隐藏表单域保护、抗入侵规避技术、响应监视和信息泄露保护。

配置规则

打开 /www/server/nginx/waf 目录,里面的 config.lua 文件就是waf防火墙的配置文件 。每一项的具体含义如下所示:

RulePath=”/www/server/panel/vhost/wafconf/”–waf 详细规则存放目录(一般无需修改)

attacklog =“on”–是否开启攻击日志记录(on 代表开启,off 代表关闭。下同)

logdir =”/www/wwwlogs/waf/”–攻击日志文件存放目录(一般无需修改)

UrlDeny=“on”–是否开启恶意 url 拦截

Redirect=“on”–拦截后是否重定向

CookieMatch=“off”–是否开启恶意Cookie拦截

postMatch=“off”–是否开启 POST 攻击拦截

whiteModule=“on”–是否开启 url 白名单

black_fileExt={“php”,“jsp”}–文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{“后缀名1”,“后缀名2”,“后缀名3”……}

ipWhitelist={“127.0.0.1”}–白名单 IP,如有多个则用英文逗号分隔。如:

{“127.0.0.1”,“127.0.0.2”,“127.0.0.3”……}下同

ipBlocklist={“1.0.0.1”}–黑名单 IP

CCDeny=“off”–是否开启 CC 攻击拦截

CCrate=“300/60”–CC 攻击拦截阈值,单位为秒。”300/60″代表60秒内如果同一个 IP 访问了300次则拉黑

配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。文件夹下有着相关的规则文件。作用解析如下:

args –GET 参数拦截规则

blockip –无作用

cookie –Cookie拦截规则

denycc –无作用

post –POST 参数拦截规则

returnhtml –被拦截后的提示页面(HTML)

url –url 拦截规则

user-agent –UA 拦截规则

whiteip –无作用

whiteurl –白名单网址

 

你可能感兴趣的:(安全,网络与系统,WAF,web应用防护系统,防火墙)