IT & IoT Security | Cloud | It's all about the life itself

Nothing in life is as important as you think it is, while you are thinking about it.

Splunk – Search &Report & Alert & Dashboard hakkında

Merhaba,

Çeşitli kaynaklardan toplanmış ve indekslenmiş log(event)’lar arasından; genel olarak bilgi güvenliği süreçlerimize, özel olarak pci dss süreçlerimize veya ağda gerçekleşen başarılı başarısız erişim denemelerine dair anlamlı sonuçları derlemek için, search query’lerden faydalanıyoruz.

Indekslenmiş log’lar arasında search işlemi yaparken aşağıdaki ayrıntıları bilmek, istediğimiz sonuca ulaşmada faydalı olacaktır. Indekslenmiş log’lar arasından istenilen ayrıntılar veya istenilen verileri, “search query” ile bulunabiliyor!

Sarch,Report,Alert ve Dashboard yapılarını örnekler ile inceledikten sonra, bir adet gerçek hayat senaryosu ile yazımı tamamlayacağım.

Search’te

Wildcard (*) destekleniyor.

Örnek: action* ile action=accept , action=deny, vs. log’larını filtreleyebilirsiniz.

AND,OR,NOT (Boolean) desteklenmektedir. Bu bağlaçları içeren karmaşık search query hazırlamak isterseniz ( ) kullanabilirsiniz.

Belli bir phrase üzerine yoğunlaşmak için “ ” kullanabilirsiniz. Üstte bahsettiklerimi de kullanarak çeşitli örnekler ile devam edeceğim. Check Point’ten gelen log(event)’lara bir kaç örnek vererek başlayabilirim.

clip_image002

clip_image004

Üstteki iki ekran görüntüsünden anlaşılacağı üzere bir log ’da, çeşitli FIELD’lardan oluşan bilgi parçaları mevcut. Log’lardaki field’lar; source’a,log’un tipne göre değişebilir. Örneğin check point’ten gelen log’da dest_ip isminde bir field varken, Windows Server Application log’unda veya Exchange Server Admin Audit log’unda olmayabilir.

Şu anki test ortamımda, sadece Check Point R77 log’larını topladığım için, örneklerim Check Point ’ten gelen log’lar üzerinde olacak.

clip_image006

Indekslenmiş log’lar arasında search işlemine, üstte gösterilen yerlerden başlayabilirsiniz.Ana sayfada search menüsünün yer etmesi oldukça konforlu değil mi ? 🙂

Splunk’ın çalıştığı sunucunun ismi siem.nwtraders.msft ‘dir. IP adresi 172.16.1.15 ‘tir

Search örnekleri:

clip_image007

Üsttki search ile indeklenmiş log’ları neredeyse hiç filtrelenmemiş olarak görüyorsunuz(yani hemen her log’u görebilirsiniz. Bu şekilde bir search ile istenilen/aranan bilgiye ulaşmak pek mümkün değildir. Test ortamımda bile ~30bin log olduğunu düşünürsek, search query’mizi, istediğimizi elde etmeye yönelik olarak geliştirmeliyiz.

clip_image008

Üstteki search ile destination ip field’ında 204.107.141.40 adresi yazan log’ları görebiliriz. Bakınız, ilk search’e göre bulunan log sayısı hayli azaldı. İlkinde 27958 log bulunurken, bu search’te 44 log bulundu 🙂

clip_image010

Üstteki search ile; destination ip adresi field’ında 172.16.1.1,172.16.255.255,172.16.1.10 yazmayan top 5 destination ip adreslerini bulabiliriz. Üstteki üç adresi search ’ten çıkarmış(exclusion) olduk! Farklı amaçlar için farklı değerleri “exclude” etmeniz gerekecektir.

Search’ün sonucunu görsel olarak geliştirmek için Visualization tab’ında çalışabilirsiniz.

clip_image012

Pie chart örneği üstteki gibidir. Elde ettiğiniz search sonuçlarını rapor olarak kaydedebilirsiniz. İlerleyen zamanlarda search query ’leri ile uğraşmadan hazırlayacağınız raporlarınızdan sonuçlara bakabilirsiniz.

clip_image014

Hazırladığım search ’ü Top 5 Destination IP ismi ile rapor olarak kaydettim. Top Destination port için daha önce bir rapor hazırlamıştım.Her ikiside üstte görünüyor.

Alert hazırlama aşamasına geldik.Splunk’a; sizin belirleyeceğiniz kriterlerde bir log geldiğinde, size alert email’i göndermesini sağlayabilirsiniz.(email dışında farklı aksiyonlar da mevcut) Yine bir örnek üzerinden devam edeyim.

172.16.1.10 kaynağından, TCP 54225 port’u ile herhangi bir hedefe erişilmek istenirse, splunk’a düşecek log, [email protected] adresine mail atılsın.

Alert oluşturmak için öncelikle bu tür log’ları search ile bulabiliyor olmamız gerekir. Search işlemi aşağıdaki gibi olabilir.

clip_image016

10 event(log) bulundu.Bu search işlemini, sağ kısımdaki Save As menüsünden alert olarak kaydedelim.

clip_image017

Daha önce, search işlemlerinden iki tanesini bu menüden Report olarak kaydetmiştik. Şimdi alert ile devam edelim.

clip_image018

172.16.1.10 kaynağından, her hangi bir hedefin tcp 54225 portuna yapılan erişimden gerçek zamanlı haberdar olmak istiyorsanız, üstteki Alert Type seçimini Real Time olarak yapmalısınız. Alert Type zamanlanabilir. Trigger condition altındaki farklı ve esnek seçimlerden faydalanabilirsiniz.Hepsini tek tek incelemek ve yazıya dökmek yorucu olduğundan bir örnek ile devam edeceğim.

clip_image020

Kriter gerçekleştiğinde email gönderilmesi için Send Email kutucuğunu işaretliyoruz. Bu menüye geldiğinizde, Throttle seçeneğini okumanız faydanıza olabilir!

clip_image022

Alert’imizi üstteki gibi kaydetmiş olduk. İlgili log’un üremesi için bir girişimde bulundum ve email uyarısını aldım.

clip_image024

Alert’in tetiklenmesi ile gönderilen email’in içeriği değiştirebilirsiniz.Şimdi de dashboard ile ilgilenelim. İstenilene yönelik dashboard’u çeşitli search sonuçlarından veya daha önce kaydedilmiş raporlardan oluşturabilirsiniz.

clip_image026

Create New Dashboard ile devam ediyoruz.

clip_image027

Dashboard’umuz bir kaç “TOP X” verisinden oluşsun.Create Dashboard ile ilk adımı tamamlıyoruz.

clip_image029

Add panel ile yeni bir yapılandırma penceresi açarak, dashboard’da görünecek verileri belirleyelim.Content Type kısmında üç seçenek mevcut. Search string, pivot ve kayıtlı raporlar!

clip_image030

İsteseniz hazır raporlarınızı dashboard’a ekleyebilirsiniz. Seçim biçimi üstteki gibidir.Üstte görülen hazır iki rapordan oluşan dashboard aşağıdaki gibidir.

clip_image032

Indekslenen log’lara bağlı olarak farklı türde,şekilde(bar,line vs.) dashboard’lar hazırlayabilirsiniz.Her search sonucundan pie chart report hazırlamayabilirsiniz ki her veri, pie chart görseline uymayabilir.

Toplanmış ve indekslenmiş log’lar ile; search,report,alert ve dashboard yapılarını incelemiş olduk.

Gerçek hayat senoryasu olabilecek son örneğim ile yazımı tamamlayayım. Bu örnekte, mobile access(connectra) blade’inden yapılan bağlantılar ile ilgileneceğiz. SSL VPN ile bağlanan kullanıcıları,bağlanma zamananını,vpn ile bağlı kalma süresini vb. bilgileri derleyerek bir dashboard oluşturalım.

Öncelikle search query ile gerekli bilgileri topluyoruz.

clip_image034

Query ‘yi hazırlamak için neleri kullandık?

where isnotnull(field_name) : ilgili field boş ise o event’i(log) göstermeyelim

rename field as yeni_field_ismi : Field ismini değiştirdik , duration -> Süre gibi

table : Dashboard’a eklemek istediğimiz field’ları seçiyoruz

Not: Bu uygulama Check Point R77 ‘den alınan log(event) ‘lar ile yapılmıştır!

Üstteki search’ü, sayfanın sağ üst kısmındaki Save As ile dashboard panel olarak kaydedelim.

clip_image036

Dashboard’u açarak,

clip_image038

istatistikleri inceleyebilirsiniz.

Herkese sorunsuz ve neşeli günler dilerim.

Kaynak:

http://docs.splunk.com/

3 comments found

  1. Merhabalar,
    Splunk konusunda cok yeniyim,
    yeni bir rapor oluşturduğumda _time alanı otomatik geliyor ve ben bu alan yerine kendi date alanımın gelmesini istiyorum.
    Nasıl yapabilirim?
    Çok teşekkürler.

Comments are closed.