Log4j脆弱性常见问题解答
2021年底,安全研究人员宣布了广泛使用的开源日志实用工具Log4j的一个主要漏洞。该漏洞被称为Log4Shell,它允许在使用Log4j的系统上执行任意代码。专家称Log4j漏洞是几十年来最严重的软件安全漏洞。
Log4j漏洞是一个名为Log4j的软件实用程序中的缺陷。当漏洞被利用时,远程攻击者可以在使用Log4j脆弱版本的系统上执行代码。
这意味着攻击者可以从远程位置有效地控制应用程序,进而控制承载应用程序的服务器。
Log4j本身是一个日志记录实用程序,这意味着它是一个帮助应用程序生成和组织日志数据的工具。Log4j是专门为Java应用程序设计的。它是开源的,任何人都可以免费使用。
Java是世界上最流行的编程语言之一,Log4j于2001年首次发布。结合Log4j的开源特性,这些事实意味着Log4j已被广泛部署在生产应用程序中。虽然没有关于全球Log4j安装总量的官方统计数据,但大多数研究人员估计它们的数量在数百万。
Log4j本身并没有什么内在的危险;只要您使用的是该工具的安全版本,您就可以毫无顾虑地继续这样做。
只有某些版本的Log4j受此漏洞影响。它们是Log4j版本2.0-alpha7到2.17.0,版本2.3.2和2.12.4除外。
虽然所有这些版本都是脆弱的,但在这个版本范围内,漏洞的严重性是不同的。有关更多信息,请参阅我们的Log4j“备忘单”。
1.xversions Log4j are not impacted.
只要在您的软件环境中运行的Log4j版本不在受影响的版本之列,您就不会受到Log4j漏洞的影响。
如果您将Log4j安装升级到一个新版本,那么您也是安全的。使用的具体版本取决于系统上运行的Java版本。要升级到Log4j的安全版本,您需要升级以下版本:
- 2.3.2(适用于运行java6的系统)
- 2.12.4(适用于java7)
- 2.17.1(适用于Java 8及以上版本)
一旦将Log4j升级到安全版本,攻击者就不能再利用系统上的漏洞了。
如上所述,Log4j版本2.0-alpha7到2.17.0容易受到Log4Shell的攻击。该范围内的例外是版本2.3.2和2.12.4,这两个版本不容易受到攻击。
所有其他Log4j版本——意味着2.0-alpha7之前或2.17.0之后发布的任何版本——都不容易受到攻击。
为了利用Log4j漏洞,攻击者在HTTP请求url中插入恶意字符串,然后将这些请求发送到运行Log4j脆弱版本的应用程序。Log4j将执行这些字符串中的代码。
实际上,这意味着攻击者可以通过将命令插入HTTP请求,在脆弱的系统上运行他们选择的命令。
修复Log4j漏洞最简单、最有效的方法是升级到Log4j的安全版本。如上所述,这些版本是:
- 2.3.2(适用于运行java6的系统)
- 2.12.4(适用于java7)
- 2.17.1(适用于Java 8及以上版本)
您还可以通过阻止对Log4j的请求来缓解该漏洞,这些请求包含与利用该漏洞相关的字符串。在这方面常见的字符串是${jndi。升级您的Java运行时环境(JRE)也可以减轻该漏洞,因为最新的JRE禁止加载远程代码。
但是,要永久地修复该漏洞,最好的方法还是升级到Log4j的新版本。其他缓解措施最好作为临时修复程序使用,直到可以升级为止。
不。在Log4Shell发布后不久,JFrog确认Artifactory和其他JFrog产品都没有受到Log4j漏洞的影响。hth华体会最新官方网站
如果运行Artifactory的系统还承载使用Log4j脆弱版本的其他应用程序,那么它们可能会受到影响,但Artifactory本身不会使您的系统变得脆弱。