· kaynak dev.to (home feed)
Wazuh 4.14.7, kural yükleme uyarılarını 50 ile sınırlıyor ve yok sayılan özel kuralları sessizce gizliyor
Bir dev.to incelemesi, Wazuh 4.14.7'deki analysisd'nin yalnızca en yeni 50 yükleme uyarısını tuttuğunu ortaya koyuyor; bu sınırın ötesindeki yok sayılan özel kurallar test çıktısında veya ossec.log'da hiçbir iz bırakmıyor.

Yükleme uyarılarında sessiz kesme
Wazuh büyük bir özel kural seti yüklediğinde wazuh-analysisd -t ve ossec.log bazı kuralların yok sayıldığını size söyler. ATK New Technology'den Dong Nguyen'ın dev.to'daki incelemesine göre size söylemedikleri şey, bildirimin 50 mesajdan sonra durmasıdır. Wazuh 4.14.7'de bu sınırın ötesindeki her şey atılır — en eskisi önce — ve kaybolanları kayda geçen hiçbir log satırı yoktur.
Yazar etkini tek bir dosyayla gösterdi: if_sid referansları var olmayan kural kimliklerine işaret eden 60 kural içeren etc/rules/local_rules.xml. Yok sayılan her kural iki uyarı üretir — eksik signature ID için 7617 ve bunun sonucunda boş kalan if_sid için 7619 — dolayısıyla eksiksiz bir çalışma 120 uyarı üretmeliydi. Wazuh 50 tanesini yazdırdı: her türden yirmi beşer tane, yalnızca 100835 ile 100859 arasındaki kuralları adlandırarak. Diğer 35 kural, 100800'den 100834'e kadar, tamamen aynı şekilde yok sayıldı ama hiç anılmadı. Gerçek bir manager başlangıcındaki ossec.log çıktısı aynı şekilde davrandı; bildirimler 100835 numaralı kuralla başlıyordu.
Kaynak kodundaki sınır
Gönderi sınırın izini src/analysisd/logmsg.h dosyasına kadar sürüyor; bu dosya ERRORLIST_MAXSIZE değerini 50 olarak tanımlıyor — log mesajları listesinin azami boyutu. Hem analysisd.c hem de testrule.c bu değerle OSList_SetMaxSize işlevini çağırıyor ve src/shared/list_op.c içindeki OSList_AddData, liste azami boyutunu aştığında ilk düğümü siliyor. Sonuç, en son 50 girdiyi tutan ve daha eski her şeyi çöpe atan sınırlı bir liste.
Bu tasarım bir log için savunulabilir. Yazarın vurguladığı üzere asıl sorun şu: bu liste, bir operatörün yazdığı bir kuralın asla tetiklenmeyeceğini öğrendiği tek yer.
Herkese açık bir kural setinde yeniden üretildi
Yapay testin bir yanılgısı olmadığını göstermek için yazar, herkese açık SOCFortress Wazuh-Rules setini — 69 kural dosyası ve 6 decoder dosyası — temiz bir 4.14.7 manager'a yükledi. Test çalışması yok sayılan kurallar hakkında 52 uyarı yazdırdı: eksik bir if_group için 7610 uyarısından elli örnek, artı bir adet 7617/7619 çifti. Aynı dosyaların statik denetimi 55 buldu. Bildirilmeyen üç kural — 900123 ile 900125 arasındaki kimlikler — bildirilen elli tanesiyle aynı eksik if_group'u taşıyordu ve listeden önden düşmüşlerdi.
Kurallar neden hiç yok sayılıyor
Eksik üst kurallar her zaman yazım hatası değildir. Wazuh stok kural dosyalarını etc/rules içindeki dosyalarla birlikte, dosya adına göre sıralı şekilde yükler ve bir kuralın if_sid hedefi, kural okunduğu sırada çoktan yüklenmiş olmalıdır. Gönderinin örneği: sid 5715'e referans veren 0010-my_rules.xml içindeki bir kural yok sayılır, çünkü bu dosya üst kuralın bulunduğu 0095-sshd_rules.xml'den önce sıralanır. Test komutu yine de 0 ile çıkar, manager normal başlar ve kural hiçbir zaman tetiklenmez. Dosyayı, üst kuralından sonra sıralanacak şekilde yeniden adlandırmak — local_rules.xml gibi — yüklenmesini sağlar. Aynı sıralama kısıtı tek bir dosyanın içinde de geçerlidir; üst kuralının üstüne yerleştirilen bir alt kural atılır.
Sınırın etrafından dolanmak
Gönderi üç alışkanlık öneriyor:
Özel dosyaları
wazuh-analysisd -tile tek tek test edin; böylece tek bir çalışma 50 mesajdan fazlasını üretemez.Göz gezdirmek yerine sayın: Beklediğiniz her kural kimliğinin yok sayılan kural satırlarında bulunmadığını doğrulayın ve tam olarak 50 yükleme uyarısı yazdıran her çalışmayı eksik kabul edin.
Yeniden başlatmadan önce kuralları statik olarak denetleyin. Yazar, 7610, 7612, 7613, 7617/7619 ve 7620 uyarılarını ve bozuk XML ile eksik decoder üstleri gibi manager'ı öldüren hataları öngören ücretsiz, tarayıcı tabanlı bir denetleyici yayımladı. 4.14.7 üzerinde
wazuh-analysisd -tile vaka vaka kalibre edildi, 15 vakanın tümünde eşleşti ve kural dosyalarını karşıya yüklemez.
Bulguların sınırları
Ölçümler yalnızca Wazuh 4.14.7 manager container'larında alındı; diğer sürümler test edilmedi. Statik denetleyici yalnızca kendisine verilen dosyalara ve stok 4.14.7 kural setine bakar ve kuralları gerçek olaylara karşı denemez.
Neden önemli
Sessizce yüklenmeyen bir tespit kuralı, asla uyarı vermeyecek bir kuraldır ve operatörün bunun öldüğüne dair güvenilir bir sinyali yoktur. Daha kötüsü, kesme en eski uyarıları önce attığı için kaybolan mesajlar en önce yüklenen kurallardan geliyor — dosya adına göre sıralı yükleme düzeninde bunlar da adları en başa sıralanan özel dosyalar olma olasılığında. 4.14.7 üzerinde büyük bir Wazuh kural seti işleten herkes, yükleme uyarılarının eksik olduğunu varsaymalı ve özel kuralları 50 satırlık çıktıdan bağımsız olarak doğrulamalıdır.
- #wazuh
- #security-monitoring
- #siem
- #open-source
- #logging