VxRail: VxRail Manager werkt rond om apache Log4Shell-beveiligingslek te verhelpen (CVE-2021-44228, CVE-2021-45046 en CVE-2021-4104)
Summary:
Dit artikel beschrijft een script dat kan worden uitgevoerd op VxRail Manager om het Apache Log4Shell-beveiligingslek te herstellen dat wordt beschreven in CVE-2021-44228,
CVE-2021-45046 en CVE-2021-4104 (Dell artikel DSN-2021-007, VMware-artikel VMSA-2021-0028).
...
Please select a product to check article relevancy
This article applies to This article does not apply toThis article is not tied to any specific product.Not all product versions are identified in this article.
De Apache Software Foundation heeft informatie gepubliceerd over een kritiek beveiligingslek met betrekking tot het uitvoeren van apache Log4j Library Remote Code Execution dat bekend staat als Log4Shell volgens de GitHub Advisory Database (ook beschreven in CVE-2021-44228, CVE-2021-45046 en CVE-2021-4104). VxRail Manager wordt blootgesteld aan het probleem dat in het beveiligingslek wordt beschreven.
Opmerking: Twee extra CVE's, CVE-2021-45046 en CVE-2021-4104, worden gemeld wat aangeeft dat de oorspronkelijke aanbeveling om het probleem dat wordt beschreven in CVE-2021-44228 (Log4j 2.x) niet een volledige oplossing is.
Zie de volgende artikelen voor meer informatie over deze CVE's:
Opmerking: Het script in dit artikel is bijgewerkt naar versie 1.1.2 met de herstelstappen die worden aanbevolen voor alle drie CVE's, CVE-2021-44228, CVE-2021-45046 en CVE-2021-4104.
Er is een extra probleem ontdekt in het vorige script, wat ertoe kan leiden dat een getroffen bestand wordt hersteld op VxRail Manager vanuit een systeemarchief. Dit probleem is ook opgelost in deze release.
Als u eerdere scripts hebt gebruikt die bij dit artikel zijn geleverd, downloadt u het nieuwste script (1.1.2) en voert u het uit op VxRail Manager om ervoor te zorgen dat u de volledige oplossing hebt.
Vereisten en bereik
Dit bereik van wat wordt gedekt door de herstelstappen in dit artikel zijn:
Dit artikel is van toepassing op VxRail Manager in VxRail 4.5.x-, 4.7.x- en 7.0.x-releases samen met VxRail Manager in VCF 3.x- en 4.x-releases.
Het script en de geboden herstelstappen herstellen het beveiligingslek alleen in VxRail Manager appliance VM.
Andere componenten buiten VxRail Manager, zoals vCenter Server Appliance (vCSA), NSX, enzovoort, moeten afzonderlijk worden beperkt en staan niet in dit script.
Het script verhelpt ook geen applicaties of services die worden uitgevoerd binnen VM's die mogelijk worden blootgesteld aan het beveiligingslek. Dell EMC raadt alle klanten aan bij hun applicatie- of softwareleveranciers te controleren op services die worden uitgevoerd in VM's om er zeker van te zijn dat ze hier geen last van hebben.
Koppelingen naar getroffen VMware-producten en mogelijke tijdelijke oplossingen worden beschreven in het volgende VMware VMSA-artikel:
Bijgevoegd bij dit artikel is file fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip die alleen het script voor VxRail Manager bevat.
VxRail releases met oplossing inbegrepen
Dit probleem is opgelost in de volgende VxRail softwarereleases:
VxRail-pakketsoftware 7.0.320
VxRail apparaatsoftware 4.7.541
VxRail apparaatsoftware 4.5.471
Het wordt aanbevolen om te upgraden naar een VxRail softwarereleases die de oplossing bevatten. Het script wordt aanbevolen voor klanten die niet onmiddellijk kunnen upgraden.
Opmerking: Als uw VxRail 7.0.xxx cluster wordt beheerd door een door de klant beheerd vCenter, raadpleegt u het volgende artikel voor aanvullende overwegingen die van toepassing kunnen zijn:
Voer de volgende stappen uit om het probleem te verhelpen:
Download het fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip-bestand dat aan dit artikel is toegevoegd.
Upload het .zip-bestand naar VxRail Manager met behulp van mystic user via SCP (WinSCP is een voorbeeld van een SCP-client die kan worden gebruikt).
Meld u aan bij de VxRail Manager VM-console of SSH met behulp van de Mystic-gebruiker.
Wijzig de map waar u het .zip-bestand hebt geüpload en pak het uit met de opdracht 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
Maak het script uitvoerbaar met behulp van de chmod-opdracht : mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
Meld u aan als de hoofdgebruiker van VxRail Manager met behulp van de opdracht su : mystic@vxrm:~> su - Wachtwoord:
Zorg ervoor dat u zich in dezelfde map bevindt waar u het scriptpakket hebt uitgepakt: vxrm:~ # cd /home/mystic vxrm:/home/mystic #
Voer het script uit: vxrm:/home/mystic # ./fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
Voorbeeld van scriptuitvoer: Stop ADAPTERS en runjars-service voordat u het systeem
/mystic/connectors/eservice/lib/log4j-core-2.13.0.jar patcht door CVE-2021-44228 en CVE-2021-45046, moet patching /mystic/connectors/eservice/lib/log4j-core-2.2 toepassen13.0.jar Met succes gepatcht /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar
/mystic/connectors/cluster/lib/log4j-core-2.13.0.jar is getroffen door CVE-2021-44228 en CVE-2021-45046, moet patch worden toegepast patching /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar Successfully patched /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar
Om ervoor te zorgen dat er geen herlaadgedrag is, we moeten ook het .war-bestand inpakken. Ziet eruit zoals /usr/lib/vmware-vp/vpd/webapps/ROOT.war bevat de slechte log4j-core bibliotheek WEB-INF/lib/log4j-core-2.13.0.jar Archive: /usr/lib/vmware-oracle/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-vp/vpd/webapps/ROOT.war Repack /usr/lib/vmware-vp/vpd/webapps/ROOT.war updaten: WEB-INF/lib/log4j-core-2.13.0.jar (gedefleerd 11%) De ROOT-map opschonen...
Pas altijd een herstart van REBOOT van REBOOT toe en runjars services reboot REBOOT RUNjars runjars restart successfully restart successfully restart runjars restart successfully
Opmerking: Het kan 5-10 minuten duren voordat alle bestanden worden hersteld en dat de VxRail Manager services beginnen.
Wacht ten minste 10 minuten als u van plan bent een van de onderstaande handmatige validatiestappen uit te voeren.
Er zijn verschillende versies van de lib4j-core bibliotheek, afhankelijk van de release van VxRail Manager.
Het script is ontworpen om VxRail Manager correct te herstellen, ongeacht de versie van lib4j-core die is opgenomen in die versie van VxRail Manager.
De bovenstaande uitvoer van het uitvoeren van het script kan aangeven dat verschillende bestanden worden bijgewerkt, afhankelijk van de versie van lib4j-core.
Opmerking: Als u een VxRail upgrade uitvoert naar een andere build van VxRail die geen oplossing bevat, moet dit script een tweede keer worden uitgevoerd om het herstel opnieuw toe te past.
OPMERKING: De volledige beperking voor VxRail vereist dat zowel de vCenter Server Appliance (vCSA)-tijdelijke oplossing van VMware als de oplossing op VxRail Manager die wordt uitgevoerd door dit script moet worden geïmplementeerd.
Om het probleem te verhelpen, verwijdert het script het bestand JndiLookup.class uit de lib4j-core-* jar-bestanden.
Een jar-bestand is een Java-verpakkingsindeling voor het opnemen van meerdere klassen, metadata en andere Java-programma's in één bestand. Het is vergelijkbaar met een .zip-bestand en is gebaseerd op de .zip-indeling. De scriptuitvoering valideert dat elk jar-bestand is bijgewerkt.
Als u een handmatige validatie wilt uitvoeren die het script heeft uitgevoerd, kunt u controleren of de log4j-core-* jar-bestanden die aanwezig zijn in VxRail Manager nog steeds het getroffen bestand JndiLookup.class bevatten. Als het is gelukt, ziet u geen uitvoer naar de onderstaande opdrachten die bevestigen dat het getroffen bestand JndiLookup.class niet meer aanwezig is in het jar-bestand.
Validatie met geautomatiseerde opdracht
De volgende opdracht kan worden uitgevoerd op VxRail Manager om te scannen op alle log4j-core-xxxx.jar-bestanden die aanwezig zijn in VxRail Manager en te controleren of ze het getroffen bestand J xxLookup.class bevatten:
vxrm:/home/mystic # voor myfile in 'find / -name log4j-core*jar -print |grep -v log4jbak'; do echo $myfile; unzip -l $myfile | grep JndiLookup.class; doneSample
het bovenstaande voorbeeld is het bestand JndiLookup.class niet aanwezig in jar, waardoor het script werkte, en verificatie is geslaagd.
Hieronder vindt u voorbeelduitvoer van een getroffen systeem dat moet worden bijgewerkt:
/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-apache/workstationd/webapps/ROOT/WEB-INF/lib/ log4j-core-2.13.3.jar 2892 2020-05-10 12:08 org/apache/logging/log4j/core/lookup/JndiLookup.classIn
het bovenstaande voorbeeld is het betreffende bestand JndiLookup.class nog steeds aanwezig in het log4j-core-2.13.3.jar jar-bestand.
Validatie met handmatige controle van elk bestand
Om snel alle log4j-core-xxxx.jar-bestanden te identificeren die aanwezig zijn in VxRail Manager, voer de volgende opdracht uit (dit formatteer de uitvoer ook in een bruikbare opdracht):
vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print'("unzip -l" $1 "|grep JndiLookup.class")}"
de uitvoer hierboven, Voer elke opdracht handmatig uit om te zien of ze het getroffen bestand JndiLookup.class detecteren:
vxrm:/home/mystic # unzip -l /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar|grep JndiLookup.classvxrm :/home/mystic #
In het bovenstaande voorbeeld is het bestand JndiLookup.class niet aanwezig in jar, dus het script werkte, en verificatie is geslaagd.
Opmerking: De jar-bestandsnaam van de bovenstaande uitvoervoorbeelden kunnen verschillen, afhankelijk van uw versie van VxRail Manager. Gebruik de voorbeelduitvoer die u ontvangt van de bovenstaande find-opdracht .
Een voorbeeld van de uitvoer voor een jar-bestand dat nog steeds wordt beïnvloed en het getroffen bestand JndiLookup.class bevat: vxrm:/home/mystic # unzip -l /mystic/connectors/cluster/lib/log4j-core-2.4.1.jar |grep JndiLookup.class2576 2015-10-08 17:50 org/apache/logging/log4j/core/lookup/JpliceLookup.classIn
het bovenstaande voorbeeld is het getroffen bestand JndiLookup.class nog steeds aanwezig in het log4j-core-2.4.1.jar jar-bestand.
OPMERKING: Een andere herinnering: volledige beperking voor VxRail vereist dat zowel de vCenter Server Appliance (vCSA) tijdelijke oplossing van VMware als de oplossing op VxRail Manager die door dit script wordt uitgevoerd, moet worden geïmplementeerd.