How to mitigate Apache Log4j Deserialization RCE (CVE-2019-17571)(如何缓解ApacheLog4j反序列化RCE(CVE-2019-17571))
问题描述
我已将我的log4j-core依赖项升级到2.15.0,以防止任何潜在的Log4Shell攻击。也就是说,我无法将slf4j-log4j12的间接log4j依赖从1.2.17升级,因为slf4j-log4j12的最新稳定版本仍然依赖于log4j 1.2.17。如果我没有弄错的话,这仍然使我的Web应用程序容易受到CVE-2019-17571的攻击。因此,在阅读有关可能的缓解策略的文章时,我看到了article,它建议:阻止Log4j中的SocketServer类启用的套接字端口 向公网开放
谁能向我解释一下如何实现这一点,以及此解决方法是否足够?
推荐答案
只有从其他服务器接收消息的服务器才容易受到CVE-2019-17571
的攻击。基本上,触发该漏洞的唯一方法是运行:
java -jar log4j.jar org.apache.log4j.net.SocketServer <port> <config.properties> <log/directory>
或在代码中执行相同的操作。因此,大多数Log4j 1.2用户不会受到攻击。
不过,在您的情况下,您只需将slf4j-log4j12
绑定替换为其等价物Log4j 2.x(log4j-slf4j-impl
),即可完全删除Log4j 1.2。
编辑:不过,如果您想确保没有人会如上所述地使用库,您可以删除该类。还考虑到CVE-2021-4104
此金额为:
zip -d log4j.jar org/apache/log4j/net/SocketServer.class
zip -d log4j.jar org/apache/log4j/net/JMSAppender.class
这篇关于如何缓解ApacheLog4j反序列化RCE(CVE-2019-17571)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何缓解ApacheLog4j反序列化RCE(CVE-2019-17571)


- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 转换 ldap 日期 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 获取数字的最后一位 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01