点击上方蓝字关注“汪宇杰博客”

导语

开发或运维过网站的朋友总免不了遇到不怀好意的访客。互联网上有许多全自动黑客工具及脚本,可以扫描你的网站是否有已知安全漏洞,并全自动发起攻击,企图夺取服务器控制权。尽管我们可以在编写网站程序的时候尽量做到符合安全标准,但难免会有疏忽的时候。因此企业常常采购网站应用防火墙(WAF),部署在网站入口,来拦截常见的攻击行为。微软的有钱人专用云 Azure 上也有成熟的 WAF 服务,可以让我们点点鼠标就配完防火墙,远离奋斗。

Azure WAF 简介

Azure Web 应用程序防火墙(WAF)是原生的托管服务,可为您的 Web 应用程序提供保护,使其免受常见漏洞和漏洞的影响。Web 应用程序越来越成为各种类型的攻击的目标,例如恶意机器人、SQL 注入攻击和跨站脚本攻击,这些攻击可能导致网站站点破坏,敏感数据泄露和应用程序宕机。防止应用程序代码中的此类攻击具有难度,并且可能需要在应用程序拓扑的多层进行严格的维护,修补和监视。集中式Web应用程序防火墙有助于简化安全管理,并更好地确保应用程序管理员免受威胁或入侵。此外,WAF解决方案可以通过在中心位置修补已知漏洞而不是保护每个单独的Web应用程序来更快地响应安全威胁。

为什么要用 Azure 的 WAF

因为贵的东西除了贵,没有别的问题。

图 | 安全牛《战五渣?四大云WAF实战测试险遭团灭》

https://mp.weixin.qq.com/s/cIzT5SKX7EV-13zQlltcyQ

创建 Azure WAF

在 Azure Portal 里点击 Create a resource,搜索 "WAF",选择 "Web Application Firewall",点击 Create。

Azure WAF 可以整合到 Front Door, Application Gateway 及 Azure CDN 中。其中的 Front Door 我曾经写过几篇文章介绍(见文末),最为熟悉,所以以此为例,Policy for 里选择 "Front Door"。Policy name 可以任意指定。

Mode 设置为 Prevention,即拦截模式,可以阻止被识别的攻击。而 Detection 模式只会记录日志,并放行攻击行为,假装没看见。

Block response body 的内容可以留空,也可以设置为给黑客的问候语,当攻击行为被拦截的时候就会显示在黑客的屏幕上,气死他/她/它。

Managed rules 中列出了微软提供的几款常用防火墙规则,可以勾选你需要的。其中涵盖了常见的 SQL 注入、XSS、Windows, Linux 远程命令执行、PHP注入、恶意机器人等等非常全面的攻击行为规则。试想一下,如果没有 WAF,要程序员手写代码全面防御这些攻击,要修多少福报?而用了 Azure,只要点点鼠标就配完了,下班时候天还亮着。

Custom rules 允许我们设置微软不提供的自定义防火墙规则。我们在稍后会介绍,此处先跳过。这些规则以及 Managed rules 都可以在创建完 WAF 后更改。

由于这个 WAF 策略在第一步里设置为了 Front Door,因此我们需要关联 Front Door 中的域名。至于 Front Door 是什么,怎么玩,可以参考我之前的文章。

《未雨绸缪 | 一文简介 Azure Front Door》

《解决 Azure AD 在 Azure Front Door 下登录失败的问题》

《使用 Azure Front Door 配置网站URL重定向》

最后点击 Review + Create,完成 WAF 创建。如果成功关联了 Front Door,那么等待5分钟左右,WAF 即生效。

使用自定义规则

Azure WAF 允许用户非常灵活地自定义防火墙规则。例如,我的博客并不是 PHP 写的,所以请求 .php 的往往是黑客扫描工具。我想屏蔽 .php 的请求。那么我可以添加一个自定义规则,查找 URL 为 .php 结尾的请求,并阻止掉。

至于所谓黑客的扫描工具,并不是我瞎编的,可以给大家看个实际案例。我的博客运营11年间,经常被黑客工具扫描,而用了 Azure 以后,Application Insight 就能监测到这种短时间大量 404 请求的情况:

可以发现这段时间的 failure 几乎都是 404。实际上网站在这段时间内可以正常访问,并没有爆炸。

Drill in 进去就能发现这些 404 请求都是黑客工具在尝试常见的 PHP 系统漏洞。

还尝试 SQL 注入,在 URL 最后加个单引号。天哪,这可是我 2003 年初中时候玩剩下的,现在还有……

实际上 Azure WAF 的 managed rules 里已经能够防御大部分这样的扫描,但如果想通过自定义规则来实现,也可以,比如屏蔽所有 .php 的请求。进入 Azure WAF,Custom rules,添加一个自定义规则。

指定一个名称,例如 BlockPHPExtension,将 Rule type 设置为 Match

Condition 为规则触发条件。为了匹配所有以 .php 结尾的请求,我们可以:

Match type: String

Match variable: RequestUri

Operation: is

Operator: Ends with

Transformation: Lowercase

Match values: .php

最后拒绝请求:Deny traffic

保存规则后等5分钟左右,尝试访问 .php 结尾的URL,就是这个效果:

Response Headers 里也能看到本次拦截是 Azure WAF 的功劳。

这个 Custom rules 还支持多种条件组合。例如屏蔽或仅允许某些国家及地区的请求、屏蔽短时间大量请求(Rate limit)、屏蔽大数据量的请求(Size)等等。可以轻松满足各自的需要。

哎,有钱人的云,就是这么简单粗暴,且有效!

汪宇杰博客

Azure | .NET | 微软 MVP

无广告,不卖课,做纯粹的技术公众号

喜欢本篇内容请点个在看

使用 Azure Web 应用防火墙拦截黑客攻击相关推荐

  1. Wireshark之流量包分析+日志分析 (护网:蓝队)web安全 取证 分析黑客攻击流程(上篇)

    前言:小编也是在前几天通过,安恒的资深项目经理讲解(甘老师),老师风趣幽默,讲解生动形象,在他讲解的时候,我就萌生出要把这知识点分享出来,当然这只是为小白开启分析之路,并没有什么高操作,分享的只是我的 ...

  2. Wireshark之流量包分析+日志分析 (护网:蓝队)web安全 取证 分析黑客攻击流程(下篇)

    前言:咦!确实让我想不到的是,这几天有不少的人催我更新分析的下篇!我以为这像便秘的粑粑,又臭又长没人看!但出乎意料,这不我加班加点就来满足你们咯!所以你懂的(悄悄告诉你:"点赞") ...

  3. web攻防教学防黑客攻击,预防网站攻击

  4. 安全狗技术分享|Web应用防火墙之攻击防护

    一旦我们正式把web应用上线后,web应用就暴露在公网的环境中,随之则会产生访问和流量,我们最常开放的80端口和443端口就有可能被探测到随之就有可能被自动化工具扫描甚至被监控和攻击,那么怎么防护这些 ...

  5. “下一代智能硬件Web应用防火墙”——创宇盾X完成统信互认

    创宇盾X是由知道创宇国际顶尖网络安全专家团队打造的全新硬件形态Web应用防火墙,近期已成功完成了统信软件产品互认证明,基于统信服务器操作系统v20和华为鲲鹏.飞腾CPU平台的创宇盾X 能够良好兼容.性 ...

  6. WAF——web安全及web应用防火墙

    WEB应用安全 风险分析 ■网站代码程序设计存在隐患 ■0day漏洞频发 ■网站运维和管理人员安全意识淡薄 ■黑客进入门槛越来越低 法律法规 网络安全法:对应用安全和数据安全提出明确要求 等报2.0: ...

  7. 阿里云安全ACP认证试验之阿里云Web应用防火墙接入体验

    实验概述 越来越多的公司出于对成本和效率的考量,将业务部署在网站上.主机和网络的漏洞,给一些恶意访问提供了可乘之机,盗取网站的信息.比如:发生在2014年的索尼影业黑客入侵事件,黑客组织"和 ...

  8. WEB应用防火墙安全技术要求与测试评价方法

    信息安全技术  WEB应用防火墙安全技术要求与测试评价方法 范围 本标准规定了WEB应用防火墙的安全功能要求.自身安全保护要求.性能要求和安全保证要求,并提供了相应的测试评价方法. 本标准适用于WEB ...

  9. Web应用防火墙 (WAF) 挡不住的攻击类型

    一.网站应用防火墙介绍 网站应用防火墙系统就是我们通常称的WAF,WAF的主要功能包括:对访问请求进行控制,可以主动识别.阻断攻击流量,通过对HTTP(S)请求进行检测,识别并阻断SQL注入.跨站脚本 ...

最新文章

  1. oracle dbcontrol界面,oracle enterprise manager配置简介
  2. C语言 将整数写入内存指定的连续字节单元中
  3. 均匀化退火时间_热处理4把火:淬火、回火、正火、退火,都分清楚了么?
  4. echarts的入门案例
  5. C++ 继承的构造与析构
  6. Spring Validation
  7. 如何取消恶心的chrome浏览器被360篡改劫持问题
  8. Jade平台的下载与原装
  9. 分享下奥创微群控的两个黑科技
  10. 2020年4月,全国程序员平均工资14249元
  11. linux后门rootkit程序介绍
  12. 听说这个深度学习工具包,可以拯救Java开发者?
  13. php中ne,eq相等 ne、neq不相等, gt大于, lt小于
  14. springboot注解方式实现aop及常规方式
  15. Aqara网关、yeelight智能灯、智能窗帘电机如何实现场景化互联?
  16. 兼容IE浏览器下载文件
  17. C/C++超全资料,编程发烧友不可不分享
  18. Dictionary < K , V > 字典
  19. html5 video 实现浅析,HTML5 Video 实现浅析
  20. mamp 下载安装php扩展,mamp安装php扩展

热门文章

  1. DOM节点创建(jQuery)
  2. 商女不知亡国恨,一天到晚敲代码
  3. 自定义控件复选框和单选框的实现
  4. chromebook刷机_如何在Chromebook上切换(或离开)Canary频道
  5. java获取前端json数据_java如何获取前端ajax传来的json对象
  6. MVC身份验证及权限管理(转载)
  7. JavaScript数据结构与算法——集合
  8. 矿难让显卡压了那么多货咋办?NV如是说
  9. Linux 练习题-3文件与磁盘 问答
  10. IDEA中maven如何将jar包导入本地的maven库