Linux'ta Uç Nokta için Microsoft Defender için eBPF tabanlı algılayıcı kullanma
Şunlar için geçerlidir:
- Linux'ta Uç Nokta için Microsoft Defender
- Uç Nokta için Microsoft Defender Planı 1
- Uç Nokta için Microsoft Defender Planı 2
Linux üzerinde 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 denetlenmeye alternatif bir teknoloji olarak kullanılabilir çünkü eBPF, denetlenen 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 denetimle ilgili günlük gürültüsü 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 denetlenen 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. Ayrıca, eBPF etkinleştirildiğinde, denetimle ilgili tüm özel kurallar ortadan kaldırılır ve bu da 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.
Not
eBPF denetimle birlikte kullanılırken, denetim yalnızca kullanıcı oturum açma olayları için kullanılır ve bu olayları herhangi bir özel kural olmadan yakalar ve bunları otomatik olarak akışa alır. Denetimin gelecek sürümlerde aşamalı olarak kaldırılacağını unutmayın.
Sistem önkoşulları
Linux üzerinde Uç Nokta için Microsoft Defender 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 |
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ı, "101.23082.0006" ve üzeri aracı sürümleri 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.
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 tercihlerini ayarlama.
Önemli
eBPF'yi devre dışı bırakırsanız ek olay sağlayıcısı yeniden denetlenmeye geçer. eBPF'nin etkinleştirilmemesi veya belirli bir çekirdekte desteklenmemesi durumunda, otomatik olarak denetime geri döner ve denetlenen tüm özel kuralları korur.
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:
Microsoft Defender portalına gidin ve oturum açın.
Gezinti bölmesinde, Tehdit AvcılığıGelişmiş avcılığı'na> gidin.
Gelişmiş avcılık bölümündeDefender Güvenlik Açığı Yönetimi'ne gidin.
Aşağıdaki sorguyu çalıştırın:
DeviceTvmInfoGathering
.Çıktıdaki Ek alanlar sütununda Daha fazla göster'i seçin ve EBPF DURUMU: true ifadesini arayın.
Denetlenen sabit modu
Sabit modda denetlenen müşteriler için, Uç Nokta için Microsoft Defender tarafından eklenen denetim kurallarını temizlemek için eBPF etkinleştirildiğinde yeniden başlatma gerekir. Bu gereksinim, kural dosyasını donduran ve düzenlemeyi/üzerine yazmayı yasaklayan sabit denetim modundaki 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:
- ebpf moduna geçin.
- dosyasını
/etc/audit/rules.d/mdatp.rules
kaldırın. - 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
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 denetim moduna geçin.
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 denetim moduna 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.
Aşağıdaki yönergeleri kullanarak istemci çözümleyici aracından bir tanılama paketi toplayın: Linux üzerinde Uç Nokta için Microsoft Defender performans sorunlarını giderme.
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 tarafından 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ı AV 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.
Denetlenen 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.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin