Uç Nokta için Microsoft Defender'da Log4Shell güvenlik açığını yönetmeyi öğrenin
Log4Shell güvenlik açığı, Apache Log4j 2 günlük kitaplığında bulunan bir uzaktan kod yürütme (RCE) güvenlik açığıdır. Apache Log4j 2 yaygın olarak birçok yazılım uygulaması ve çevrimiçi hizmet tarafından kullanıldığından, dünya çapındaki şirketler için karmaşık ve yüksek riskli bir durumu temsil eder. "Log4Shell" (CVE-2021-44228, CVE-2021-45046) olarak adlandırılır, saldırganların verileri ayıklamak ve bir kuruluşta fidye yazılımı dağıtmak için yararlanabileceği yeni bir saldırı vektörünü tanıtır.
Not
Kuruluşunuzu korumaya yönelik güvenlik açığı ve ürüne özgü risk azaltma önerileri hakkında yönergeler ve teknik bilgiler için Log4j 2 güvenlik açığının kötüye kullanılmasını önleme, algılama ve tehdit avcılığını önlemeye yönelik yönergeler ve Microsoft Güvenlik Yanıt Merkezi bloglarına bakın.
Bulma, izleme ve azaltma özelliklerine genel bakış
Defender Güvenlik Açığı Yönetimi, kuruluşunuzun Log4Shell güvenlik açığına maruz kalmasını tanımlamanıza, izlemenize ve azaltmanıza yardımcı olacak aşağıdaki özellikleri sağlar:
- Bulma: Hem Uç Nokta için Microsoft Defender eklenen cihazlar hem de henüz eklenmemiş cihazlar olan kullanıma sunulan cihazların algılanması, güvenlik açığı bulunan yazılımları ve diskte algılanan savunmasız dosyaları temel alır.
- Tehdit farkındalığı: Kuruluşunuzun açığa çıkarmasını değerlendirmek için birleştirilmiş bir görünüm. Bu görünüm, cihaz düzeyinde ve yazılım düzeyinde açığa çıkarmanızı gösterir ve açık bağlantı noktalarıyla en son ne zaman görüldüğü, en son yürütülürken olduğu gibi güvenlik açığı olan dosyalar hakkındaki ayrıntılara erişim sağlar. Düzeltme eylemlerinize öncelik vermek için bu bilgileri kullanabilirsiniz. Kullanıma sunulan cihazlarla ilgili verilerin panoda görünmesi 24 saate kadar sürebilir.
- Azaltma seçenekleri: Risk azaltma riskinizi azaltmaya yardımcı olmak için risk azaltma seçeneklerini uygulayın.
- Gelişmiş avcılık: Diskte tanımlanan güvenlik açığı olan log4j dosyalarının ayrıntılarını döndürmek için gelişmiş avcılığı kullanın.
Not
Bu özellikler Windows 10 & Windows 11, Windows Server, Linux ve macOS'ta desteklenir.
Linux'ta destek için Uç Nokta Linux için Microsoft Defender istemci sürümü 101.52.57 (30.121092.15257.0) veya üzeri gerekir.
macOS'ta destek için Uç Nokta için Microsoft Defender macOS istemci sürümü 20.121111.15416.0 veya üzeri gerekir.
Desteklenen sürümler hakkında daha fazla bilgi için bkz . Desteklenen işletim sistemi platformları ve özellikleri.
Kullanıma sunulan cihaz bulma
Microsoft Defender portalında Yerleşik Defender Güvenlik Açığı Yönetimi özellikleri, Log4j algılamasını etkinleştirmenin yanı sıra Log4Shell güvenlik açığına maruz kalan cihazları keşfetmenize yardımcı olur.
Eklenen cihazlar, güvenlik açığı bulunan yazılımları ve dosyaları bulabilen mevcut ekli Defender Güvenlik Açığı Yönetimi özellikleri kullanılarak değerlendirilir.
Bulunan ancak henüz eklenmemiş cihazlarda algılama için Log4j algılama etkinleştirilmelidir. Bu, yoklamaları cihaz bulma işleminin ağınızı etkin bir şekilde yoklaması gibi başlatır. Yoklama, birden çok eklenen uç noktayı (Windows 10+ ve Windows Server 2019+ cihazları) ve yalnızca güvenlik açığı olan ve CVE-2021-44228'e uzaktan kullanıma sunulan cihazları algılamak için alt ağlarda yoklama içerir.
Log4 algılamasını etkinleştirmek için:
Ayarlar>Cihaz bulma bulma>kurulumu'na gidin.
Log4j2 algılamasını etkinleştir (CVE-2021-44228)'i seçin.
Kaydet'i seçin.
Bu yoklamaların çalıştırılması, standart Log4j akışını, yoklanan cihaz veya yoklama cihazı üzerinde herhangi bir zararlı etkiye neden olmadan tetikler. Yoklama, bulunan cihazlara birden çok HTTP isteği göndererek, ortak web uygulaması bağlantı noktalarını (örneğin - 80.8000.8080.443.8443) ve URL'leri hedefleyerek gerçekleştirilir. İstek, yoklanan makineden bir DNS isteğini tetikleyen JNDI yüküne sahip HTTP üst bilgileri içerir.
Örneğin, Kullanıcı Aracısı: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent} burada 192.168.1.3, yoklama makinesinin IP'sini oluşturur.
Not
Log4j2 algılamasını etkinleştirmek, eklenen cihazların yerel güvenlik açıklarını algılamak için kendi kendini yoklama kullanacağı anlamına da gelir.
Güvenlik açığı bulunan yazılım ve dosya algılama
Defender Güvenlik Açığı Yönetimi, keşfetmenize yardımcı olmak için algılama katmanları sağlar:
Güvenlik açığı bulunan yazılım: Bulma, Log4j uzaktan kod yürütmeye karşı savunmasız olduğu bilinen yüklü uygulama Ortak Platform Numaralandırmalarını (CPE) temel alır.
Güvenlik açığı olan dosyalar: Hem bellekteki dosyalar hem de dosya sistemindeki dosyalar değerlendirilir. Bu dosyalar, bilinen güvenlik açığı olan sürüme sahip Log4j-core jar dosyaları veya güvenlik açığı olan bir jndi arama sınıfı veya güvenlik açığı olan log4j-core dosyası içeren bir Uber-JAR olabilir. Özellikle, şu şekildedir:
- JAR dosyalarını inceleyip şu dosyayı arayarak jar dosyasının güvenlik açığı olan bir Log4j dosyası içerip içermediğini belirler: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties - bu dosya varsa, Log4j sürümü okunur ve ayıklanır.
- "/log4j/core/lookup/JndiLookup.class" dizesini içeren yolları arayarak JAR dosyasının içindeki JndiLookup.class dosyasını arar. JndiLookup.class dosyası varsa, Defender Güvenlik Açığı Yönetimi bu JAR dosyasının pom.properties içinde tanımlanan sürüme sahip bir Log4j dosyası içerip içermediğini belirler.
- bu dizelerden herhangi birini içeren yolları arayarak iç içe bir JAR içine eklenmiş güvenlik açığı olan Log4j-core JAR dosyalarını arar:
- lib/log4j-core-
- WEB-INF/lib/log4j-core-
- App-INF/lib/log4j-core-
Bu tabloda desteklenen platformlar ve sürümler için arama özellikleri açıklanmaktadır:
Özellik | Dosya Türü | Windows 10+, server2019+ |
Server 2012R2, server2016 |
Server 2008R2 | Linux + macOS |
---|---|---|---|---|---|
Bellekte Arama | Log4j-core | Evet | Evet[1] | - | Evet |
Uber-JARs | Evet | Evet[1] | - | Evet | |
Disk üzerindeki tüm dosyaları arama | Log4j-core | Evet | Evet[1] | Evet | - |
Uber-JARs | Evet | Evet[1] | - | - |
(1) Windows Server 2012 R2 ve 2016'da KB5005292 yüklendiğinde özellikler kullanılabilir.
Log4Shell'i açığa çıkarma ve azaltma seçenekleriniz hakkında bilgi edinin
Microsoft Defender portalında Güvenlik açığı yönetimi>zayıf noktaları'na gidin.
CVE-2021-44228'i seçin.
Güvenlik açığı sayfasını aç'ı seçin.
Log4Shell güvenlik açığı azaltma
Log4J sürüm 2.10 - 2.14.1'de varsayılan yapılandırmalarla JNDI aramaları engellenerek log4Shell güvenlik açığı giderilebilir. Bu risk azaltma eylemini oluşturmak için Tehdit tanıma panosundan:
Güvenlik açığı ayrıntılarını görüntüle'yi seçin.
Azaltma seçenekleri'ni seçin.
Risk azaltmayı kullanıma sunulan tüm cihazlara uygulamayı veya eklenen belirli cihazları seçebilirsiniz. İşlemi tamamlamak ve azaltmayı cihazlara uygulamak için Azaltma eylemi oluştur'u seçin.
Azaltma durumu
Azaltma durumu, cihaza JDNI aramalarını devre dışı bırakmak için geçici çözüm azaltmanın uygulanıp uygulanmadığını gösterir. Etkilenen her cihazın risk azaltma durumunu Kullanıma sunulan cihazlar sekmelerinde görüntüleyebilirsiniz. Bu, cihazların risk azaltma durumlarına göre risk azaltma ve/veya düzeltme eki uygulama önceliklerini belirlemeye yardımcı olabilir.
Aşağıdaki tabloda olası risk azaltma durumları listeleniyor:
Azaltma durumu | Açıklama |
---|---|
Geçici çözüm uygulandı |
Windows: LOG4J_FORMAT_MSG_NO_LOOKUPS ortam değişkeni en son cihaz yeniden başlatmadan önce gözlemlendi. Linux + macOS: Çalışan tüm işlemlerin ortam değişkenlerinde LOG4J_FORMAT_MSG_NO_LOOKUPS=true değeri vardır. |
Geçici çözüm yeniden başlatma bekliyor | LOG4J_FORMAT_MSG_NO_LOOKUPS ortam değişkeni ayarlandı, ancak aşağıdaki yeniden başlatma algılanmadı. |
Uygulanmadı |
Windows: LOG4J_FORMAT_MSG_NO_LOOKUPS ortam değişkeni gözlemlenmedi. Linux + macOS: Tüm çalışan işlemlerin ortam değişkenlerinde LOG4J_FORMAT_MSG_NO_LOOKUPS=true değeri yoktur ve cihaza azaltma eylemi uygulanmamıştır. |
Kısmen azaltılmış | Linux + macOS: Cihazda azaltma eylemi uygulansa da, çalışan tüm işlemlerin ortam değişkenlerinde LOG4J_FORMAT_MSG_NO_LOOKUPS=true değeri yoktur. |
Geçerli değil | Risk azaltmanın sürüm aralığında olmayan güvenlik açığı olan dosyalara sahip cihazlar. |
Unknown | Azaltma durumu şu anda belirlenemedi. |
Not
Bir cihazın güncelleştirilmiş risk azaltma durumunun yansıtılması birkaç saat sürebilir.
Log4Shell güvenlik açığı için uygulanan azaltmaları geri döndürme
Risk azaltmanın geri alınması gereken durumlarda şu adımları izleyin:
Windows için:
Yükseltilmiş bir PowerShell penceresi açın.
Aşağıdaki komutu çalıştırın:
[Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)
Cihaz yeniden başlatıldıktan sonra değişiklik geçerli olur.
Linux için:
/etc/environment dosyasını açın ve LOG4J_FORMAT_MSG_NO_LOOKUPS=true satırını silin
/etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf dosyasını silin
/etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf dosyasını silin
Cihaz yeniden başlatıldıktan sonra değişiklik geçerli olur.
macOS için:
setenv dosyasını kaldırın. Aşağıdaki klasörlerden LOG4J_FORMAT_MSG_NO_LOOKUPS.plist dosyasını seçin:
- /Library/LaunchDaemons/
- /Library/LaunchAgents/
- /Users/[kullanıcıadı]/Library/LaunchAgents/ - tüm kullanıcılar için
Cihaz yeniden başlatıldıktan sonra değişiklik geçerli olur.
Apache Log4j güvenlik önerileri
Apache log4j ile ilgili etkin güvenlik önerisini görmek için güvenlik açığı ayrıntıları sayfasından Güvenlik önerileri sekmesini seçin. Bu örnekte Apache Log4j'yi Güncelleştir'i seçerseniz daha fazla bilgi içeren başka bir açılır öğe görürsünüz:
Düzeltme isteği oluşturmak için Düzeltme iste'yi seçin.
Microsoft Defender portalında güvenlik açığını keşfetme
Kullanıma sunulan cihazlar, dosyalar ve yazılımlar bulunduktan sonra ilgili bilgiler Microsoft Defender portalında aşağıdaki deneyimler aracılığıyla iletilir:
Yazılım envanteri
Log4j yazılım yüklemeleri ve açığa çıkarma hakkındaki ayrıntıları görmek için yazılım envanteri sayfasında CVE-2021-44228 araması yapın:
Zayıf
Zayıflıklar sayfasında, Log4Shell güvenlik açığı hakkındaki bilgileri görmek için CVE-2021-44228 araması yapın:
Gelişmiş avcılığı kullanma
Cihazlarda yüklü yazılımlardaki güvenlik açıklarını belirlemek için aşağıdaki gelişmiş tehdit avcılığı sorgusunu kullanabilirsiniz:
DeviceTvmSoftwareVulnerabilities
| where CveId in ("CVE-2021-44228", "CVE-2021-45046")
Diskteki dosya düzeyinde bulguları ortaya çıkarma amacıyla cihazlarda yüklü yazılımdaki güvenlik açıklarını belirlemek için aşağıdaki gelişmiş tehdit avcılığı sorgusunu kullanabilirsiniz:
DeviceTvmSoftwareEvidenceBeta
| mv-expand DiskPaths
| where DiskPaths contains "log4j"
| project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths