# Mimari

Wazuh mimarisi, uç noktalardaki güvenlik olaylarını analiz etmek amacıyla merkezi bir sunucuya veri ileten ajanlar (agents) ile çalışır. Güvenlik duvarları, switchler, routerlar ve erişim noktaları gibi aracısız cihazlardan gelen log verileri **Syslog**, **SSH** veya **API** entegrasyonları aracılığıyla aktarılabilir. Merkezi sunucu, gelen verileri çözümleyerek analiz eder ve sonuçları dizinleme ve depolama işlemleri için **Wazuh Dizinleyici (Indexer)** bileşenine gönderir.

Wazuh dizinleyici kümesi, dizinler üzerinde okuma ve yazma işlemleri gerçekleştirmek için birbirleriyle iletişim kuran bir veya daha fazla düğümden oluşan bir koleksiyondur. Büyük miktarda veri işlemeyi gerektirmeyen küçük Wazuh dağıtımları, tek düğümlü bir küme tarafından kolayca işlenebilir. Çok sayıda izlenen uç nokta olduğunda, büyük miktarda veri beklendiğinde veya yüksek kullanılabilirlik gerektiğinde çok düğümlü kümeler önerilir.

Üretim ortamları için, Wazuh sunucusunu ve Wazuh dizinleyicisini farklı ana bilgisayarlara dağıtmanız önerilir. Bu senaryoda, Filebeat, TLS şifrelemesi kullanarak Wazuh uyarılarını ve arşivlenmiş olayları Wazuh dizinleyici kümesine (tek düğümlü veya çok düğümlü) güvenli bir şekilde iletmek için kullanılır.  
Aşağıdaki diyagram bir Wazuh dağıtım mimarisini temsil eder. Çözüm bileşenlerine ve [Wazuh server](https://acikkaynak.lastguard.com.tr/books/baslangic/page/wazuh-server) ve [Wazuh indexer](https://acikkaynak.lastguard.com.tr/books/baslangic/page/wazuh-indexer) düğümlerinin yük dengeleme ve yüksek kullanılabilirlik sağlayarak kümeler olarak nasıl yapılandırılabileceğini gösterir.

![](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-12/embedded-image-pooppoyn.png)


#### **Wazuh Agent - Wazuh Server İletişimi** 

[Wazuh aracısı](https://acikkaynak.lastguard.com.tr/books/baslangic/page/wazuh-agent)*,* analiz ve tehdit tespiti için sürekli olarak [Wazuh sunucusuna](https://acikkaynak.lastguard.com.tr/books/baslangic/page/wazuh-server) olaylar gönderir. Bu verileri göndermeye başlamak için, aracı, varsayılan olarak 1514 numaralı bağlantı noktasını dinleyen aracı bağlantısı için sunucu hizmetiyle bir bağlantı kurar (bu yapılandırılabilir). Wazuh sunucusu daha sonra analiz motorunu kullanarak alınan olayları çözer ve kural denetimi yapar. Bir kuralı tetikleyen olaylar, kural kimliği ve kural adı gibi uyarı verileriyle zenginleştirilir. Olaylar, bir kuralın tetiklenip tetiklenmediğine bağlı olarak aşağıdaki dosyalardan birine veya her ikisine de kaydedilebilir:

- Dosya,<span style="color: rgb(52, 73, 94);"> /var/ossec/logs/archives/archives.json</span> bir kuralı tetikleyip tetiklemediğine bakılmaksızın tüm olayları içerir.
- Dosya /var/ossec/logs/alerts/alerts.json yalnızca yüksek önceliğe sahip bir kuralı tetikleyen olayları içerir (eşik yapılandırılabilir).

Wazuh mesaj protokolü varsayılan olarak blok başına 128 bit ve 256 bit anahtarlarla AES şifrelemesini kullanır. Alternatif olarak Blowfish şifreleme seçeneği de mevcuttur.

#### **Wazuh Server - Wazuh Indexer İletişimi** 

Wazuh sunucusu, uyarı ve olay verilerini TLS şifrelemesi aracılığıyla güvenli bir şekilde Wazuh dizinleyicisine iletmek için Filebeat'i kullanır. Filebeat, Wazuh sunucusundan gelen çıktı verilerini izler ve varsayılan olarak 9200/TCP portunu dinleyen Wazuh dizinleyicisine iletir. Dizinlendikten sonra, verileri Wazuh dashboard aracılığıyla analiz edebilir ve görselleştirebilirsiniz.

Güvenlik Açığı Tespiti modülü güvenlik açığı envanterini günceller. Ayrıca uyarılar üreterek sistem güvenlik açıklarına ilişkin içgörüler sağlar.

Wazuh panosu, Wazuh sunucusunun ve aracılarının yapılandırma ve durumla ilgili bilgilerini görüntülemek için Wazuh RESTful API'sini (varsayılan olarak Wazuh sunucusunda 55000/TCP portunu dinler) sorgular. Ayrıca API çağrıları aracılığıyla aracıları veya sunucu yapılandırma ayarlarını değiştirebilir. Bu iletişim TLS ile şifrelenir ve bir kullanıcı adı ve parola ile doğrulanır.

#### **Gerekli Portlar** 

Wazuh bileşenlerinin iletişimi için çeşitli hizmetler kullanılır. Aşağıda bu hizmetler tarafından kullanılan varsayılan portların listesi bulunmaktadır. Kullanıcılar gerektiğinde bu port numaralarını değiştirebilirler.

<table border="1" cellpadding="0" cellspacing="3" class="MsoNormalTable" id="bkmrk-bile%C5%9Fen-liman-protok" style="width: 339.9pt; mso-cellspacing: 1.5pt; border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; mso-yfti-tbllook: 1184;" width="453"><thead><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"><td style="border: none; background: #256BD1; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Bileşen</span>

</td><td style="border: none; background: #256BD1; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Liman</span>

</td><td style="border: none; background: #256BD1; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Protokol</span>

</td><td style="border: none; background: #256BD1; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Amaç</span>

</td></tr></thead><tbody><tr style="mso-yfti-irow: 1;"><td rowspan="7" style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh sunucusu</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">1514</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">TCP (varsayılan)</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Ajan bağlantı hizmeti</span>

</td></tr><tr style="mso-yfti-irow: 2;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">1514</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">UDP (isteğe bağlı)</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Aracı bağlantı hizmeti (varsayılan olarak devre dışıdır)</span>

</td></tr><tr style="mso-yfti-irow: 3;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">1515</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Tpg</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Acente kayıt hizmeti</span>

</td></tr><tr style="mso-yfti-irow: 4;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">1516</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Tpg</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh kümeleme arka plan programı</span>

</td></tr><tr style="mso-yfti-irow: 5;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">514</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">UDP (varsayılan)</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh Syslog toplayıcısı (varsayılan olarak devre dışıdır)</span>

</td></tr><tr style="mso-yfti-irow: 6;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">514</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">TCP (isteğe bağlı)</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh Syslog toplayıcısı (varsayılan olarak devre dışıdır)</span>

</td></tr><tr style="mso-yfti-irow: 7;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">55000</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Tpg</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: white; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh sunucusu RESTful API</span>

</td></tr><tr style="mso-yfti-irow: 8; mso-yfti-lastrow: yes;"><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh dizinleyici</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">9200</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Tpg</span>

</td><td style="border: solid #DCE8F8 1.0pt; mso-border-alt: solid #DCE8F8 .75pt; background: #F8FAFD; padding: 6.0pt 11.25pt 6.0pt 11.25pt;"><span style="color: black; mso-color-alt: windowtext;">Wazuh dizinleyici RESTful API</span>

</td></tr></tbody></table>

<table border="1" cellpadding="0" cellspacing="3" class="MsoNormalTable" id="bkmrk-%C2%A0-9300-9400-tpg-wazu" style="width: 455px; border: 1pt solid rgb(220, 232, 248); height: 234px;" width="453"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"><td style="border: 1pt solid rgb(220, 232, 248); padding: 0.75pt; width: 113.35px;"> </td><td style="border: 1pt solid rgb(220, 232, 248); background: white; padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">9300-9400</span>

</td><td style="border: 1pt solid rgb(220, 232, 248); background: white; padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">Tpg</span>

</td><td style="border: 1pt solid rgb(220, 232, 248); background: white; padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">Wazuh dizinleyici küme iletişimi</span>

</td></tr><tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"><td style="border: 1pt solid rgb(220, 232, 248); background: rgb(248, 250, 253); padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">Wazuh gösterge paneli</span>

</td><td style="border: 1pt solid rgb(220, 232, 248); background: rgb(248, 250, 253); padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">443</span>

</td><td style="border: 1pt solid rgb(220, 232, 248); background: rgb(248, 250, 253); padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">Tpg</span>

</td><td style="border: 1pt solid rgb(220, 232, 248); background: rgb(248, 250, 253); padding: 6pt 11.25pt; width: 113.35px;"><span style="color: black; mso-color-alt: windowtext;">Wazuh web kullanıcı arayüzü</span>

</td></tr></tbody></table>

#### **Arşiv Veri Depolama** 

Hem uyarılar hem de uyarı olmayan olaylar Wazuh sunucusundaki dosyalarda saklanır ve ayrıca Wazuh dizinleyicisine gönderilir. Bu dosyalar JSON biçiminde (. json) veya düz metin biçiminde ( .log) yazılabilir. Bu dosyalar günlük olarak sıkıştırılır ve MD5, SHA1 ve SHA256 toplam kontrolleri kullanılarak imzalanır. Dizin ve dosya adı yapısı aşağıdaki gibidir:

```
root@wazuh-manager:/var/ossec/logs/archives/2022/Jan# ls -l
```

[![image.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-12/scaled-1680-/Imiimage.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2024-12/Imiimage.png)

Arşiv dosyalarının rotasyonu ve yedeklenmesi Wazuh sunucusunun depolama kapasitesine göre önerilir. Cron işlerini kullanarak, arşiv dosyalarının yalnızca belirli bir zaman aralığını, örneğin geçen yıl veya son üç ayı, sunucuda yerel olarak tutmayı kolayca başarabilirsiniz.

Öte yandan, arşiv dosyalarını depolamayı bırakıp arşiv depolaması için Wazuh dizinleyicisine güvenmeyi seçebilirsiniz. Periyodik Wazuh dizinleyici anlık görüntü yedeklemeleri çalıştırıyorsanız ve/veya yüksek kullanılabilirlik için parça replikaları olan çok düğümlü bir Wazuh dizinleyici kümeniz varsa bu alternatif tercih edilebilir. Anlık görüntülenmiş dizinleri son veri depolama sunucusuna taşımak ve bunları MD5, SHA1 ve SHA256 karma algoritmalarını kullanarak imzalamak için bir cron işi bile kullanabilirsiniz.