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)
基础教程推荐
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01