如何通过 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”菜单中离线导入:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图1

导入完成后,可以看到 CRS-2021-3 版本以及其更新说明。

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图2

修改已有的 WAF 策略

如果之前已经给应用配置了 WAF 策略,直接编辑 WAF 策略即可。具体步骤如下:

1、点击虚拟服务的编辑按钮:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图3

2、编辑虚拟服务关联的 WAF 策略:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图4

3、修改 WAF 策略中使用的 CRS 版本,将其改为 2021-3 :

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图5

更新时会出现下列提示,为了避免影响业务,新规则会被自动设置为“检测”模式:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图6

4、将 Log4j 相关规则设置为实施模式(Enforcement):

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图7

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图8

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图9

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图10

检查规则模式已改为实施:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图11

5、保存 WAF 策略和虚拟服务:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图12

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图13

6、监控是否有访问匹配到此规则:

在虚拟服务的日志菜单中,可以看到所有经过 WAF 过滤的访问,在右侧日志分析菜单中,也可查看最近一段时间内所有匹配到的 WAF 规则。通过这两个菜单可以快速分析是否有恶意访问者尝试利用 Log4j 漏洞。

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图14

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图15

为应用创建 WAF 策略

如果之前未给应用配置 WAF 策略,则需要为应用创建一个新的 WAF 策略。为了避免影响业务正常访问,可以仅开启防护 Log4j 漏洞的规则,其他规则均使用检测模式

具体步骤如下:

1、点击虚拟服务的编辑按钮,为虚拟服务添加新的 WAF 策略:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图16

2、在弹出的窗口中配置 WAF 策略,WAF 配置文件选择系统默认的,策略模式选择“检测”,勾选“允许委派模式”:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图17

保存此策略

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图18

3、再次编辑此策略,在特征菜单中将 CRS 版本调整为 CRS-2021-3,然后展开 CRS_403_Additional_Rules 组:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图19

4、找到 CVE-2021-44228 相关的两条规则,将其规则模式改为实施:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图20

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图21

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图22

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图23

5、保存 WAF 策略和虚拟服务即可:

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图24

🥫4Ax06NSX ALB AVI 7 Avi iWAF 防护 Log4j 漏洞 - 图25