VxRail: Zástupné řešení pro nástroj VxRail Manager k nápravě chyby zabezpečení Apache Log4Shell (CVE-2021-44228, CVE-2021-45046 a CVE-2021-4104)
Summary:
Tento článek popisuje skript, který lze spustit v nástroji VxRail Manager za účelem nápravy chyby zabezpečení Apache Log4Shell, která je popsána v CVE-2021-44228, CVE-2021-45046
a CVE-2021-4104 (článek Dell DSN-2021-007, článek VMware VMSA-2021-0028).
...
Please select a product to check article relevancy
This article applies to This article does not apply to
Organizace Apache Software Foundation zveřejnila informace o kritické chybě zabezpečení vzdáleného spouštění kódu knihovny Apache Log4j známé jako Log4Shell, podle Databáze doporučení GitHub (podrobně popsané v CVE-2021-44228, CVE-2021-45046 a CVE-2021-4104). Problému popsanému v této chybě zabezpečení je vystaven i nástroj VxRail Manager.
Poznámka: Jsou hlášeny dvě další chyby CVE-2021-45046 a CVE-2021-4104, které oznamují, že původní doporučení k nápravě problému popsané v části CVE-2021-44228 (Log4j 2.x) nepředstavuje kompletní opravu.
Další informace o těchto chybách CVE naleznete v následujících článcích:
Poznámka: Skript v tomto článku byl aktualizován na verzi 1.1.2, která obsahuje nápravy doporučené pro všechny tři chyby CVE: CVE-2021-44228, CVE-2021-45046 a CVE-2021-4104.
V předchozím skriptu byl zjištěn další problém, který v nástroji VxRail Manager může vést k obnovení dotčeného souboru z archivu systému. Tento problém byl v této verzi také vyřešen.
Pokud jste použili jakékoli předchozí skripty uvedené v tomto článku, stáhněte si nejnovější skript (1.1.2) a spusťte jej v nástroji VxRail Manager, abyste měli jistotu, že máte kompletní opravu.
Požadavky a rozsah
Rozsah kroků nápravy v tomto článku:
Tento článek se týká nástroje VxRail Manager ve verzích VxRail 4.5.x, 4.7.x a 7.0.x spolu s nástrojem VxRail Manager ve verzích VCF 3.x a 4.x.
Skript a uvedené kroky zajišťují nápravu chyby zabezpečení pouze ve virtuálním počítači zařízení VxRail Manager.
Problém u ostatních komponent mimo VxRail Manager, například u zařízení vCenter Server Appliance (vCSA), NSX atd., musí být opraven samostatně, přičemž řešení není součástí tohoto skriptu.
Skript také neposkytuje opravu pro žádné aplikace nebo služby spuštěné uvnitř virtuálních počítačů, které by mohly být vystaveny chybě zabezpečení. Společnost Dell EMC doporučuje všem zákazníkům, aby se u svých dodavatelů aplikací nebo softwaru informovali o službách spuštěných ve virtuálních počítačích a zjistili, zda jsou dotčeny.
Odkazy na dotčené produkty VMware a potenciální zástupná řešení jsou podrobně popsány v následujícím článku VMware VMSA:
K tomuto článku je připojen soubor fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip, který obsahuje skript pouze pro nástroj VxRail Manager.
Verze VxRail s opravou
Tento problém byl vyřešen v následujících verzích softwaru VxRail:
Balíček softwaru VxRail 7.0.320
Software zařízení VxRail 4.7.541
Software zařízení VxRail 4.5.471
Doporučujeme upgradovat na verze softwaru VxRail, které obsahují opravu. Skript doporučujeme zákazníkům, kteří nemohou provést upgrade okamžitě.
Poznámka: Pokud váš cluster VxRail 7.0.xxx spravuje zákazníkem spravovaný nástroj vCenter, přečtěte si následující článek, který obsahuje další možné faktory:
Stáhněte si soubor fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip připojený k tomuto článku.
Nahrajte soubor .zip do nástroje VxRail Manager jako uživatel „mystic“ přes klienta SCP (můžete použít například WinSCP).
Přihlaste se ke konzoli virtuálního počítače VxRail Manager nebo SSH jako uživatel mystic.
Změňte adresář na umístění, kam jste soubor .zip nahráli, a rozbalte jej pomocí příkazu unzip: mystic@vxrm:~> unzip fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip Archive: fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip inflating: fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
Nastavte skript jako spustitelný pomocí příkazu chmod: mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
Přihlaste se jako uživatel root nástroje VxRail Manager pomocí příkazu su: mystic@vxrm:~> su - Password:
Ujistěte se, že se nacházíte ve stejném adresáři, kam jste rozbalili balíček skriptu: vxrm:~ # cd /home/mystic vxrm:/home/mystic #
Příklad výstupu skriptu: Stop MARVIN and runjars service before patching the system
/mystic/connectors/eservice/lib/log4j-core-2.13.0.jar is affected by CVE-2021-44228 and CVE-2021-45046, need to apply patch patching /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar Successfully patched /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar
/mystic/connectors/cluster/lib/log4j-core-2.13.0.jar is affected by CVE-2021-44228 and CVE-2021-45046, need to apply patch patching /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar Successfully patched /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar
To ensure there is no reload behavior, we need to pack the .war file as well. looks like /usr/lib/vmware-marvin/marvind/webapps/ROOT.war contains the bad log4j-core library WEB-INF/lib/log4j-core-2.13.0.jar Archive: /usr/lib/vmware-marvin/marvind/webapps/ROOT.war inflating: WEB-INF/lib/log4j-core-2.13.0.jar Patching WEB-INF/lib/log4j-core-2.13.0.jar in /usr/lib/vmware-marvin/marvind/webapps/ROOT.war Repack /usr/lib/vmware-marvin/marvind/webapps/ROOT.war updating: WEB-INF/lib/log4j-core-2.13.0.jar (deflated 11%) Clean up the ROOT folder...
Always apply a reboot of MARVIN and runjars services restart MARVIN MARVIN restart successfully restart runjars runjars restart successfully
Poznámka: Oprava všech souborů a spuštění služeb VxRail Manager může trvat 5–10 minut.
Pokud plánujete provést některý z níže uvedených kroků ručního ověření, počkejte alespoň 10 minut.
V závislosti na verzi nástroje VxRail Manager je k dispozici několik různých verzí knihovny lib4j-core.
Skript byl navržen tak, aby správně opravil nástroj VxRail Manager bez ohledu na verzi knihovny lib4j-core, která je součástí dané verze nástroje VxRail Manager.
Výše uvedený výstup ze spuštění skriptu může v závislosti na verzi knihovny lib4j-core zobrazit, že se aktualizují jiné soubory.
Poznámka: Pokud provedete upgrade systému VxRail na jiné sestavení VxRail, které opravu neobsahuje, je nutné spustit tento skript podruhé, aby bylo možné nápravu znovu použít.
POZNÁMKA: Úplné zmírnění dopadů na systém VxRail vyžaduje zavedení jak zástupného řešení vCenter Server Appliance (vCSA) od společnosti VMware, tak nápravy v nástroji VxRail Manager, kterou provádí tento skript.
Aby bylo možné problém vyřešit, skript odebere soubor JndiLookup.class ze souborů lib4j-core-* jar.
Soubor .jar je formát balíčku Java, který do jednoho souboru zahrnuje více tříd, metadat a dalších programů Java. Konceptem se podobá souboru .zip, na kterém je také založen. Spuštění skriptu ověří, zda byl každý soubor .jar úspěšně aktualizován.
Pokud chcete ručně ověřit, zda skript proběhl správně, můžete zkontrolovat, zda soubory jar log4j-core-* přítomné v nástroji VxRail Manager stále obsahují dotčený soubor JndiLookup.class. Pokud tento postup fungoval, níže uvedené příkazy by neměly zobrazovat žádný výstup. To potvrzuje, že dotčený soubor JndiLookup.class se již v souboru .jar nenachází.
Ověření pomocí automatizovaného příkazu
V nástroji VxRail Manager lze spustit následující příkaz, který vyhledá všechny soubory log4j-core-xxxx.jar přítomné v nástroji VxRail Manager a zkontroluje, zda obsahují dotčený soubor JndiLookup.class:
vxrm:/home/mystic # for myfile in `find / -name log4j-core*jar -print |grep -v log4jbak`; do echo $myfile; unzip -l $myfile | grep JndiLookup.class; done
Ve výše uvedeném příkladu se soubor JndiLookup.class nenachází v souboru .jar, proto skript fungoval a ověření proběhlo úspěšně.
Níže je uveden ukázkový výstup dotčeného systému, který je třeba aktualizovat:
/mystic/connectors/eservice/lib/log4j-core-2.13.3.jar 2892 2020-05-10 12:08 org/apache/logging/log4j/core/lookup/JndiLookup.class /mystic/connectors/cluster/lib/log4j-core-2.13.3.jar 2892 2020-05-10 12:08 org/apache/logging/log4j/core/lookup/JndiLookup.class /usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.3.jar 2892 2020-05-10 12:08 org/apache/logging/log4j/core/lookup/JndiLookup.class
Ve výše uvedeném příkladu se dotčený soubor JndiLookup.class stále nachází v souboru log4j-core-2.13.3.jar.
Ověření pomocí ruční kontroly každého souboru
Chcete-li rychle zjistit všechny soubory log4j-core-xxxx.jar, které se nacházejí v nástroji VxRail Manager, spusťte následující příkaz (to také zformátuje výstup do použitelného příkazu):
vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print("unzip -l " $1 "|grep JndiLookup.class")}'
Z výše uvedeného příkladu spusťte každý příkaz ručně a zjistěte, zda najde dotčený soubor JndiLookup.class:
vxrm:/home/mystic # unzip -l /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar|grep JndiLookup.class vxrm:/home/mystic #
Ve výše uvedeném příkladu se soubor J JndiLookup.class nenachází v souboru .jar, proto skript fungoval správně a ověření proběhlo úspěšně.
Poznámka: Názvy souborů .jar z výše uvedeného výstupu se mohou lišit v závislosti na vaší verzi nástroje VxRail Manager. Použijte ukázkový výstup, který jste získali z výše uvedeného příkazu find.
Příklad výstupu souboru jar, který je stále dotčen a obsahuje dotčený soubor JndiLookup.class:
Ve výše uvedeném příkladu se dotčený soubor JndiLookup.class stále nachází v souboru log4j-core-2.4.1.jar.
POZNÁMKA: Opět připomínáme, že úplné zmírnění dopadů na systém VxRail vyžaduje zavedení jak zástupného řešení vCenter Server Appliance (vCSA) od společnosti VMware, tak nápravy v nástroji VxRail Manager, kterou provádí tento skript.