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 – Exchange Server Log’larının toplanması

Merhaba,

Exchange Server’larının üzerine Universal Forwarder(UF olarak geçecek) kurarak, sunucularınızda üreyen log’ları splunk enterprise sunucunuza gönderebiliyorsunuz. Splunk Enterprise sunucusundaki Splunk App for Exchange eklentisi ile; index’lenen log’ları, hazır dashboard’ları kullanarak veya search kısmından source, sourcetype, host bazlı sorgular yaparak inceleyebilirsiniz.

Splunk Enterprise kurulu olan app’ler aşağıdaki gibidir.

clip_image002

Renkli olarak gösterdiğim app’ler, exchange log’larının toplanması için yeterlidir. Üstteki üç app’den PowerShell ve TA_Windows klasörlerini; exchange sunucunuzdaki UF’in apps dizinine kopyalamanız gerekiyor. Önceki yazılarımda benzer örneklerden bahsetmiştim.

clip_image004

Bahsettiğim iki klasörü UF’in apps dizininin altında kopyaladıktan sonra; exchange eklentisi içinden de, üstte belirttiklerimi, UF’in apps dizini altına kopyalamanız gerekiyor. Exchange Server 2013 için gereken minimum eklentiler bunlardır.

Tabii ki; UF’e kopyaladığınız eklentilerdeki input.conf dosyalarını, istekleriniz doğrultusunda modifiye edebilirsiniz. Input.conf dosyasından önceki yazılarımda da bahsetmiştim.

Son durumda; Exchange sunucusunda kurulu olan UF’in apps dizininde aşağıdakiler olmalıdır.

clip_image006

Örnek teşkil etmesi açısıdan Exchange-2013-Mailbox eklentisinin input.conf dosyasına bakabiliriz.

clip_image008

Varsayılan olarak disabled = true şeklinde gelen log’lar olabilir. Input.conf dosyalarına göz atmakta fayda var! Splunk Enterprise’da ve UF’de bu işlemleri bitirdikten sonra UF’deki splunk servisini başlatabilirsiniz (çalışır durumdaysa da stop/start yapabilirsiniz).

Exchange sunucusundaki log’lar splunk enterprise’daki ilgili index altında index’lenmeye başlayacaktır. Splunk Enterprise’daki Exchange App’inin hazır dashboard’ların biri aşağıdaki gibidir.Daha önce de belirttiğim üzere, dashboard’da bir bilgi görebilmemiz için o bilginin(log’un) index’lenmiş olması gerekiyor. Biraz sabırlı davranmamız gerekebilir!

clip_image010

Üstteki hazır report’a baktığımızda; forest,site,domain,server bilgileri görünmüyor. Bence; UF’den gelen bilgiler doğrultusunda veya Splunk Enterprise’a kurduğumuz Exchange App’i doğrultusunda bu “box” ‘ların doğru olarak “populate & produce” edilmesi gerekirdi.Bu bilgilerin olması gereken dosya aşağıdaki dosyadır.

clip_image012

Dosyayı aşağıdaki görüldüğü gibi yapıma uygun şekilde modifiye ediyorum.

clip_image013

clip_image015

Ardından rapora baktığımızda ilgili alanların üretildiğini görüyoruz. CSV dosyaları ile ilgili rastladığım bir diğer sorun aşağıdaki dosyanın olmamasıydı.

clip_image017

Bir diğer eksiklik ise aşağıdaki gibiydi.

clip_image018

Son bahsettiğim UNKNOWN konusunda, Exchange App’inin kurulum rehberinde bahsediyor. Ama ilk iki eksiklikten kurulum guide’larında bahsedilmemiş. Biraz daha geliştirilmesi gerekiyor veya tam olarak adreslenmesi ve kurulum rehberlerinde yerini alması gerekiyor.

Exchange Administrator Audit log’ları gözlemek için input.conf dosyasında aşağıdaki ilave işlemi yapalım. Bu işlemi exchange sunucunuzda UF kurulum klasörü altındaki ilgili input.conf ’ta yapıyoruz.

clip_image020

UF ’in servisini yeniden başlattınız. Splunk Enterprise ‘da Sourcetype olarak MSExchange Management gelecektir. Splunk Enterprise’a gelen Administrator Audit log’u örneği aşağıdaki gibidir.

clip_image022

Yazının konusu değil ama Exchange 2013 için administrator audit log’larını yapılandırmak isterseniz Set-AdminAuditLogConfig -AdminAuditLogCmdlets * cmdlet’ini kullanabilirsiniz. Bir başka log örneği de aşağıdaki gibidir. Aşağıdaki log örneğinden “prod.” ortamınız için alert üretebilirsiniz.

image

Mailbox izinleri ile oynandığında, yetkili kişilere email gönderen bir alert yapılandırılabilir. Event Viewer’da üretilen admin audit log’unun detayında, cmdlet’i kimin çalıştırdığı yazmaktadır. Splunk UF, bu detayı(field’ı) splunk enterprise’a göndermiyor. Üstteki log’un field’larına baktığınızda, işlemi kimin yaptığını göremiyorsunuz. Event Viewer’da, “işlemi kimin yaptığını gösteren” field’ın da splunk enterprise’a gönderilmesi gerekir!

Bahsettiğim durumu aşağıdaki şekilde örneklendireyim.

image

Exchange sunucumun Event Viewer > MSExchange Management kategorisinden üstteki event’i aldım. Bu event, administrator kullanıcısı ile bir mailbox üzerinde yapılmış işlemi gösteriyor. XML görünüme bakarsanız field’ları görebilirsiniz.

image

Bu event’i UF ile splunk enterprise’a gönderiyorsunuz. Aşağıda splunk enterprise’a gönderilmiş event görünüyor.

image

Bakınız, üstteki log’da işlemi yapan kişi(user) görünmüyor! İşlemi yapan administrator user account’unun geçmesi gerekir! Remote event collection’ını test ettiğimde User > Null olarak gelmişti.

Çeşitli *.conf dosyaları ile oynanarak sağlanabilir diye düşünüyorum. Varsayılan olarak bu field’ın splunk enterprise tarafından algılanabilmesi gerekir.

Not:
http://docs.splunk.com/Documentation/Splunk/6.1.3/Data/Monitorwindowsdata adresinden, windows event’leri için input.conf dosyası yapılandırmasına bakabilirsiniz.

Özet;
•    Splunk Enterprise’a Exchange App’ini kurduk
•    Exchange sunucuya UF’i kurduk
•    Splunk Enterprise’daki ilgili app’leri UF’in apps dizinine kopyaladık
•    UF’e aktardığımız app’lerin input.conf dosyalarını düzenledik

Exchange ve Active directory add-on’ları birbirini tamamlar nitelikte olduğu için her ikisinin de kurulması(splunk enterprise’a) faydalı olacaktır.

Input.conf dosyalarını dikkatli kullanmak gerekiyor{blacklist(log filter out) satırlarına ihtiyaç duyabilirsiniz}. Aksi durumda gerekli gereksiz log’ları splunk enterprise gönderip aldığınız lisans’ı doldurabilirsiniz. Exchange App’i ile gelen hazır dashboard’ları kullanabilirsiniz veya kendi search query’lerinizi, dolayısıyla rapor’larınızı oluşturabilirsiniz.

Herkese sorunsuz ve neşeli günler dilerim.