zoukankan      html  css  js  c++  java
  • Azure WAF防火墙工作原理分析和配置向导

    Azure WAF工作原理分析和配置向导

    本文博客地址为:http://www.cnblogs.com/taosha/p/6716434.html ,转载请保留出处,多谢!

     

    本地数据中心往云端迁移的的趋势越来越明显,安全始终是最热门的话题之一。

    本文讨论的内容是Azure WAF,即微软公有云Azure的Web application firewall(下均简称WAF)。内容概述:

    1. 什么是WAF
    2. Azure WAF功能和特点
    3. Azure WAF的工作原理
    4. 一步步配置WAF

     

    1. 什么是WAF

    随着互联网的进一步发展,Web应用大行其道,承载了客户越来越多的应用,甚至各种核心应用,针对Web应用的"掘金行动"也越来越多,网上报道的各类受攻击事件呈直线上升趋势。WAF全称Web application firewall,就是网站应用程序防火墙,顾名思义是专门针对Web应用的防火墙,这是一个细分领域的针对性防火墙。

         

         2.Azure WAF功能和特点

    微软在云端提供了WAF功能,目前这个功能还仅仅在海外版提供使用,国内21V的版本还没有提供,不过海外有了,国内估计也快了,确实客户的刚性需求摆在这里呢。

    WAF不仅仅只是防御Web的http访问,可以对Web应用做到全方位的立体防护。可以防范:

    • 常见的命令注入攻击,利用网页漏洞将含有操作系统或软件平台命令注入到网页访问语句中以盗取数据或后端服务器的控制权
    • SQL 注入,找到数据查询语句漏洞,通过数据库查询代码窃取或修改数据库中的数据
    • 跨站脚本攻击,利用网站漏洞攻击访问该站点的用户,用户登陆或认证信息;
    • 各种HTTP 协议攻击,利用http的协议漏洞进行攻击;
    • 机器人、 爬虫和扫描,通过机器人,爬虫,和扫描工具自动抓取网站数据以及对网站进行自动攻击;
    • 常见的应用程序配置错误 (如 Apache、 IIS 等),利用Web发布程序的配置漏洞或者已知bug进行攻击
    • HTTPS攻击,使用SSL加密包绕过网络防火墙和普通的WAF进行攻击;

    总结:微软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的工作原理,理解规则就非常容易,如前文所述,规则绑定在监听器上,根据流量的类型和端口再将流量导向到指定的后端服务器池,如下图所示,

      到此为止,WAF就已经配置完成了,是不是非常简单,但是可以为您的Web应用加上全方位的保护,这下终于可以安心的睡个觉了。

       

      结尾:Azure WAF功能非常强大,不但支持Web应用的安全防护,还可以支持多站点流量分发(一个WAF最大20个站点),还支持将站点不同内容比如图片PIC,视频Video等根据需要导向到不同的后端服务器等等,有这么强大的WAF您还在等什么,微软云海外用户可以赶紧用起来啦。

  • 相关阅读:
    MySQL/MariaDB数据库的各种日志管理
    MySQL/MariaDB数据库的事务和隔离级别
    MySQL/MariaDB数据库的并发控制
    MySQL/MariaDB数据库的索引工作原理和优化
    MySQL/MariaDB数据库的查询缓存优化
    安卓(Android)开发基础知识
    typora快捷键
    理解ECS的概念和Unity中的ECS设计
    UGUI合批原理笔记
    SourceTree下载bitbucket代码
  • 原文地址:https://www.cnblogs.com/taosha/p/6716434.html
Copyright © 2011-2022 走看看