实测雷池WAF:轻量好用又强悍,这才是WAF该有的样子!

176 阅读4分钟

今天分享一款轻量好用又强悍的Web应用防火墙。

前言

随着项目的运营,业务规模逐渐扩大,茫茫多的WEB业务被开放到公网上,随之带来的安全问题不容小觑。

前段时间刚创建的一个实例,只挂了一个web服务器,就受到了大量的扫描和反序列化等攻击。很难想象一个正常的web业务会遭受什么...

图片

这时候,部署一个合格的“防弹衣”来保护WEB资产迫在眉睫。

1 雷池简介

通过各种平台的搜索和朋友的推荐,我锁定了一款叫作“雷池SafeLine”的产品,SafeLine,中文名 "雷池",是一款简单好用, 效果突出的 Web 应用防火墙(WAF) ,可以保护 Web 服务不受黑客攻击。

# 项目地址:
https://github.com/chaitin/SafeLine

图片

该项目获取了16.7k星,而且还在不断飙升,可见社区十分活跃。

翻看项目主页,发现这款产品支持很多实用的面向web资产的保护功能,像是人机验证、CC防护、SSL证书管理等

图片

2 部署

# 雷池社区官网:
https://waf-ce.chaitin.cn/

# 帮助文档
https://docs.waf-ce.chaitin.cn

社区官网提供多种非常详细的部署过程,我选用最简单快速的方法:docker-compose一键部署,部署界面非常友好。

配置要求如下:

  • 操作系统:Linux
  • 软件依赖:Docker 20.10.14 版本以上
  • 软件依赖:Docker Compose 2.0.0 版本以上
  • 最低资源需求:1 核 CPU / 1 GB 内存 / 5 GB 磁盘
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"

图片

记录下默认的管理员账号密码

图片

接着访问服务器的9443端口,就可以进入雷池WAF的控制台了

图片

3 添加web资产

雷池WAF可以使用反向代理的方式添加web资产

点击防护应用->添加应用

图片

如果业务需要SSL部署,可以点击证书选项,新增一个证书

图片

新增证书的时候,只需要确保域名被解析到部署了长亭雷池服务器的公网IP上就可以自动申请并续期了,十分方便。我配置了一个统一认证应用进行测试

图片

将域名解析到长亭雷池服务器下后,访问web应用测试,可以正常访问,并且证书应用正常,届时web资产就已完成接入了。

图片

4 CC防护

为了避免web服务被大量请求拖挂,我开启了CC防护功能

这里,雷池WAF不仅支持高频访问限制/封禁,还有一个等候室功能,让我们一个个试试吧

图片

高频访问限制

此时通过疯狂刷新页面,来触发高频访问限制

图片

图片

等候室

开启静候室功能:

图片

图片

图片

5  动态防护

初看这个功能的时候,我还没意识到其重要性,直到我的页面被有心人士爬下来后二次分发才想到这个功能。

启用动态防护后,页面的源码会被混淆,极大程度上提高爬下网站的难度。

图片

此时访问应用会弹出正在解密的加载页面

图片

此时可以看一下网页源代码,比对启用前和启用后的效果

启用前

图片

图片

启用后

图片

图片

7b940f17c228841bad6155471da7a9fb.png

6 身份验证

对于一些特殊的应用资产,我们可以借助长亭雷池来增加一道身份验证。

点开身份认证选项,启用该功能,并勾选账号密码作为登录方式

图片

添加一个账号试试看

图片

这时访问web资产,就可以看到需要输入账号密码才能进入了

图片

当输入了账号密码之后出现了报错

图片

原来是没有对该用户进行授权,编辑后对应用选择“允许访问”

图片

然后使用该账号就可以访问这个web资产了

如果项目上有统一认证平台,还可以通过OIDC、CAS或LDAP等方式进行对接。

图片

这里,我使用authentik服务器,配合OIDC协议来进行对接

首先,建立一个应用程序和provider,获取OIDC的客户端ID和secret

图片

接着在雷池上配置绑定OIDC服务

图片

接着回到web资产的设置里,选择OIDC认证

图片

此时再访问资产,就会自动跳转到统一认证平台

图片

接着就可以通过认证并访问这个资产了

图片

7 小结

通过这段时间的使用,长亭雷池WAF完美符合我的使用需求,它也为我挡下了大量的攻击

图片

雷池WAF的功能远不止上述提到的这几项,依靠着活跃的社区,还有更多的场景正在被应用,更多功能正在被开发。