WEF (Windows Event Forwarding) Kurulumu, GPO Konfigürasyonu ve Splunk Entegrasyonu
Herkese Selam! Bu yazımda WEF Sunucularının kullanım amacını, Active Directory üzerinde Global Policy ile tüm client ve sunuculara nasıl erişeceğinizi ve son olarak WEF sunucusuna aldığımız logları Splunk üzerine almayı konuşacağız. En kısa ve uygulanabilir şekilde anlatmaya çalışacağım.
Öncelikle WEF sunucusunun amacı (bazı dokümanlarda WEC olarak geçiyor “Windows Event Collector”) sorumluluğunuzda bulunan client, sunucu ve domain controller’ların loglarını WEF sunucusuna aktarmak. Windows’un sunmuş olduğu bu hizmetin asıl amacı SIEM ürünlerinin bu tarz logları alabilmesi için genellikle ajan yöntemini kullanması. Ajanlar birçok noktada stabil çalışsa da bazı eksiklikleri bulunmakta, ajan kurulum ve takiplerinin yapılması bazı problemleri doğurmaktadır. Tam bu noktada tüm logların aşağıda anlatacağım servisler ile tek bir sunucuda toplamak oradan da SIEM ürününe aktarma yapmak yönetimi kolay ve makul gözükmektedir.
Öncelikle tavsiye ettiğim birkaç durum var, eğer Client, DC ve Server’ların her birisinden log almak istiyorsanız 3 ayrı WEF sunucusu kurmalısınız. Tek bir sunucuya yük bindirmemek ve her bir platform için ayrı ayrı GPO basabileceğiniz için bu önemli bir nokta.
Bu yazımda Client’lar üzerinden bir kurgu planlayacağım:
Ortalama 2000–3000 Computer olacak şekilde bir kurgu düşünüyorum. Bu bilgisayar sayısına göre WEF Sunucumuzu aşağıdaki özelliklere göre optimize edebilirsiniz.
1 Adet Sanal WEF Server (Server 2016)
16 GB Ram
8x İşlemci
2 Adet Ağ Kartı (Splunk Aktarımı İçin)
1 TB DİSK
Not: İletişimin sağlanabilmesi için Firewall üzerinden TCP 5985 ve https 5986 portlarının açılması gerekmektedir.
WEF Server Üzerinde Yapılacaklar
- Öncelikle WEF Server üzerinde Windows Powershell’i yönetici olarak çalıştırarak WinRM’i servisini aktif etmek gerekiyor.
Command: "winrm qc"
- WinRM servisini çalıştırdıktan sonra, log toplamamız için gerekli Event Log Collector servisini ayağa kaldırmamız gerekiyor. Powershell üzerinden “wecutil qc” komutu ve yes cevabı ile bu servisi de ayağa kaldırıyoruz.
Gelelim winRM servisini otomatik çalışasını sağlamaya. Komut satırı üzerinde aşağıdaki değerleri girebilirsiniz. Bu yöntemle kerberos authentication ile logları alacağız.
sc config WinRM start=delayed-auto
WEF sunucumuzun aktif dinleme yapabilmesi için Local Group Policy üzerinden aşağıdaki ayarları yapmamız gerekmektedir.
Computer Configuration\Administrative Templates\Windows Components\Windows Remote Management (WinRM)\WinRM Service\Turn On Compatibility HTTP Listener GPO’ enable yapılmalıdır.
Ayarları yaptıktan sonra komut satırı üzerinden gpudapte/force komutunu çalıştırmalısınız.
WEF sunucusu özelinde yapılacaklar bu kadardı. Bundan sonraki aşamada Client’lar için Group Policy ile düzenlenecek ayarlara geçelim.
Group Policy Yapılandırması
Group Policy Managament Console üzerinde gpmc.msc yeni bir GPO create oluşturuyoruz. Oluşturmuş olduğumuz Group Policy değişikliklerini uygulanmasını istediğiniz OU’nun üstüne almanız gerekmektedir.
Gelelim oluşturmuş olduğumuz Group Policy üzerindeki politikaları ayarlamaya;
Öncelikle tüm Client’lar için WinRm servisini otomatik olarak başlatacak olan politikayı düzenleyeceğiz.
/Computer Configuration\Windows Settings\Security Settings\System Services/
Yeni düzenlememiz logların yönlendirileceği hedefi belirlemek olacak. Doğal olarak WEF Server hedefini tanımlayacağız. Computer Configuration\Policies\Administrative Templates\Windows Components\Event Forwarding bölümünde Configure Target Subscription Manager seçeneğini işaretleyerek resimdeki gibi WEF Server’ımızı tanımlıyoruz.
Server=http://ornekhostname:5985/wsman/SubscriptionManager/WEC,Refresh=60
Yönlendirme yapıldı ve Group Policy üzerindeki işlemler tamamlandı.
WEF Sunucu Subscription Oluşturma
Sıra geldi WEF Server üzerinde Subscription oluşturmaya. Bundan oluşturmuş olduğumuz GPO’yu hangi OU altında etkili olmasını istiyorsak oraya linklememiz gerekmektedir.
Event Viewer üzerinde bulunan Subscription sekmesine gelerek aşağıdaki gibi bir düzenleme yapacağız. İsim ve açıklama gibi detayları düzenleyin.
Source Computer initiated yöntemini kullanarak Domain üzerinde bulunan bilgisayar grubunu seçmelisiniz. Ardından almak istediğiniz log türlerini Select Events sekmesinden işaretlemelisiniz. Biz şu anlık Security ve Application loglarını alarak yola devam edeceğiz.
Son olarak Advanced sekmesinden logları daha hızlı alabilmek için Minimize Latency seçeneğini seçiyoruz.
Son durumda Eğer Group Policy ayarları da tam olarak uygulandıysa logların artık gelmesi gerekiyor. Client’lar üzerinde gpupdate /force diyerek işlemi hızlandırabilirsiniz.
Gördüğünüz gibi Policy’nin Tüm Client’lara ulaşmasıyla örnek senaryomuzda 8 adet bilgisayardan log almaya başladık. Aldığımız loglar Forwarded Events sekmesi üzerinden görüntülenebilir. Resimde görülen Sysmon düzenlemesi şu an konumuz ile ilgili değil fakat aynı yöntemi kullanarak Sysmon loglarını da WEF sunucusuna aktarabilirsiniz. Sysmon loglarını WEC sunucusuna aktarma konusunda bilgilendirme isterseniz ayrı bir yazı olarak bu konuyu da paylaşabilirim.
Yazı biraz uzun sürdüğü için Splunk ile yapılacak olan entegrasyonu bir sonraki yazımda paylaşacağım. 1 haftadır ara ara uğraşıp yazıyı bitirmeye çalışıyorum :) Özet vermek gerekirse Wef sunucumuza Splunk ajanını kurup logların yönlendirmesini yapıyoruz. Splunk üzerindeki topolojinize göre kurulum yöntemi ve stratejileri değişiklik gösterebiliyor. En kısa sürede anlatımını yapacağım.
Herkese mutlu günler dilerim. Sorularınız olursa Linkedin üzerinden yazabilirsiniz.