我们在许多机器上运行不同版本的 Ubuntu 操作系统(主要是版本 18 和 20)。我的问题是:Ubuntu 操作系统是否受到 log4js 中报告的 Log4shell 漏洞的影响?TIA
答案1
一般情况下,不。只有安装了特定 Java 包的人才可能容易受到攻击。
deb 软件包 (
apache-log4j2
) 不是 Ubuntu 默认安装的一部分。大多数易受攻击的系统运行的是 Web 服务器或 Java 应用程序(如 Minecraft 服务器)。如果您没有安装服务器应用程序,则不太可能受到此漏洞的影响。大多数使用 deb 包安装该软件的受影响用户已经收到了补丁以修复漏洞。
Ubuntu 安全播客#142讨论了 CVE,绝对值得一听!感谢 Ubuntu 安全团队辛勤工作的工程师,他们保证了我们的 Ubuntu 系统的安全。
如果您使用 Snap 包将 log4j2 作为 web 服务器或 java 应用程序的一部分进行安装,请与该 snap 的作者联系以进行安全升级。
如果你以其他方式(Appimage、Flatpak、Pip、Brew、编译等)将 log4j2 作为 Web 服务器或 Java 应用程序的一部分安装,那么你需要返回该源并找到修补版本...或阅读CVE用于手动缓解设置。
如果您安装了由许多相互关联的应用程序组成的整个软件堆栈或平台,那么易受攻击的软件可能嵌入在该堆栈中。请咨询您获取该软件的来源。
从https://ubuntu.com/security/notices/USN-5192-1
发布
Ubuntu 21.10 Ubuntu 21.04 Ubuntu 20.04 LTS Ubuntu 18.04 LTS软件包
apache-log4j2 - Apache Log4j - Java 日志框架
...和...
更新说明 通过将系统更新到以下软件包版本可以解决此问题:
让我们为 deb 包用户稍微扩展一下:
如何判断你是否受到影响
只需询问 apt:
me@me:~$ apt list apache-log4j2
可能的结果有三种:
Listing... Done
me@me:~$ <-- No output at all. It's not installed.
You're not vulnerable.
apache-log4j2/focal,now 2.11.2-1 amd64 <-- It's available, but NOT installed.
You're not vulnerable.
apache-log4j2/focal,now 2.11.2-1 amd64 [installed] <-- It's installed
You MIGHT be vulnerable.
如果你不是脆弱的,你可以在这里停下来。
如果你可能容易受到攻击,接下来要看的是该字符串返回的包版本。
Ubuntu 18.04
apache-log4j2/bionic,now 2.10.0-2 amd64 [installed] Vulnerable
apache-log4j2/bionic,now 2.10.0-2ubuntu0.1 amd64 [installed] NOT Vulnerable
Ubuntu 20.04
apache-log4j2/focal,now 2.11.2-1 amd64 [installed] Vulnerable
apache-log4j2/focal,now 2.15.0-0.20.04.1 amd64 [installed] NOT Vulnerable
Ubuntu 21.04
apache-log4j2/hirsute,now 2.13.3-1 amd64 [installed] Vulnerable
apache-log4j2/hirsute,now 2.15.0-0.21.04.1 amd64 [installed] NOT Vulnerable
Ubuntu 21.10
apache-log4j2/impish,now 2.13.3-1 amd64 [installed] Vulnerable
apache-log4j2/impish,now 2.15.0-0.21.10.1 amd64 [installed] NOT Vulnerable
不存在漏洞的版本已由 Ubuntu 安全团队进行了修补。大多数人已通过无人值守升级收到修补版本。
- 这就是无人值守升级的功能!它可以在不打扰您的情况下安装安全升级。
如果你的系统易受攻击,然后简单地sudo apt update
引入sudo apt upgrade
最新的安全升级。
关于 Snaps:未修补的 log4j2 可能存在于某些 snap 包中。
- 我们可能不知道。Snap 软件审核(如果有的话)是由社区成员完成的。发布 snap 软件包不需要审核。
- 快速限制的全部目的就是防止此类漏洞威胁整个系统。
- 如果您发现有漏洞的 snap 包,请向作者提交错误报告!
- Snapd 每天多次检查升级包。如果某个易受攻击的 snap 包被修补,您将在几个小时内获得该修补程序。
答案2
一些应用程序将 log4j 代码嵌入到自己的 java 文件中,简单的文件名或包扫描将无法找到嵌入的代码。US-CERT 发布了一款非常出色的扫描器,它可以在 .jar/.war/.ear 文件中查找易受攻击的 log4j 代码。该扫描器在我们的服务器上发现了两个不相关的应用程序,其中包含易受攻击的 log4j 代码。US-CERT 扫描器可在以下位置找到:https://github.com/CERTCC/CVE-2021-44228_scanner