本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
緩解 CVE-2021-44228 的方法
注意
對於 Amazon 6.9.0 版及更新EMR版本,Amazon EMR使用 Log4j 程式庫安裝的所有元件都使用 Log4j 2.17.1 版或更新版本。
在 EMR上執行的 Amazon EC2
CVE-2021-44228
建議您套用「Amazon EMR Bootstrap Action Solution for Log4j CVE-2021-44228」,如下節所述。此解決方案也會處理 CVE-2021-45046。
注意
Amazon 的引導操作指令碼EMR已於 2022 年 9 月 7 日更新,以包含 Oozie 的增量錯誤修正和改進。如果您使用 Oozie,您應該套用下一節所述的更新 Amazon EMR 引導操作解決方案。
Amazon EMR on EKS
如果您在 EMR 上使用 Amazon EKS 搭配預設組態,您不會受到 CVE-2021-44228 中所述問題的影響,而且您不需要套用 適用於 Log4j CVE-2021-44228 和 CVE-2021-45046 的 Amazon EMR bootstrap 動作解決方案一節中所述的解決方案。對於 Amazon EMR on EKS,適用於 Spark 的 Amazon EMR執行期使用 Apache Log4j 1.2.17 版。在 EMR 上使用 Amazon 時EKS,您不應將log4j.appender
元件的預設設定變更為 log
。
適用於 Log4j CVE-2021-44228 和 CVE-2021-45046 的 Amazon EMR bootstrap 動作解決方案
此解決方案提供必須套用至 Amazon EMR叢集的 Amazon EMR引導操作。對於每個 Amazon EMR版本,您會在下面找到引導動作指令碼的連結。若要套用此引導操作,您應該完成下列步驟:
-
將對應至 Amazon EMR版本的指令碼複製到 中的本機 S3 儲存貯體 AWS 帳戶。請確定您使用 Amazon EMR版本專用的引導指令碼。
-
設定叢集的引導動作EMR,根據EMR文件中的說明執行複製到 S3 儲存貯體的指令碼。如果您為EMR叢集設定了其他引導操作,請確保此指令碼設定為要執行的第一個引導操作指令碼。
-
終止現有的EMR叢集,並使用引導操作指令碼啟動新的叢集。 AWS 建議您在測試環境中測試引導指令碼,並在將應用程式套用至生產環境之前驗證應用程式。如果您不是使用EMR次要版本的最新版本 (例如 6.3.0),則必須使用最新版本 (例如 6.3.1),然後套用上述解決方案。
Amazon EMR版本號碼 | 指令碼位置 | 指令碼版本日期 |
---|---|---|
6.5.0 |
|
2022 年 3 月 24 日 |
6.4.0 |
|
2022 年 3 月 24 日 |
6.3.1 |
|
2022 年 3 月 24 日 |
6.2.1 |
|
2022 年 3 月 24 日 |
6.1.1 |
|
2021 年 12 月 14 日 |
6.0.1 |
|
2021 年 12 月 14 日 |
5.34.0 |
|
2021 年 12 月 12 日 |
5.33.1 |
|
2021 年 12 月 12 日 |
5.32.1 |
|
2021 年 12 月 13 日 |
5.31.1 |
|
2021 年 12 月 13 日 |
5.30.2 |
|
2021 年 12 月 14 日 |
5.29.0 |
|
2021 年 12 月 14 日 |
5.28.1 |
|
2021 年 12 月 15 日 |
5.27.1 |
|
2021 年 12 月 15 日 |
5.26.0 |
|
2021 年 12 月 15 日 |
5.25.0 |
|
2021 年 12 月 15 日 |
5.24.1 |
|
2021 年 12 月 15 日 |
5.23.1 |
|
2021 年 12 月 15 日 |
5.22.0 |
|
2021 年 12 月 15 日 |
5.21.2 |
|
2021 年 12 月 15 日 |
5.20.1 |
|
2021 年 12 月 15 日 |
5.19.1 |
|
2021 年 12 月 15 日 |
5.18.1 |
|
2021 年 12 月 15 日 |
5.17.2 |
|
2021 年 12 月 15 日 |
5.16.1 |
|
2021 年 12 月 15 日 |
5.15.1 |
|
2021 年 12 月 15 日 |
5.14.2 |
|
2021 年 12 月 15 日 |
5.13.1 |
|
2021 年 12 月 15 日 |
5.12.3 |
|
2021 年 12 月 15 日 |
5.11.4 |
|
2021 年 12 月 15 日 |
5.10.1 |
|
2021 年 12 月 15 日 |
5.9.1 |
|
2021 年 12 月 15 日 |
5.8.3 |
|
2021 年 12 月 15 日 |
5.7.1 |
|
2021 年 12 月 15 日 |
EMR 發行版本 | 截至 2021 年 12 月的最新修訂版 |
---|---|
6.3.0 | 6.3.1 |
6.2.0 | 6.2.1 |
6.1.0 | 6.1.1 |
6.0.0 | 6.0.1 |
5.33.0 | 5.33.1 |
5.32.0 | 5.32.1 |
5.31.0 | 5.31.1 |
5.30.0 或 5.30.1 | 5.30.2 |
5.28.0 | 5.28.1 |
5.27.0 | 5.27.1 |
5.24.0 | 5.24.1 |
5.23.0 | 5.23.1 |
5.21.0 或 5.21.1 | 5.21.2 |
5.20.0 | 5.20.1 |
5.19.0 | 5.19.1 |
5.18.0 | 5.18.1 |
5.17.0 或 5.17.1 | 5.17.2 |
5.16.0 | 5.16.1 |
5.15.0 | 5.15.1 |
5.14.0 或 5.14.1 | 5.14.2 |
5.13.0 | 5.13.1 |
5.12.0、5.12.1、5.12.2 | 5.12.3 |
5.11.0、5.11.1、5.11.2、5.11.3 | 5.11.4 |
5.9.0 | 5.9.1 |
5.8.0、5.8.1、5.8.2 | 5.8.3 |
5.7.0 | 5.7.1 |
常見問答集
-
超過 EMR 5 版的EMR版本是否受到 CVE-2021-44228 的影響?
否。第 5 EMR版之前的EMR版本使用 2.0 之前的 Log4j 版本。
-
此解決方案是否處理 CVE-2021-45046?
是,此解決方案也會處理 CVE-2021-45046。
-
解決方案是否處理我在EMR叢集上安裝的自訂應用程式?
引導指令碼只會更新由 安裝JAR的檔案EMR。如果您透過引導操作,使用自訂 Amazon Linux AMI或透過任何其他機制,在EMR叢集上安裝和執行自訂應用程式和JAR檔案,並判斷您的自訂應用程式是否受到 CVE-2021- 44228 的影響,並判斷適當的解決方案。
-
我應該如何處理在 EMR上使用 的自訂 Docker 映像EKS?
如果您在EMREKS使用自訂 docker 映像時將自訂應用程式新增至 Amazon,或EMR將任務提交至EKSwith自訂應用程式檔案給 Amazon,請與應用程式供應商合作,判斷您的自訂應用程式是否受到 CVE-2021-44228 影響,並判斷適當的解決方案。
-
引導指令碼如何緩解 CVE-2021-44228 和 CVE-2021-45046 中所述的問題?
引導指令碼會新增一組新的指示,以更新EMR啟動指示。這些新指示會刪除 所安裝之所有開放原始碼架構透過 Log4j 使用的 JndiLookup 類別檔案EMR。這符合 Apache 發布的建議
,可解決 Log4j 問題。 -
是否有使用 Log4j 2.17.1 版或更新版本EMR的 更新?
EMR 5 版至 5.34 版,6 EMR 版至 6.5 版使用舊版開放原始碼架構,這些架構與最新版的 Log4j 不相容。如果您繼續使用這些版本,我們建議您套用引導動作,以減輕 中討論的問題CVEs。5.34 EMR 版和 6.5 EMR 版之後,使用 Log4j 1.x 和 Log4j 2.x 的應用程式將分別升級為使用 Log4j 1.2.17 (或更新版本) 和 Log4j 2.17.1 (或更新版本),並且不需要使用上述提供的引導動作來緩解CVE問題。
-
EMR版本是否受 CVE-2021-45105 影響?
Amazon EMR使用 EMR的預設組態安裝的應用程式不受 CVE-2021-45105 影響。在 Amazon 所安裝的應用程式中EMR,只有 Apache Hive 會使用 Apache Log4j 搭配內容查詢
,而且它不會以允許處理不當輸入資料的方式使用非預設模式配置。 -
Amazon 是否受到下列任何CVE揭露EMR的影響?
下表包含與 Log4j 相關的 清單CVEs,並記下每個 是否CVE會影響 Amazon EMR。此資料表中的資訊僅適用於EMR使用預設組態由 Amazon 安裝的應用程式。
CVE 影響 EMR 備註 CVE-2022-23302 否 Amazon EMR 未設定 Log4j JMSSink CVE-2022-23305 否 Amazon EMR 未設定 Log4j JDBCAppender CVE-2022-23307 否 Amazon EMR 未設定 Log4j Chainsaw CVE-2020-9493 否 Amazon EMR 未設定 Log4j Chainsaw CVE-2021-44832 否 Amazon EMR 不會JDBCAppender使用JNDI連線字串設定 Log4j CVE-2021-4104 否 Amazon EMR 不使用 Log4j JMSAppender CVE-2020-9488 否 Amazon 安裝的應用程式EMR不使用 Log4j SMTPAppender CVE-2019-17571 否 Amazon 會EMR封鎖對叢集的公開存取,不會啟動 SocketServer CVE-2019-17531 否 我們建議您升級至最新的 Amazon EMR發行版本。Amazon EMR 5.33.0 和更新版本使用 jackson-databind 2.6.7.4 或更新版本,以及 EMR 6.1.0 和更新版本使用 jackson-databind 2.10.0 或更新版本。這些版本的 jackson-databind 不受 影響CVE。