WAF loglarını SIEM'e nasıl gönderirim; hangi formatlar saldırı bilgisini yapısal taşır (CEF, JSON)?
Kısa cevap
WAF kayıtları SIEM entegrasyonu için vService'e atanan bir Logs profiliyle syslog üzerinden gönderilir: Load Balancer → Profiles → Logs → Add ile profil oluşturulur, Log Addresses (UDP ya da TCP, adres, port), Log Standard ve Line Format seçilir; profil vService'in düzenleme formunda LOG işaretlenip Log Profile alanında seçilir ve Save tıklanır. Saldırı bilgisini (WAF info) yapısal taşıyan biçimler: CEF Format (isWafAttack ve wafInfo alanları), TR7 JSON Format ("isWafAttack" ve "wafInfo" anahtarları), TR7 WAF Log (satırın tamamı saldırı bilgisinin JSON'u; yalnızca engellenen istekler) ve %WAFINFO değişkeniyle Manual JSON Format, Manual CEF Format ya da Manual Log Line Format. Standard Log Format, Apache Combined Log Format ve Apache VHost Log Format biçimleri saldırı bilgisi taşımaz. CEF ve TR7 JSON bütün istekleri gönderir; saldırı yoksa wafInfo boş nesnedir ({}), isWafAttack yalnızca engellenen isteklerde 1 olur. Saldırı bilgisinin içeriği (alanlar, payload, dil) WAF Management'taki SIEM & Attack Details kartında belirlenir.
Sorun: WAF Kayıtları SIEM'de Görülmek İsteniyor
Event Logs kayıtları cihazda tutulur ve Disk Management kurallarıyla silinir. Saldırıların kurumun SIEM'inde diğer kaynaklarla birlikte izlenmesi, ilişkilendirilmesi ve uzun süre saklanması için kayıtların syslog ile dışarı gönderilmesi gerekir. TR7'de WAF kayıtları vService'in erişim loglarıyla aynı yoldan, log profiliyle gönderilir; saldırı bilgisi profilin biçimine göre satıra eklenir.
Çözüm: Üç Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| Bütün istekler SIEM'de, saldırı bilgisi aynı satırda | Yöntem 1: CEF Format ya da TR7 JSON Format |
| SIEM'e yalnızca engellenen saldırılar | Yöntem 2: TR7 WAF Log |
| SIEM'in beklediği özel bir satır yapısı | Yöntem 3: Manual biçimler ve %WAFINFO |
Yöntem 1: CEF Format ya da TR7 JSON Format Önerilen
- Nasıl çalışır Her HTTP isteği için bir satır gönderilir; satırda isteğin bilgileriyle birlikte
isWafAttackvewafInfoalanları bulunur. Saldırı bulunan isteklerde (engellenen, Monitor modunda geçirilen, Teacher tarafından tanınan ya da eşiğin altında kalıp Monitor durumundaki bir imzayı tetikleyen)wafInfosaldırı listesini taşır (CEF · WAF bilgileri). - Nerede açılırLoad Balancer → Profiles → Logs · vService düzenleme formu → Details → LOG
- Gereksinim Load Balancer alanında değiştirme yetkisi (Logs profili ve vService formu Load Balancer ekranlarındadır); TR7'den SIEM'e syslog erişimi (UDP ya da TCP); vService'te WAF koruması; SIEM & Attack Details kartı için WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Profiles → Logs → Add ile profil formu açılır (nasıl eklenir).
Name girilir. Log Addresses satırında protokol (UDP ya da TCP), SIEM'in adresi (ör. 192.0.2.50) ve portu (ör. 514) girilir; + ile başka bir hedef eklenebilir.
Log Standard SIEM'in beklediği başlığa göre seçilir (ör. rfc5424). Line Format olarak CEF Format ya da TR7 JSON Format seçilir.
Formdaki Add'e tıklanır.
Load Balancer → Load Balancer vService List ekranında vService'e sağ tıklanıp Edit seçilir (vService'e nasıl eklenir).
Save'e tıklanır. Cluster kurulumunda değişiklik varsayılan auto-sync ile eş cihaza da gönderilir ve iki cihaz kendi trafiğinin satırlarını aynı adreslere yollar; Manual Sync Mode açıksa eş cihaza elle gönderilir.
vService'in WAF Management sekmesinde SIEM & Attack Details kartının kalem ikonuyla açılan pencerede Attack Payload in WAF Info, Attack Details in WAF Info ve WAF Info Language seçilip Edit tıklanır (SIEM'e gönderilen saldırı alanları nelerdir (score, severity, scope, name, category, CWE, MITRE, CAPEC, OWASP, target)?).
Doğrulama
vService'e saldırı içeren bir test isteği gönderilir ve SIEM'de vService adıyla satır aranır.
Komut: curl -s -o /dev/null -w '%{http_code}' 'https://www.example.com/cmd.exe'
CEF:0|TR7|TR7 ASP|… isWafAttack=1 wafInfo={"uid":…,"action":"block",…}Yöntem 2: TR7 WAF Log
- Nasıl çalışırTR7 WAF Log biçiminde yalnızca WAF'ın engellediği istekler satır üretir; satırın tamamı saldırı bilgisinin JSON'udur. Monitor modunda geçirilen ve Teacher tarafından tanınan istekler gönderilmez.
- Nerede açılırLoad Balancer → Profiles → Logs → Line Format = TR7 WAF Log
- Gereksinim Load Balancer alanında değiştirme yetkisi (Logs profili ve vService formu Load Balancer ekranlarındadır); vService'te WAF açık (WAF kutusu işaretli olmayan vService'te bu biçim hiç satır üretmez)
- vService tipi HTTP
Adım adım yapılandırma
Yöntem 1'in 1–4. adımları izlenir; Line Format olarak TR7 WAF Log seçilir. Satırı doğrudan JSON olarak ayrıştırmak için Log Standard = raw seçilir (log ayrıştırma örneği).
Yöntem 1'in 5–7. adımlarıyla profil vService'te LOG altında seçilir ve Save tıklanır. Ayrıntı: SIEM'e yalnızca saldırı kayıtlarını gönderebilir miyim?
Doğrulama
Engellenen bir test isteğinden sonra SIEM'deki satıra bakılır.
{"uid":"…","totalScore":8,"action":"block","attacks":[{"id":130005,…}],"wafTime":1.485}Yöntem 3: Manual Biçimler ve %WAFINFO
- Nasıl çalışırManual JSON Format, Manual CEF Format ve Manual Log Line Format biçimlerinde satır elle kurulur; saldırı bilgisi
%WAFINFOakıllı değişkeniyle istenen yere eklenir (Smart Variables). - Nerede açılırLoad Balancer → Profiles → Logs → Line Format = Manual biçimlerden biri
- Gereksinim Load Balancer alanında değiştirme yetkisi (Logs profili ve vService formu Load Balancer ekranlarındadır); SIEM'in beklediği alan yapısı
- vService tipi HTTP
Adım adım yapılandırma
Yöntem 1'in 1–2. adımları izlenir; Line Format olarak Manual biçimlerden biri seçilir ve satır yapısı girilir. Saldırı bilgisi için %WAFINFO değişkeni eklenir (formatlar).
Profil Add ile kaydedilir; Yöntem 1'in 5–7. adımlarıyla vService'e bağlanır.
Doğrulama
SIEM'de satırdaki %WAFINFO konumuna bakılır.
Saldırı yoksa {}, saldırı varsa saldırı bilgisinin JSON'uSık Yapılan Hatalar
- Monitor modunda TR7 WAF Log biçimini seçmek. Bu biçim yalnızca engellenen istekleri gönderir; host grubu Monitor modundaysa saldırı içeren istekler engellenmediği için SIEM'e satır gitmez. İzlenen saldırılar için CEF Format ya da TR7 JSON Format kullanılır.
- Standard ya da Apache biçimlerinde saldırı bilgisi aramak. Standard Log Format, Apache Combined Log Format ve Apache VHost Log Format biçimlerinde
wafInfoyoktur. - Profili vService'e bağlamamak. Profil oluşturulduğu hâlde vService'te LOG işaretli değilse ya da yerleşik Stream Log seçili kaldıysa kayıtlar dışarı gönderilmez.
isWafAttackalanını her saldırının işareti sanmak. Alan yalnızca engellenen isteklerde1olur; Monitor ve Teacher kayıtlarında isteğin kararıwafInfoiçindekiactionanahtarından (monitor,fpc) okunur.- Log Forwarding ekranını kullanmak. Log Forwarding sistem loglarını (User Logs, Notification Logs …) iletir; WAF kayıtları log profiliyle gönderilir.
Dokümantasyonda nasıl yapılır
