如何通过 Avi iWAF 防护 Log4j 漏洞
最近 IT 界的大事件一定非 Apache Log4J 漏洞莫属,该漏洞允许未经身份验证的远程代码执行。因目前软件开发会大量使用到 Log4J 库,因此有大批开源和企业软件受到影响,目前 Apache 已经发布了针对不同版本的 Workaround,使用此组件的软件开发商也在逐步提供临时解决方案。
VMware 自 2019 年收购 Avi networks 之后,也加入了 Web 应用安全保护的行列,其相应的产品是 Avi iWAF,与其他厂家不同的是,Avi iWAF 并不需要单独付费,而是负载均衡器功能上的一个附加模块,因此如果有用户已经在使用 Avi 的负载均衡功能,即可快速为应用启用 WAF,保护应用免受 Log4j 漏洞影响。
(如果没有部署 Avi 也没关系,Avi 是纯软件形态,部署上线很快)
如何配置
更新特征库
在 Log4j 漏洞曝出来的时候,Avi 团队经过研究和测试,提供了一些自定义 WAF CRS Rule 来保护应用,接着又提供了官方的 WAF CRS Rule 更新,目前可以通过在线或者 Avi customer portal 进行离线下载。
我已将此特征库放在了网盘,后台回复 CRS 即可获取链接。
下载完成后解压得到 JSON 文件,在 Avi 控制器的“模板>WAF>CRS”菜单中离线导入:
导入完成后,可以看到 CRS-2021-3 版本以及其更新说明。
修改已有的 WAF 策略
如果之前已经给应用配置了 WAF 策略,直接编辑 WAF 策略即可。具体步骤如下:
1、点击虚拟服务的编辑按钮:
2、编辑虚拟服务关联的 WAF 策略:
3、修改 WAF 策略中使用的 CRS 版本,将其改为 2021-3 :
更新时会出现下列提示,为了避免影响业务,新规则会被自动设置为“检测”模式:
4、将 Log4j 相关规则设置为实施模式(Enforcement):
检查规则模式已改为实施:
5、保存 WAF 策略和虚拟服务:
6、监控是否有访问匹配到此规则:
在虚拟服务的日志菜单中,可以看到所有经过 WAF 过滤的访问,在右侧日志分析菜单中,也可查看最近一段时间内所有匹配到的 WAF 规则。通过这两个菜单可以快速分析是否有恶意访问者尝试利用 Log4j 漏洞。
为应用创建 WAF 策略
如果之前未给应用配置 WAF 策略,则需要为应用创建一个新的 WAF 策略。为了避免影响业务正常访问,可以仅开启防护 Log4j 漏洞的规则,其他规则均使用检测模式。
具体步骤如下:
1、点击虚拟服务的编辑按钮,为虚拟服务添加新的 WAF 策略:
2、在弹出的窗口中配置 WAF 策略,WAF 配置文件选择系统默认的,策略模式选择“检测”,勾选“允许委派模式”:
保存此策略
3、再次编辑此策略,在特征菜单中将 CRS 版本调整为 CRS-2021-3,然后展开 CRS_403_Additional_Rules 组:
4、找到 CVE-2021-44228 相关的两条规则,将其规则模式改为实施:
5、保存 WAF 策略和虚拟服务即可: