VxRail: VxRail Manager, Apache Log4Shell güvenlik açığını (CVE-2021-44228, CVE-2021-45046 ve CVE-2021-4104) düzeltmek için geçici çözüm sunar
Summary:
Bu makalede CVE-2021-44228, CVE-2021-45046 ve CVE-2021-4104'te açıklanan Apache Log4Shell güvenlik açığını düzeltmek için VxRail Manager'da çalıştırılabilen bir komut dosyası
özetlenmektedir (Dell makalesi DSN-2021-007, VMware makalesi 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.
Apache Software Foundation, GitHub Danışma Önerileri Veritabanı'nda kritik bir Apache Log4j Kitaplığı Uzaktan Kod Yürütme Güvenlik Açığı sorunu hakkında bilgiler yayınlamıştır (CVE-2021-44228, CVE-2021-45046 ve CVE-2021-4104'te ayrıntılarıyla açıklanmaktadır). VxRail Manager, güvenlik açığında belirtilen soruna maruz kalır.
Not: CVE-2021-45046 ve CVE-2021-4104 olmak üzere iki ek CVE, CVE-2021-44228'de (Log4j 2.x) açıklanan sorunu düzeltmek için orijinal önerinin tam bir düzeltme olmadığını gösterir.
Bu CVE'ler hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Not: Bu makaledeki komut dosyası, üç CVE (CVE-2021-44228, CVE-2021-45046 ve CVE-2021-4104) için önerilen düzeltmeleri içeren 1.1.2 sürümüne güncelleştirildi.
Önceki komut dosyasında, etkilenen bir dosyanın sistem arşivinden VxRail Manager'a geri yüklenmesine yol açabilen ek bir sorun keşfedildi. Bu sorun bu sürümde de giderildi.
Bu makaleyle birlikte verilen önceki komut dosyalarını kullanıyorsanız en son komut dosyasını (1.1.2) indirin ve düzeltmenin tamamına sahip olmak için VxRail Manager'da çalıştırın.
Gereklilikler ve Kapsam
Bu makaledeki düzeltme adımlarının kapsamındakiler şunlardır:
Bu makale VxRail Manager ile birlikte VxRail 4.5.x, 4.7.x ve 7.0.x sürümlerinin yanı sıra VCF 3.x ve 4.x sürümleri için geçerlidir.
Sağlanan komut dosyası ve düzeltme adımları yalnızca VxRail Manager cihazı sanal makinesindeki güvenlik açığını giderecektir.
vCenter Server Appliance (vCSA), NSX ve benzeri gibi VxRail Manager dışındaki diğer bileşenler, bu komut dosyası içinde yer almazlar ve riskleri ayrı olarak hafifletilmelidir.
Ayrıca komut dosyası, güvenlik açığına maruz kalmış olabilecek VM'ler içinde çalışan uygulamaları veya hizmetleri düzeltmez. Dell EMC, tüm müşterilerin etkilenmediklerinden emin olmaları için VM'ler içinde çalışan hizmetler için uygulama veya yazılım tedarikçilerinden kontrol etmelerini önerir.
Etkilenen VMware ürünlerine ve olası geçici çözümlere yönelik bağlantılar aşağıdaki VMware VMSA makalesinde ayrıntılı olarak açıklanmıştır:
Bu makaleye, yalnızca VxRail Manager komut dosyasını içeren fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip dosyası eklenmiştir.
Düzeltmeyi içeren VxRail sürümleri
Bu sorun aşağıdaki VxRail yazılım sürümlerinde çözülmüştür:
VxRail Paket Yazılımı 7.0.320
VxRail Cihaz Yazılımı 4.7.541
VxRail Cihaz Yazılımı 4.5.471
Düzeltmeyi içeren bir VxRail yazılım sürümüne yükseltme yapmanız önerilir. Komut dosyası, hemen yükseltme yapamayan müşteriler için önerilir.
Not: VxRail 7.0.xxx kümeniz, müşteri tarafından yönetilen bir vCenter tarafından yönetiliyorsa lütfen geçerli olabilecek diğer önemli noktalar için aşağıdaki makaleye başvurun:
Örnek komut dosyası çıktısı: 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
Not: Tüm dosyaların düzeltilmesi ve VxRail Manager hizmetlerinin başlatılması 5-10 dakika sürebilir.
Aşağıdaki manuel doğrulama adımlarının herhangi birini gerçekleştirmeyi planlıyorsanız en az 10 dakika bekleyin.
VxRail Manager'ın sürümüne bağlı olarak lib4j-core kitaplığının birkaç farklı sürümü vardır.
Komut dosyası, VxRail Manager'ın bu sürümüne dahil edilmiş lib4j-core sürümünden bağımsız olarak VxRail Manager'ı doğru şekilde düzeltmek için tasarlanmıştır.
Komut dosyasının çalıştırılmasıyla elde edilen yukarıdaki çıktı, lib4j-core sürümüne bağlı olarak farklı dosyaların güncelleştirildiğini gösterebilir.
Not: Bir düzeltme içermeyen başka bir VxRail derlemesine VxRail Yükseltmesi gerçekleştirirseniz bu komut dosyasının düzeltmeyi yeniden uygulamak için ikinci kez çalışması gerekir.
NOT: VxRail için tam risk azaltma, VMware'in hem vCenter Server Appliance (vCSA) geçici çözümünü hem de bu komut dosyası tarafından gerçekleştirilen VxRail Manager'da düzeltmenin uygulanmasını gerektirir.
Sorunu düzeltmek için komut dosyası, , JndiLookup.class dosyasını lib4j-core-* jar dosyalarından kaldırır.
Bir jar dosyası, birden çok sınıf, meta veri ve diğer java programlarını tek bir dosyada toplayan bir Java paketleme biçimidir. Bu, kavram olarak .zip dosyasına benzerdir ve .zip biçimine dayanır. Komut dosyası yürütme, her bir jar dosyasının başarıyla güncelleştirildiğini doğrular.
Komut dosyasının çalıştığını manuel olarak doğrulamak için VxRail Manager'da bulunan log4j-core-* jar dosyalarının hâlâ etkilenen JndiLookup.class dosyasını içerip içermediğini kontrol edebilirsiniz. Bu işlem işe yaradıysa etkilenen JndiLookup.class dosyasının artık jar dosyasında bulunmadığını onaylayan aşağıdaki komutlara yönelik bir çıktı görmemeniz gerekir.
Otomatik komutla doğrulama
VxRail Manager'da bulunan tüm log4j-core-xxxx.jar dosyalarını taramak ve etkilenen JndiLookup.class dosyasını içerip içermediklerini kontrol etmek için VxRail Manager'da aşağıdaki komut çalıştırılabilir:
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
Örnek çıktı (güncel sistem):
/mystic/connectors/eservice/lib/log4j-core-2.13.0.jar /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar /usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.0.jar
Yukarıdaki örnekte JndiLookup.class dosyası, jar içinde mevcut değildir; yani komut dosyası işe yaramıştır ve doğrulama başarılıdır.
Aşağıda güncelleştirilmesi gereken etkilenen bir sistemin örnek çıktısı verilmiştir:
/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
Yukarıdaki örnekte etkilenen JndiLookup.class dosyası hâlâ log4j-core-2.13.3.jar dosyasında mevcuttur.
Her bir dosyanın manuel kontrolüyle doğrulama
VxRail Manager'da bulunan log4j-core-xxxx.jar dosyalarını hızlı bir şekilde belirlemek için aşağıdaki komutu çalıştırın (bu işlem ayrıca çıktıyı kullanılabilir bir komut olarak biçimlendirir):
vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print("unzip -l " $1 "|grep JndiLookup.class")}'
Yukarıdaki örnek çıktıdan, etkilenen JndiLookup.class dosyasını tespit edip edemediklerini görmek için her komutu manuel olarak çalıştırın:
vxrm:/home/mystic # unzip -l /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar|grep JndiLookup.class vxrm:/home/mystic #
Yukarıdaki örnekte JndiLookup.class dosyası jar dosyasında bulunmaz; yani komut dosyası işe yaramıştır ve doğrulama başarılıdır.
Not: Yukarıdaki örnek çıktıdaki jar dosya adları, VxRail Manager sürümünüze bağlı olarak farklılık gösterebilir. Yukarıdaki find komutundan alınan örnek çıktıyı kullanın.
Etkilenmeye devam eden ve etkilenen JndiLookup.class dosyasını içeren bir jar dosyasının çıktısı örneği:
Yukarıdaki örnekte etkilenen JndiLookup.class dosyası hâlâ log4j-core-2.4.1.jar dosyasında mevcuttur.
NOT: VxRail için tam risk azaltmanın, VMware'in hem vCenter Server Appliance (vCSA) geçici çözümünü hem de bu komut dosyası tarafından gerçekleştirilen VxRail Manager'da düzeltmenin uygulanmasını gerektirdiği unutulmamalıdır.