解决方案
根据360的建议,用户可以进行如下操作。
常规方案
使用了Apache Log4j2的用户,请将程序更新至官方最新安全版本(2.15.0-rc2)。下载地址: https://github.com/apache/logging-Log4j22/releases/tag/Log4j2-2.15.0-rc2
临时应急方案
修改Log4j2配置: Log4j22.formatMsgNoLookups=True 设置JVM启动参数: -DLog4j22.formatMsgNoLookups=true 设置环境变量: FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS值为true
可以提高安全性的周边设置
以下设置或操作可能会对防护此次安全事件起到作用,但无法确保安全。建议结合实际应用场景进行配置: 使用尽可能更高版本的JDK 使用rasp阻断lookup的调用 使用waf对流量中的${jndi进行拦截 禁止所有不必要的外连数据。
开源项目的风险
Log4j2的安全事故一出,不禁让广大用户重新开始怀疑:开源软件是否真的安全?
一方面大家觉得开源软件嘛,代码都拿到手了,在遵照开源协议的情况下,基本就是白嫖。
另一方面,觉得有这么多人都在盯着这份代码,肯定不会出bug,不然一定会有人提issue修复的。在不花钱的情况下,又指望它有企业级的维护支持与安全性保障。
殊不知,大部分开源软件都是作者利用业余时间开发的,为开源社区贡献代码的驱动力全部来自于star和「用爱发电」。
也正是因为免费,一些开源软件的受众规模特别大,从小公司到千亿市值的企业都在使用,如果一旦出了漏洞,那后果将不堪设想。
所以,开源有风险,使用需谨慎!
参考资料: https://www.lunasec.io/docs/blog/Log4j2-zero-day/ https://twitter.com/MalwareTechBlog/status/1469289471463944198 http://jandan.net/p/109993 https://www.zhihu.com/question/504954921/answer/2265750721
|