作者:沙涛
转自:http://www.cnblogs.com/taosha/p/6716434.html
本地数据中心往云端迁移的的趋势越来越明显,安全始终是最热门的话题之一。
本文讨论的内容是Azure WAF,即
微软公有云Azure的Web application firewall(下均简称WAF)。内容概述:
-
什么是WAF
-
Azure WAF功能和特点
-
Azure WAF的工作原理
-
一步步配置WAF
1、什么是WAF
随着互联网的进一步发展,Web应用大行其道,承载了客户越来越多的应用,甚至各种核心应用,针对Web应用的"掘金行动"也越来越多,网上报道的各类受攻击事件呈直线上升趋势。WAF全称Web application firewall,就是网站应用程序防火墙,顾名思义是专门针对Web应用的防火墙,这是一个细分领域的针对性防火墙。
2、Azure WAF功能和特点
微软在云端提供了WAF功能,目前这个功能还仅仅在海外版提供使用,国内21V的版本还没有提供,不过海外有了,国内估计也快了,确实客户的刚性需求摆在这里呢。
WAF不仅仅只是防御Web的http访问,可以对Web应用做到全方位的立体防护。可以防范:
总结:微软WAF使用开源的通用
OWASP
规则包进行防范,目前支持CRS 2.2.9和CRS 3.0两个版本的规则集。可以支持:
CRS规则集详细内容参见:
https://www.modsecurity.org/crs/
以及
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-crs-rulegroups-rules
注意:Azure数据中心自带防DDOS攻击,所以WAF没有防DDOS攻击的能力。
Azure WAF的特点是配置简单,功能强大,价格便宜;还可以将现有Application gateway快速升级为WAF。
3、Azure WAF的工作原理
这里要理解一下微软WAF的设计理念,专有名词和相关限制,这样在后面配置时就比较清晰。
从网络拓扑上来看,WAF是应用程序网关的一种,位置介于负载均衡器和后端服务器组之间,工作在OSI网络堆栈的最高层--第七层,如下图:
WAF可以分为前端捕获,规则设置和监控(大脑),规定动作(监控or阻断),日志存储/监控展现四大部分,这四个部分在Azure WAF都有一一对应处理单元如下图:
前端端口是前端流量入口点,绑定规则的监听器则负责将流量导向不同的后端服务器池,Azure WAF提供两种动作,一种是监控,即发现非法流量仅做记录;第二种是保护,发现非法流量后会拦截该流量,仅允许合法流量通过WAF;每个后端服务器池提供一个Web应用服务;
理解上文的专有名词,(吐槽一下各种名词多多,很容易搞晕)
-
Back-end server pool/
后端服务器池
:
后台要保护的服务器池
IP
列表;每个池最大
100
台服务器,一个
WAF
最大支持
20
个后端服务器池;
-
Back-end server pool settings/
后端服务器池设置
:
每个服务器池单独设置端口,协议等,注意配置会应用在该后端池的所有服务器上,针对不同应用建议设置不同的后端池;
-
Front-end port/
前端端口
:
设置应用网关上的公共
IP
,所有流量通过这个
IP
进入网关,再由网关重定向到后端服务器池;注意一个
WAF
只有一个公网前端和内网前端;
-
Listener/
监听器
:
监听器负责监听前端端口;一个
WAF
最大
20
个监听器;所有流量都必须经过监听器处理;可以设置多个监听器监听不同端口或者不同协议的流量;
-
Rule/
规则
:
规则必须绑定到监听器方可发生作用,所有进来的流量经过规则裁定后,再到后端服务器池,每个监听器最大
10
条规则;规则有三个要素:监听器名,后端服务器池,
http
协议及端口设置。只有知道这些要素
WAF
才知道该把
HTTP/HTTPS
(也许是非缺省端口)流量导向哪一个后端服务器池。
-
Certificates/
认证
:
使用
Https
的时候会用到。
4、一步步配置Azure WAF
理论已经讲明白了,接下来配置非常简单,可以按照如下顺序配置:
第一步:
首先你得先有个WAF,登陆Azure Global Portal在Application Gateway(应用程序网关)创建WAF;创建完成后如下图,前端IP已经自动生成了。
第二步:配置WAF
选择开启防火墙,防火墙模式就是动作模式,有两种,选择Detection监测模式,会记录流量,不会阻断非法流量;选择Prevention会主动阻断非法流量;
第三步:配置后端服务器池
后端服务器池就是Web应用服务器的IP或者域名,可以有多个后端池;在规则设置中区分流量导向哪个后端服务器池;
第四步:配置Http协议和端口
我们前面提到过规则的三要素,前端,后端,http配置,这里可以配置端口,如果你后端服务器池用的不是通用的80端口,这里一定要做一下配置;这里也可以设置HTTP or HTTPS。
第五步:配置监听器
如上图,针对不同端口的流量要用不同的监听器进行监听,一个WAF可以配置最大20个监听器;
第六步:配置规则
如果了解了WAF的工作原理,理解规则就非常容易,如前文所述,规则绑定在监听器上,根据流量的类型和端口再将流量导向到指定的后端服务器池,如下图所示,