Aracılığıyla paylaş


Linux'ta Uç Nokta için Microsoft Defender için eBPF tabanlı algılayıcı kullanma

Not

Linux üzerinde Uç Nokta için Defender sürümünden 101.2408.0000başlayarak, AuditD artık tamamlayıcı bir olay sağlayıcısı olarak desteklenmez. Daha fazla bilgi için bu makalenin sonundaki SSS bölümüne bakın.

Linux'ta Uç Nokta için Microsoft Defender için genişletilmiş Berkeley Paket Filtresi (eBPF), Linux işletim sistemleri için ek olay verileri sağlar. eBPF, AuditD olay sağlayıcısında görülen çeşitli sorunların ele alınmasına yardımcı olur ve performans ve sistem kararlılığı alanlarında faydalıdır.

Başlıca avantajlar şunlardır:

  • Sistem genelinde AuditD ile ilgili günlük kirliliği azaltıldı
  • Sistem genelinde iyileştirilmiş olay kuralları, aksi takdirde uygulamalar arasında çakışmaya neden olur
  • Dosya olayı (dosya okuma/açma) izleme için ek yük azaltıldı
  • Geliştirilmiş olay hızı aktarım hızı ve azaltılmış bellek ayak izi
  • Belirli yapılandırmalar için iyileştirilmiş performans

eBPF nasıl çalışır?

eBPF ile daha önce AuditD olay sağlayıcısından alınan olaylar artık eBPF algılayıcısından akıyor. Bu, sistem kararlılığı konusunda yardımcı olur, CPU ve bellek kullanımını geliştirir ve disk kullanımını azaltır. eBPF, özel kural gerektirmediği için uygulamalar arasındaki çakışma olasılığını azaltmaya yardımcı olur. eBPF ile ilgili veriler /var/log/microsoft/mdatp/microsoft_defender_core.log dosyasında oturum açar.

Ayrıca eBPF algılayıcısı, sistem kararlılığını artırmaya yardımcı olan bir çekirdek modülü kullanılmasına gerek kalmadan Linux çekirdeğinin özelliklerini kullanır.

Sistem önkoşulları

Linux'ta Uç Nokta için Microsoft Defender için eBPF algılayıcısı aşağıdaki en düşük dağıtım ve çekirdek sürümlerinde desteklenir:

Linux Dağıtımı Dağıtım sürümü Çekirdek sürümü
Ubuntu 16.04 4.15.0
Fedora 33 5.8.15
Centos 7.6 3.10.0-957.10
SLES 15 5.3.18-18.47
RHEL 7.6 3.10.0-957.10
Debian 9.0 4.19.0
Oracle Linux RHCK 7.9 3.10.0-1160
Oracle Linux UEK 7.9 5.4
Amazon Linux 2 2 5.4.261-174.360
Rocky Linux 8 8.7 4.18.0-425
Rocky Linux 9 9.2 5.14.0-284
Alma Linux 8 8.4 4.18.0-305
Alma Linux 9 9.2 5.14.0-284

Not

Çekirdek sürümü 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 olan Oracle Linux 8.8, eBPF tamamlayıcı alt sistem sağlayıcısı olarak etkinleştirildiğinde çekirdek kilitlenmesiyle sonuçlanır. Bu çekirdek sürümü eBPF modu için kullanılmamalıdır. Risk azaltma adımları için Sorun Giderme ve Tanılama bölümüne bakın.

eBPF kullanma

eBPF algılayıcısı, aracı sürümleri ve sonraki sürümler 101.23082.0006 için varsayılan olarak tüm müşteriler için otomatik olarak etkinleştirilir. Müşterilerin özelliği deneyimlemek için desteklenen bir sürüme güncelleştirmeleri gerekir. EBPF algılayıcısı bir uç noktada etkinleştirildiğinde, Linux'ta Uç Nokta için Defender supplementary_events_subsystem ebpf olarak güncelleştirilir.

mdatp health komutunda ebpf alt sistemi vurgusu

eBPF'yi el ile devre dışı bırakmak istiyorsanız aşağıdaki komutu çalıştırabilirsiniz:

sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]

mdatp_managed.json dosyasını da güncelleştirebilirsiniz:

{
    "features": {
        "ebpfSupplementaryEventProvider": "disabled"
    }
}

Ayrıntılı örnek json dosyası için bağlantıya bakın - Linux'ta Uç Nokta için Microsoft Defender için tercihleri ayarlama.

Önemli

eBPF'yi devre dışı bırakırsanız veya belirli bir çekirdekte eBPF'nin desteklenmemesi durumunda ek olay sağlayıcısı Netlink'e geçer. Tüm işlem işlemleri sorunsuz bir şekilde akmaya devam eder, ancak eBPF'nin aksi takdirde yakalayacağı belirli dosya ve yuvayla ilgili olayları kaçırabilirsiniz.

Ayrıca, Microsoft Defender Portalı'nda gelişmiş avcılığı kullanarak linux uç noktalarınızda eBPF'nin (etkin/devre dışı) durumunu de kontrol edebilirsiniz. Adımlar aşağıdaki gibidir:

  1. Microsoft Defender portalına gidin ve oturum açın.

  2. Gezinti bölmesinde, Tehdit AvcılığıGelişmiş avcılığı'na> gidin.

  3. Gelişmiş avcılık'ın altında Defender Güvenlik Açığı Yönetimi gidin.

  4. Aşağıdaki sorguyu çalıştırın: DeviceTvmInfoGathering.

  5. Çıktıdaki Ek alanlar sütununda Daha fazla göster'i seçin ve EBPF DURUMU: true ifadesini arayın.

AuditD'nin sabit modu

Sabit modda AuditD kullanan müşteriler için, Uç Nokta için Microsoft Defender tarafından eklenen denetim kurallarını temizlemek için eBPF'nin etkinleştirilmesi sonrasında yeniden başlatma gerekir. Bu gereksinim, kural dosyasını donduran ve düzenlemeyi/üzerine yazmayı yasaklayan sabit AuditD modunda bir sınırlamadır. Bu sorun yeniden başlatma işlemiyle çözülür.

Yeniden başlatma sonrasında, denetim kurallarının temizlenip temizlenmediğini denetlemek için aşağıdaki komutu çalıştırın:

% sudo auditctl -l

Önceki komutun çıktısı hiçbir kural veya kullanıcı tarafından eklenen kuralları göstermemelidir. Kuralların kaldırılmadığı durumlarda, denetim kuralları dosyasını temizlemek için aşağıdaki adımları uygulayın:

  1. ebpf moduna geçin.
  2. dosyasını /etc/audit/rules.d/mdatp.ruleskaldırın.
  3. Makineyi yeniden başlatın.

Sorun Giderme ve Tanılama

Sistem durumu komutunu çalıştırarak aracı sistem mdatp durumunu de kontrol edebilirsiniz. Linux'ta Uç Nokta için Defender için eBPF algılayıcısının, aşağıdaki komut satırını kullanarak geçerli çekirdek sürümünü denetleyerek desteklendiğinden emin olun:

uname -a

Bilinen Sorunlar

  1. SAP ile RHEL 8.1 sürümünde eBPF'nin etkinleştirilmesi çekirdek paniğine neden olabilir. Bu sorunu azaltmak için aşağıdaki adımlardan birini uygulayabilirsiniz:

    • RHEL 8.1'den daha yüksek bir dağıtım sürümü kullanın.
    • RHEL 8.1 sürümünü kullanmanız gerekiyorsa Denetimli moda geçin.
  2. Oracle Linux 8.8'in çekirdek sürümü 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 ile kullanılması çekirdek paniğine neden olabilir. Bu sorunu azaltmak için aşağıdaki adımlardan birini uygulayabilirsiniz:

    • EBPF'yi tamamlayıcı alt sistem sağlayıcısı olarak kullanmak istiyorsanız Oracle Linux 8.8'de 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 daha yüksek veya daha düşük bir çekirdek sürümü kullanın. Oracle Linux için en düşük çekirdek sürümü RHCK 3.10.0 ve Oracle Linux UEK 5.4'dür.
    • Aynı çekirdek sürümünü kullanmanız gerekiyorsa Denetimli moda geçin
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

Aşağıdaki iki veri kümesi olası sorunların analiz edilmesine ve en etkili çözüm seçeneklerinin belirlenmesine yardımcı olur.

  1. Aşağıdaki yönergeleri kullanarak istemci çözümleyici aracından bir tanılama paketi toplayın: Linux'ta Uç Nokta için Microsoft Defender performans sorunlarını giderme.

  2. Uç Nokta için Defender yüksek kaynakları kullanırken aşağıdaki yönergeleri kullanarak bir hata ayıklama tanılama paketi toplayın: Linux kaynaklarında Uç Nokta için Microsoft Defender.

Performans sorunlarını giderme

Uç noktalarınızda Microsoft Defender artan kaynak tüketimi görüyorsanız CPU/Bellek kullanımının çoğuna neden olan işlemi/bağlama noktasını/dosyaları tanımlamak önemlidir. Ardından gerekli dışlamaları uygulayabilirsiniz. Olası virüsten koruma dışlamalarını uyguladıktan sonra , wdavdaemon (üst işlem) kaynakları kullanmaya devam ediyorsa, en üst sistem çağrı sayısını almak için ebpf-statistics komutunu kullanın:

sudo mdatp diagnostic  ebpf-statistics
Output
Monitor 20 seconds
Top file paths:
/var/log/microsoft/mdatp/microsoft_defender.log : 10
/var/log/microsoft/mdatp/rotated/microsoft_defender.log00001 : 2
/var/log/microsoft/mdatp/rotated/microsoft_defender.log : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374993 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374991 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374989 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374987 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374985 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374983 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374981 : 1

Top initiator paths:
/usr/bin/stress-ng : 50000
/opt/microsoft/mdatp/sbin/wdavdaemon : 13

Top syscall ids:
82 : 1699333
90 : 10
87 : 3

Önceki çıkışta stress-ng'nin çok sayıda olay oluşturan en önemli işlem olduğunu ve performans sorunlarına neden olabileceğini görebilirsiniz. Büyük olasılıkla stress-ng kimliği 82 olan sistem çağrısını oluşturuyordur. Bu işlemin dışlanması için Microsoft ile bir bilet oluşturabilirsiniz. Gelecek geliştirmelerin bir parçası olarak gelecekte, bu tür dışlamaları sizin tarafınızda uygulamak için daha fazla denetime sahip olursunuz.

AuditD'ye uygulanan dışlamalar eBPF'ye geçirilemiyor veya kopyalanamaz. Gürültülü günlükler, çekirdek paniği, gürültülü syscall'lar gibi yaygın endişeler zaten eBPF tarafından dahili olarak ele alınmaktadır. Başka dışlamalar eklemek isterseniz, gerekli dışlamaların uygulanmasını sağlamak için Microsoft'a ulaşın.

SSS - eBPF'ye geçiş

1. Neden eBPF'ye geçmeyi düşünmelisiniz?

Linux üzerinde Uç Nokta için Microsoft Defender için genişletilmiş Berkeley Paket Filtresi (eBPF), AuditD'ye verimli bir alternatif olarak hizmet eder ve AuditD olay sağlayıcısıyla ilişkili çeşitli zorlukları giderirken performans ve sistem kararlılığı açısından önemli avantajlar sağlar. Bazı önemli avantajlar şunlardır:

  • Performans: eBPF, Sistem kaynakları üzerindeki yükü AuditD ile karşılaştırıldığında azaltarak performansı önemli ölçüde artırır.

  • Kaynak Verimliliği: eBPF daha az kaynak kullanır ve bu da ağır yük koşullarında bile sistem kararlılığının korunmasına yardımcı olur.

  • Ölçeklenebilirlik: eBPF'nin mimarisi daha ölçeklenebilir olduğundan, büyüyen veya karmaşık iş yükleri olan ortamlar için daha iyi bir seçimdir.

  • Modern Teknoloji: eBPF, gelecekteki Linux çekirdek geliştirmeleriyle uyumlu ve daha iyi uzun vadeli destek sağlayan modern, ileriye dönük bir teknolojiyi temsil eder.

2. Auditd kullanmaya nasıl devam ederim?

AuditD kullanmaya devam etmek isterseniz:

  • Desteklenen Sürümler: Linux sürüm 101.24072.0000'de Uç Nokta için Defender'da kalabilirsiniz. Bu sürüm, derlemenin geçerliliği sırasında AuditD'yi destekleyecektir ve bu da yaklaşık dokuz aydır. Bu, eBPF'ye geçişinizi planlamak için yeterli bir geçiş süresi sağlar. Süre sonu tarihi, Linux sunucusunda komutu mdatp health çalıştırılarak denetlenebilir.

  • Long-Term Planı: Derlemede 101.24072.0000 kalmak bir seçenek olsa da, en son güvenlik ve performans iyileştirmelerinden yararlandığınızdan ve sürekli destek aldığınızdan emin olmak için bu zaman çerçevesi içinde eBPF'ye geçişinizi planlamanızı öneririz.

Ancak önerimiz, birincil olay sağlayıcısı olarak eBPF'yi kullanmaya yönelik bir geçiş planlamak olacaktır.

3. Bazı Senaryolarda eBPF Desteklenmiyorsa Ne Olur?

eBPF'nin desteklenmediği durumlarda:

  • Netlink Geri Dönüşü: Sistem, Netlink olay sağlayıcısını kullanmaya geri döner. Netlink işlem olaylarını (örneğin, exec, , , gidforkveya tid) yakalamaya devam ederken, dosya sistemiyle ilgili olayları (örneğin, , renameunlink) veya yuva olaylarını desteklemezexit.

  • Etki: İş yükleriniz kesintiye uğramaz, ancak eBPF'nin aksi takdirde yakalayabileceği belirli dosya ve yuvayla ilgili olayları kaçırabilirsiniz.

4. Güncelleştirilmiş Sürümlerle Dışlamaları Nasıl Yönetebilirim?

Aşağıda, AuditD için dışlamalar yerleştirmenin bazı yaygın nedenleri yer alır:

  • Bazı syscall veya işlem olarak performans çok fazla kirlilik oluşturuyor

  • Çekirdek Paniği, özellikle ağ/dosya sistemi çağrılarının çok sayıda syscall'ın çekirdek paniğine neden olduğu zamanlar vardır.

  • Denetim günlüklerinin disk alanını kullandığı gürültülü günlükler. Müşteri, günlük boyutunu küçültmek için gürültülü işlemler için dışlamalar yaptı.

eBPF ile birlikte ilk iki kullanım örneğinde geçiş için adaylar bulunur. Günlükler artık eBPF ile ilgili bir sorun değildir. İlk iki kullanım örneği için aşağıdaki seçeneklerden birini seçebilirsiniz:

  • Desteğe başvurun: Arka uçtan dışlamaları uygulamak için Microsoft'a ulaşın.

  • Genel Dışlamalar: Linux'ta Uç Nokta için Defender'ın güncelleştirilmiş sürümlerinde dışlamalar genel dışlamalarla yönetilebilir. Genel dışlamalar hem virüsten koruma hem de EDR için geçerlidir ve şu anda yönetilen json aracılığıyla yapılandırılabilir. Daha fazla bilgi için bkz. Linux'ta Uç Nokta için Microsoft Defender dışlamaları yapılandırma ve doğrulama.

5. Sorunlar Olması Durumunda Ne Yapmalıyım?

  • Desteğe Başvurun: eBPF'ye geçiş sırasında veya sonrasında herhangi bir sorunla karşılaşırsanız yardım için teknik desteğe başvurun. Sorunsuz bir geçiş sağlamaya kararlıyız ve karşılaşabileceğiniz tüm zorlukları çözmeye yardımcı olmak için hazırız.

  • Destek Kanalları: Microsoft Defender portalı üzerinden desteğe başvurabilirsiniz. Ayrıca, bilgi bankası ve topluluk forumlarımız yaygın sorunları gidermek için değerli kaynaklardır.

Ayrıca bkz.