Home » Wazuh » Wazuh ile Windows Servis Durumu İzleme ve Kritik Alarm Üretme

Wazuh ile Windows Servis Durumu İzleme ve Kritik Alarm Üretme

Wazuh Dashboard üzerinde agent’lar için oluşturduğumuz grup adıyla aynı isme sahip klasörü, Wazuh Server üzerinde aşağıdaki dizin altında buluyoruz:

/var/ossec/etc/shared/test/

Buradaki test klasörü, Dashboard’da oluşturduğunuz agent grubunun adıdır.

Bu dizin içerisine, kontrol etmek istediğimiz servise ait bir .cmd uzantılı dosya oluşturuyoruz. Örneğin ben bu makalede Windows EventLog servisini kontrol edeceğim.

Oluşturduğumuz dosyanın içeriği şu şekilde olmalıdır:

@ECHO OFF
ECHO.

powershell.exe -executionpolicy ByPass -Command "get-service -Name EventLog | ConvertTo-Json -Depth 1 -Compress"

:Exit

Bu örnekte EventLog servisi kontrol ettim. Siz izlemek istediğiniz farklı bir servisi takip etmek istiyorsanız, sadece servis adını değiştirmeniz yeterlidir.

Agent Konfigürasyonunun Düzenlenmesi

CMD dosyasını oluşturduktan sonra tekrar Wazuh Dashboard’a dönüyoruz.
İlgili agent grubunu seçerek agent.conf dosyasını düzenliyoruz.

Dosya içeriği aşağıdaki gibi olmalıdır:

<agent_config>
  <!-- Shared agent configuration here -->
  <wodle name="command">
    <disabled>no</disabled>
    <tag>tasklist</tag>
    <command>"C:\Program Files (x86)\ossec-agent\shared\eventlog.cmd"</command>
    <interval>5m</interval>
    <run_on_start>yes</run_on_start>
    <timeout>10</timeout>
  </wodle>
</agent_config>

Burada dikkat edilmesi gereken en önemli nokta, CMD dosyasının yoludur.
Wazuh Server üzerindeki shared altındaki grup ismiyle oluşan dizine eklediğiniz dosyalar, otomatik olarak o gruba bağlı tüm agent’ların kendi shared klasörleri altına kopyalanır.

Bu ayarları yaptıktan sonra decoder ve kural oluşturmamız gerekiyor.

Custom Decoder Oluşturulması

Komut çıktısı olarak aldığımız JSON verilerini Wazuh’un doğru şekilde anlamlandırması ve içerisindeki değişkenleri (Status, ServiceName vb.) ayıklayabilmesi için öncelikle bir decoder tanımlamamız gerekir.

Wazuh Server üzerinde /var/ossec/etc/decoders/local_decoder.xml dosyasını düzenleyerek veya bu dizin altında yeni bir XML dosyası oluşturarak aşağıdaki tanımlamayı ekliyoruz:

<decoder name="windows_command_tasklist">
  <prematch type="pcre2">"ServiceName":"[^"]+"</prematch>
</decoder>

<decoder name="windows_command_tasklist_json">
  <parent>windows_command_tasklist</parent>
  <plugin_decoder>JSON_Decoder</plugin_decoder>
</decoder>

Alarm Kurallarının (Rules) Eklenmesi

Decoder tarafında veriyi ayıkladıktan sonra, servisin çalışıp çalışmama durumuna göre alarm üretecek kuralları yazmamız gerekiyor. Bu işlem için /var/ossec/etc/rules/local_rules.xml dosyasını açıyor ve aşağıdaki kural bloğunu dahil ediyoruz:

<group name="windows_tasklist_alerts,wodle,">

  <!-- Ana Kural: Wodle komut çıktısını yakalar -->
  <rule id="231232" level="0">
    <match>"ServiceName":"EventLog"</match>
    <description>Windows command tasklist logu sisteme giriş yaptı.</description>
  </rule>

  <!-- Çalışma Durumu (Level 3) -->
  <rule id="231234" level="3">
    <if_sid>231232</if_sid>
    <regex>"Status":4</regex>
    <description>Bilgi: Windows Olay Gunlugu (EventLog) servisi saglikli sekilde calisiyor.</description>
  </rule>

  <!-- Kritik Alarm Durumu (Status 4 Değilse - Level 7) -->
  <rule id="231233" level="7">
    <if_sid>231232</if_sid>
    <regex negate="yes">"Status":4</regex>
    <description>Kritik Uyari: Windows Olay Gunlugu (EventLog) servisi durdu veya calismiyor!</description>
  </rule>
</group>

Yapılan tüm bu konfigürasyonların (Decoder ve Rule) devreye girebilmesi için Wazuh Manager servisinin yeniden başlatılması gerekmektedir:

systemctl restart wazuh-manager

Artık belirlediğiniz zaman aralığına göre (örneğin 5 dakikada bir) Windows EventLog servisinin durumu kontrol edilecek, servis durduğunda (Status değeri 4’ten farklı bir değer aldığında) Wazuh Dashboard ekranınızda anlık olarak Level 7 kritik alarm üreyecektir.


Dipnot

Wazuh Server üzerinde /var/ossec/etc/shared/grup_adı dizini altına eklediğiniz dosyalar, yalnızca ilgili gruba ait agent’larda çalışır. Bu yapı sayesinde merkezi ve düzenli bir servis takibi yapabilirsiniz.


Bu yöntemle Wazuh kullanarak Windows servislerini düzenli aralıklarla izleyebilir, servis durumu değişikliklerini merkezi olarak takip edebilirsiniz.
Umarım faydalı olmuştur 🚀

Yorum yapın