Post

Wazuh Nedir? Wazuh Kurulumu 

Wazuh; Wazuh bir güvenlik olayı yönetimi (SIEM) platformudur ve açık kaynaklı olarak sunulmaktadır. Wazuh, şirketlerin, kurumların ve diğer organizasyonların ağ güvenliği ve sistemlerinin izlenmesi, tehditlere karşı korunması ve olaylarını analiz etmesi için kullanılan bir yazılımdır.

Wazuh, farklı kaynaklardan gelen verileri toplar, bu verileri analiz eder ve olayların tespit edilmesi ve tepki verilmesi gereken durumları belirlemek için kullanılır. Wazuh, ağ ve sistemlerdeki aktiviteleri sürekli olarak izler ve anormal veya şüpheli aktiviteleri tespit ettiğinde uyarılar gönderir.

Wazuh, önceden tanımlanmış bir dizi kurala ve özel durumlar için özelleştirilebilir politikalara dayanan bir olay yönetimi sistemidir. Wazuh, gelişmiş bir tehdit algılama ve yanıt sistemi içerir ve kullanıcıların isteğe bağlı olarak Wazuh'ı bir IDS (Intrusion Detection System) olarak da kullanmasına olanak tanır.

Wazuh aynı zamanda birçok farklı veri kaynağından veri toplayabilir. Örneğin, ağ trafiği, güvenlik günlükleri, Windows ve Linux sunucuları ve hatta cloud servisleri gibi farklı kaynaklardan veriler toplayabilir. Toplanan veriler daha sonra Wazuh tarafından analiz edilir ve kullanıcılar tarafından önceden tanımlanmış kurallar ve politikalar ile karşılaştırılır.

Sonuç olarak, Wazuh, birçok farklı kaynaktan gelen verileri toplayan, analiz eden ve olayların tespit edilmesi ve tepki verilmesi gereken durumları belirlemek için kullanılan bir açık kaynaklı SIEM platformudur.

  • Wazuh indexer: Wazuh indeksleyici, oldukça ölçeklenebilir, tam metin arama ve analiz motorudur.
    Bu merkezi bileşen, Wazuh sunucusu tarafından oluşturulan uyarıları endeksler ve depolar.
  • Wazuh server: Wazuh sunucusu, ajanlardan alınan verileri analiz eder ve tehdit istihbaratını kullanarak işler.
    Tek bir sunucu, binlerce aracıdan gelen verileri analiz edebilir ve bir küme olarak kurulduğunda ölçeklenebilir. Aracıları yönetmek ve gerektiğinde uzaktan yapılandırmak için de kullanılır.
  • Wazuh dashboard: Wazuh panosu, veri görselleştirme, analiz ve yönetim için web kullanıcı arayüzüdür.
    Mevzuat uyumluluğu, güvenlik açıkları, dosya bütünlüğü, yapılandırma değerlendirmesi, bulut altyapı olayları ve diğerleri için panolar içerir.
  • Single universal agent: Wazuh ajanları dizüstü bilgisayarlar, masaüstü bilgisayarlar, sunucular, bulut örnekleri veya sanal makineler gibi uç noktalara kurulur. Tehdit önleme, algılama ve yanıt verme yetenekleri sağlarlar.

Kurallar ÖRNEKLER:

İmza Tabanlı Log Analizi

Otomatik log analizi sistemlerinizdeki olası tehditlerin algılanmasını hızlandırır. Altyapınızda bulunan sistemlerin, cihazların ve uygulamaların loglarında bir saldırının kanıtının bulunabileceği muhtemel durumlar vardır.

Wazuh, log verilerini otomatik olarak toplayabilmek ve analiz edebilmek için kullanılabilir. Mesela burada Wazuh agentı yüklenmiş ve çalışan bir sistemin işletim sistemi logları okunmaktadır ve bu loglar analiz edilmek üzere Wazuh sunucusuna yönlendirilir. Agent kullanmanın haricinde, sunucular üzerinden doğrudan Syslog, JSON ve birçok formatta network üzerinden veri alabilmektedir.

Wazuh, logların hangi uygulamadan geldiğini tespit edebilmek için decoderlar kullanmaktadır ve akabinde bu uygulamalara göre özel kurallar kullanarak verileri analiz eder.

Şüpheli Giriş Denemesi tespit edebilmek için kullanılan kural örneği;

Bu örnekte, kural belirli bir kullanıcı (johndoe) için oluşturulmuştur. Eğer bu kullanıcı 10 dakika içinde üç kez başarısız bir giriş denemesi yaparsa, bu kural tetiklenecektir. Kural, sadece hafta içi iş günleri ve normal çalışma saatleri dışında çalışır (8:00-18:00 arası). Kural, auth.log dosyasındaki belirli bir log türüne bağlıdır ve e-posta uyarıları için yapılandırılmamıştır.

<rule id="100001" level="5">
  <description>Suspicious Login Attempt Detected</description>
  <group>system,login,authentication_failed</group>
  <options>no_email_alert</options>
  <field name="log_name">auth.log</field>
  <field name="user">johndoe</field>
  <field name="timeframe">600</field>
  <field name="threshold">3</field>
  <condition>
    <or>
      <hour>0-8,18-23</hour>
      <dayofweek>1-5</dayofweek>
    </or>
  </condition>
</rule>

Wazuh antivirüs tespiti kuralı;

Bu kural, Windows işletim sistemi üzerinde çalışan bir antivirüs programı tarafından tespit edilen bilinen bir kötü amaçlı yazılımı algılar. Kuralların yapısı XML formatındadır ve her kural, benzersiz bir kimlik numarası (id) ve bir açıklama içermelidir. Kuralın düzeyi (level), sıklığı (frequency) ve zaman aralığı (timeframe) gibi özellikleri de ayarlanabilir.

Kural, "antivirus" ve "malware_detection" gruplarına aittir ve "no_full_log" seçeneği kullanılarak tam kayıt tutulması engellenir. Kurallar, farklı alanlardan gelen verileri (field) analiz eder ve belirli koşullar altında tetiklenir (condition).

Bu örnekteki koşul, antivirüsün etkinleştirilmiş olması, güncel olmaması ve temizlenmemiş bir kötü amaçlı yazılım etkinliği tespit ettiği durumlarda tetiklenir.

<rule id="100100" level="6" frequency="8" timeframe="60" xmlns="http://www.wazuh.com/schema/3.12/ruleset" >
  <description>Antivirus detection of known malware.</description>
  <group>antivirus, malware_detection</group>
  <options>no_full_log</options>
  <field name="win.antivirus" normalize="lowercase">.*</field>
  <field name="win.antivirus_status">.*</field>
  <field name="win.antivirus_event">.*</field>
  <condition>
    <and>
      <equals field="win.antivirus" value="enabled" />
      <notequals field="win.antivirus_status" value="up-to-date" />
      <notequals field="win.antivirus_event" value="clean" />
    </and>
  </condition>
</rule>

SSH Kimlik doğrulaması hatası olaylarını tespit edebilmek için kullanılan kural örneği;

<rule id="5716" level="5">
 <if_sid>5700</if_sid>
 <match>^Failed|^error: PAM: Authentication</match>
 <description>SSHD authentication failed.</description>
 <group>authentication_failed,pci_dss_10.2.4,pci_dss_10.2.5,</group>
</rule>

Linux/Windows Komut Satırını Takip edebilmek için kullanılan kural örneği;

Loglarda olmayan şeyleri izlemek isteyebileceğiniz zamanlar vardır. Wazuh, belirli komutların
çıktısını izleme ve çıktıyı log dosyası içeriğiymiş gibi ele alma becerisine sahiptir.

<localfile>
 <log_format>command</log_format>
 <command>df -P</command>
</localfile>
<rule id="531" level="7" ignore="7200">
 <if_sid>530</if_sid>
 <match>ossec: output: 'df -P': /dev/</match>
 <regex>100%</regex>
 <description>Partition usage reached 100% (disk space
monitor).</description>
 <group>low_diskspace,pci_dss_10.6.1,</group>
</rule>

Aşağıdaki özellikler bu modül ile birlikte kullanılabilmektedir:
● Windows processlerini izleme
● Disk alanı kullanımı
● Output Değişikliği
● Load average
● USB Cihazları Algılama

Rootkit Tespit edebilmek için kullanılan kural örneği;

Wazuh agentları, hem kernel hem de kullanıcı düzeyinde rootkitleri tespit etmek için yüklü
olduğu sistemi periyodik olarak taramaktadır. Bu tür zararlı yazılımlar genellikle sistemin
davranışlarını değiştirmek için mevcut işletim sistemi bileşenlerinin yerine geçmektedir.
Wazuh, sistem anormalliklerini veya iyi bilinen saldırıları aramak için farklı tespit
mekanizmaları kullanır. Bu, Rootcheck modülü tarafından periyodik olarak
gerçekleştirilmektedir.
Aşağıda gizli bir "process" bulunduğunda oluşturulan bir alarm bulunmaktadır. Etkilenen
sistem Linux kernel düzeyinde bir rootkit (Diamorphine) çalıştırılmıştır.

{
 "agent": {
 "id": "1030",
 "ip": "10.0.0.59",
 "name": "diamorphine-POC"
 },
 "decoder": {
 "name": "rootcheck"
 },
 "full_log": "Process '562' hidden from /proc. Possible kernel level
rootkit.",
 "location": "rootcheck",
 "manager": {
 "name": "vpc-ossec-manager"
 },
 "rule": {
 "description": "Host-based anomaly detection event (rootcheck).",
 "firedtimes": 4,
 "groups": [
 "ossec",
 "rootcheck"
 ],
 "id": "510",
 "level": 7
 },
 "timestamp": "2017-03-05T15:13:04-0800",
 "title": "Process '562' hidden from /proc."
}

Wazuh DDOS saldırı tespiti kural örneği;

DDOS saldırıları, genellikle birçok farklı kaynak IP adresinden gerçekleştirilir. Bu nedenle, Wazuh'un DDOS saldırılarını tespit etmek için kullanabileceği bir kural, bir kaynak IP adresinin belirli bir süre içinde çok sayıda bağlantı girişimi yapmasıdır. Bu tür bir saldırı, genellikle "SYN Flood" saldırısı olarak adlandırılır.

Aşağıda bir örnek Wazuh kuralı verilmiştir, bu kural bir IP adresinden 30 saniye içinde 10'dan fazla SYN bağlantı girişimi yapılırsa bir alarm tetikleyecektir. Ancak, DDOS saldırıları genellikle çok sayıda farklı IP adresinden gerçekleştirildiği için, tek bir kural yeterli olmayabilir. Bu nedenle, farklı IP adreslerinden gelen SYN paketlerini izlemek için farklı kural setleri kullanılması önerilir.

<rule id="100100" level="10">
  <if_sid>110002</if_sid>
  <match>srcip</match>
  <relation>eq</relation>
  <value>IP_ADRESI</value>
  <check_diff>30</check_diff>
  <check_diff_count>10</check_diff_count>
  <description>Too many SYN packets from IP_ADRESI in 30 seconds</description>
  <group>ddos</group>
</rule>

***Wazuh Kullanım Amacı

tomatik log analizi sistemlerinizdeki olası tehditlerin algılanmasını hızlandırır. Altyapınızda bulunan sistemlerin, cihazların ve uygulamaların loglarında bir saldırının kanıtının bulunabileceği muhtemel durumlar vardır.

Wazuh, log verilerini otomatik olarak toplayabilmek ve analiz edebilmek için kullanılabilir. Mesela burada Wazuh agentı yüklenmiş ve çalışan bir sistemin işletim sistemi logları okunmaktadır ve bu loglar analiz edilmek üzere Wazuh sunucusuna yönlendirilir. Agent kullanmanın haricinde, sunucular üzerinden doğrudan Syslog, JSON ve birçok formatta network üzerinden veri alabilmektedir.

Wazuh, logların hangi uygulamadan geldiğini tespit edebilmek için decoderlar kullanmaktadır ve akabinde bu uygulamalara göre özel kurallar kullanarak verileri analiz eder.

Kurallar, kuralın aranacağı paterni tanımlayabilmek için kullanılan bir eşleşme alanını içerisinde barındırır. Log içerisinde geçen tanımlamalar bu alanda oluşturulur ve alarmın hangi level'da (seviyede) olacağını belirten
bir level (Seviye) alanı bulunmaktadır. Wazuh sunucusu, agentlardan birisi ya da syslog tarafından toplanan bir log içerisinde
sıfırdan daha yüksek bir seviyeye sahip bir kuralla her eşleştiğinde alarm üretecektir. 

Wazuh Quickstart & Installation guide: https://wazuh.com/install/

Virtual Machine (OVA) Download Link: https://documentation.wazuh.com/current/deployment-options/virtual-machine/virtual-machine.html

Saygılarımla – Best Regards.

This post is licensed under CC BY 4.0 by the author.