安全攻防技能30讲
何为舟
前微博安全研发负责人
立即订阅
3214 人已学习
课程目录
已更新 28 讲 / 共 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 别说你没被安全困扰过
免费
安全基础概念 (5讲)
01 | 安全的本质:数据被窃取后,你能意识到问题来源吗?
02 | 安全原则:我们应该如何上手解决安全问题?
03 | 密码学基础:如何让你的密码变得“不可见”?
04 | 身份认证:除了账号密码,我们还能怎么做身份认证?
05 | 访问控制:如何选取一个合适的数据保护方案?
Web安全 (7讲)
06 | XSS:当你“被发送”了一条微博时,到底发生了什么?
07 | SQL注入:明明设置了强密码,为什么还会被别人登录?
08 | CSRF/SSRF:为什么避免了XSS,还是“被发送”了一条微博?
09 | 反序列化漏洞:使用了编译型语言,为什么还是会被注入?
10 | 信息泄漏:为什么黑客会知道你的代码逻辑?
11 | 插件漏洞:我的代码看起来很安全,为什么还会出现漏洞?
12 | 权限提升和持久化:为什么漏洞修复了,黑客还是能够自由进出?
Linux系统和应用安全 (5讲)
13 | Linux系统安全:多人共用服务器,如何防止别人干“坏事”?
14 | 网络安全:和别人共用Wi-Fi时,你的信息会被窃取吗?
15 | Docker安全:在虚拟的环境中,就不用考虑安全了吗?
16 | 数据库安全:数据库中的数据是如何被黑客拖取的?
17 | 分布式安全:上百个分布式节点,不会出现“内奸”吗?
安全防御工具 (5讲)
18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
19 | 防火墙:如何和黑客“划清界限”?
20 | WAF:如何为漏洞百出的Web应用保驾护航?
21 | IDS:当黑客绕过了防火墙,你该如何发现?
22 | RASP:写规则写得烦了?尝试一下更底层的IDS
知识串讲 (2讲)
模块串讲(一) | Web安全:如何评估用户数据和资产数据面临的威胁?
模块串讲(二)| Linux系统和应用安全:如何大范围提高平台安全性?
特别加餐 (3讲)
加餐 | 数据安全:如何防止内部员工泄漏商业机密?
加餐2 | 前端安全:如何打造一个可信的前端环境?
加餐3 | 职业发展:应聘安全工程师,我需要注意什么?
安全攻防技能30讲
登录|注册

20 | WAF:如何为漏洞百出的Web应用保驾护航?

何为舟 2020-01-29
你好,我是何为舟。
如果你细心观察的话,应该会发现,随着 Web 应用越来越多,黑客的攻击目标也逐渐转向了针对 Web 安全的攻击。传统的防火墙主要专注于网络层的攻击防御,对 Web 安全的防御能力相对欠缺。因此,WAF(Web Application Firewall,Web 应用防护系统)的概念也就被提了出来。WAF 说白了就是应用网关防火墙的一种,它只专注于 Web 安全的防御,近几年来逐渐被当成一个相对独立的产品方向来研究。
那么,WAF 和防火墙到底有哪些区别呢?针对我们之前讲过的各种 Web 攻击手段,WAF 是如何提供保护的呢?今天,我们就一起来看!

WAF 的工作模式

前面我说过,WAF 的本质是“专注于 Web 安全的防火墙”,Web 安全关注于应用层的 HTTP 请求。因此,WAF 的分析和策略都工作于应用层。
在 Web 安全这个方向上,WAF 对比防火墙又做出了哪些改进呢?我们可以从 WAF 的三种工作模式入手,探讨这两者的区别。这三种工作模式分别是:透明代理、反向代理和插件模式。
透明代理和大部分防火墙的工作模式相同:在客户端和服务端通信不需要作出任何改变的情况下,对 HTTP 流量进行请求和转发。在这个过程中,为了解密 HTTPS 流量,WAF 必须和服务端同步 HTTPS 对称密钥。
透明代理的优点就是容易部署,它不需要客户端和服务端进行任何改动。但是,透明代理的缺点也有很多。透明代理本身不是一个 Web 服务,所以它无法修改或者响应 HTTP 的请求,只能够控制请求的通过或者拒绝。正因为如此,它也无法实现 Web 服务所提供的认证、内容过滤等功能。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《安全攻防技能30讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • devil
    老师有没有推荐的开源waf?

    作者回复: 开源WAF确实有一些,比如ModSecurity,不过我了解到的很少有用开源的。因为WAF的技术难度其实不高,难的是写规则。因此,有钱没人的公司会直接买乙方的商业WAF,规则运维都交给乙方。没钱有人的公司会自己开发一个,自己根据已知的漏洞写规则。没钱没人的话,还是不要搞WAF了,最后规则不完善,都是漏报和误报,就是个坑。。。

    2020-02-03
  • 宝仔
    现代基于k8s微服务的架构下,用哪种模式的WAF会更好呢?微服务下一般会有一层网关,网关可能是基于java的spring gateway,也可能是基于openresty(nginx+Lua)的Kong,想问下这种模式下怎么设计WAF更加友好点?望老师能做回复

    作者回复: 微服务通常都有统一的网关入口,因此WAF一般是和网关放在一块的。如果是自己实现的话,一般都是以Nginx的Lua插件来完成的。如果是引用的开源或者商用版本,一般WAF是串联在网关之前或者之后来进行过滤。经过网关处的WAF过滤后,内部微服务直接的HTTP调用就可以当作可信来处理了。

    2020-02-01
  • 宝仔
    现在的WAF一般都是nginx+lua来实现的把?

    作者回复: 自己开发WAF一般是这个模式。厂商卖WAF的话,一般还是以一个硬件的网关盒子来接入的。

    2020-01-31
  • tt
    绕过WAF也是用双拼和闭合么?

    作者回复: 双拼和闭合你是指的Web安全中绕过过滤的攻击方法吧。也算是一种形式,不过现在WAF的规则一般比较完善,很难使用正常的攻击方式绕过。一般都是采用编码混淆、多个注入点拼接等方式,来隐藏攻击特征。

    2020-01-29
  • 小晏子
    可以从安全防护的地方入手,如WAF通过正则匹配进行行为检测,那么可以考虑能不能绕过正则匹配或者让其匹配失效,比如通过提交非常大的数据,使其数据量超过WAF的能够正则匹配字符,那就可以不经过WAF的正则匹配了。

    作者回复: 正则匹配一般只要部分匹配就可以了,而且正则匹配本身支持模糊匹配,所以提交非常大的数据可能用处并不大。

    2020-01-29
  • 大侠
    市面上都有哪些主要WAF产品等,各有什么优缺点,就更好了。

    作者回复: 这个确实了解的不多,而且感觉有点作广告了,所以就免去了。而且厂商的对外口径嘛,以宣传为主,真实性确实不可参考,还是得实际测试为主。其实,现在的WAF都不差,实际采购的时候,重点关注的还是价格和服务质量。

    2020-01-29
  • leslie
    这个东西其实早就被广泛使用了:具体原理用途都大致知道,记忆中这东西应当有和nginx一起使用,真实的作用还是第一次如此学习;受教了。
    2020-01-29
收起评论
7
返回
顶部