雷池 WAF 简介

雷池 WAF,英文名 “SafeLine”,由长亭科技出品的一款 Web 应用防火墙,可以保护 Web 服务不受黑客攻击,早年就以 ”智能语义分析技术“ 闻名于安全行业。

雷池社区版是长亭基于原有技术打造的一款开源 WAF,主打简单易用,我猜的不错的话长亭应该是想借这种产品形态来占领中小企业的安全市场。目前从官网的数据来看累计装机量已经超过了 25 万台服务器,GitHub 也有 12.4K Star,在 GitHu

b WAF 榜单上已经是全球开源排名第一的 WAF。

雷池 WAF 社区版: waf-ce.chaitin.cn/

安装测试

安装方法很简单,只需要一条命令:

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

安装完成后管理控制台开在 9443 端口,直接访问,登录后就能看到雷池 WAF 的界面。雷池的界面风格我从 1.0 开始就比较喜欢,不像很多安全产品那种浓浓的年代感。

然后就是配置需要防护的网站。我在雷池后面挂了一个 DVWA 靶场,跑了个 AWVS 扫了一遍,确实该防的都能防住。(PS:如果这都防不住的话就不用出来做 WAF 了)

SQL 注入、XSS 之类的攻击防护功能就不介绍了,这是 WAF 的基础能力,长亭的语义分析技术在这个方向上本来就很有优势。

官方还给了一个 WAF 防护效果的指标图,参考对象是 ModSecurity 和 CloudFlare,一家是全球最出名的开源 WAF,另一家是全球最大的云 WAF 厂商。从指标来看,数据虽然不是 100%,但也算漂亮。(PS:好奇为什么不拿国内的 WAF 厂商做对比)

此外,官方还温馨的提供了测试样本和测试工具,不信任这个结果的话也可以自己做测试。

防扫描、防爬虫

7.0 版本我比较感兴趣的是防 Bot 能力,功能配置比较简单,有几个选项:

用什么方式对客户端发起验证

要不要对请求做重放校验

要不要对 HTML 文件动态加密

要不要对 JS 文件动态混淆

要不要对图片自动打水印

开启验证以后,访问被 WAF 保护的网站,会先看到下面这个界面,估计雷池是在本地跑了一些验证逻辑来探测浏览器的合法性。

验证通过以后页面再刷新就没有这个蓝色页面了,看来雷池做了缓存记录(这个还挺好的,不会影响用户体验)。

官方的功能介绍写的花里胡哨,实际感受了一下,这两个功能最大的用处就是防扫描、防爬虫。

雷池的防 Bot 的主要能力是人机验证和动态防护和请求防重放:

人机验证:互联网上有来自真人用户的流量,但更多的是由爬虫, 漏洞扫描器, 蠕虫病毒, 漏洞利用程序等自动化程序发起的流量,开启雷池的人机验证功能后真人用户会被放行,恶意爬虫将会被阻断。

动态防护:在用户浏览到的网页内容不变的情况下,将网页赋予动态特性,对 HTML 和 JavaScript 代码进行动态加密,确保每次访问时这些代码都以随机且独特的形态呈现。

请求防重放:自动化工具通常会使用抓包、录制等方式记录 HTTP 请求,略加修改后对 HTTP 请求进行再次发送,从而进行 ID 遍历,越权扫描等攻击行为,雷池请求防重放功能可有效应对此类攻击。

这种防护方式对于对扫描器、爬虫这类自动化发包程序确实有起效,通过人机验证让客户端必须依赖浏览器,从而大大降低了发包的效率,再对 HTML 动态加密,让扫描器无法识别网页的真正内容,也就没法判断是否存在漏洞特征,最终通过防重放,让扫描器和爬虫记录的 Cookie 无法使用。

居然都到 7.x版本了!!!雷池 WAF 社区版 7.x 的体验记录的更多相关文章

  1. 同样版本的jstl,都是jstl1.2版本,有个有问题,另一个没有问题

    问题是这样的,最近部署一个项目,发现每次访问首页的时候老是报如下的错误: org.springframework.web.util.NestedServletException: Handler pr ...

  2. 今天发现之前瑞乐做的登录和注册居然都是用的get请求,瞬间出了一身冷汗.

    今天发现之前瑞乐做的登录和注册居然都是用的get请求,瞬间出了一身冷汗. 然后迅速的让晓勇改成post请求了. 不然我觉得凡是有点抓包能力的人抓到我们登录和注册这么涉及安全的东西居然用的是get请求, ...

  3. DevExpress各大版本支持的VS版本和支持的.net版本图

    如下图所示,绿色Yes代表支持,红色No代表不支持.对于有些人觉得装了dev后,vs工具箱没有,一般都是以下两大问题:1.要么你的Dev的版本不支持你当前的VS版本,没有很正常.2.要么你的项目的.n ...

  4. pycharm(社区版2019.1版本)打开README.md文件卡死解决办法

    现象:pycharm(社区版2019.1版本)打开README.md文件卡死 解决办法: 将插件Markdown support前的勾选√去掉,保存修改后重启pycharm即可

  5. ubuntu1804自带的vim和vi都是用什么版本?

    之前搜索vim一些命令时,经常看到有人说ubuntu自带的vim是是vim.tiny的,功能不全. 什么需要先卸载,再重装,真的是这样吗? 我查了一下,vim的版本号 vim --version vi ...

  6. TS 基础及在 Vue 中的实践:TypeScript 都发布 5.0 版本啦,现在不学更待何时!

    大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端.跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营. 微软于3月16日发布了 TypeScript 5.0 版本 ...

  7. Swift基础之UIImageView(都是2.2版本)

    //设置全局变量,将下面的替换即可     //var myImgView = UIImageView();     //系统生成的viewDidLoad()方法     override func ...

  8. 本地和svn都删除文件导致版本不同的问题

    想要删除一个项目中的文件,同是要删除svn上的文件. 自己操作 1.直接右键删除了本地项目中的一个目录的模块 2.右键删除了库中svn中的这个目录 3.同步本地和svn上的代码 4.问题出现了,本地和 ...

  9. Linux查看系统基本信息,版本信息(最全版)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_31278903/article/d ...

  10. Azure SQL 数据库最新版本现已提供预览版

     Tiffany Wissner  数据平台营销高级总监 我们之前在11月宣布将提供新的预览版,在该预览版中我们引入了接近完整的 SQL Server 引擎兼容性和更为高级的性能,这些都代表了下一代的 ...

随机推荐

  1. k8s手动安装

    一.主节点安装 设置主机名hostnamectl set-hostname masterhostnamectl set-hostname node01 修改hosts文件vim /etc/hosts1 ...

  2. 关于人工智能的思考,写在chatGPT爆火之时

    今天是2023年3月22日,今天思维比较活跃,故作文一篇,以记录当下所想. 先是回家询问了未婚妻的想法,然后记录自己的想法. 未婚妻的想法: 1.在AI领域已经滞后于世界了.因为在墙头上看到过一个加拿 ...

  3. Linux (Debian) 安装MySQL 后如何获取登录密码

    树莓派安装MySQL后获取登录密码 树莓派基于Debian系统. 成功安装MySQL后 su root vim /etc/mysql/debian.cnf 其中 user 和 password 就是你 ...

  4. CSS – Logical Properties

    前言 续上一篇介绍了各种语言的阅读方向. 这一篇来讲一下 Logical Properties. 它与 left to right, right to left, horizontal, vertic ...

  5. C++面试题整理 2

    8. C++11新特性又哪些 自动类型推导auto,智能指指针(share_ptr,unique_ptr等),for循环简化,线程相关的(std::thread/std::mutex),空指针null ...

  6. 5G网元功能与接口

    5G网元功能与接口 5G移动通信整体网络架构 5G网络功能之间的信息交互可以基于两种方式表示:其一为基于服务表示:其二为基于点对点表示.实时部署时,也可以采用两种方式相结合的表示方式. 并不是所有的接 ...

  7. AD域下,没有登录服务器处理登录请求

    原因: IP地址配置有问题 或者 DNS : 解决办法: 重新设置 IP地址 和 DNS : 此案例中, 切换到 test 账户(域管理员)后发现 , 未配置 IP地址 和 DNS :

  8. springboot整合shiro框架详解

    在ShiroRealm 中 对所有 引入的service 加上注解 @Lazy ,防止 事务回滚失败.具体原因看该文章 新增整合swagger2,因为之前整合了shiro,所以再访问swagger的时 ...

  9. PHP面试,拼团

    如何设计数据库模型来支持拼团功能? 答案:拼团功能涉及到多个用户参与同一团的情况,可以设计以下表结构: Product 表: 存储商品信息,包括商品ID.名称.价格等字段. Group 表: 存储拼团 ...

  10. foobar2000 v1.6.12 汉化版(更新于2022.10.16)

    foobar2000 v1.6.12 汉化版 -----------------------[软件截图]---------------------- -----------------------[软 ...