Azure – WAF (Web Application Firewall)
前言
最近有客户想购买 Azure 的 Web Application Firewall (WAF), 来防 SQL Injection, XSS 攻击.
一开始我是觉得没什么必要, 毕竟什么年代了, 如果项目里还有 SQL Injection, XSS 的话, 那表示开发人员有问题了. 那你要防的东西可多了.
但后来我详细 research 之后发现, WAF 是个好东西, 它远远不只是防 SQL Injection, XSS 这些.
重点是, 它也没有很贵, 性能也没有很慢. 这就好比住宅区外是否要一个 guard house 把守进入住宅区的人.
坏处就是进出变慢了, 因为多了一个检查环节, 另一个就是要钱.
好处就是多了一个保护. 这个保护主要是心里层面, 你不会因为住家外有了 guard house 而家里就不锁门. 但多一个保护多一个检查肯定多一份安全.
所以站在企业的角度, 购买这些是合理的.
主要参考:
通过nginx配置文件抵御攻击 (讲了一个具体 CC Attack 防卫案例)
WAF气数已尽?(敏捷 DevOps 希望把安全也纳入 Web 架构中, 而不是外面 wrap 一层 WAF, 但是理想很好, 现实不容易啊)
讲讲企业选购WAF那些事 (法律政策也是采购 WAF 的考量之一, 也有讲到新一代 WAF 自动化攻击等等)
WAF基本原理与部署方式 (讲架构原理, 一堆流程图)
Azure WAF 保护范围

Azure WAF – How It Work
WAF 需要拦截所有服务器请求, 然后进行检测. 但它不会架在服务器里, 而是在请求到达服务器之前去做拦截.
在之前的教程里, 我是直接把 DNS 里的 domain point 去 server public IP. 这样它就没有机会做拦截了.
在 Azure 的架构里, WAF 需要依附在其它 network service 之上. 然后把 DNS point to 这些 service (有点反向代理的味道)
参考: What is Azure Web Application Firewall

1. Azure Application Gateway
参考 : What is Azure Application Gateway?
它是 Azure 的 load balancer 之一 (Azure 针对不同场合有不同的 load balance service), 我没有研究太多, 只知道它的 limitation 是 only region level. 不可以跨 region.
2. Azure Front Door (AFD)
它是 global 的, 对比 Application Gateway 它可能是比较综合的 solution. AG 比较 focus 在 load balance, AFD 则包含 CDN 等.
2021 年 4 月, Azure 还推出了 AFD standard 和 premium preview 版本. 里面就结合了 AFD classic + Azure CDN + Azure WAF
所以估计日后会发扬光大
3. Azure CDN
参考: What is a content delivery network on Azure?
Azure CDN vs Azure AFD 简单理解就是 CDN 适合 static 内容, AFD 适合 Web App, API. 都是分布式网络的方案.
目前 CDN 配 WAF 还属于 Preview 阶段.
Preview 能用吗?
Azure 的 preview service 最好不要用在 production.

然后它通常会有高则扣

Should I use Azure WAF?

很显然, Azure 在 WAF 这方面还是很弱的. 建议要做 WAF 最好选 Cloudflare. 如果要用 Azure, AFD 应该会是未来. 所以可以等过了 preview 阶段.
TODO 目前没有用它... 以后有在朴上
Azure Part
What is Azure WAF on Azure Application Gateway?
Web Application Firewall CRS rule groups and rules
FAQ for Azure WAF on Application Gateway
Azure – WAF (Web Application Firewall)的更多相关文章
- Azure Front Door(三)启用 Web Application Firewall (WAF) 保护Web 应用程序,拒绝恶意攻击
一,引言 上一篇我们利用 Azure Front Door 为后端 VM 部署提供流量的负载均衡.因为是演示实例,也没有实际的后端实例代码,只有一个 "Index.html" 的静 ...
- ModSecurity web application firewall (WAF) Research
catalog . 引言 . OWASP ModSecurity Core Rule Set (CRS) Project . Installation mod_security for Apache ...
- ModSecurity is an open source, cross-platform web application firewall (WAF) module.
http://www.modsecurity.org/ ModSecurity is an open source, cross-platform web application firewall ( ...
- WAF(Web Appliction Firewall) Bypass Technology Research
catalog . What is Firewall . Detecting the WAF . Different Types of Encoding Bypass . Bypass本质 1. Wh ...
- 走进科学 WAF(Web Appllication Firewall)
1. 前言 当WEB应用越来越为丰富的同时,WEB 服务器以其强大的计算能力.处理性能及蕴含的较高价值逐渐成为主要攻击目标.SQL注入.网页篡改.网页挂马等安全事件,频繁发生. 企业等用户一般采用防火 ...
- 走进科学之WAF(Web Appllication Firewall)篇
小编P.S:文章非常详尽对WAF领域进行了一次科普,能有让人快速了解当前WAF领域的相关背景及现状,推荐所有WAF领域的同学阅读本文. 1. 前言 当WEB应用越来越为丰富的同时,WEB 服务器以其强 ...
- Free Web Application Firewall相关资料
http://www.freewaf.org/solution/#1 http://baike.soso.com/v60659982.htm
- Azure WAF防火墙工作原理分析和配置向导
Azure WAF工作原理分析和配置向导 本文博客地址为:http://www.cnblogs.com/taosha/p/6716434.html ,转载请保留出处,多谢! 本地数据中心往云端迁移的的 ...
- windows azure Vm、cloud service、web application 如何选择可用的服务
windows azure 的web应用和虚拟机都经常用.我们经常把我们的网站部署上去.一般选择web应用或者开一个虚拟机.开一个虚拟机就会按照虚拟机的使用时间进行计费. 那么我们选择web部署在哪里 ...
- [Windows Azure] Adding Sign-On to Your Web Application Using Windows Azure AD
Adding Sign-On to Your Web Application Using Windows Azure AD 14 out of 19 rated this helpful - Rate ...
随机推荐
- 解决方案 | cad选择集找出包含特定字符串的多行文本
代码如下: 1 # 选择文本中出现特定单词的多行文字 2 # 下面的代码将选择条件定义为文本字符串中出现"The"的任意选项.此示例还演示了选择方法的用法:MtextSelectB ...
- Windows 10 LTSC中个人版OneDrive失效的问题
该问题是由于LTSC注册表无onedriver的id{A52BBA46-E9E1-435f-B3D9-28DAA648C0F6}定义导致,解决方案是新建一个reg_onedrive.reg文件,并编辑 ...
- UE导入FBX、GLTF模型
楔子 虽然做了很多年的三维可视化,不过都主要还是web端开发为主(webgl,threejs,有兴趣的读者也可以关注下我的相关专栏).最近准备入手一下UE,顺便做一下知识梳理. 所以文章可能都是比较粗 ...
- [oeasy]python0054_三引号_原样显示字符串_triple_quoted
三引号 回忆上次内容 \ 首先是转义字符 可以 和别的字符 构成转义序列 \a是 ␇ (bell), \b 退回一格 \t 水平制表符 \v.\f LineFeed \\ 输出 \ \" 输 ...
- [oeasy]python0035_ 整合shell编程_循环_延迟_清屏
整合shell编程 回忆上次内容 用\r 可以让输出位置回到行首 原位刷新时间 如果想要的是大字符效果 需要使用 figlet 但同时还希望能刷新 编辑 这可能吗? 建立脚本 我们得熟悉一下s ...
- CF1363A 题解
洛谷链接&CF 链接 题目简述 共有 \(T\) 组数据. 对于每组数据,给定 \(n,x\) 和 \(n\) 个数,问是否可以从 \(n\) 个数中选 \(x\) 个使其和为奇数,可以输出 ...
- 关于异步编程中的bind(this)
异步编程中的.bind(this)方法解决了异步执行后this指针指向全局函数的问题,主要可以通过以下两个场景加以说明:(本文所用例子基于React场景:为简便起见,仅在第一个例子中展示完整HTML代 ...
- android 点击退出按钮 结束所有的activity 回到手机主页面
android 点击退出按钮 结束所有的activity 回到手机主页面我 实现了回到主页面 但是在点击这个程序 他还是回到**退出的界面 ** 我要实现点击按钮回到手机主页面 在点击这个程序后就重新 ...
- 记一次eclipse导入的JavaEE项目无法连接数据库的排查
1.问题描述 Eclipse导入了一个JavaEE项目 在虚拟机环境中新建了一个数据库 数据库可以使用本地客户端工具正常连接 导入的JavaEE项目修改了数据源配置后无法启动 相同的数据源配置通过在I ...
- 【MySQL】MGR高可用搭建
MySQL8.0.27如何安装 https://www.cnblogs.com/mindzone/p/15450312.html 部署过程中各种问题可参考的解决方案 我遇见的搭建问题,解决方案参考下面 ...