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 ...
随机推荐
- Python爬虫(1-4)-基本概念、六个读取方法、下载(源代码、图片、视频 )、user-agent反爬
Python爬虫 一.爬虫相关概念介绍 1.什么是互联网爬虫 如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的数据 解 ...
- SUM_ACM-Codeforces Round 941 (Div. 2)
A Card Exchange https://codeforces.com/contest/1966/problem/A 思路:找规律,如果b>a,输出a,如果a中有大于等于b个数,输出b-1 ...
- C#中使用 record 的好处 因为好用所以推荐~
一晃距C# 9发布已经4年了,对于record关键字想必大家都不陌生了,不过呢发现还是有很多同学不屑于使用这个语法糖,确实,本质上record就是class的封装,能用 record 书写的类,那10 ...
- Miniconda 切换python版本
要在 Miniconda 中切换 Python 版本,可以按照以下步骤进行操作: 打开命令提示符或者 Anaconda Prompt(如果已经安装了). 输入 conda info --envs 查看 ...
- c# 多线程环境下控制对共享资源访问的办法
Monitor: 定义:Monitor 是 C# 中最基本的同步机制,通过 Enter 和 Exit 方法来控制对共享资源的访问.它提供了排他锁的功能,确保在任何时刻只有一个线程可以访问共享资源. 优 ...
- 从pytest源码的角度分析pytest工作原理
从pytest源码的角度分析pytest工作原理 从 pytest 源代码的角度来分析其工作原理,我们需要关注几个关键的部分,特别是 pytest 的启动过程以及测试的收集与执行.下面是基于 pyte ...
- 对比python学julia(第二章)--(第一节)隔沟算样—枚举策略
1.1. 问题描述 在明代数学家程大位的<算法统宗>著作中记载了这样一道数学题: 甲乙隔沟放牧,二人暗里参详. 甲云得乙九个羊,多你一倍之上. 乙说得甲九只,两家之数相当. 两边闲坐恼心 ...
- 【Git】介绍与概述
版本控制工具应该具备的功能? 协同修改 多人并行不悖的修改服务器端的同一个文件. 数据备份 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态. 版本管理 在保存每一个版本的文件信息的时候 ...
- Jax框架在不同版本间的随机数生成并不一致 —— jax.random
官方: https://jax.readthedocs.io/en/latest/api_compatibility.html#numerics-and-randomness 具体的解释就是在不同的J ...
- 如何为anaconda配置动态链接库——ERROR: compiler_compat/ld: cannot find
现在为python编译lib库的环境主要是使用anaconda,而之前往往都是使用自编译python环境,然后使用Linux的系统lib环境,但是现在由于都是使用anaconda环境来编译python ...