Kullanım Kılavuzu Wazuh kullanıcı kılavuzuna hoş geldiniz. Temel Wazuh kurulumunuz hazır olduğunda bunu referans kütüphaneniz olarak kullanın. Bu bölümde, Wazuh sunucu yönetimi, Wazuh aracı kaydı, Wazuh yetenekleri ve aşağıda listelenen diğer birçok konu hakkında içerik bulacaksınız. Wazuh Server Wazuh sunucusu, ajanlardan, harici API'lerden ve ağ cihazlarından aldığı verileri analiz eden Wazuh merkezi bileşenidir. Alınan verileri, güvenlik izleme ve yönetimi için uyarılar üretmek üzere önceden tanımlanmış bir kural kümesiyle ilişkilendirerek ve eşleştirerek analiz eder. Wazuh sunucusu iki ana bileşenden oluşur; Wazuh yöneticisi ve Filebeat . Wazuh yöneticisi veri analizi ve uyarılardan sorumludur, dizinleyici entegrasyonu ise analiz edilen verileri Wazuh dizinleyicisine iletir. Nasıl kurulacağı ve ayarlanacağı hakkında bilgi için Wazuh sunucusu kurulum belgelerine bakın. Alarm Yönetimi /var/ossec/logs/alerts/alerts.log Uyarılar, Wazuh aracılarından ve aracısız aygıtlardan alınan olayları işledikten sonra Wazuh yöneticisi tarafından oluşturulan bildirimlerdir. Varsayılan olarak, uyarılar ve dosyalarında saklanır  /var/ossec/logs/alerts/alerts.json . Varsayılan olarak, Wazuh sunucusu, oluşturulan uyarıları dizinleme için Wazuh dizinleyicisine iletmek için Filebeat'i kullanır. Ek olarak, Wazuh yöneticisini syslog sunucuları, e-posta sistemleri ve veritabanlarını içeren diğer sistemlere uyarıları iletecek şekilde yapılandırabilirsiniz. Uyarı Eşiği Uyarı eşiği, bir uyarının tetiklenmesi için aşılması gereken en düşük önem seviyesidir. Wazuh yöneticisi, kurallar kümesindeki eşleşen kurala göre izlenen uç noktalardan gelen her olaya bir önem seviyesi atar. Varsayılan olarak, yalnızca önem seviyesi  3 veya daha yüksek olan uyarıları tetikler. Yapılandırma /var/ossec/etc/ossec.conf Uyarı eşiği , Wazuh sunucusundaki yapılandırma dosyasında XML etiketi içerisinde yapılandırılır  . Aşağıdaki kod bloğu, olaylar ve uyarıların e-posta yoluyla iletilmesi için varsayılan uyarı eşiği yapılandırmasını gösterir: 3 12 Nerede: etiket ,  /var/ossec/logs/alerts/alerts.log ve/veya  /var/ossec/logs/alerts/alerts.json dosyada  depolanan uyarıları tetiklemek için minimum önem seviyesini ayarlar . Varsayılan değer 3 'dür . İzin verilen değer,  kurallar sınıflandırma kılavuzunda belirtildiği gibi 1 ila  16 arasında herhangi bir tam sayıdır  Etiket  , bir uyarının e-posta bildirimi oluşturması için minimum önem seviyesini ayarlar. Varsayılan değer 'dir  12 . İzin verilen değer,  1 'den 'e kadar herhangi bir tam sayıdır  16 . Bu ayar,  ayrıntılı e-posta uyarısı  yapılandırmasını geçersiz kılar. Ancak, bireysel kurallar içindeki  alert_by_email   seçenek  , bir e-posta uyarısını tetiklemek için hem genel hem de ayrıntılı uyarı düzeyi eşiklerini geçersiz kılabilir. Uyarı eşiği yapılandırma hakkında ayrıntılı bilgi için  uyarı başvuru  kılavuzuna bakın. Not:  Yapılandırma dosyasında herhangi bir değişiklik yaptığınızda Wazuh yöneticisini yeniden başlatın. Bu eylem değişikliklerin etkili olmasını sağlar.  Aşağıdaki komutla komut satırı arayüzü üzerinden Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma   service wazuh-manager restart Uyarıları İletme Wazuh yöneticisi, dizinleme ve analiz yetenekleri için uyarıları varsayılan olarak Wazuh dizinleyicisine iletir. Ayrıca, Wazuh yöneticisi, analiz ve yedekleme için uyarıları yapılandırma ve diğer sistemlere iletme yeteneği sağlar. Syslog Çıktısını Yapılandırma Syslog_output  seçeneğini kullanarak Wazuh sunucusunu bir syslog sunucusuna uyarılar gönderecek şekilde yapılandırabilirsiniz . Uyarıları bir syslog sunucusuna iletmek, merkezi izleme ve özel raporlama için yararlı olabilir. Yapılandırma /var/ossec/etc/ossec.conf Syslog çıktısı, blok içindeki Wazuh sunucu yapılandırma dosyasında yapılandırılır . Varsayılan olarak, Wazuh yöneticisi uyarıları UDP protokolü üzerinden  port kullanarak syslog sunucularına iletir . 514 Aşağıdaki kod bloğu, uyarıları bir syslog sunucusuna iletmek için örnek bir yapılandırmayı göstermektedir: 9 192.168.1.241 Yapılandırma seçenekleri aşağıdaki şekilde tanımlanmıştır: Etiket  , syslog sunucusuna iletilecek uyarıların minimum önem seviyesini ayarlar. Örnek değer,  9 Wazuh sunucusunun uyarıları yalnızca uyarı seviyesi 'den yüksekse syslog sunucusuna ilettiğini gösterir  9 . Bu seçenek tanımlanmamışsa, Wazuh sunucusu tüm uyarıları syslog sunucusuna iletir. Etiket  , uyarıları iletmek için syslog sunucusunun IP adresini veya ana bilgisayar adını ayarlar.  192.168.1.241 Yapılandırmadaki IP adresi bir örnek olarak kullanılır. Değişikliklerin her yapılandırmadan sonra uygulanması için Wazuh yönetici hizmetini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Yapılandırma dosyasında blok  içerisinde birden fazla blok tanımlayarak uyarıları birden fazla syslog sunucusuna iletebilirsiniz . /var/ossec/etc/ossec.conf 192.168.1.240 9 192.168.1.241 Yukarıdaki yapılandırmada, İlk  blok tüm uyarıları filtrelemeden IP adresine sahip syslog sunucusuna gönderir  192.168.1.240 . İkinci blok , yalnızca uyarı seviyesi 'den yüksekse  syslog sunucusuna uyarılar gönderir . 192.168.1.241 9 E-posta Uyarılarını Yapılandırma Wazuh, bir Wazuh sunucusunda oluşturulduğunda e-posta sistemlerine uyarılar göndermek için bir özellik sunar. Kurallar tetiklendiğinde veya özelleştirilmiş ayarlara göre bir veya daha fazla e-posta adresine e-posta uyarıları göndermek üzere yapılandırabilirsiniz. Bu yapılandırma günlük olay raporları ve daha fazlası için size yardımcı olabilir. Kural kimliği  553 tetiklendiğinde Wazuh tarafından gönderilen örnek bir e-posta aşağıda gösterilmektedir: Wazuh Notification. 2024 Apr 29 08:58:30 Received From: wazuh-server->syscheck Rule: 553 fired (level 7) -> "File deleted." Portion of the log(s): File '/var/ossec/test_dir/somefile. txt' deleted Mode: realtime Attributes: - Size: 0 - Permissions: rw-r--r-- - Date: Mon Apr 29 08:46:12 2024 - Inode: 841858 - User: root (0) - Group: root (0) - MD5: d41d8cd98f00b204e9800998ecf8427e - SHA1: da39a3ee5e6b4b0d3255bfef95601890afd80709 - SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 --END OF NOTIFICATION Genel E-posta Seçenekleri Wazuh'un e-posta uyarıları göndermesini yapılandırmak için /var/ossec/etc/ossec.conf dosyanın bölümündeki e-posta seçeneklerini yapılandırıyoruz . E-posta adresine uyarı göndermek için örnek bir e-posta yapılandırması  me@test.com aşağıda gösterilmektedir: yes me@test.com mail.test.com wazuh@test.com ... Yukarıdakiler yapılandırıldıktan sonra,  email_alert_level bir e-postayı tetiklemek için seçeneğin minimum uyarı seviyesine ayarlanması gerekir. Varsayılan olarak, bu seviye olarak ayarlanır  12 . Aşağıdaki örnek yapılandırma, e-posta uyarılarının gönderileceği minimum seviyeyi belirler  10 : 10 ... Değişikliklerin her yapılandırmadan sonra uygulanması için Wazuh yönetici hizmetini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV İnit service wazuh-manager restart Uyarı:  Wazuh SMTP kimlik doğrulamasını işlemez. E-posta servisiniz bunu kullanıyorsa,  bir sunucu rölesi yapılandırmanız gerekir . Ayrıntılı E-posta Seçenekleri Wazuh, e-posta uyarıları için ayrıntılı yapılandırma seçeneklerine izin verir. Bu ayar, dosyanın bölümünde yapılandırılan  genel e-posta seçeneklerini  genişletir. Ayrıntılı e-posta yapılandırmaları, dosyanın etiketi içinde tanımlanır . /var/ossec/etc/ossec.conf /var/ossec/etc/ossec.conf Uyarı:  Bölümde yapılandırılan minimum önem düzeyi  bu ayrıntılı e-posta yapılandırmalarına uygulanır ve bunları geçersiz kılar. Örneğin, Wazuh yöneticisini kural tetiklendiğinde bir e-posta gönderecek şekilde yapılandırırsanız  526 ancak kuralın düzeyi bölümde belirtilen minimum düzeyden düşükse  uyarı gönderilmez. Seviyeye Göre E-posta Uyarısı Bu seçenek, Wazuh yöneticisini, önem düzeyi ayarlanan değere eşit veya daha büyük olduğunda e-posta uyarıları gönderecek şekilde yapılandırır. Bu seçenek aşağıdaki şekilde yapılandırılır: you@example.com 4 you@example.com Bu yapılandırma, Wazuh yöneticisinin , seviyesi eşit veya daha büyük olan herhangi bir kural tetiklendiğinde bir e-posta göndermesine olanak tanır  4 . Not:  Buradaki önem seviyesi bölümde yapılandırılan email_alert_level önem seviyesinden daha düşükse , e-posta gönderilmeyecektir.   Etkinlik Lokasyonuna Göre E-posta Uyarısı Bu  event_location seçenek, olayın kaynaklandığı konuma göre e-posta uyarıları göndermeyi içerir. Oluşturulan uyarı, e-posta yoluyla iletilmek üzere olay konumuyla eşleşmelidir. Bu seçenek için izin verilen değerler Wazuh aracı adı, ana bilgisayar adı, IP adresi veya günlük dosyasıdır. Bu seçenek aşağıdaki şekilde yapılandırılır: you@example.com server1 you@example.com Bu yapılandırma, Wazuh yöneticisinin uyarıları oluşturan olayların Wazuh adlı aracıda kaynaklandığı zaman adresine bir e-posta göndermesine olanak tanır  server1 . Kural Kimliğine Dayalı E-posta Bu  rule_id seçenek, kural kimliklerine dayalı uyarı e-postaları göndermek için kullanılır. Bu seçenek, yalnızca belirli tanımlanmış kurallar tetiklendiğinde e-postaların gönderilmesini sınırlar. Bu seçenek aşağıdaki şekilde yapılandırılır: you@example.com 515, 516 Bu yapılandırma , Wazuh yöneticisinin  you@example.com kurallar tetiklendiğinde bir e-posta göndermesine olanak tanır . 515 516 Kural Grubuna Dayalı E-posta Seçenek  group , uyarıların ait olduğu bir veya daha fazla kural grubuna göre e-posta göndermek üzere yapılandırılabilir. Bu seçenek aşağıdaki şekilde yapılandırılır: you@example.com pci_dss_10.6.1, you@example.com Bu yapılandırma, Wazuh yöneticisinin, grubun parçası olan herhangi bir kural  pci_dss_10.6.1 herhangi bir Wazuh izlenen uç noktasında tetiklendiğinde bir e-posta göndermesine olanak tanır. Birden Fazla Seçenek ve Birden Fazla E-posta E-posta uyarıları, her biri benzersiz kriterlere sahip birden fazla e-posta adresine gönderilebilir. Aşağıdaki örnek yapılandırma, birden fazla kritere sahip e-posta uyarılarının birden fazla e-posta adresine nasıl gönderileceğini gösterir: alice@test.com endpoint1|endpoint2 is@test.com /log/secure$ bob@test.com 192.168. david@test.com 12 Bu yapılandırma şunları gönderir: alice@test.com Herhangi bir uyarı tetiklendiğinde  endpoint1 e -posta adresinize gönderilecek  endpoint2 . is@test.com Uyarıların dosyadan gelip gelmediğine dair bir e-posta  /log/secure . bob@test.com Uyarıların ağdaki herhangi bir uç noktadan gelip gelmediğine dair bir e-posta  192.168.0.0/24 . david@test.com Uyarıların seviyesi eşit veya daha yüksekse e-posta gönderilecektir  12 . Bir Uyarıyı E-postayla İletmeyi Zorla E-posta yoluyla uyarı göndermek için minimum önem seviyesi  12 varsayılan olarak. Wazuh yöneticisini yapılandırılmış minimum önem seviyesinin altında bir e-posta uyarısı göndermek üzere yapılandırabilirsiniz. Bunu yapmak için aşağıdaki  kural  seçeneklerinden birini kullanmanız gerekir: alert_by_email her zaman e-posta ile uyarmak. no_email_alert asla e-posta yoluyla uyarıda bulunmayın. no_log Bu uyarının kaydedilmemesi için. Örneğin, aşağıdaki kural tanımı,  502 minimum önem düzeyi ne olarak ayarlanmış olursa olsun, kural her tetiklendiğinde bir e-posta gönderir: 500 alert_by_email Ossec started Ossec server started. Kimlik Doğrulamalı SMTP Sunucusu Wazuh e-posta uyarıları, Gmail gibi kimlik doğrulaması olan SMTP sunucularını desteklemez. Ancak, bu e-postaları Postfix gibi bir sunucu rölesi aracılığıyla gönderebilirsiniz. Postfix'i Gmail ile yapılandırmak için aşağıdaki adımları röle sunucunuzda gerçekleştirin. Gerekli paketleri yüklemek için bu komutu çalıştırın. Posta sunucusu yapılandırma türü hakkında sorulursa  Yapılandırma yok'u seçin. CentOS yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain Ubuntu apt-get update && apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules Postfix'i yapılandırmak için bu satırları dosyaya ekleyin  /etc/postfix/main.cf . Eksikse dosyayı oluşturun. CentOS relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt smtp_use_tls = yes Ubuntu relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_use_tls = yes smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination Gönderenin kimlik bilgilerini dosyaya ayarlayın  /etc/postfix/sasl_passwd ve Postfix için bir veritabanı dosyası oluşturun.  ve  değişkenlerini sırasıyla gönderenin e-posta adresi kullanıcı adı ve parolasıyla değiştirin. echo [smtp.gmail.com]:587 @gmail.com: > /etc/postfix/sasl_passwd postmap /etc/postfix/sasl_passwd Not:   Şifre bir Uygulama Şifresi  olmalıdır . Uygulama Şifreleri yalnızca  2 Adımlı Doğrulama özelliği açık olan hesaplarda kullanılabilir.   Parola DB dosyanızı yalnızca  root kullanıcının tam okuma ve yazma erişimine sahip olması için güvenceye alın. Bunun nedeni  /etc/postfix/sasl_passwd ve  /etc/postfix/sasl_passwd.db dosyalarının düz metin kimlik bilgilerine sahip olmasıdır. chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db Yapılandırma değişikliklerini gerçekleştirmek için Postfix'i yeniden başlatın: Systemd systemctl restart postfix SysV Başlatma service postfix restart Yapılandırmayı test etmek için aşağıdaki komutu çalıştırın: echo "Test mail from postfix" | mail -s "Test Postfix" -r "" Yer değiştirmek: Yapılandırılmış e-posta adresinizle. Alıcının e-posta adresiyle birlikte. Komut, alıcının e-postasına Test   Postfix konu ve Test   mail   from   postfix gövdeyi içeren bir e-posta gönderir. If you get the error message  fatal:   tls_fprint:   error   computing   md5   message   digest  in the  /var/log/maillog  file, run the following commands to switch Postfix from the default  MD5  hashing function to  SHA-256 : # /var/log/maillog dosyasında fatal:   tls_fprint:   error   computing   md5   message   digest hata mesajı alırsanız , Postfix'i varsayılan MD5 karma işlevinden SHA-256 'ya geçirmek için aşağıdaki komutları çalıştırın : postconf -e smtp_tls_fingerprint_digest=sha256 postconf -e smtpd_tls_fingerprint_digest=sha256 Wazuh sunucusunun  /var/ossec/etc/ossec.conf dosyasının etiketi içerisinde e-posta bildirimlerini aşağıdaki şekilde yapılandırın: yes localhost @gmail.com Nerede: e-posta uyarılarının kullanımını değiştirir. uyarıları iletmek için kullanılacak SMTP sunucusunu tanımlar. yapılandırılmış gönderenin e-posta adresini belirtir.  E-posta adresinizin yapılandırılmış kullanıcı adınızla değiştirin. uyarıların alıcısının e-posta adresini belirtir.  Alıcının e-posta adresiyle değiştirin. Değişiklikleri uygulamak için Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Veritabanı Çıktısını Yapılandırma Wazuh, uyarıları veritabanı sistemlerine iletmeyi destekler. Wazuh yöneticisini, oluşturulan uyarıları bir veritabanına çıktı olarak verecek şekilde yapılandırabilirsiniz. Bu yapılandırmayı elde etmek için, Wazuh yöneticisini kullanmak istediğiniz veritabanı türündeki kaynaklardan derlemelisiniz. Wazuh şu anda MySQL ve PostgreSQL veritabanlarını destekler. Not:  Bu kılavuz, MySQL veya PostgreSQL'i zaten kurduğunuzu ve kullanıcıları ve veritabanlarını nasıl oluşturacağınızı bildiğinizi varsayar. Ön Koşullar Yapılandırmak istediğiniz veritabanı sistemine ait geliştirme kütüphanelerini kurmanız ve Wazuh yöneticisini gerekli veritabanı sistemini kullanacak şekilde derlemeniz gerekmektedir. Veritabanı sistemi için geliştirme kütüphanelerini yükleyin: MySQL için  : Yum yum install mysql-devel APT apt-get install libmysqlclient-dev PostgreSQL için  : Yum yum install postgresql-devel APT apt-get install libpq-dev Bağımlılıkları,  bağımlılıkları yükleme  bölümünde açıklandığı şekilde yükleyin. Wazuh'un son sürümünü indirin ve çıkarın: curl -Ls https://github.com/wazuh/wazuh/archive/v4.9.2.tar.gz | tar zx Wazuh dizinine geçmek için aşağıdaki komutları çalıştırın ve kullanılacak veritabanı türünü belirtin,   değişkeni mysql veya pgsql ile değiştirin : cd wazuh-4.9.2/src make deps && make TARGET=server DATABASE= Not:  Sistem özelliklerinize bağlı olarak derleme işlemi biraz zaman alabilir.   Betiği çalıştırın  install.sh . Wazuh kaynaklarını kullanarak kurulum sürecinde size rehberlik edecek bir sihirbaz görüntüler: cd .. ./install.sh Script size ne tür bir kurulum istediğinizi sorduğunda  manager Wazuh yöneticisini kurmak için şunu yazın: 1- What kind of installation do you want (manager, agent, local, hybrid, or help)? manager Not:  Kurulum sırasında kurulum yoluna karar verebilirsiniz. install.sh dosyasını çalıştırın ve dili seçin, kurulum modunu manager olarak ayarlayın, ardından kurulum yolunu ayarlayın ( Choose   where   to   install   Wazuh   [/var/ossec] /var/ossec ). Varsayılan kurulum yolu /var/ossec'tir. Yaygın olarak kullanılan özel bir yol /opt olabilir. Uyarı:  Varsayılandan farklı bir yol seçerseniz kritik bir kurulum dizini seçmemeye son derece dikkat edin. Dizin zaten mevcutsa, yükleyici dizini silmenizi veya Wazuh'u içine kurarak devam etmenizi isteyecektir.   Kurulum programı kurulumun sonunda Wazuh'u başlatmak isteyip istemediğinizi sorar. Eğer istemezseniz, aşağıdaki komutla daha sonra başlatabilirsiniz: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Veritabanı Yapılandırması Veritabanı sisteminize göre yeni bir veritabanı oluşturun, veritabanı kullanıcısını ayarlayın ve  src/os_dbd kaynak kodun bulunduğu dizinde bulunan şemayı aşağıdaki komutlarla ekleyin: MySQL için  : mysql -u root -p mysql> CREATE DATABASE Alerts_DB; Query OK, 1 row affected (2.34 sec) mysql> CREATE USER ''@'' IDENTIFIED BY ''; Query OK, 0 rows affected (0.00 sec) mysql> GRANT INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on Alerts_DB.* to ''@''; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> quit; Yukarıdaki komutlarda aşağıdaki değişkenleri değiştirin: Veritabanı sunucusu için oluşturmak istediğiniz kullanıcıyla. veritabanı sunucusunun IP adresi ile. veritabanı sunucusuna erişmek için kullanıcı şifresi ile. mysql -u root -p Alerts_DB < src/os_dbd/mysql.schema PostgreSQL için  : sudo -u postgres createuser -P sudo -u postgres createdb -O Alerts_DB psql -U -d Alerts_DB -f src/os_dbd/postgresql.schema Veritabanı sunucusu için oluşturmak istediğiniz kullanıcıyla değiştirin . Not:  Kullanıcıyı oluştururken iki kez parola girmeniz istenecektir. Wazuh yöneticisini yapılandırırken gerekli olduğundan bu parolayı not edin.   Wazuh Yöneticisi Yapılandırması Wazuh yöneticisini veritabanı sistemine uyarılar ve diğer verileri gönderecek şekilde yapılandırmak için aşağıdaki adımları izleyin. Wazuh sunucusundaki dosya  bloğunun içine aşağıdaki kod bloğunu ekleyin : /var/ossec/etc/ossec.conf MySQL için  : Alerts_DB mysql PostgreSQL için  : Alerts_DB postgresql Nerede: veritabanı sunucusunun IP adresini belirtir.  Veritabanı sunucusunun IP adresini değiştirin. veritabanına erişecek kullanıcıyı belirtir.  Yukarıda oluşturulan veritabanı kullanıcısıyla değiştirin. veritabanına erişmek için kullanıcı parolasını belirtir.  Yukarıda oluşturulan kullanıcı parolasıyla değiştirin. uyarıların depolanacağı veritabanının adını belirtir. Örneğin,  Alerts_DB yukarıdaki yapılandırmada belirtildiği gibi. veritabanının türünü belirtir (MySQL veya PostgreSQL). İzin verilen değerler  mysql veya  pgsql . Değişiklikleri uygulamak için Wazuh yönetici hizmetini yeniden başlatın: Systemd systemctl restart wazuh-manager   SysV Başlatma service wazuh-manager restart Wazuh yöneticisinin veritabanına bağlı olduğunu doğrulamak için aşağıdaki komutu çalıştırın: grep wazuh-dbd /var/ossec/logs/ossec.log Output 2024/06/24 14:49:11 wazuh-dbd: INFO: Connected to database 'Alerts_DB' at '127.0.0.1'. Veritabanı artık Wazuh yöneticisinden veri almaya başlayacaktır. Olay Günlüğü Tutma Günlükler, Wazuh aracılarından, harici API'lerden ve ağ cihazlarından alınan ham olaylardır. Wazuh sunucusu tüm günlükleri süresiz olarak depolar. Alan optimizasyonunu en üst düzeye çıkarmak için Wazuh yöneticisi günlük dosyalarını otomatik olarak sıkıştırır. Wazuh, iki tür günlüğü yönetir, Wazuh sunucusundan gelen dahili günlükler ve izlenen uç noktalardan gelen harici günlükler. Bu günlükler  /var/ossec/logs/ Wazuh sunucusunun dizininde süresiz olarak saklanır. Aşağıdaki tabloda Wazuh sunucusundaki günlük dosyaları ve bunların saklanma yerleri açıklanmaktadır. Günlük depolama dosyası Günlük kaynağı Tanım /var/ossec/logs/ossec.log Dahili Wazuh sunucusu tarafından oluşturulan tüm bilgi düzeyindeki günlükleri depolar. /var/ossec/logs/api.log Dahili Wazuh uygulamasının Wazuh sunucu API'leriyle etkileşimi sırasında oluşturulan günlükleri depolar. /var/ossec/logs/cluster.log Dahili Wazuh kümesinin faaliyetleri tarafından oluşturulan günlükleri depolar. /var/ossec/logs/integrations.log Dahili Üçüncü taraf uygulamalar ve sistemlerle arayüz oluştururken Wazuh entegrasyon modülü tarafından oluşturulan günlükleri depolar. /var/ossec/logs/active-responses.log Dahili Wazuh Active Response modülü tarafından oluşturulan günlükleri depolar. /var/ossec/logs/firewall/firewall.log Dahili Güvenlik duvarı tarafından oluşturulan günlükleri depolar. /var/ossec/logs/archives/archives.log Harici Üçüncü taraf uygulama ve sistemlerden alınan günlükleri düz metin olarak depolar. /var/ossec/logs/archives/archives.json Harici Üçüncü taraf uygulamalardan ve sistemlerden alınan günlükleri JSON biçiminde depolar. Günlük Sıkıştırma ve Döndürme Günlük dosyaları bir sistemde önemli disk alanı biriktirebilir ve tüketebilir. Bunu önlemek için Wazuh yöneticisi, günlükleri döndürme işlemi sırasında sıkıştırarak disk kullanımını verimli bir şekilde yönetmeye ve sistem performansını korumaya yardımcı olur. Wazuh yöneticisi günlük dosyalarını günlük olarak veya belirli bir eşiğe (dosya boyutu, yaş, zaman ve daha fazlası) ulaştıklarında sıkıştırır ve arşivler. Günlük döndürme işleminde Wazuh, sürekli olarak yeni olaylar yazmak için orijinal adla yeni bir günlük dosyası oluşturur. /var/ossec/logs/ Günlük dosyaları günlük olarak sıkıştırılır ve MD5, SHA1 ve SHA256 karma algoritmaları kullanılarak dijital olarak imzalanır. Sıkıştırılmış günlük dosyaları, aşağıdaki biçime göre isimler taşıyan iç içe dizinler içindeki dizinde saklanır : Orijinal günlük dosyasının adını belirten . log   file   name year İçinde bulunulan yılın adını belirten . month Yılın o anki ayının adını belirten . Örneğin,  /var/ossec/logs/archives/archives.log sıkıştırılmış bir dosya dizinde saklanır . Aşağıdaki komutu çalıştırarak dizinin içeriğini görebilirsiniz: 13th   APR,   2024 …/archives/2024/Apr/ ls -la /var/ossec/logs/archives/2024/Apr/ Output total 0 drwxr-x--- 2 wazuh wazuh 62 Apr 17 08:15 . drwxr-x--- 4 wazuh wazuh 28 Apr 12 07:30 .. -rw-r----- 1 wazuh wazuh 0 Apr 13 00:00 ossec-archive-13.log.gz -rw-r----- 1 wazuh wazuh 0 Apr 13 00:00 ossec-archive-13.log.sum Yukarıdaki çıktıda görüldüğü gibi, sıkıştırılmış dosyanın adına ve onun sağlama toplamına sırasıyla dize ve sonek eklenir. Yukarıdaki çıktıda görüldüğü gibi, sıkıştırılmış dosyanın adının ve sağlama toplamının başına ossec dizesi ve   day   of   the   current   month  son eki sırasıyla eklenir ve eklenir. İhtiyaçlarınıza bağlı olarak, sıkıştırılmış dosyaları belirli bir süre sonra kaldırılmak üzere yapılandırabilirsiniz. Ayrıca, daha uzun süreli saklama için günlük yönetim sistemlerine, yedekleme sunucularına veya bulut tabanlı depolama aygıtlarına taşıyabilirsiniz. Olay Günlüklerinin Arşivlenmesi Olaylar, uygulamalar, uç noktalar ve ağ cihazları tarafından oluşturulan günlüklerdir. Wazuh sunucusu, bir kuralı tetikleyip tetiklemediklerine bakılmaksızın aldığı tüm olayları depolar. Bu olaylar,  /var/ossec/logs/archives/archives.log ve adresinde bulunan Wazuh arşivlerinde depolanır  /var/ossec/logs/archives/archives.json . Güvenlik ekipleri, güvenlik olaylarının geçmiş verilerini incelemek, eğilimleri analiz etmek ve tehditleri avlamak için raporlar oluşturmak amacıyla arşivlenmiş günlükleri kullanır. Varsayılan olarak, Wazuh arşivleri devre dışıdır çünkü günlükleri Wazuh sunucusunda süresiz olarak depolar. Etkinleştirildiğinde, Wazuh yöneticisi uyumluluk ve adli amaçlar için güvenlik verilerini depolamak ve saklamak üzere arşivlenmiş dosyalar oluşturur. Not   Wazuh arşivleri, izlenen tüm uç noktalardan toplanan günlükleri tutar, bu nedenle zamanla Wazuh sunucusunda önemli depolama kaynakları tüketir. Bu nedenle, bunları etkinleştirmeden önce disk alanı ve performans üzerindeki etkiyi göz önünde bulundurmak önemlidir. Arşivlemeyi Etkinleştirme Wazuh sunucunuzda arşivlemeyi etkinleştirmek için aşağıdaki adımları izleyin. Wazuh yöneticisi yapılandırma dosyasını düzenleyin  /var/ossec/etc/ossec.conf ve aşağıda vurgulanan alanların değerini şu şekilde ayarlayın  yes : yes yes yes yes ... Nerede: tüm günlük iletilerinin arşivlenmesini etkinleştirir veya devre dışı bırakır. Etkinleştirildiğinde, Wazuh sunucusu günlükleri bir syslog biçiminde depolar. İzin verilen değerler  yes ve ' dir  no . olayların günlüğe kaydedilmesini etkinleştirir veya devre dışı bırakır. Etkinleştirildiğinde, Wazuh sunucusu olayları bir JSON biçiminde depolar. İzin verilen değerler  yes ve ' dir  no . İstediğiniz biçime bağlı olarak, vurgulanan alanlardan bir veya her iki değeri de olarak ayarlayabilirsiniz  yes . Ancak, yalnızca bu  yes seçenek Wazuh panosundaki olayları görselleştirmek için kullanılabilecek bir dizin oluşturmanıza olanak tanır. Yapılandırma değişikliklerini uygulamak için Wazuh yöneticisini yeniden başlatın: systemctl restart wazuh-manager Seçtiğiniz formata bağlı olarak, dosya  archives.log , , veya her ikisi de Wazuh sunucusundaki dizinde  archives.json oluşturulacaktır . /var/ossec/logs/archives/ Wazuh varsayılan bir günlük döndürme politikası kullanır. Günlükleri günlük, aylık ve yıllık bazda döndürerek ve sıkıştırarak kullanılabilir disk alanının korunmasını sağlar. Dashboard'daki Olayların Görselleştirilmesi Filebeat yapılandırma dosyasını düzenleyin ve from  /etc/filebeat/filebeat.yml değerini şu şekilde değiştirin : archives:   enabled false true archives: enabled: true Yapılandırma değişikliklerini uygulamak için Filebeat'i yeniden başlatın: systemctl restart filebeat Wazuh Dashboard Ana menüyü açmak için sol üst menü simgesine tıklayın.  Pano yönetimi'ni genişletin ve  Pano yönetimi  >  Dizin desenleri'ne  gidin . Sonra,  Dizin deseni oluştur'a  tıklayın . Dizin deseni adı olarak kullanın  wazuh-archives-* ve  Zaman alanı  açılır listesinde  timestamp ayarlayın . Aşağıdaki GIF, endeks deseninin nasıl oluşturulacağını göstermektedir. Gösterge tablosundaki etkinlikleri görüntülemek için sol üst menü simgesine tıklayın ve  Keşfet'e  gidin . Dizin desenini olarak değiştirin  wazuh-archives-* . Use Case: İmzalanmış İkili Proxy Yürütmeyi Algılama T1218.010 İmzalanmış ikili proxy yürütme, tehdit aktörlerinin kötü amaçlı kod çalıştırmak için güvenilir ikili dosyaları kullanarak uygulama beyaz listesini atlatmak için kullandıkları bir tekniktir. Bu teknik , MITRE ATT&CK çerçevesine dayalı olarak tanımlanmıştır . Bu kullanım örneğinde,  regsvr32.exe uygulama denetimlerini atlatmak için Windows yardımcı programı 'nın nasıl kötüye kullanılacağını gösteriyoruz. Daha sonra bu teknikle ilgili şüpheli etkinliği tespit etmek için Wazuh arşivlerindeki olayları analiz ediyoruz. Windows 11 Yapılandırması Windows 11 uç noktasına Sysmon ve Atomic Red Team'i (ART) yüklemek ve imzalanmış ikili proxy yürütme tekniğini taklit etmek için aşağıdaki adımları uygulayın. Sysmon Entegrasyonu Windows 11 uç noktasına Sysmon'ı yüklemek ve yapılandırmak için aşağıdaki adımları uygulayın. Sysmon'ı Microsoft Sysinternals sayfasından  indirin . Sysmon yapılandırma dosyasını indirin:  sysmonconfig.xml  . İndirilen yapılandırma dosyasıyla PowerShell'i yönetici olarak kullanarak Sysmon'u yükleyin: > .\sysmon64.exe -accepteula -i .\sysmonconfig.xml Sysmon günlüklerinin toplanacağı konumu belirtmek için  Wazuh aracı dosyasına blok içinde aşağıdaki yapılandırmayı ekleyin : C:\Program   Files   (x86)\ossec-agent\ossec.conf Microsoft-Windows-Sysmon/Operational eventchannel Değişiklikleri uygulamak için Wazuh aracısını yeniden başlatın ve aşağıdaki PowerShell komutunu yönetici olarak çalıştırın: > Restart-Service -Name Wazuh Atomic Red Team Kurulumu PowerShell'i yönetici olarak kullanarak Windows 11 uç noktasına Atomic Red Team PowerShell modülünü yüklemek için aşağıdaki adımları uygulayın. Varsayılan olarak, PowerShell çalışan betiklerin yürütülmesini kısıtlar. Varsayılan yürütme politikasını şu şekilde değiştirmek için aşağıdaki komutu çalıştırın  RemoteSigned : > Set-ExecutionPolicy RemoteSigned ART yürütme çerçevesini yükleyin: > IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing); > Install-AtomicRedTeam -getAtomics Fonksiyonu kullanmak için ART modülünü içe aktarın  Invoke-AtomicTest : > Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force Invoke-AtomicTest Tekniğin ayrıntılarını göstermek için fonksiyonu kullanın  T1218.010 : > Invoke-AtomicTest T1218.010 -ShowDetailsBrief Output PathToAtomicsFolder = C:\AtomicRedTeam\atomics T1218.010-1 Regsvr32 local COM scriptlet execution T1218.010-2 Regsvr32 remote COM scriptlet execution T1218.010-3 Regsvr32 local DLL execution T1218.010-4 Regsvr32 Registering Non DLL T1218.010-5 Regsvr32 Silent DLL Install Call DllRegisterServer Saldırı Emülasyonu Windows 11 uç noktasında imzalı ikili proxy yürütme tekniğini taklit edin. Testi gerçekleştirmek için aşağıdaki komutu Powershell'i yönetici olarak çalıştırın  T1218.010 : > Invoke-AtomicTest T1218.010 Output PathToAtomicsFolder = C:\AtomicRedTeam\atomics Executing test: T1218.010-1 Regsvr32 local COM scriptlet execution Done executing test: T1218.010-1 Regsvr32 local COM scriptlet execution Executing test: T1218.010-2 Regsvr32 remote COM scriptlet execution Done executing test: T1218.010-2 Regsvr32 remote COM scriptlet execution Executing test: T1218.010-3 Regsvr32 local DLL execution Done executing test: T1218.010-3 Regsvr32 local DLL execution Executing test: T1218.010-4 Regsvr32 Registering Non DLL Done executing test: T1218.010-4 Regsvr32 Registering Non DLL Executing test: T1218.010-5 Regsvr32 Silent DLL Install Call DllRegisterServer Done executing test: T1218.010-5 Regsvr32 Silent DLL Install Call DllRegisterServer Exploitin başarılı bir şekilde yürütülmesinin ardından birkaç hesap makinesi örneği açılacaktır. Wazuh Dashboard Wazuh arşivlerini, avlanan teknikle ilgili olayları sorgulamak ve görüntülemek için kullanın. Arşivlere danışırken bazı olayların Wazuh panosunda uyarı olarak yakalanmış olabileceğini unutmamak önemlidir. Algılama yapılmayan uyarılar ve olaylar dahil olmak üzere Wazuh arşivlerinden gelen bilgileri kullanarak özel gereksinimlerinize göre özel kurallar oluşturabilirsiniz. Testin gerçekleştirildiği son beş dakika içinde meydana gelen olayları görüntülemek için bir zaman aralığı filtresi uygulayın.  agent.id ,  agent.ip veya kullanarak belirli Windows uç noktasından günlükleri görüntülemek için filtre uygulayın  agent.name . Daha önceki saldırı emülasyonuyla bir korelasyon belirlemek için inceleyebileceğiniz birden fazla isabet vardır. Örneğin, test sırasında Windows uç noktasında gözlemlenene benzer bir hesap makinesi oluşturma olayı fark edebilirsiniz. regsvr32 Olaylarla ilgili işlemleri kolaylaştırmak ve araştırmak için arama çubuğuna yazın  regsvr32 . İlgili alanları görüntülemek için herhangi bir olayı genişletin. Arşivlenmiş günlüklerin JSON formatını görüntülemek için JSON sekmesine tıklayın. Komutlar, hizmetler, yollar ve daha fazlası gibi etkinliklere ilişkin belirli ayrıntıları JSON günlüğünden çıkarabilir ve doğrulayabilirsiniz. Aşağıda, ilk işlem oluşturmayı ve yürütülen komutla ilgili öznitelikleri tanımlayabilirsiniz: "data": { "win": { "eventdata": { "originalFileName": "REGSVR32.EXE", "image": "C:\\\\Windows\\\\SysWOW64\\\\regsvr32.exe", "product": "Microsoft® Windows® Operating System", "parentProcessGuid": "{45cd4aff-35fc-6463-6903-000000001300}", "description": "Microsoft(C) Register Server", "logonGuid": "{45cd4aff-2ce5-6463-2543-290000000000}", "parentCommandLine": "C:\\\\Windows\\\\system32\\\\regsvr32.exe /s /i C:\\\\AtomicRedTeam\\\\atomics\\\\T1218.010\\\\bin\\\\AllTheThingsx86.dll", "processGuid": "{45cd4aff-35fc-6463-6a03-000000001300}", "logonId": "0x294325", "parentProcessId": "7652", "processId": "4064", "currentDirectory": "C:\\\\Users\\\\THECOT~1\\\\AppData\\\\Local\\\\Temp\\\\", "utcTime": "2023-05-16 07:51:24.512", "hashes": "SHA1=8E2C6B7F92A560E0E856F8533D62A1B10797828F,MD5=5F7264BD237FAEA46FB240785B78AFAC,SHA256=D9BE711BE2BF88096BB91C25DF775D90B964264AB25EC49CF04711D8C1F089F6,IMPHASH=73F03653209E82368127EB826216A6AD", "parentImage": "C:\\\\Windows\\\\System32\\\\regsvr32.exe", "ruleName": "technique_id=T1117,technique_name=Regsvr32", "company": "Microsoft Corporation", "commandLine": " /s /i C:\\\\AtomicRedTeam\\\\atomics\\\\T1218.010\\\\bin\\\\AllTheThingsx86.dll", "integrityLevel": "High", "fileVersion": "10.0.22621.1 (WinBuild.160101.0800)", "user": "Windows11\\\\Testuser", "terminalSessionId": "2", "parentUser": "Windows11\\\\Testuser" }, "system": { "eventID": "1", "keywords": "0x8000000000000000", "providerGuid": "{5770385f-c22a-43e0-bf4c-06f5698ffbd9}", "level": "4", "channel": "Microsoft-Windows-Sysmon/Operational", "opcode": "0", "message": "\"Process Create:\r\nRuleName: technique_id=T1117,technique_name=Regsvr32\r\nUtcTime: 2023-05-16 07:51:24.512\r\nProcessGuid: {45cd4aff-35fc-6463-6a03-000000001300}\r\nProcessId: 4064\r\nImage: C:\\Windows\\SysWOW64\\regsvr32.exe\r\nFileVersion: 10.0.22621.1 (WinBuild.160101.0800)\r\nDescription: Microsoft(C) Register Server\r\nProduct: Microsoft® Windows® Operating System\r\nCompany: Microsoft Corporation\r\nOriginalFileName: REGSVR32.EXE\r\nCommandLine: /s /i C:\\AtomicRedTeam\\atomics\\T1218.010\\bin\\AllTheThingsx86.dll\r\nCurrentDirectory: C:\\Users\\THECOT~1\\AppData\\Local\\Temp\\\r\nUser: Windows11\\Testuser\r\nLogonGuid: {45cd4aff-2ce5-6463-2543-290000000000}\r\nLogonId: 0x294325\r\nTerminalSessionId: 2\r\nIntegrityLevel: High\r\nHashes: SHA1=8E2C6B7F92A560E0E856F8533D62A1B10797828F,MD5=5F7264BD237FAEA46FB240785B78AFAC,SHA256=D9BE711BE2BF88096BB91C25DF775D90B964264AB25EC49CF04711D8C1F089F6,IMPHASH=73F03653209E82368127EB826216A6AD\r\nParentProcessGuid: {45cd4aff-35fc-6463-6903-000000001300}\r\nParentProcessId: 7652\r\nParentImage: C:\\Windows\\System32\\regsvr32.exe\r\nParentCommandLine: C:\\Windows\\system32\\regsvr32.exe /s /i C:\\AtomicRedTeam\\atomics\\T1218.010\\bin\\AllTheThingsx86.dll\r\nParentUser: Windows11\\Testuser\"", "version": "5", "systemTime": "2023-05-16T07:51:24.5131006Z", "eventRecordID": "88509", "threadID": "3960", "computer": "Windows11", "task": "1", "processID": "3156", "severityValue": "INFORMATION", "providerName": "Microsoft-Windows-Sysmon" } } }, Diğer ilgili olaylar üzerinde daha fazla araştırma yaparak, regsvr32 yardımcı programı tarafından oluşturulan bir işlem enjeksiyon olayını ve yüklenen görüntüyü görebilirsiniz: "data": { "win": { "eventdata": { "originalFileName": "mscoree.dll", "image": "C:\\\\Windows\\\\SysWOW64\\\\regsvr32.exe", "product": "Microsoft® Windows® Operating System", "signature": "Microsoft Windows", "imageLoaded": "C:\\\\Windows\\\\SysWOW64\\\\mscoree.dll", "description": "Microsoft .NET Runtime Execution Engine", "signed": "true", "signatureStatus": "Valid", "processGuid": "{45cd4aff-35fc-6463-6a03-000000001300}", "processId": "4064", "utcTime": "2023-05-16 07:51:24.774", "hashes": "SHA1=52A6AB3E468C4956C00707DF80C7609EEE74D9AD,MD5=BEE4D173DA78E4D3AC9B54A95C6A464A,SHA256=36B0BA10BBB6575CA4A4CBDE585F6E19B86B3A80014B3C3D8335F861D8AEBFAB,IMPHASH=47F306C12509ADBBC266F7DA43529A4D", "ruleName": "technique_id=T1055,technique_name=Process Injection", "company": "Microsoft Corporation", "fileVersion": "10.0.22621.1 (WinBuild.160101.0800)", "user": "Windows11\\\\Testuser" }, "system": { "eventID": "7", "keywords": "0x8000000000000000", "providerGuid": "{5770385f-c22a-43e0-bf4c-06f5698ffbd9}", "level": "4", "channel": "Microsoft-Windows-Sysmon/Operational", "opcode": "0", "message": "\"Image loaded:\r\nRuleName: technique_id=T1055,technique_name=Process Injection\r\nUtcTime: 2023-05-16 07:51:24.774\r\nProcessGuid: {45cd4aff-35fc-6463-6a03-000000001300}\r\nProcessId: 4064\r\nImage: C:\\Windows\\SysWOW64\\regsvr32.exe\r\nImageLoaded: C:\\Windows\\SysWOW64\\mscoree.dll\r\nFileVersion: 10.0.22621.1 (WinBuild.160101.0800)\r\nDescription: Microsoft .NET Runtime Execution Engine\r\nProduct: Microsoft® Windows® Operating System\r\nCompany: Microsoft Corporation\r\nOriginalFileName: mscoree.dll\r\nHashes: SHA1=52A6AB3E468C4956C00707DF80C7609EEE74D9AD,MD5=BEE4D173DA78E4D3AC9B54A95C6A464A,SHA256=36B0BA10BBB6575CA4A4CBDE585F6E19B86B3A80014B3C3D8335F861D8AEBFAB,IMPHASH=47F306C12509ADBBC266F7DA43529A4D\r\nSigned: true\r\nSignature: Microsoft Windows\r\nSignatureStatus: Valid\r\nUser: Windows11\\Testuser\"", "version": "3", "systemTime": "2023-05-16T07:51:24.7768916Z", "eventRecordID": "88510", "threadID": "3960", "computer": "Windows11", "task": "7", "processID": "3156", "severityValue": "INFORMATION", "providerName": "Microsoft-Windows-Sysmon" } } }, data.win.eventdata.ruleName:technique_id=T1218.010,technique_name=Regsvr32 Teknik kimliğini görmek için aşağıda gösterilen filtreyi uygulayın. İlgili alanları görüntülemek için olayı genişletin. Arşivlenmiş günlüklerin JSON formatını görüntülemek için JSON sekmesine tıklayın. Aşağıdaki kayıttan, olayı analiz etmeyi kolaylaştıran daha yapılandırılmış ayrıntılar çıkarabilirsiniz: "data": { "win": { "eventdata": { "destinationPort": "443", "image": "C:\\\\Windows\\\\System32\\\\regsvr32.exe", "sourcePort": "63754", "initiated": "true", "destinationIp": "1.1.123.23", "protocol": "tcp", "processGuid": "{45cd4aff-36b5-645a-9e07-000000000e00}", "sourceIp": "192.168.43.16", "processId": "4704", "utcTime": "2023-05-09 21:19:25.361", "ruleName": "technique_id=T1218.010,technique_name=Regsvr32", "destinationIsIpv6": "false", "user": "Windows11\\\\Testuser", "sourceIsIpv6": "false" }, "system": { "eventID": "3", "keywords": "0x8000000000000000", "providerGuid": "{5770385f-c22a-43e0-bf4c-06f5698ffbd9}", "level": "4", "channel": "Microsoft-Windows-Sysmon/Operational", "opcode": "0", "message": "\"Network connection detected:\r\nRuleName: technique_id=T1218.010,technique_name=Regsvr32\r\nUtcTime: 2023-05-09 21:19:25.361\r\nProcessGuid: {45cd4aff-36b5-645a-9e07-000000000e00}\r\nProcessId: 4704\r\nImage: C:\\Windows\\System32\\regsvr32.exe\r\nUser: Windows11\\Testuser\r\nProtocol: tcp\r\nInitiated: true\r\nSourceIsIpv6: false\r\nSourceIp: 192.168.43.16\r\nSourceHostname: -\r\nSourcePort: 63754\r\nSourcePortName: -\r\nDestinationIsIpv6: false\r\nDestinationIp: 185.199.108.133\r\nDestinationHostname: -\r\nDestinationPort: 443\r\nDestinationPortName: -\"", "version": "5", "systemTime": "2023-05-09T12:04:07.0231156Z", "eventRecordID": "63350", "threadID": "3096", "computer": "Windows11", "task": "3", "processID": "3156", "severityValue": "INFORMATION", "providerName": "Microsoft-Windows-Sysmon" } } }, Algılama mantığını geliştirmek ve özel kod çözücüler ve kurallar yazmak için Wazuh arşivlerinden gelen olayları kullanabilirsiniz. Ayrıca wazuh-logtest , kuralları sağlanan günlüklere göre test etmek ve doğrulamak için hazır aracı da kullanabilirsiniz. Harici API entegrasyonu Wazuh Integrator modülü, Wazuh'un Slack , PagerDuty , VirusTotal , Shuffle ve Maltiverse gibi harici API'lere ve uyarı araçlarına bağlanmasını sağlar . Integrator modülünü diğer yazılımlara bağlanacak şekilde de yapılandırabilirsiniz. Bu entegrasyonlar, güvenlik yöneticilerinin orkestrasyonu geliştirmesini, yanıtları otomatikleştirmesini ve siber tehditlere karşı savunmalarını güçlendirmesini sağlar. Yapılandırma Bir entegrasyonu yapılandırmak için Wazuh sunucusundaki /var/ossec/etc/ossec.conf dosyasındaki içindeki aşağıdaki yapılandırmayı ekleyin : json Nerede: entegre edilecek hizmetin adını belirtir. İzin verilen değerler  slack ,  pagerduty ,  virustotal ,  shuffle , ' dir  maltiverse . Özel entegrasyonlar için, ad ile başlayan herhangi bir dize olmalıdır  custom- . entegre edilen yazılımla iletişim için kullanılan URL'dir. Slack, Shuffle ve Maltiverse entegrasyonları için zorunludur. PagerDuty, VirusTotal veya Maltiverse API'sinden almış olacağınız anahtardır. Bu PagerDuty, VirusTotal ve Maltiverse için zorunludur. uyarı dosyasını JSON biçiminde yazar. Integrator modülü, alan değerlerini almak için bu uyarı dosyasını kullanır. İzin verilen değer  json . kural kimliğine göre uyarıları filtreler. İzin verilen değerler virgülle ayrılmış kural kimlikleridir. 0 uyarıları kural düzeyine göre filtreler, böylece yalnızca belirtilen düzey veya üstündeki uyarılar gönderilir. İzin verilen değer, ile arasındaki herhangi bir uyarı düzeyidir  16 . uyarıları kural grubuna göre filtreler. VirusTotal entegrasyonu için yalnızca syscheck grubundan kurallar kullanılabilir. İzin verilen değerler herhangi bir kural grubu veya virgülle ayrılmış kural gruplarıdır. uyarıları olayın nereden kaynaklandığına göre filtreler. İzin verilen değer herhangi bir sregex ifadesidir. JSON nesnesinde sağlanan bilgilere göre önceki alanların üzerine yazar veya özelleştirme alanları ekler. İzin verilen değer json'dur. Not:  Yapılandırma dosyasında herhangi bir değişiklik yaptığınızda Wazuh yöneticisini yeniden başlatın. Bu, değişikliklerin etkili olmasını sağlayacaktır. Aşağıdaki komutla komut satırı arayüzü üzerinden Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart İsteğe Bağlı Filtreler Wazuh Integrator modülü, hangi uyarıların harici platformlara gönderileceğini belirlemek için isteğe bağlı filtre alanlarını kullanır. Yalnızca filtre koşullarını karşılayan uyarılar gönderilir. Hiçbir filtre belirtilmezse, tüm uyarılar gönderilir. Filtreler ayarlanırken aşağıdaki hususlara dikkat edilmelidir: Virgülle ayrılmış liste etiketini kullanarak birden fazla grup adı belirtmek mümkündür  . Uyarının grubu listedeki gruplardan herhangi biriyle eşleşirse uyarı gönderilir, aksi takdirde yok sayılır. Virgülle ayrılmış liste etiketini kullanarak birden fazla kural kimliği belirtmek mümkündür  . Uyarı, uyarının kural kimliği listedeki herhangi bir kimlikle eşleşirse gönderilir, aksi takdirde yok sayılır. Daha önce açıklanan alanları birlikte belirtmek mümkündür. Uyarı, hem uyarının kural kimliği hem de grubu listelerdeki kimliklerden ve gruplardan herhangi biriyle eşleşirse gönderilir, aksi takdirde yok sayılır. Not:  Yukarıda belirtilen grup ve kural tanımlayıcılarının dikkatlice kontrol edilmesi önerilir, çünkü bunların yanlış tanımlanması entegrasyona beklenen uyarıların gönderilmemesine neden olacaktır. Slack Slack, kuruluşlar içinde iletişimi ve ekip çalışmasını kolaylaştıran bulut tabanlı bir işbirliği platformudur. Bu entegrasyon, Slack gelen webhook'larını kullanır ve güvenlik uzmanlarının gerçek zamanlı uyarıları doğrudan belirlenmiş kanallar içinde almalarını sağlar. Bu entegrasyonu kurmak için aşağıdaki adımları izleyin: Gelen webhook'ları etkinleştirin ve Slack kanalınız için bir tane oluşturun. Bunun için  gelen webhook'lar  hakkındaki Slack rehberini izleyin . Aşağıdaki yapılandırmayı  /var/ossec/etc/ossec.conf Wazuh sunucusundaki dosyaya ekleyin.  Gelen webhook'unuzla değiştirin. slack json Not:   Seçenekler  etiketini kullanarak özelleştirme alanlarıyla bir JSON nesnesi ayarlayabilirsiniz . Kullanılabilir özelleştirme alanları hakkında bilgi için  Slack API referansını ziyaret edin.   Değişiklikleri uygulamak için Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Yapılandırma tamamlandıktan sonra seçili kanalda uyarılar gösterilmeye başlanır. PagerDuty PagerDuty,  BT departmanları için uygun bir SaaS olay müdahale platformudur. PagerDuty, programlara ve yükseltme politikalarına göre uyarıları doğru kişilere veya ekiplere yükselterek olay müdahale iş akışlarını yürütür. PagerDuty entegrasyonu, Wazuh uyarılarını Olay Pano'suna iletmek için PagerDuty API'sini kullanır. Bu entegrasyonu kurmak için aşağıdaki adımları izleyin: Yeni bir PagerDuty servisi  oluşturarak Events API v2 entegrasyon anahtarınızı edinin . Aşağıdaki yapılandırmayı  /var/ossec/etc/ossec.conf Wazuh sunucusundaki dosyaya ekleyin.  PAGERDUTY_API_KEY PagerDuty entegrasyon anahtarınızla değiştirin. Kural düzeyi filtresi isteğe bağlıdır ve bunu kaldırabilir veya entegrasyon için başka bir düzey değeri ayarlayabilirsiniz. pagerduty 10 json Not:   Seçenekler  etiketini kullanarak özelleştirme alanlarıyla bir JSON nesnesi ayarlayabilirsiniz . Kullanılabilir özelleştirme alanları hakkında bilgi için  PagerDuty API referansını ziyaret edin.   Değişiklikleri uygulamak için Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Yapılandırma tamamlandıktan sonra Pagerduty panosunda uyarılar gösterilmeye başlar. VirusTotal VirusTotal  , virüsleri, solucanları, truva atlarını ve diğer kötü amaçlı içerikleri tespit etmek için dosyaları ve URL'leri analiz eden bir çevrimiçi hizmettir. Bu entegrasyon, VirusTotal veritabanını kullanarak kötü amaçlı dosyaların incelenmesine olanak tanır. Bununla ilgili daha fazla bilgiyi  VirusTotal entegrasyon  bölümünde bulabilirsiniz. Bu entegrasyonu kurmak için şu adımları izleyin: API anahtarınızı  VirusTotal API anahtarı  sayfasından alın. /var/ossec/etc/ossec.conf Wazuh sunucusunda düzenleme yapın ve aşağıdaki gibi bir yapılandırma bloğu ekleyin.  VirusTotal API anahtarınızla değiştirin. virustotal syscheck json Değişiklikleri uygulamak için Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Shuffle Shuffle,  SOAR'ın açık kaynaklı bir yorumudur. Tak ve çalıştır uygulamalarıyla kuruluş genelinde veri aktarımı yapar. Shuffle entegrasyonu, bir  webhook  kullanarak Wazuh uyarılarının bir Shuffle İş Akışına iletilmesine olanak tanır . Bu entegrasyonu kurmak için aşağıdakileri yapın: Shuffle'a gidin, E-posta uygulamasını kullanarak bir İş Akışı oluşturun ve sürümü seçin. E-posta yapılandırmasında  Alıcıları  ve  Konuyu  ayarlayın .  $exec Uyarı bilgilerini eklemek için Gövde'ye koyun. İş Akışına bir webhook ekleyin. Webhook'u başlatın ve webhook URL'sini kopyalayın. /var/ossec/etc/ossec.conf Wazuh sunucusunda düzenleme yapın ve aşağıdaki gibi bir yapılandırma bloğu ekleyin. Shuffle webhook ID ile değiştirin  . Kural düzeyi filtresi isteğe bağlıdır. Bunu kaldırabilir veya entegrasyon için başka bir düzey değeri ayarlayabilirsiniz. shuffle https://shuffler.io/api/v1/hooks/ 3 json Not:   Seçenekler  etiketini kullanarak özelleştirme alanlarıyla bir JSON nesnesi ayarlayabilirsiniz . Kullanılabilir özelleştirme alanları hakkında bilgi için  Shuffle API referansını ziyaret edin.   Değişiklikleri uygulamak için Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma  service wazuh-manager restart Yapılandırma tamamlandıktan sonra e-posta gelen kutunuzda uyarılar gösterilmeye başlar. Maltiverse Maltiverse,  Tehlike Göstergelerini (IoC'ler) dizinlemek ve aramak için açık kaynaklı ve işbirlikçi bir platformdur. Yüzden fazla genel, özel ve topluluk tehdit istihbarat kaynağından bilgi toplar. Bu entegrasyon, Maltiverse API aracılığıyla Wazuh uyarılarındaki IoC'leri tanımlar. Maltiverse verileriyle zenginleştirilmiş yeni uyarılar üretir. Maltiverse veri alanları, ECS standardının (Elastic Common Schema) tehdit sınıflandırmasına dayanır. Bu entegrasyonu kurmak için aşağıdaki adımları izleyin: API anahtarınızı  Maltiverse  sayfasından alın. /var/ossec/etc/ossec.conf Wazuh sunucusunda düzenleme yapın ve aşağıdaki gibi bir yapılandırma bloğu ekleyin.  Maltiverse API anahtarınızla değiştirin. Kural düzeyi filtresi isteğe bağlıdır. Bunu kaldırabilir veya entegrasyon için başka bir düzey değeri ayarlayabilirsiniz. maltiverse https://api.maltiverse.com 3 json Değişiklikleri uygulamak için Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Yapılandırma tamamlandıktan sonra, varsa zenginleştirilmiş uyarılar Wazuh Pano'sunda gösterilmeye başlar. Özel Entegrasyon Wazuh Integrator modülü, Wazuh'u diğer harici yazılımlarla bağlar. Bu, Wazuh uyarı sisteminin entegrasyon betikleri aracılığıyla yazılım ürünlerinin API'leriyle entegre edilmesiyle elde edilir. /var/ossec/etc/ossec.conf Aşağıda özel entegrasyon için dosyadaki bir yapılandırma bloğunun örneği verilmiştir . custom-integration 10 multiple_drops,authentication_failures json {"data": "Custom data"} Yer değiştirmek: harici uygulamanın webhook URL'si ile. harici uygulamanın API anahtarı ile. Entegrasyon Betiği Oluşturma Entegrasyon betiği oluştururken aşağıdaki talimatları izlemeniz önerilir: /var/ossec/integrations/ Yapılandırma bloğunda belirtilen adla aynı adı taşıyan betiği Wazuh sunucusundaki dizinde oluşturun . Komut dosyası yürütme izinleri içermeli ve  root grubun kullanıcısına ait olmalıdır  wazuh . Aşağıdaki komutlar  /var/ossec/integrations/custom-script komut dosyasına izinler ve sahiplik atar. chmod 750 /var/ossec/integrations/custom-script chown root:wazuh /var/ossec/integrations/custom-script Entegrasyon betiğinin ilk satırı yorumlayıcısını belirtmelidir, aksi takdirde Wazuh betiği nasıl okuyacağını ve çalıştıracağını bilemez. Aşağıdaki örnek satır Python yorumlayıcısını belirtir: #!/usr/bin/env python Komut dosyası aşağıdaki argümanları kontrol eder çünkü onlardan yapılandırma seçenekleri alacaktır. İlk parametre uyarıyı içeren dosyanın konumunu içerir. Parametre  /logs/alerts/alerts.json Wazuh Integrator modülünde varsayılan olarak geçirilen dosyadır: alert_file = open(sys.argv[1]) api_key İkinci parametre, blokta tanımlanan seçenek olan API anahtarını içerir  : api_key = sys.argv[2] hook_url Üçüncü parametre, blokta tanımlanan seçenek olan webhook URL'sini içerir  : hook_url = sys.argv[3] Yukarıdakilerden hiçbiri belirtilmezse parametreler boş alınacaktır. İlk parametrede belirtilen dosyanın içeriğini okuyun ve uyarıdan entegrasyon için ilgili alanları çıkarın. Seçenekte JSON kullanılmışsa  alert_format , bilginin bir JSON nesnesi olarak yüklenmesi gerekir. alert_level = alert_json['rule']['level'] ruleid = alert_json['rule']['id'] description = alert_json['rule']['description'] agentid = alert_json['agent']['id'] agentname = alert_json['agent']['name'] path = alert_json['syscheck']['path'] /logs/alerts/alerts.json Entegrasyon betiğinin geliştirilmesine başlamadan önce, yorumlanacak uyarıların formatını bulmak için dosyayı kontrol etmenizi öneririz . Indexer Entegrasyonu Dizinleyici entegrasyonu, verileri Wazuh yöneticisinden Wazuh dizinleyicisine veya üçüncü taraf dizinleyicilere ileten veri ileticilerini tanımlar. Wazuh Indexer Bu entegrasyon, Wazuh yöneticisi ile Wazuh dizinleyicisi arasında bir köprü sağlar. Verileri dizinleme için Wazuh yöneticisinden Wazuh dizinleyicisine iletir. Wazuh dizinleyici entegrasyonu iki ileticiden oluşur: Filebeat ve Wazuh dizinleyici bağlayıcısı . Filebeat Bu bileşen, Wazuh yöneticisi tarafından işlenen uyarıları ve arşivlenmiş olayları indeksleme ve depolama için Wazuh indeksleyicisine güvenli bir şekilde iletmek üzere tasarlanmış hafif bir veri taşıyıcısıdır. Wazuh analiz motorunun çıktısını okur ve olayları gerçek zamanlı olarak gönderir. Yapılandırma Aşağıdaki kod bloğu, Wazuh sunucu dosyasındaki varsayılan Filebeat yapılandırmasını gösterir  /etc/filebeat/filebeat.yml . Bu yapılandırma dosyası, adım adım Wazuh sunucu kurulumu gerçekleştirilirken indirilir. Filebeat'i nasıl indireceğinizi, yapılandıracağınızı ve yükleyeceğinizi öğrenmek için, belgelerdeki  Filebeat'i yapılandırma bölümüne bakın. # Wazuh - Filebeat configuration file output.elasticsearch.hosts: - 127.0.0.1:9200 # - :9200 # - :9200 output.elasticsearch: protocol: https username: ${username} password: ${password} ssl.certificate_authorities: - /etc/filebeat/certs/root-ca.pem ssl.certificate: "/etc/filebeat/certs/wazuh-server.pem" ssl.key: "/etc/filebeat/certs/wazuh-server-key.pem" setup.template.json.enabled: true setup.template.json.path: '/etc/filebeat/wazuh-template.json' setup.template.json.name: 'wazuh' setup.ilm.overwrite: true setup.ilm.enabled: false filebeat.modules: - module: wazuh alerts: enabled: true Archives: logging.level: info logging.to_files: true logging.files: path: /var/log/filebeat name: filebeat keepfiles: 7 permissions: 0644 logging.metrics.enabled: false seccomp: default_action: allow syscalls: - action: allow names: - rseq Nerede: bağlanılacak Wazuh dizinleyici düğümlerinin listesini belirtir. IP adreslerini veya ana bilgisayar adlarını kullanabilirsiniz. Varsayılan olarak, ana bilgisayar localhost, olarak ayarlanmıştır  127.0.0.1:9200 . Bunu uygun şekilde Wazuh dizinleyici adresinizle değiştirin. Birden fazla Wazuh dizinleyici düğümünüz varsa adresleri virgül kullanarak ayırabilirsiniz. bağlantı için kullanılacak protokolü belirtir. Varsayılan değer 'dir  https . İzin verilen değerler  http ve 'dir  https . ve  Wazuh indeksleyicisine güvenli bir şekilde kimlik doğrulaması yapmak için kullanılan ortam değişkenini belirtir. HTTPS sunucu doğrulamaları için kök sertifikalarına giden yolu belirtir. Varsayılan değer 'dir  /etc/filebeat/certs/root-ca.pem . Olası değer herhangi bir geçerli yoldur Filebeat SSL sertifikasına giden yolu belirtir. Varsayılan değer 'dir  /etc/filebeat/certs/wazuh-server.pem . Olası değer herhangi bir geçerli yoldur. Filebeat tarafından kullanılan SSL anahtarının yolunu belirtir. Varsayılan değer 'dir  /etc/filebeat/certs/wazuh-server-key.pem . Olası değer herhangi bir geçerli yoldur. özel şablonların kullanımını etkinleştirir veya devre dışı bırakır. Varsayılan değer  true . şablon JSON dosyasına giden dosya yolunu belirtir. Varsayılan değer 'dir  /etc/filebeat/wazuh-template.json . Olası değer herhangi bir geçerli yoldur. şablonun adını tanımlar. Varsayılan değer  wazuh . olarak ayarlandığında  true , yaşam döngüsü ilkesi başlangıçta üzerine yazılır. Varsayılan değer 'dir  true . oluşturulan herhangi bir yeni endekste endeks yaşam döngüsü yönetimini etkinleştirir veya devre dışı bırakır. Varsayılan değer 'dir  false . Olası geçerli değerler  true ve ' dir  false . Filebeat'in kullanacağı modülleri belirtir. kullanılacak modülü tanımlar. Varsayılan değer  wazuh . uyarıların Wazuh dizinleyicisine iletilmesini etkinleştirir veya devre dışı bırakır. Yapılandırma seçeneği olarak ayarlandığında  ,  true uyarılar Wazuh dizinleyicisine iletilir. Arşiv günlüklerinin işlenip işlenmeyeceğini ve iletileceğini belirleyen yapılandırmaları belirtir. günlük düzeyini tanımlar. Varsayılan değer,  info bilgi günlüklerini temsil eder. Diğer günlük düzeyleri  debug ,  error , ve 'dir  warning . dosyalara günlük kaydını etkinleştirir veya devre dışı bırakır. Varsayılan değer 'dir  true . olarak ayarlandığında  true , filebeat tüm günlükleri bir dosyaya yazar. günlük dosyalarının saklanacağı dizini belirtir. Varsayılan günlük yolu  /var/log/filebeat . günlüklerin depolandığı dosyanın adını belirtir. Varsayılan ad  filebeat . saklanacak yakın zamanda döndürülen günlük dosyalarının sayısını belirtir. Varsayılan değer 'dir . İzin verilen değer ve  7 arasında bir tam sayıdır . 1 1024 günlük dosyaları için dosya izinlerini ayarlar. Varsayılan değer 'dir  0644 , bu da günlük dosyalarının sahibinin bunları okuyabileceği ve yazabileceği, diğerlerinin ise yalnızca okuyabileceği anlamına gelir. dahili ölçümlerin günlüğe kaydedilmesini etkinleştirir veya devre dışı bırakır. Varsayılan değer 'dir  true . Olası değerler  true ve ' dir  false . filebeat işleminin yapabileceği sistem çağrılarının sayısını kısıtlayan bir secomp (güvenli bilgi işlem modu) politikası belirtir. sistem çağrıları için varsayılan eylemi izin verecek şekilde ayarlar. Bu, syscalls listesinde açıkça belirtilmeyen herhangi bir sistem çağrısına varsayılan olarak izin verileceği anlamına gelir. sistem çağrısı adlarının ve karşılık gelen eylemlerin bir listesini tanımlar. listelenen sistem çağrılarından herhangi biri  names yürütüldüğünde gerçekleştirilecek eylemi belirtir. Varsayılan değer 'dir  allow . Diğer değerler  errno ,  trace ,  trap ,  kill_thread ,  kill_process , ve 'dir  log . sistem çağrısı adlarının bir listesini tanımlar. Listede en az bir sistem çağrısı tanımlanmalıdır.  rseq (yeniden başlatılabilir diziler) sistem çağrısı, birden fazla iş parçacığında paylaşılan bellekte kullanıcı alanı işlemlerini hızlandırmak için kullanılır.  rseq  Sistem çağrısına bu yapılandırmada izin verilir. Wazuh Indeksleyici Bağlayıcısı Wazuh dizinleyici bağlayıcısı şu anda Wazuh yöneticisinden güvenlik açığı verilerini alıyor ve güvenli bir şekilde Wazuh dizinleyicisine iletiyor. Güvenlik açığı verilerini Elastic Common Schema'yı (ECS) takip eden JSON formatında alıyor ve veri tutarlılığı ve güvenilirliğini sağlamak için durumunu Wazuh dizinleyicisiyle senkronize ediyor. Wazuh dizinleyici bağlayıcısı Wazuh yöneticisiyle birlikte gönderilir. /var/ossec/etc/ossec.conf İndeksleyici bağlayıcısı için standart yapılandırma , Wazuh sunucusundaki dosyada aşağıda gösterildiği gibi belirtilmiştir : yes https://127.0.0.1:9200 /etc/filebeat/certs/root-ca.pem /etc/filebeat/certs/filebeat.pem /etc/filebeat/certs/filebeat-key.pem Nerede: Wazuh indeksleyici bağlayıcısı için yapılandırma seçeneklerini belirtir. Wazuh dizinleyici bağlayıcısını etkinleştirir veya devre dışı bırakır. Bu seçenek için izin verilen değerler ve'dir  yes .  no Değer,  yes Wazuh dizinleyici bağlayıcısını etkinleştirir ve  no devre dışı bırakır. Varsayılan değer 'dir  yes . bağlanılacak Wazuh dizinleyici düğümlerinin bir listesini belirtir.  host Her düğüm bağlantısını ayarlamak için seçeneği kullanın. bağlanılacak Wazuh dizinleyici düğüm URL'sini veya IP adresini belirtir. Örneğin,  http://172.16.1.11 veya  192.168.3.2:9230 . Varsayılan olarak, değer localhost ana bilgisayarına ayarlanır:  https://127.0.0.1:9200 . SSL parametreleri için yapılandırma seçeneklerini belirtir. doğrulama için kök sertifika dosya yollarının bir listesini belirtir.  ca Her CA sertifika dosya yolunu ayarlamak için seçeneği kullanın. HTTPS sunucu doğrulamaları için kök CA sertifikasını belirtir. Varsayılan değer 'dir  /etc/filebeat/certs/root-ca.pem . Olası değer herhangi bir geçerli CA sertifikasıdır. Filebeat SSL sertifikasına giden yolu belirtir. Varsayılan değer 'dir  /etc/filebeat/certs/filebeat-key.pem . Olası değer herhangi bir geçerli anahtardır. kimlik doğrulama için kullanılan sertifika anahtarını belirtir. Varsayılan değer 'dir  /etc/filebeat/certs/filebeat-key.pem . Olası değer herhangi bir geçerli anahtardır. Referans kılavuzunun  dizinleyici  bölümünde mevcut yapılandırma seçenekleri hakkında daha fazla bilgi edinebilirsiniz . Üçüncü Taraf Indexer Wazuh yöneticisi uyarıları üçüncü taraf dizinleyicilere iletebilir. Wazuh yöneticilerini yalnızca günlük analizi için kullanıyorsanız ve uyarıları dizinleme ve depolama için üçüncü taraf çözümlere iletmek istiyorsanız, alternatif seçenekler mevcuttur. Wazuh, uyarıları istediğiniz çözüme aktarmak için her Wazuh yönetici düğümüne istediğiniz veri ileticisini yüklemenize olanak tanır. Şu anda Wazuh, aşağıdaki üçüncü taraf çözümler için belgeler sunmaktadır: Çözüm Tanım ELK Stack Wazuh yöneticisi uyarılarını Logstash kullanarak ELK Stack'e iletme. OpenSearch Wazuh yöneticisi uyarılarını Logstash kullanarak OpenSearch'e iletme. Splunk Wazuh yöneticisi uyarılarını Logstash kullanarak Splunk'a iletme. Splunk Evrensel Yönlendiriciyi kullanarak Wazuh sunucu uyarılarını Splunk'a iletme. Bu seçenekler, Wazuh'u mevcut izleme ve analiz altyapınızla entegre etmede esneklik sağlar. Wazuh Yöneticisi Wazuh yöneticisi veri analizi ve uyarılardan sorumludur. Uyarıları syslog, e-postalar veya entegre harici API'ler aracılığıyla iletebilir. Wazuh'un veri analizini nasıl gerçekleştirdiği hakkında daha fazla bilgi için  veri analizi belgelerine bakın. Wazuh yöneticisi, çeşitli işlevlerden sorumlu olan çeşitli hizmetler ve bileşenlerden oluşur. Bunlara yeni Wazuh aracılarını kaydetme, güvenlik olaylarını toplama, günlükleri kod çözme, kuralları değerlendirme ve uyarı verme dahildir. Ayrıca Wazuh aracısının kimliklerini doğrulama ve Wazuh aracısı ile Wazuh sunucusu arasındaki iletişimleri şifreleme gibi diğer işlevlerden de sorumludur. Acente Kayıt Hizmeti Temsilci kayıt hizmeti, Wazuh temsilcilerini Wazuh yöneticisine kaydetmek için kullanılır. Kayıt hizmeti, Wazuh temsilcilerinin kaydını basitleştirir ve Wazuh yöneticisiyle güvenli bir şekilde iletişim kurmak üzere doğru bir şekilde kimlik doğrulaması yapılıp yapılandırılmalarını sağlar. Bir uç noktaya bir Wazuh aracı yüklendiğinde ve başlatıldığında, kayıt sürecini başlatmak için otomatik olarak Wazuh yöneticisiyle iletişime geçer. Wazuh yöneticisi, Wazuh aracısıyla iletişimini şifreleyen benzersiz bir kimlik doğrulama anahtarı üretir. Kayıt süreci için parola kimlik doğrulaması, Wazuh yöneticisi kimlik doğrulaması ve Wazuh aracı kimlik doğrulaması gibi ek güvenlik önlemleri yapılandırabilirsiniz. Kayıt süreci hakkında daha fazla bilgi için  Wazuh aracı kaydıyla ilgili belgelere bakın. Yapılandırma Aşağıdaki blok , Wazuh sunucusunun dosyasındaki  varsayılan aracı kayıt hizmeti yapılandırmasıdır : /var/ossec/etc/ossec.conf no yes 1515 no yes 1h 1h yes yes no HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIA:@STRENGTH no etc/sslmanager.cert etc/sslmanager.key no Nerede: Wazuh aracısının Wazuh yöneticisine kaydolma ve kimlik doğrulama işlemini etkinleştirir veya devre dışı bırakır. Varsayılan değer 'dir  no . İzin verilen değerler  yes ve 'dir  no . Wazuh yöneticisinin varsayılan olarak 1515 numaralı bağlantı noktasında TLS şifrelemesi kullanarak yeni Wazuh aracılarından gelen bağlantıları kabul etmesini sağlar. Varsayılan değer 'dir  yes . İzin verilen değerler  yes ve 'dir  no . Bağlantıları dinlemek için TCP bağlantı noktası numarasını belirtir. Varsayılan değer 'dir . İzin verilen değer ve  1515 arasındaki herhangi bir bağlantı noktası numarasıdır . 0 65535 istemcinin kaynak IP adresinin mi yoksa "herhangi biri"nin mi kullanılacağını tanımlar. İzin verilen değerler ve'dir  yes .  no Değer hayır olduğunda, kayıt için kullanılan kaynak IP değişse bile Wazuh aracısı Wazuh yöneticisine bağlanabilir. Ancak değer evet olduğunda, kaynak IP adresi değişse bile Wazuh aracısı Wazuh yöneticisine bağlanamaz. Wazuh aracısının etiketi içinde yeniden kaydı için yapılandırılacak seçenekleri belirtir. Yeniden kaydın başarılı olması için tüm koşulların karşılanması gerekir. Aşağıdaki seçenekler, seçeneğin ayarlarını tanımlar  force : yinelenen bir ad veya IP adresi varsa bir Wazuh aracısının eklenmesinin zorlanıp zorlanmayacağını belirtir. Eğer öyleyse  enabled , aynı ad veya IP adresine sahip eski Wazuh aracısını kaldıracaktır. Varsayılan değer 'dir  yes . Olası değerler  yes ve 'dir  no . yalnızca ayarda yapılandırılan değerden daha uzun süre bağlantısı kesilmiş olan Wazuh aracıları için bir değiştirme yapılıp yapılmayacağını belirtir. Varsayılan değer  1h (bir saat)'tir. İzin verilen değer sıfırdan büyük veya sıfıra eşit herhangi bir sayıdır.  s ,  h ,  m , ve gibi soneklerin  d saniye, saat, dakika ve günü temsil etmesine izin verir. Öznitelik ayarı  enabled varsayılan değerine sahiptir  yes , yani değiştirme yalnızca belirtilen bağlantı kesme süresi aşıldıktan sonra gerçekleşir. Etkin özniteliğin  yes ve olmak üzere iki olasılığı vardır  no . Wazuh aracısı değişiminin yalnızca Wazuh aracısı kaydının ayarda yapılandırılan değerden büyük olması durumunda gerçekleştirileceğini belirtir. Varsayılan değer 'dir  1h . İzin verilen değer sıfırdan büyük veya ona eşit herhangi bir sayıdır.  s ,  h ,  m , ve gibi soneklerin  d saniye, saat, dakika ve günü temsil etmesine izin verir. Wazuh aracısının elinde tuttuğu anahtar, yönetici tarafından kaydedilen anahtardan farklı olduğunda Wazuh aracısının değiştirilmesinin gerçekleştiğini tanımlar. Varsayılan değer 'dir  yes . Olası değerler  yes ve 'dir  no . Wazuh aracıları kaldırıldığında istemci anahtarlarının silinip silinmeyeceğini belirtir. Değer olduğunda  no , kaldırılan Wazuh aracıları kaldırılmış olarak işaretlenen istemci anahtarları dosyasında kalır. Değer olarak ayarlandığında  yes , istemci anahtarları dosyası temizlenir. Varsayılan değer 'dir  yes . Olası değerler  yes ve 'dir  no . paylaşımlı parola kimlik doğrulamasının kullanımını belirler. Değer olduğunda  no , bu seçenek devre dışıdır. Değer olarak ayarlandığında  yes , dosyadan paylaşımlı bir parola okunur  /var/ossec/etc/authd.pass . Bu dosya mevcut değilse, rastgele bir parola oluşturulur ve  /var/ossec/logs/ossec.log Wazuh sunucusundaki dosyada saklanır.  SSL kullanarak ağ iletişimi için şifrelerin listesini ayarlar. Varsayılan değer  HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIA:@STRENGTH . istemcileri doğrulamak için kullanılan CA sertifikasına giden yolu belirtir. Wazuh kurulum dizini altındaki bağıl yol veya tam yol olarak adlandırılabilir. Olası değer herhangi bir geçerli yoldur. CA sertifikası belirtildiğinde kaynak ana bilgisayar doğrulamasını açar ve kapatır. İstemci kaynak IP adresi Ortak Ad alanı kullanılarak doğrulanacaktır. Varsayılan değer 'dir  no . İzin verilen değerler  yes ve 'dir  no . sunucu SSL sertifikasına giden yolu belirtir. Wazuh kurulum dizinindeki bağıl yol veya tam yol olarak adlandırılabilir. Varsayılan değer etc/sslmanager.cert'dir. Olası değer herhangi bir geçerli yoldur. sunucunun SSL anahtarına giden yolu belirtir. Wazuh kurulum dizininin altındaki bağıl yol veya tam yol olarak adlandırılabilir. Varsayılan değer etc/sslmanager.key'dir. Olası değer herhangi bir geçerli yoldur. SSL/TLS yönteminin otomatik olarak seçilip seçilmeyeceğini değiştirir. Varsayılan olarak yalnızca TLS v1.2'ye izin verilir. olarak ayarlandığında  yes , sistem istemciyle en güvenli ortak yöntemi müzakere eder. Yöneticinin TLS v1.2'yi desteklemediği eski sistemlerde, bu seçenek otomatik olarak etkinleştirilir. Varsayılan değer 'dir  no . İzin verilen değerler  yes ve 'dir  no . Yapılandırma dosyasında değişiklik yaptığınızda, aşağıdaki komutu kullanarak komut satırı arayüzü üzerinden Wazuh yöneticisini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart Ajan Bağlantı Hizmeti Aracı bağlantı hizmeti, kalıcı ve güvenli bir iletişim kanalı kurmak ve sürdürmek için Wazuh aracılarından gelen olayları dinler. Wazuh aracısı, güvenlik verilerini analiz için Wazuh yöneticisine göndermek için bu güvenli kanalı kullanır. Varsayılan olarak, hizmet  TCP Wazuh aracısı ile Wazuh yöneticisi arasındaki iletişimi güvence altına almak için protokolü kullanır. Yapılandırma Aşağıdaki blok Wazuh sunucu yapılandırma dosyasındaki varsayılan bağlantı hizmeti yapılandırmasıdır  /var/ossec/etc/ossec.conf : secure 1514 tcp 131072 Nerede: kabul edilecek gelen bağlantının türünü belirtir. Varsayılan değer güvenlidir. İzin verilen değerler  secure ve ' dir  syslog . olayları dinlemek için kullanılacak portu belirtir. Varsayılan port değeri  1514 güvenli bağlantı ve syslog bağlantısı içindir . İzin verilen değer ve  514 arasındaki herhangi bir port numarasıdır . 1 65535 bağlantı için kullanılacak protokolü belirtir. Varsayılan değer 'dir  tcp . İzin verilen değerler  tcp ve 'dir  udp . Uzak daemon kuyruğunun kapasitesini Wazuh aracı olaylarının sayısı olarak ayarlamanıza olanak tanır. Varsayılan değer 'dir . İzin verilen değer ile  131072 arasında bir tam sayıdır . Uzak kuyruk yalnızca Wazuh aracı olayları için kullanılabilir, syslog olayları için kullanılamaz. Bu seçenek yalnızca bağlantı güvenli olarak ayarlandığında çalışır. Bu yapılandırma ayarı hakkında daha fazla bilgi edinmek için  Wazuh kuyruğu  ile ilgili belgelerimize bakın . 1 262144 Değişiklikler yapıldıysa, değişiklikleri uygulamak için aşağıdaki komutla Wazuh yöneticisini komut satırı arayüzü üzerinden yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma  service wazuh-manager restart Örneğin, bir Windows uç noktasındaki (IP adresi 192.168.71.125) bir Wazuh yöneticisine (IP adresi 192.168.71.203) bir Wazuh aracısının kaydı sırasında netstat kullanarak bağlantı hizmetinin çalışmasını doğrulayabilirsiniz. Ayrıca, herhangi bir Wazuh destekli uç noktada çalışan bir Wazuh aracısı, güvenlik olaylarını port üzerindeki Wazuh yöneticisine iletir . Yukarıdaki aracı bağlantı hizmeti  yapılandırma 1514  bölümünde ayrıntılı olarak açıklanan yapılandırmayı kullanır . Wazuh yöneticisi ile Wazuh aracısı arasındaki bağlantı hizmetinin çalışmasını doğrulamak için aşağıdaki adımları gerçekleştirin: Windows uç noktasında komut istemini başlatın ve uç noktadaki bağlantıları listelemek için şu komutları çalıştırın: netstat   -a netstat -a Output C:\Users\Tony>netstat -a Active Connections Proto Local Address Foreign Address State TCP 192.168.71.125:51787 a23-53-42-162:https ESTABLISHED TCP 192.168.71.125:51788 a-0003:https ESTABLISHED TCP 192.168.71.125:51789 a-0003:https ESTABLISHED TCP 192.168.71.125:51790 a23-53-42-162:https ESTABLISHED TCP 192.168.71.125:51791 192.168.71.203:1514 SYN_SENT 192.168.71.125 IP adresine sahip Windows uç noktasının bir TCP paketi gönderdiğini ve porttaki  SYN_SENT IP adresine sahip Wazuh sunucusuyla bağlantı kurmayı beklediğini görebiliyoruz . 192.168.71.203 1514 netstat Wazuh sunucusunun Windows 10 uç noktasıyla ne zaman bağlantı kurduğunu görüntülemek için komutu çalıştırın. netstat Output Active Connections Proto Local Address Foreign Address State TCP 192.168.71.125:3389 192.168.71.1:25743 ESTABLISHED TCP 192.168.71.125:51572 a23-64-12-19:https CLOSE_WAIT TCP 192.168.71.125:51573 192.229.221.95:http CLOSE_WAIT TCP 192.168.71.125:51694 192.168.71.203:1514 ESTABLISHED TCP 192.168.71.125:51699 192.168.20.103:ms-do SYN_SENT TCP 192.168.71.125:51701 192.168.20.101:ms-do SYN_SENT TCP 192.168.71.125:51703 20.231.121.79:http SYN_SENT TCP 192.168.71.125:51704 192.168.20.125:ms-do SYN_SENT IP adresine sahip Windows uç noktasının , port üzerindeki  192.168.71.125 IP adresine sahip Wazuh sunucusuna bağlı olduğunu görebiliyoruz . 192.168.71.203 1514 Analiz Motoru Wazuh analiz motoru, Windows olayları, SSH günlükleri, web sunucusu günlükleri ve diğerleri gibi çeşitli günlük türlerindeki verileri analiz eder. İşlenen bilgi türünü belirlemek için kod çözücüleri ve kod çözülen olaydaki belirli kalıpları belirlemek için kuralları kullanır. Bu kurallar, bir IP adresini engelleme ve kötü amaçlı yazılımları kaldırma gibi uyarıları ve yanıt eylemlerini tetikleyebilir. Veri Kaynakları Wazuh, çeşitli kaynaklardan günlükler toplayarak BT altyapınızın tüm yönlerinin kapsamlı bir şekilde izlenmesine olanak tanır. Bu, Wazuh'un karmaşık tehditleri tespit etmesini, güvenlik açığı riskini azaltmasını, güvenlik politikalarına uyumu sağlamasını ve belirlenen güvenlik olaylarına hızla yanıt vermesini sağlar. Aşağıda Wazuh tarafından desteklenen bazı yaygın veri kaynakları verilmiştir: İşletim sistemi günlükleri : Wazuh,  Windows  ,  Linux  ve  macOS  gibi çeşitli işletim sistemleri tarafından oluşturulan günlükleri toplar . Syslog, auditd, uygulama günlükleri ve diğerleri dahil olmak üzere Linux uç noktalarından çeşitli günlükler toplayabilir. Windows uç noktalarında, Wazuh varsayılan olarak Sistem, Uygulamalar ve Güvenlik olay kanallarından Windows olay günlüklerini toplar. Wazuh, macOS birleşik günlük sistemi (ULS) kullanarak macOS uç noktalarındaki günlükleri toplar. macOS ULS, tüm sistem düzeylerinde günlüklerin yönetimini ve depolanmasını merkezileştirir. Syslog olayları  : Wazuh , Linux/Unix sistemleri ve Wazuh aracısı kurulumu gerektirmeyen ağ aygıtları da dahil olmak üzere çeşitli  syslog özellikli aygıtlardan günlükleri toplar. Aracısız izleme  : Wazuh  aracısız izleme  yeteneği, aracı kurulumunu desteklemeyen uç noktaları izler. Uç nokta ile Wazuh sunucusu arasında bir SSH bağlantısı gerektirir. Bu yetenek, dosyaların, dizinlerin veya yapılandırmaların izlenmesini ve uç noktada komutların çalıştırılmasını sağlar. Bulut sağlayıcı günlükleri : Wazuh,  AWS  ,  Azure  ,  Google Cloud  ve  Office 365  gibi bulut hizmet sağlayıcılarından doğrudan günlükleri ve olayları toplayarak bulut altyapısını izler . Bunlara EC2 örnekleri, S3 kovaları, Azure VM'leri ve daha fazlası gibi bulut hizmetlerinden gelen günlükler dahildir. Özel günlükler : Wazuh'u  VirusTotal  ,  Windows Defender  ,  ClamAV  ve daha fazlası dahil olmak üzere çeşitli uygulamalardan ve üçüncü taraf güvenlik araçlarından günlükleri toplayacak ve ayrıştıracak şekilde yapılandırabilirsiniz . Kod Çözme Kod çözme, farklı veri kaynaklarından gelen günlükler gibi yapılandırılmış veya yapılandırılmamış verileri, izleme ve uyarı için kullanılabilecek anlamlı bilgiler çıkarmak için analiz etme sürecidir. Wazuh'ta kod çözmenin temel amacı, ham verileri Wazuh yöneticisinin yorumlayabileceği ve işleyebileceği bir biçime dönüştürmektir. İki süreci içerir: Ön kod çözme aşaması  : Bu aşamada, günlük analiz motoru günlük başlığından zaman damgası, ana bilgisayar adı ve program adı gibi syslog benzeri bilgileri çıkarır. Ön kod çözme aşaması günlük yapısını basitleştirir ve daha ileri analiz için hazırlar. Ön kod çözme sürecini göstermek için aşağıdaki örnek günlük girişini göz önünde bulundurun: Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2 Ön kod çözme aşamasını göstermek için Wazuh Logtest aracını kullanıyoruz. Wazuh sunucusunda aşağıdaki adımları gerçekleştirin: /var/ossec/bin/wazuh-logtest Wazuh sunucusunda komut satırından çalıştırın Yukarıdaki örnek günlüğü kopyalayıp yapıştırın ve enter'a basın. Ön kod çözme aşaması sonrasında elde edilen bilgiler aşağıda gösterilmektedir: Starting wazuh-logtest v4.8.0 Type one log per line Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh **Phase 1: Completed pre-decoding. full event: 'Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh' timestamp: 'Feb 14 12:19:04' hostname: '192.168.1.1' program_name: 'sshd' Kod çözme  : Bu aşamada, Wazuh analiz motoru günlükle eşleşen bir kod çözücü uygular. Kod çözücüler, günlüklerde bulunan kullanıcı adları, IP adresleri, hata kodları, URL'ler ve diğer ilgili bilgiler gibi alanları ayıklar. Aşağıdaki kod çözücüler örnek günlükle eşleşir. Bu kod çözücüler  /var/ossec/rulesets/decoders/0310-ssh_decoders.xml Wazuh sunucusundaki dosyadadır: ^sshd sshd ^Accepted ^ \S+ for (\S+) from (\S+) port (\S+) user, srcip, srcport name, user, location Kod çözücü  sshd program adıyla eşleşirken  sshd , kod çözücü örnek günlükten , , ve  ssh-success öğelerini çıkarır . Stephen 192.168.1.133 49765 Kod çözme aşamasını göstermek için Wazuh Logtest aracını kullanıyoruz. Wazuh sunucusunda aşağıdaki adımları gerçekleştirin: /var/ossec/bin/wazuh-logtest Wazuh sunucusunda from komut satırını çalıştırın . Yukarıdaki örnek günlüğü kopyalayıp yapıştırın ve enter'a basın. Kod çözme aşaması sonucunda elde edilen bilgiler aşağıda gösterilmektedir: Starting wazuh-logtest v4.7.5 Type one log per line Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh **Phase 1: Completed pre-decoding. full event: 'Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh' timestamp: 'Feb 14 12:19:04' hostname: '192.168.1.1' program_name: 'sshd' **Phase 2: Completed decoding. name: 'sshd' parent: 'sshd' dstuser: 'Stephen' srcip: '192.168.1.133' srcport: '49765' Kural Değerlendirmesi ve Uyarı Günlük çözüldükten sonra, Wazuh yöneticisi bunu bir kural setiyle karşılaştırır. Wazuh kural setleri XML dosyalarında tanımlanır ve farklı izleme ihtiyaçlarına uyacak şekilde özelleştirilebilir. Bu kurallar, karşılandığında uyarıları tetikleyen koşulları belirtir.  5715 Aşağıdaki kural, önceki bölümdeki örnek günlükle eşleşir. Bu kural,  /var/ossec/ruleset/rules/0095-sshd_rules.xml Wazuh sunucusundaki dosyadadır. 5700 ^Accepted|authenticated.$ sshd: authentication success. authentication_success,pci_dss_10.2.5, Nerede: kural kimliğini  5715 ve kural düzeyini olarak belirtir  3 . Kural kimliği kural için benzersiz bir tanımlayıcıdır, düzey ise kural eşleştiğinde olayın önem düzeyini temsil eder. 5700 ID'li başka bir kurala bağımlılığı belirtir  5700 . Kural yalnızca daha önce eşleşmişse değerlendirilecektir  5700 . ^Accepted|authenticated.$ ile başlayan  Accepted veya biten herhangi bir günlük girişiyle eşleşir  authenticated. . sshd:   authentication   success. kuralın neyi algıladığını açıklar. Bu durumda, başarılı bir SSH kimlik doğrulamasını gösterir. authentication_success,pci_dss_10.2.5, kuralı  authentication_success ve  pci_dss_10.2.5  gruplarına atar. Varsayılan olarak, Wazuh sunucusu 2'nin üzerinde bir seviyeye sahip herhangi bir kural için uyarılar üretir. Bu senaryoda, kural seviyesi 3 olduğu için günlük bir uyarıyı tetikler ve bu Wazuh panosunda görünür olacaktır. Varsayılan olarak desteklenmeyen günlükleri analiz etmek için özel kod çözücüler ve kurallar oluşturabilirsiniz. Özel kurallar ve kod çözücülerin nasıl oluşturulacağını öğrenmek için özel  kurallar  ve  özel kod çözücüler  belgelerine bakın. Sıraya Girme Mekanizmaları Wazuh sunucusu, izlenen uç noktalardan olay toplanmasını kolaylaştıran bir kuyruk mekanizması içerir. Wazuh ajanlarından, syslog uç noktalarından ve ajansız cihazlardan Wazuh sunucusuna sürekli veri akışı sağlayarak olay taşmasını önler. Wazuh sunucu kuyruğu İlk Giren İlk Çıkar (FIFO) metodolojisini kullanır; bu nedenle, ilk kuyruğa alınan olay kuyruktan ilk kaldırılan ve işlenen olaydır. Dağıtılmış işleme dayalıdır ve günlük analiz görevlerinin paralel hale getirilmesine olanak tanır. Bu, günlük işleme hattının ölçeklenebilirliğini ve performansını iyileştirerek Wazuh'un büyük hacimli günlük verilerini etkili bir şekilde işlemesini sağlar. Wazuh sunucusunda olay akışlarını yönetmek için iki yerel kuyruk bulunur: Wazuh aracı iletişim kuyruğu (queue_rd) Wazuh analiz motoru kuyruğu (queue_and) Wazuh aracısı, olay tıkanıklığını önlemek için  Wazuh aracı kuyruğunu (queue_ad)  kullanır . Bu kuyruk, Wazuh aracısının Wazuh sunucusunun işleyebileceğinden daha hızlı olay göndermemesini sağlar. Wazuh Agent İletişim Kuyruğu (queue_rd) Kuyruk  queue_rd , sunucu tarafı  aracı iletişim hizmetinde  bulunur . Wazuh aracılarından olayları alır ve olay kod çözme ve kural eşleştirme için  Wazuh analiz motoruna  gönderir . Wazuh Agent İletişim Kuyruğu Nasıl Yapılandırılır Wazuh sunucusundaki /var/ossec/etc/ossec.conf  dosyasının uzak bölümünde düzenleme yaparak Wazuh aracı iletişim kuyruğunu yapılandırın: secure 1514 tcp,udp 131072 5m 600 no Değişken  , Wazuh aracı iletişim kuyruğunun kuyruk kapasitesini ayarlar. Aşağıdaki tablo değişkenin yapılandırmasını gösterir. Varsayılan değer İzin verilen değerler 131072 1 ile 262144 arasında herhangi bir sayı. Not:  Wazuh aracı iletişim kuyruğu (  queue_rd ) yalnızca Wazuh aracı olayları için kullanılabilir, uzak syslog olayları için kullanılamaz. Bu seçenek yalnızca bağlantı olarak ayarlandığında çalışır  secure .   Değişiklikleri uygulamak için Wazuh yönetici hizmetini yeniden başlatın. systemctl restart wazuh-manager Olay düşüşleri gözlemlendiğinde /var/ossec/etc/ossec.conf  dosyasının bloğundaki queue_size değerini ve /var/ossec/etc/internal_options.conf dosyasındaki worker_pool boyutunu artırabilirsiniz. worker_pool Aşağıdaki tablo Wazuh sunucusundaki boyut yapılandırmasını göstermektedir . uzaktan.çalışan_havuzu Tanım Yük alımını işleyen iş parçacığı sayısı Varsayılan değer 4 İzin verilen değer 1 ile 16 arasında herhangi bir tam sayı Wazuh sunucu API'sini   wazuh-remoted  sorgulayarak veya daemon istatistiksel durum dosyasını okuyarak olay düşüşlerini izleyebilirsiniz . Wazuh Sunucu API'sini Sorgulama wazuh-remoted Aşağıdaki adımları izleyerek istatistiksel bilgileri sorgulayabilirsiniz : Wazuh panosunda  Araçlar'a  ve ardından  API Konsolu'na  gidin . API konsoluna aşağıdakileri ekleyin ve Wazuh sunucusu API'sine sorgu göndermek için yeşil oka tıklayın: GET /manager/daemons/stats Sorgu sonucu aşağıdaki ekran görüntüsünün sol tarafında gösterilmektedir. Sorgu, kuyruk boyutu değerini, tarafından işlenen olay sayısını  wazuh-remoted ve atılan olay sayısını döndürür. Aracı İletişim İstatistiksel Durum Dosyası Bu istatistiksel dosya,  wazuh-remoted kuyruk boyutu, atılan mesajlar, uzak bağlantı sayısı ve diğer önemli bilgiler gibi uzak daemon ile ilgili verileri sunar. Dosyayı okumak için Wazuh sunucusunda aşağıdaki komutu çalıştırın: cat /var/ossec/var/run/wazuh-remoted.state Aşağıda dosyanın içeriğine dair bir örnek verilmiştir  wazuh-remoted.state : # State file for wazuh-remoted # THIS FILE WILL BE DEPRECATED IN FUTURE VERSIONS # Updated every 5 seconds. # Queue size queue_size='0' # Total queue size total_queue_size='131072' # TCP sessions tcp_sessions='1' # Events sent to Analysisd evt_count='126714' # Control messages received ctrl_msg_count='2637' # Discarded messages discarded_count='0' # Total number of bytes sent sent_bytes='4434745' # Total number of bytes received recv_bytes='93866086' # Messages dequeued after the agent closes the connection dequeued_after_close='0' Wazuh Analiz Motoru Kuyruğu (queue_and) Sıra  Wazuh analiz motorunda queue_and  bulunur ve olayların alınmasını kolaylaştırır. Wazuh analiz motoru daha sonra alınan günlükleri Wazuh sunucusundaki kurallarla eşleştirir. Wazuh Analiz Motoru Kuyruğu Nasıl Yapılandırılır Wazuh analiz motoru kuyruğu, queue_and  kuyruğu kullanarak analiz için Wazuh ajanlarından günlükleri alır. Gelen tüm günlük mesajları kategorilere ayrılır ve aşağıdaki kategorilerde sıraya alınır: Dosya bütünlüğü izleme olayı kod çözücü kuyruğu. Syscollector olay kod çözücü kuyruğu. Kök denetimi olayı kod çözücü kuyruğu. Ana bilgisayar bilgisi olay kod çözücü kuyruğu. Olay kod çözücü kuyruğu. Windows olay kod çözücü kuyruğu. Her kuyruk kategorisinin İlk Giren İlk Çıkar (FIFO) olay yönetiminden sorumlu bir dizi iş parçacığı vardır. İş parçacığı sayısı,  /var/ossec/etc/internal_options.conf Wazuh sunucusundaki dosya aracılığıyla olay türüne göre ayrı ayrı yapılandırılabilir. Not:  Yükseltmelerin kuyruk yapılandırmalarını geçersiz kılmamasını sağlamak için /var/ossec/etc/local_internal_options.conf  dosyası yerine   /var/ossec/etc/internal_options.conf dosyasını kullanın. Aşağıdaki tabloda Wazuh analiz motoru kuyruğu (  queue_and ) için kullanılabilen yapılandırma seçenekleri gösterilmektedir. Kuyruklar (wazuh-analysisd.state) Ayar (local_internal_options.conf) Varsayılan Dakika Maksimum syscheck_queue_kullanımı analizd.decode_syscheck_queue_size 16384 128 2000000 syscollector_kuyruğu_kullanımı analizd.decode_syscollector_queue_size 16384 128 2000000 kök_kontrolu_kuyruk_kullanımı analizd.decode_rootcheck_queue_size 16384 128 2000000 sca_queue_kullanımı analizd.decode_sca_queue_size 16384 128 2000000 hostinfo_kuyruk_kullanımı analiz.decode_hostinfo_queue_size 16384 128 2000000 winevt_kuyruk_kullanımı analizd.decode_winevt_kuyruk_boyutu 16384 128 2000000 dbsync_kuyruk_kullanımı analizd.dbsync_queue_size 16384 128 2000000 yükseltme_kuyruğu_kullanımı analizd.yükseltme_kuyruğu_boyutu 16384 128 2000000 olay_kuyruğu_kullanımı analizd.decode_event_queue_size 16384 128 2000000 kural_eşleşen_kuyruk_kullanımı analizd.decode_output_queue_size 16384 128 2000000 uyarılar_kuyruğu_kullanımı analizd.uyarılar_kuyruk_boyutu 16384 128 2000000 güvenlik_kuyruğu_kullanımı analizd.firewall_queue_size 16384 128 2000000 istatistiksel_kuyruk_kullanımı analizd.istatistiksel_kuyruk_boyutu 16384 128 2000000 arşiv_kuyruğu_kullanımı analizd.arşivler_kuyruğu_boyutu 16384 128 2000000 analizd.fts_kuyruk_boyutu 16384 128 2000000 analizd.fts_liste_boyutu 32 12 512 analysisd.fts_min_size_for_str 14 6 128 analizd.decoder_order_size 256 32 1024 Wazuh analiz motorunda "olay düşüşleri" gözlemlendiğinde kuyruk ayarları ayarlanmalıdır. Wazuh sunucu API'sini   sorgulayarak veya daemon istatistiksel durum dosyasını okuyarak wazuh-analysisd'deki olay düşüşlerini izleyebilirsiniz . Wazuh Sunucu API'sini Sorgulama Wazuh analiz motorundan istatistiksel bilgileri kontrol etmek için günlük kategorisi durumu Wazuh sunucu API'si kullanılarak sorgulanabilir. Yeni istatistikler, alınan veya düşürülen olayların olay türüne göre dökümünü gösterir. Bu, yalnızca düşürmeyi gösteren kuyruk boyutlarını ayarlamak için hayati önem taşır. Aşağıdaki adımları izleyerek Wazuh analiz motorunun istatistiksel bilgilerini sorgulayabilirsiniz: Wazuh panosunda  Araçlar'a  ve ardından  API Konsolu'na  gidin . Konsola aşağıdakileri ekleyin ve Wazuh sunucu API'sine sorgu göndermek için yeşil oka tıklayın: GET /manager/daemons/stats wazuh-analysisd Aşağıdaki ekran görüntüsünde sağ tarafta gösterilen sorgu sonucunun bulunduğu bölüme doğru aşağı kaydırın . Sorgu, kuyruk boyutu değerini, Wazuh analiz motoru tarafından işlenen olay sayısını ve atılan olay sayısını döndürür. /var/ossec/etc/internal_options.conf Wazuh analiz motoru kuyruğu , Wazuh sunucusundaki dosya aracılığıyla olay türüne göre yapılandırılabilir . Not:  Yükseltmelerin kuyruk yapılandırmalarını geçersiz kılmamasını sağlamak için /var/ossec/etc/local_internal_options.conf  dosyası yerine   /var/ossec/etc/internal_options.conf dosyasını kullanın. Wazuh Analiz Motoru İstatistiksel Durum Dosyası Wazuh analiz motoru için istatistiksel dosya şu adreste bulunur  /var/ossec/var/run/wazuh-analysisd.state . Dosya, Wazuh sunucusundaki olay işleme sorunlarını araştırırken yararlı olabilir. Dosyayı okumak için Wazuh sunucusunda aşağıdaki komutu çalıştırın: cat /var/ossec/var/run/wazuh-analysisd.state Aşağıda wazuh-remoted.state dosyasının içeriğine dair bir örnek verilmiştir: # State file for wazuh-analysisd # THIS FILE WILL BE DEPRECATED IN FUTURE VERSIONS # Total events decoded total_events_decoded='137726' # Syscheck events decoded syscheck_events_decoded='3935' # Syscollector events decoded syscollector_events_decoded='2590' # Rootcheck events decoded rootcheck_events_decoded='37' # Security configuration assessment events decoded sca_events_decoded='8991' # Winevt events decoded winevt_events_decoded='87993' # Database synchronization messages dispatched dbsync_messages_dispatched='26004' # Other events decoded other_events_decoded='8176' # Events processed (Rule matching) events_processed='112252' # Events received events_received='138283' # Events dropped events_dropped='0' # Alerts written to disk alerts_written='6707' # Firewall alerts written to disk firewall_written='0' # FTS alerts written to disk fts_written='0' # Syscheck queue syscheck_queue_usage='0.00' # Syscheck queue size syscheck_queue_size='16384' # Syscollector queue syscollector_queue_usage='0.00' # Syscollector queue size syscollector_queue_size='16384' # Rootcheck queue rootcheck_queue_usage='0.00' # Rootcheck queue size rootcheck_queue_size='16384' # Security configuration assessment queue sca_queue_usage='0.00' # Security configuration assessment queue size sca_queue_size='16384' # Hostinfo queue hostinfo_queue_usage='0.00' # Hostinfo queue size hostinfo_queue_size='16384' # Winevt queue winevt_queue_usage='0.00' # Winevt queue size winevt_queue_size='16384' # Database synchronization message queue dbsync_queue_usage='0.00' # Database synchronization message queue size dbsync_queue_size='16384' # Upgrade module message queue upgrade_queue_usage='0.00' # Upgrade module message queue size upgrade_queue_size='16384' # Event queue event_queue_usage='0.00' # Event queue size event_queue_size='16384' # Rule matching queue rule_matching_queue_usage='0.00' # Rule matching queue size rule_matching_queue_size='16384' # Alerts log queue alerts_queue_usage='0.00' # Alerts log queue size alerts_queue_size='16384' # Firewall log queue firewall_queue_usage='0.00' # Firewall log queue size firewall_queue_size='16384' # Statistical log queue statistical_queue_usage='0.00' # Statistical log queue size statistical_queue_size='16384' # Archives log queue archives_queue_usage='0.00' # Archives log queue size archives_queue_size='16384' Wazuh Agent Kuyruğu (queue_ad) Sıra  queue_ad , aracı tarafı  aracı bağlantı hizmetinde  bulunur ve Wazuh aracısından Wazuh sunucusuna olay iletimini yönetir. Sıra, Wazuh sunucusuna iletmeden önce sistem olayları ve güvenlik yapılandırması değerlendirme çıktıları gibi günlükleri toplar. Ayrıca, yapılandırılabilir parametrelere göre olay iletimini kısıtlayan ve Wazuh sunucusunun işleme kapasitesini aşma riskini azaltan bir anti-flooding mekanizması içerir. Wazuh Kuyruk Çözücü ve Kuralları Wazuh, olay sel çıkışını analiz etmek ve Wazuh panosunda uyarılar oluşturmak için kullanıma hazır bir kod çözücü ve kurallar sağlar. Decoder Kod çözücü Wazuh sunucusundaki dosyada mevcuttur  /var/ossec/ruleset/decoders/0005-wazuh_decoders.xml . Kod çözücü Wazuh sunucusundaki flood olaylarını analiz etmekten sorumludur. wazuh ^Agent buffer: ^ '(\S+)'. level Kurallar Aşağıda görüldüğü gibi kurallar,  201 ile arasındaki ID'lerle tanımlanmış olup Wazuh sunucusundaki dosyada  205 mevcuttur . /var/ossec/ruleset/rules/0016-wazuh_rules.xml 200 ^wazuh: Agent buffer: Agent event queue rule agent_flooding, 201 % Agent event queue is $(level) full. agent_flooding,pci_dss_10.6.1,gdpr_IV_35.7.d, 201 full Agent event queue is full. Events may be lost. agent_flooding,pci_dss_10.6.1,gdpr_IV_35.7.d, 201 flooded Agent event queue is flooded. Check the agent configuration. agent_flooding,pci_dss_10.6.1,gdpr_IV_35.7.d, 201 normal Agent event queue is back to normal load. agent_flooding, Nerede: Kural Kimliği,  201 olay kuyruğu için temel kuraldır. Kural Kimliği,  202 olay kuyruğu seviyesi %90'a ulaştığında tetiklenir. Kural kimliği,  203 olay kuyruğu dolduğunda tetiklenir. 204 Olay kuyruğu dolduğunda kural kimliği tetiklenir. Kural Kimliği,  205 bir su baskını olayından sonra olay kuyruğu normale döndüğünde tetiklenir. Wazuh Server API Wazuh sunucu API'si, bir web tarayıcısından, cURL gibi bir komut satırı aracından veya web istekleri yapabilen herhangi bir betik veya programdan Wazuh yöneticisiyle etkileşime izin veren açık kaynaklı bir RESTful API'dir. Wazuh panosu, Wazuh sunucu altyapısını uzaktan yönetmek için Wazuh sunucu API'sine güvenir. Wazuh sunucu API'sini, aracı ekleme, yöneticiyi veya aracıyı yeniden başlatma veya Dosya Bütünlüğü İzleme (FIM) hakkında ayrıntılara bakma gibi genel görevleri gerçekleştirmek için kullanabilirsiniz. Wazuh sunucusu API yeteneklerinin listesi şu şekildedir: - Wazuh acente yönetimi - Wazuh yönetici kontrolü ve genel bakışı - Küme denetimi ve genel bakış - Dosya bütünlüğü izleme denetimi ve araması - MITRE ATT&CK genel bakış - Kural seti bilgisi - Kuralların ve kod çözücülerin test edilmesi ve doğrulanması - Syscollector bilgisi - Rol Tabanlı Erişim Kontrolü (RBAC) - API yönetimi (HTTPS, yapılandırma) - Kullanıcı yönetimi - İstatistiksel bilgiler - Hata işleme - Uzaktan yapılandırmayı sorgula Başlarken Bu kılavuz, Wazuh sunucu API'sini kullanmak için gereken temel bilgileri sağlar. Wazuh Sunucu API'sini Başlatma ve Durdurma Wazuh yöneticisini yüklediğinizde, Wazuh sunucu API'si de sürecin bir parçası olarak varsayılan olarak yüklenir. Wazuh yönetici hizmetiyle  systemctl veya komutlarını yürüterek Wazuh sunucu API'sini yönetebilir veya izleyebilirsiniz: service Systemd systemctl start/status/stop/restart wazuh-manager SysV Başlatma service wazuh-manager start/status/stop/restart Wazuh Dashboard Aracılığıyla Wazuh Sunucu API'sini Kullanma Wazuh panosu aracılığıyla Wazuh sunucu API'siyle etkileşim kurabilirsiniz. Bunu yapmak için, yönetici ayrıcalıklarına sahip bir kullanıcıyla Wazuh panosuna giriş yapmanız gerekir. Örneğin, varsayılan  admin kullanıcı yönetici ayrıcalıklarına sahiptir. Panodaki Wazuh sunucu API konsoluna erişmek için menü simgesine tıklayın ve  Araçlar  >  API Konsolu'na  gidin . API Konsolu'nda  yöntemi , istek uç noktasını ve herhangi bir sorgu parametresini girin, ardından isteği yürütmek için oynat düğmesine tıklayın. Temel kavramlar hakkında daha fazla bilgi edinmek için Wazuh sunucusu API isteğini ve yanıtını anlama bölümüne bakın. Komut Satırı Aracılığıyla Wazuh Sunucu API'sine Giriş Yapma Güvenli erişimi sağlamak için tüm Wazuh sunucu API uç noktaları kimlik doğrulaması gerektirir. Kullanıcılar her istekte bir JSON Web Token (JWT) eklemelidir. JWT, taraflar arasında bilgileri bir JSON nesnesi olarak güvenli bir şekilde iletmek için kompakt ve kendi kendine yeten bir yöntem tanımlayan açık bir standarttır (RFC 7519).  POST /security/user/authenticate  kullanarak Wazuh sunucu API'sine giriş yapmak ve API uç noktalarına erişmek için gerekli bir belirteç edinmek için aşağıdaki adımları izleyin: Wazuh sunucu API'sine bir kullanıcı kimlik doğrulama POST isteği göndermek ve döndürülen JWT'yi değişkende depolamak için aşağıdaki komutu çalıştırın  TOKEN .  ve'yi  kimlik bilgilerinizle değiştirin. TOKEN=$(curl -u : -k -X POST "https://localhost:55000/security/user/authenticate?raw=true") Not: -  SSL API'de (HTTPS) etkinleştirilmişse ve varsayılan kendi kendine imzalanmış sertifikaları kullanıyorsa, sunucu bağlantı doğrulamasını önlemek için parametreyi eklemeniz gerekir . cURL komutları aracılığıyla kimlik doğrulaması yaparken sorgu parametresini  -k kullanmanızı öneririz  raw=true , çünkü belirteci düz metin olarak döndürerek işlemeyi basitleştirir, özellikle uzun JWT'ler için yararlıdır. Varsayılan Wazuh sunucusu API kimlik bilgisi 'dir  wazuh:wazuh . Ancak Wazuh dağıtımı kurulum betiği kullanılarak gerçekleştirildiyse, Wazuh API kullanıcısı 'dir ve ' komutunu çalıştırarak  wazuh parolayı çıkarabilirsiniz . wazuh-install-files.tar tar   -axf   wazuh-install-files.tar   wazuh-install-files/wazuh-passwords.txt   -O   |   grep   -P   "\'wazuh\'"   -A   1 Eğer wazuh şifrenizi geri alamazsanız, kullanıcı şifresini  sıfırlayabilirsiniz  . Jetonun oluşturulduğunu doğrulayın: echo $TOKEN Çıktı aşağıdakine benzer uzun bir dize olmalıdır: Output eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ3YXp1aCIsImF1ZCI6IldhenVoIEFQSSBSRVNUIiwibmJmIjoxNzA3ODk4NTEzLCJleHAiOjE3MDc4OTk0MTMsInN1YiI6IndhenVoIiwicnVuX2FzIjpmYWxzZSwicmJhY19yb2xlcyI6WzFdLCJyYmFjX21vZGUiOiJ3aGl0ZSJ9.ACcJ3WdV3SnTOC-PV2oGZGCyH3GpStSOu161UHHT7w6eUm_REOP_g8SqqIJDDW0gCcQNJTEECortIuI4zj7nybNhACRlBrDBZoG4Re4HXEpAchyFQXwq0SsZ3HHSj7eJinBF0pJDG0D8d1_LkcoxaX3FpxpsCZ4xzJ492CpnVZLT8qI4 Kimlik doğrulama başarısız olursa, çıktı bir hata mesajı görüntüler veya boş kalır. Bu gibi durumlarda, kullanıcı kimlik bilgilerinizi iki kez kontrol edin ve Wazuh sunucu API'sine ağ bağlantınız olduğundan emin olun. Her şeyin beklendiği gibi çalıştığını doğrulamak için bir API isteği gönderin: curl -k -X GET "https://localhost:55000/" -H "Authorization: Bearer $TOKEN" Output { "data": { "title": "Wazuh API REST", "api_version": "4.7.4", "revision": 40717, "license_name": "GPL 2.0", "license_url": "https://github.com/wazuh/wazuh/blob/master/LICENSE", "hostname": "wazuh-master", "timestamp": "2024-05-14T21:34:15Z"}, "error": 0 } Giriş yaptıktan sonra, aşağıdaki yapıyı kullanarak herhangi bir API uç noktasına erişebilirsiniz.  İstediğiniz yöntemle ve  erişmek istediğiniz uç noktaya karşılık gelen dizeyle değiştirin. Bir ortam değişkeni kullanmıyorsanız,  $TOKEN elde edilen JWT ile değiştirin. curl -k -X "https://localhost:55000/" -H "Authorization: Bearer $TOKEN" Scriptler Aracılığıyla Wazuh Sunucu API'sine Giriş Yapma Bu bölüm, Wazuh sunucusuyla etkileşimleri otomatikleştirmek için temel bir adım olan komut dosyalarını kullanarak Wazuh sunucusu API'sine giriş yapma sürecini ayrıntılı olarak açıklar. Sağlanan örnekler, hem varsayılan (  false ) hem de düz metin (  true )  raw parametrelerini göstererek gerçek dünya uygulamalarını sergilemeyi amaçlamaktadır.  raw Parametre, olarak ayarlandığında  true , yanıtın düz metin veya asgari düzeyde işlenmiş bir biçimde olması gerektiği anlamına gelir. Tersine,  raw parametre olduğunda  false , yanıt ayrıştırma ve entegrasyonu kolaylaştırmak için daha yapılandırılmış bir JSON biçimindedir. Bu komut dosyaları, otomasyon yoluyla operasyonel verimliliğini artırmak isteyen veya özel entegrasyonlar için Wazuh sunucusu API'sine programlı olarak nasıl erişileceğini anlamak isteyen kullanıcılar için tasarlanmıştır. Python Scriptiyle Oturum Açma Python betiği kullanarak Wazuh sunucu API'sine kimlik doğrulaması yapabilirsiniz. Aşağıdaki betik,  wazuh_api_authenticator.py bir JWT elde etmek için Wazuh sunucu API'siyle kimlik doğrulaması yapar. Daha sonra Wazuh aracılarının durumlarının bir özetini almak için istek başlığındaki belirteci kullanır. #!/usr/bin/env python3 import json import requests import urllib3 from base64 import b64encode # Disable insecure https warnings (for self-signed SSL certificates) urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # Configuration protocol = 'https' host = 'localhost' port = 55000 user = '' password = '' login_endpoint = 'security/user/authenticate' login_url = f"{protocol}://{host}:{port}/{login_endpoint}" basic_auth = f"{user}:{password}".encode() login_headers = {'Content-Type': 'application/json', 'Authorization': f'Basic {b64encode(basic_auth).decode()}'} print("\nLogin request ...\n") response = requests.post(login_url, headers=login_headers, verify=False) token = json.loads(response.content.decode())['data']['token'] print(token) # New authorization header with the JWT we got requests_headers = {'Content-Type': 'application/json', 'Authorization': f'Bearer {token}'} print("\n- API calls with TOKEN environment variable ...\n") print("Getting API information:") response = requests.get(f"{protocol}://{host}:{port}/?pretty=true", headers=requests_headers, verify=False) print(response.text) print("\nGetting agents status summary:") response = requests.get(f"{protocol}://{host}:{port}/agents/summary/status?pretty=true", headers=requests_headers, verify=False) print(response.text) print("\nEnd of the script.\n") ve  ifadelerini doğru bilgilerle değiştirin . Python  requests modülünü kurun: python3 -m pip install requests Not:  Python modülü urllib3 sürüm 2.0 ve üzeri yalnızca OpenSSL sürüm 1.1.1 veya üzerini destekler. Sisteminizde daha eski bir OpenSSL sürümü varsa, şunlardan birini yapmanız gerekir: - OpenSSL'i 1.1.1 veya daha üst bir sürüme yükseltin. - urllib3 Mevcut OpenSSL sürümünüzle uyumlu bir sürüme geçin . Uyumluluk sorunlarını önlemek için lütfen yazılım bağımlılıklarınızın düzgün bir şekilde hizalandığından emin olun. Python betiğini çalıştırın  wazuh_api_authenticator.py : python3 wazuh_api_authenticator.py Output Login request ... eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ3YXp1aCIsImF1ZCI6IldhenVoIEFQSSBSRVNUIiwibmJmIjoxNjAyMjMxNjU2LCJleHAiOjE2MDIyMzUyNTYsInN1YiI6IndhenVoIiwicmJhY19yb2xlcyI6WzFdLCJyYmFjX21vZGUiOiJ3aGl0ZSJ9.V60_otHPaT4NTkrS6SF3GHva0Z9r5p4mqe5Cn0hk4o4 - API calls with TOKEN environment variable ... Getting API information: { "data": { "title": "Wazuh API REST", "api_version": "4.7.4", "revision": 40717, "license_name": "GPL 2.0", "license_url": "https://github.com/wazuh/wazuh/blob/master/LICENSE", "hostname": "wazuh-master", "timestamp": "2024-05-14T21:34:15Z" }, "error": 0 } Getting agents status summary: { "data": { "connection": { "active": 1, "disconnected": 0, "never_connected": 0, "pending": 0, "total": 1 }, "configuration": { "synced": 1, "not_synced": 0, "total": 1 } }, "error": 0 } End of the script. Bash Script Oturum Açma Ayrıca bir Bash betiği kullanarak Wazuh sunucu API'sine kimlik doğrulaması yapabilirsiniz. Aşağıdaki betik,  wazuh_api_authenticator.sh bir JWT elde etmek için Wazuh sunucu API'siyle kimlik doğrulaması yapar. Daha sonra Wazuh aracıları tarafından kullanılan işletim sistemlerinin bir özetini almak için istek başlığındaki belirteci kullanır. #!/bin/bash echo -e "\n- Getting token...\n" TOKEN=$(curl -u : -k -X POST "https://localhost:55000/security/user/authenticate?raw=true") echo -e "\n- API calls with TOKEN environment variable ...\n" echo -e "Getting default information:\n" curl -k -X GET "https://localhost:55000/?pretty=true" -H "Authorization: Bearer $TOKEN" echo -e "\n\nGetting /agents/summary/os:\n" curl -k -X GET "https://localhost:55000/agents/summary/os?pretty=true" -H "Authorization: Bearer $TOKEN" echo -e "\n\nEnd of the script.\n" ve  öğesini doğru kimlik bilgileriyle değiştirin Bash betiğini çalıştırın  wazuh_api_authenticator.sh : bash wazuh_api_authenticator.sh Output - Getting token... Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3059 100 3059 0 0 17089 0 --:--:-- --:--:-- --:--:-- 17089 - API calls with TOKEN environment variable ... Getting default information: { "data": { "title": "Wazuh API REST", "api_version": "4.7.4", "revision": 40717, "license_name": "GPL 2.0", "license_url": "https://github.com/wazuh/wazuh/blob/master/LICENSE", "hostname": "wazuh-master", "timestamp": "2024-05-14T21:34:15Z" }, "error": 0 } Getting /agents/summary/os: { "data": { "affected_items": [ "windows" ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "Showing the operative system of all specified agents", "error": 0 } End of the script. Wazuh Sunucusu API İsteğini ve Yanıtını Anlama Standart bir Wazuh sunucusu API isteği üç temel bileşenden oluşur: istek yöntemi (GET, POST, PUT veya DELETE), erişilen uç noktayı belirten API URL'si ve yetkilendirme başlığı. Bu başlık, isteği doğrulamak ve yetkilendirmek için bir JWT içermelidir. Aşağıda bir cURL isteği örneği verilmiştir: curl -k -X GET "https://localhost:55000/agents/summary/os?pretty=true" -H "Authorization: Bearer $TOKEN" Her istek için cURL komutu aşağıdaki alanları içerir: Alan Tanım -X   GET/POST/PUT/DELETE HTTP sunucusuyla iletişim kurarken kullanılacak bir istek yöntemi belirtin. http://:55000/   https://:55000/ Kullanılacak API URL'si. API'de SSL'nin aktif olup olmadığına bağlı olarak  http belirtin . https -H   "Authorization:   Bearer   " JWT'yi belirtmek için isteğe ek bir başlık ekleyin. -k SSL sertifika hatalarını bastırın (yalnızca varsayılan kendi kendine imzalı sertifikaları kullanıyorsanız). Tüm yanıtlar JSON formatındadır ve çoğu şu yapıyı takip eder: Alan İsteğe bağlı alt alanlar Tanım veri etkilenen_öğeler İstekte başarıyla etkilenen öğelerin her birini listeleyin. toplam_etkilenen_öğeler Başarıyla etkilenen öğelerin toplam sayısı. başarısız_öğeler İstekteki başarısız olan her öğeyi içeren liste. toplam_başarısız_öğeler Başarısız olan öğelerin toplam sayısı. mesaj   Sonuç açıklaması. hata   HTTP yanıtları için  200 , yanıtın tamamlanmış (  0 ), başarısız (  1 ) veya kısmi (  2 ) olup olmadığını belirler. HTTP  4xx veya  5xx yanıtları için, başarısızlıkla ilgili hata kodunu belirler. Varsayılan olarak, veri koleksiyonları içeren yanıtlar en fazla 500 öğe döndürür. Büyük koleksiyonlar arasında yineleme yapmak için  offset ve parametrelerini kullanabilirsiniz . Parametre 100.000 öğeye kadar izin verse de, zaman aşımı ve aşırı büyük yanıtlar gibi beklenmeyen davranışları önlemek için varsayılan 500 öğe sınırını aşmamanızı öneririz. Dikkatli kullanın. limit limit Tüm yanıtlar bir HTTP durum kodu içerir: 2xx (başarılı), 4xx (istemci hatası), 5xx (sunucu hatası), vb. Tüm istekler ( ve hariç) JSON yanıtını daha okunabilir bir biçime dönüştürmek için parametreyi kabul eder . POST   /security/user/authenticate POST   /security/user/authenticate/run_as pretty Wazuh sunucu API'si, seçilen günlük biçimine bağlı olarak günlükleri  api.log veya  api.json dosyalarında depolar. Bu günlük dosyaları Wazuh sunucusunda bulunur .  Wazuh API yapılandırma dosyasında /var/ossec/logs/  ayrıntı düzeyini değiştirebilirsiniz . Wazuh API günlükleri varsayılan olarak zamana göre döndürülür. Döndürme yalnızca günlüğe yeni bir giriş eklendikten sonra gerçekleşir. Örneğin, zaman tabanlı döndürme, her gece yarısı olmasa da farklı bir günde yeni bir giriş eklendiğinde tetiklenir. Döndürülmüş günlükler .  /var/ossec/logs/api/// kullanılarak depolanır ve sıkıştırılır  gzip . request_timeout Sunucu API yapılandırma dosyasının alanında tanımlanan zaman süresinden sonra yanıt alınmazsa tüm Wazuh sunucu API istekleri iptal edilir  /var/ossec/api/configuration/api.yaml . Bu zaman aşımını devre dışı bırakmak için parametreyi kullanabilirsiniz ; bu, özellikle  PUT /agents/upgrade wait_for_complete  gibi beklenen süreyi aşabilecek çağrılar için yararlıdır . Not: Maksimum API yanıt süresini ayarlamak için Wazuh sunucusundaki dosyadaki  request_timeout değeri güncelleyin. /var/ossec/api/configuration/api.yaml Hata içermeyen örnek yanıt (HTTP durum kodu 200): Output { "data": { "affected_items": [ "master-node", "worker1" ], "total_affected_items": 2, "failed_items": [], "total_failed_items": 0 }, "message": "Restart request sent to all specified nodes", "error": 0 } Hatalı örnek yanıt (HTTP durum kodu 200): Output { "data": { "affected_items": [], "total_affected_items": 0, "total_failed_items": 4, "failed_items": [ { "error": { "code": 1707, "message": "Cannot send request, agent is not active", "remediation": "Please, check non-active agents connection and try again. Visit https://documentation.wazuh.com/current/user-manual/registering/index.html and https://documentation.wazuh.com/current/user-manual/agents/agent-connection.html to obtain more information on registering and connecting agents" }, "id": [ "001", "002", "009", "010" ] }, ] }, "message": "Restart command was not sent to any agent", "error": 1 } Kısmi yanıt örneği (HTTP durum kodu 200): Output { "data": { "affected_items": [ { "ip": "10.0.0.9", "id": "001", "name": "Carlos", "dateAdd": "2020-10-07T08:14:32Z", "node_name": "unknown", "registerIP": "10.0.0.9", "status": "never_connected" } ], "total_affected_items": 1, "total_failed_items": 1, "failed_items": [ { "error": { "code": 1701, "message": "Agent does not exist", "remediation": "Please, use `GET /agents?select=id,name` to find all available agents" }, "id": [ "005" ] } ] }, "message": "Some agents information was not returned", "error": 2 } Yetkisiz bir isteği bildirmek için örnek yanıt (HTTP durum kodu 401): Output { "title": "Unauthorized", "detail": "The server could not verify that you are authorized to access the URL requested. You either supplied the wrong credentials (e.g. a bad password), or your browser doesn't understand how to supply the credentials required.", } İzin reddedildi hatasını (HTTP durum kodu 403) bildirmek için örnek yanıt: Output { "title": "Permission Denied", "detail": "Permission denied: Resource type: *:*", "remediation": "Please, make sure you have permissions to execute the current request. For more information on how to set up permissions, please visit https://documentation.wazuh.com/current/user-manual/api/rbac/configuration.html", "error": 4000, "dapi_errors": { "unknown-node": { "error": "Permission denied: Resource type: *:*" } } } Wazuh Sunucu API Kullanımına İlişkin Pratik Örnekler Bu bölümde, cURL, Python betikleri ve PowerShell betikleri kullanarak Wazuh sunucu API'sine çeşitli istek türlerinin nasıl gönderileceğini gösteriyoruz. Bu örnekler, öngörebileceğiniz daha gelişmiş kullanım durumları için temel bilgi görevi görür. CURL cURL, HTTP/HTTPS istekleri ve komutları göndermek için bir komut satırı aracıdır. Birçok Linux ve macOS uç noktasına önceden yüklenmiş olarak gelir ve kullanıcıların Wazuh sunucu API'siyle doğrudan komut satırından etkileşim kurmasını sağlar. Herhangi bir uç noktayı yürütmeden önce bir JWT edinmeniz gerektiğini unutmayın. Aşağıdaki örneklerde, belirteci almak ve onu bir ortam değişkeni (  $TOKEN ) olarak kaydetmek için ham seçeneğini kullanıyoruz. JWT edinmeyle ilgili ayrıntılı talimatlar için lütfen  başlarken  bölümüne bakın. GET Aşağıdaki GET isteği, Wazuh sunucu API'si hakkında başlık, sürüm, revizyon, lisans, ana bilgisayar adı ve geçerli zaman damgası gibi temel bilgileri alır: # curl -k -X GET "https://localhost:55000/" -H "Authorization: Bearer $TOKEN" Output { "data": { "title": "Wazuh API", "api_version": "4.7.4", "revision": 40717, "license_name": "GPL 2.0", "license_url": "https://github.com/wazuh/wazuh/blob/master/LICENSE", "hostname": "wazuh-master", "timestamp": "2024-05-14T21:34:15Z" }, "error": 0 } POST Wazuh sunucusu API'sine yapılan aşağıdaki POST isteği, istek gövdesinde kullanıcı adı  test_user ve parola belirtilerek Wazuh sunucusunda yeni bir kullanıcı oluşturur . Test_user1 curl -k -X POST "https://localhost:55000/security/users" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d "{\"username\":\"test_user\",\"password\":\"Test_user1\"}" Output { "data": { "affected_items": [ { "username": "test_user", "roles": [] } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "User was successfully created", "error": 0 } DELETE Wazuh sunucusu API'sine gönderilen aşağıdaki DELETE isteği, Wazuh sunucusundaki tüm aracı gruplarını siler. curl -k -X DELETE "https://localhost:55000/groups?pretty=true&groups_list=all" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ "group1", "group2", "group3" ], "total_affected_items": 3, "total_failed_items": 0, "failed_items": [], "affected_agents": [ "001", "002", "003", "005", "006", "007", "008", "009", "010" ] }, "message": "All selected groups were deleted", "error": 0 } Python Bağlantısı kesilen aracılar hakkında, son canlı tutma süreleri ve kimlikleri dahil olmak üzere bilgi almak için bir Python betiği kullanabilirsiniz. Bunu yapmak için, betik önce bir taşıyıcı belirteci almak için temel kimlik doğrulamasını kullanarak Wazuh sunucu API'siyle kimlik doğrulaması yapar, ardından gerekli bilgileri almak için bir GET isteği yapar. Aşağıdaki Python betiğini şu şekilde kaydedin  get_agent_keep_alive.py : #!/usr/bin/env python3 import json from base64 import b64encode import requests # To install requests, use: pip install requests import urllib3 # Configuration endpoint = '/agents?select=lastKeepAlive&select=id&status=disconnected' protocol = 'https' host = '' port = '' user = '' password = '' # Disable insecure https warnings (for self-signed SSL certificates) urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # Functions def get_response(request_method, url, headers, verify=False, body=None): """Get API result""" if body is None: body = {} request_result = getattr(requests, request_method.lower())(url, headers=headers, verify=verify, data=body) if request_result.status_code == 200: return json.loads(request_result.content.decode()) else: raise Exception(f"Error obtaining response: {request_result.json()}") # Variables base_url = f"{protocol}://{host}:{port}" login_url = f"{base_url}/security/user/authenticate" basic_auth = f"{user}:{password}".encode() headers = { 'Authorization': f'Basic {b64encode(basic_auth).decode()}', 'Content-Type': 'application/json' } headers['Authorization'] = f'Bearer {get_response("POST", login_url, headers)["data"]["token"]}' # Request response = get_response("GET", url=base_url + endpoint, headers=headers) # WORK WITH THE RESPONSE AS YOU LIKE print(json.dumps(response, indent=4, sort_keys=True)) Aşağıdaki değişkenleri değiştirin: Wazuh sunucunuzun IP adresi ile. Wazuh sunucusu API port numarasıyla (varsayılan olarak port 5500). ve  doğru belgelerle. Python  requests modülünü kurun: python3 -m pip install requests Not:  Python modülü urllib3 sürüm 2.0 ve üzeri yalnızca OpenSSL sürüm 1.1.1 veya üzerini destekler. Sisteminizde daha eski bir OpenSSL sürümü varsa, şunlardan birini yapmanız gerekir: - OpenSSL'i 1.1.1 veya daha üst bir sürüme yükseltin. - urllib3 Mevcut OpenSSL sürümünüzle uyumlu bir sürüme geçin. Uyumluluk sorunlarını önlemek için lütfen yazılım bağımlılıklarınızın düzgün bir şekilde hizalandığından emin olun. Bağlantısı kesilen aracılar hakkında bilgi almak için Python betiğini çalıştırın: python3 get_agent_keep_alive.py Output { "data": { "affected_items": [ { "id": "009", "lastKeepAlive": "2020-05-23T12:39:50Z" }, { "id": "010", "lastKeepAlive": "2020-05-23T12:39:50Z" } ], "failed_items": [], "total_affected_items": 2, "total_failed_items": 0 }, "message": "All selected agents information was returned", "error": 0 } Güç Kabuğu Bağlantısı kesilen aracıların son canlı tutma süreleri ve kimlikleri dahil olmak üzere ayrıntıları almak için bir PowerShell betiği de kullanabilirsiniz. Bunu yapmak için, betik önce bir taşıyıcı belirteci almak için temel kimlik doğrulamasını kullanarak Wazuh sunucu API'siyle kimlik doğrulaması yapar, ardından gerekli bilgileri almak için bir GET isteği yapar. Aşağıdaki PowerShell betiğini şu şekilde kaydedin  get_agent_keep_alive.ps1 : function Ignore-SelfSignedCerts { add-type @" using System.Net; using System.Security.Cryptography.X509Certificates; public class PolicyCert : ICertificatePolicy { public PolicyCert() {} public bool CheckValidationResult( ServicePoint sPoint, X509Certificate cert, WebRequest wRequest, int certProb) { return true; } } "@ [System.Net.ServicePointManager]::CertificatePolicy = new-object PolicyCert } # Configuration $endpoint = "/agents?select=lastKeepAlive&select=id&status=disconnected" $method = "get" $protocol = "https" $host_name = "" $port = "" $username = "" $password = "" # Variables $base_url = $protocol + "://" + $host_name + ":" + $port $login_url = $base_url + "/security/user/authenticate" $endpoint_url = $base_url + $endpoint $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password))) $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Content-Type", 'application/json') $headers.Add("Authorization", "Basic " + $base64AuthInfo) Ignore-SelfSignedCerts $token_response = Invoke-RestMethod -Uri $login_url -Headers $headers $headers["Authorization"] = "Bearer " + $token_response.data.token # Request try{ $response = Invoke-RestMethod -Method $method -Uri $endpoint_url -Headers $headers }catch{ $response = $_.Exception.Response } # WORK WITH THE RESPONSE AS YOU LIKE Write-Output $response.data Aşağıdaki değişkenleri değiştirin: Wazuh sunucunuzun IP adresi ile. Wazuh sunucusu API port numarasıyla (varsayılan olarak port 5500). ve  doğru belgelerle. Bağlantısı kesilen aracılar hakkında bilgi almak için Windows uç noktasında PowerShell betiğini çalıştırın: powershell .\get_agent_keep_alive.py Output affected_items total_affected_items total_failed_items failed_items -------------- -------------------- ------------------ ------------ {@{lastKeepAlive=2020-05-23T12:39:50Z; id=009}, 2 0 {} @{lastKeepAlive=2020-05-23T12:39:50Z; id=010}} Yapılandırma Not:  Wazuh sunucu API'sini nasıl koruyacağınız hakkında daha fazla bilgi için lütfen  Wazuh sunucu API'sini güvence altına alma bölümünü inceleyin. Wazuh Sunucu API Yapılandırma Dosyası /var/ossec/api/configuration/api.yaml Wazuh sunucusu API yapılandırması Wazuh sunucusundaki dosyada bulunur . Varsayılan olarak, tüm ayarlar yorum satırına alınır. Farklı bir yapılandırma uygulamak için, yorum satırını kaldırın ve istediğiniz satırı düzenleyin. Yapılandırma dosyası için tüm kullanılabilir ayarlar şunlardır  /var/ossec/api/configuration/api.yaml . Her bir ayar hakkında daha fazla bilgi için  yapılandırma seçeneklerini kontrol edin: host: ['0.0.0.0', '::'] port: 55000 drop_privileges: yes experimental_features: no max_upload_size: 10485760 intervals: request_timeout: 10 https: enabled: yes key: "server.key" cert: "server.crt" use_ca: False ca: "ca.crt" ssl_protocol: "auto" ssl_ciphers: "" logs: level: "info" format: "plain" max_size: enabled: false cors: enabled: no source_route: "*" expose_headers: "*" allow_headers: "*" allow_credentials: no access: max_login_attempts: 50 block_time: 300 max_request_per_minute: 300 upload_configuration: remote_commands: localfile: allow: yes exceptions: [] wodle_command: allow: yes exceptions: [] limits: eps: allow: yes agents: allow_higher_versions: allow: yes indexer: allow: yes integrations: virustotal: public_key: allow: yes minimum_quota: 240 Uyarı:  Bir Wazuh sunucu kümesi çalıştırıldığında, ana düğüm yerel Wazuh sunucu API yapılandırma dosyasını otomatik olarak çalışan düğümlere göndermez. Her düğüm kendi Wazuh sunucu API yapılandırmasını korur. Bu nedenle, ana düğümdeki yapılandırma dosyasında herhangi bir değişiklik yapılırsa, tutarlılığı sağlamak için her çalışan düğümünde yapılandırmayı manuel olarak güncellemelisiniz. Her çalışanın yerel yapılandırmasında IP adresinin ve bağlantı noktasının üzerine yazılmadığından emin olun. Yapılandırma dosyasını düzenledikten sonra Wazuh yönetici servisini kullanarak Wazuh sunucu API'sini yeniden başlattığınızdan emin olun: Systemd  systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart API Yapılandırma Seçenekleri home İzin verilen değerler Varsayılan değer Tanım Geçerli IP adresleri veya ana bilgisayar adlarının listesi ['0.0.0.0', '::'] Wazuh sunucu API'sinin çalıştığı Wazuh yöneticisinin IP adresleri veya ana bilgisayar adları. port İzin verilen değerler Varsayılan değer Tanım 1 ile 65535 arasındaki herhangi bir değer 55000 Wazuh sunucu API'sinin dinleyeceği port. use_only_authd 4.3.0 sürümünden itibaren kullanımdan kaldırılmıştır. İzin verilen değerler Varsayılan değer Tanım evet, doğru, hayır, yanlış YANLIŞ Ajanları kaydederken ve kaldırırken wazuh-authd kullanımını zorunlu kılın. drop_privileges İzin verilen değerler Varsayılan değer Tanım evet, doğru, hayır, yanlış doğru Wazuh-api işlemini kullanıcı olarak çalıştırın  wazuh . experimental_features İzin verilen değerler Varsayılan değer Tanım evet, doğru, hayır, yanlış YANLIŞ Geliştirme aşamasındaki özellikleri etkinleştirin max_upload_size İzin verilen değerler Varsayılan değer Tanım Herhangi bir pozitif tam sayı 10485760 API'nin kabul edebileceği maksimum gövde boyutunu bayt cinsinden ayarlayın (0 -> sınırsız) intervals (aralıklar) Alt alanlar İzin verilen değerler Varsayılan değer Tanım request_timeout   10 Her API isteği için maksimum yanıt süresini (saniye cinsinden) ayarlayın https Alt alanlar İzin verilen değerler Varsayılan değer Tanım enabled evet, doğru, hayır, yanlış doğru Wazuh sunucu API'sinde SSL'yi (https) etkinleştirin veya devre dışı bırakın. key Herhangi bir metin dizesi sunucu.anahtar Özel anahtarın adı. İçinde saklanır  /var/ossec/api/configuration/ssl . sertifika Herhangi bir metin dizesi sunucu.crt Sertifikanın adı. Şurada saklanır  /var/ossec/api/configuration/ssl : . use_ca evet, doğru, hayır, yanlış YANLIŞ Bir Sertifika Yetkilisinden alınan sertifikanın kullanılıp kullanılmayacağı. ca Herhangi bir metin dizesi yaklaşık.krt Sertifika Yetkilisinin (CA) sertifikasının adı. İçinde saklanır  /var/ossec/api/configuration/ssl . ssl_protocol TLS, TLSv1, TLSv1.1, TLSv1.2, otomatik 4.8.0 sürümündeki yenilikler. otomatik SSL protokolüne izin vermek için. Değeri büyük/küçük harfe duyarlı değildir. ssl_ciphers Herhangi bir metin dizesi Hiçbiri SSL şifrelerine izin verilir. Değeri büyük/küçük harfe duyarlı değildir. logs Alt alanlar İzin verilen değerler Varsayılan değer Tanım level devre dışı, bilgi, uyarı, hata, hata ayıklama, debug2 (her seviye bir önceki seviyeyi içerir) bilgi Wazuh sunucusu API günlüklerinin ayrıntı düzeyini ayarlayın. path Herhangi bir metin dizesi. günlükler/api.log 4.3.0 sürümünden itibaren kullanımdan kaldırılmıştır. Wazuh sunucusu API kayıtlarının kaydedileceği yol. format   ova 4.4.0 sürümündeki yenilikler. Wazuh sunucusu API günlüklerinin biçimini ayarlayın. max_size 4.6.0 sürümündeki yenilikler. Alt alanlar İzin verilen değerler Varsayılan değer Tanım enabled evet, doğru, hayır, yanlış YANLIŞ Zaman tabanlı ve boyut tabanlı Wazuh API günlük döndürme arasında geçiş yapın. Bu seçeneği etkinleştirmek zaman tabanlı döndürmeyi devre dışı bırakır ve bunun yerine dosya boyutuna dayalı döndürmeyi etkinleştirir. size Geçerli bir birimden sonra gelen herhangi bir pozitif sayı. Kilobayt için K/k, megabayt için M/m. 1M Boyut tabanlı günlük döndürmeyi tetiklemeyecek şekilde maksimum dosya boyutunu ayarlayın. 1 M'den düşük değerler 1 M olarak kabul edilir. cors Alt alanlar İzin verilen değerler Varsayılan değer Tanım enabled   YANLIŞ Wazuh sunucu API'sinde CORS kullanımını etkinleştirin veya devre dışı bırakın. source_route Herhangi bir metin dizesi * Kaynakların mevcut olacağı kaynaklar. Örneğin  http://client.example.org . expose_headers Herhangi bir metin dizesi * Hangi başlıkların yanıtın bir parçası olarak açığa çıkarılabileceği. allow_headers   * Gerçek istek sırasında hangi HTTP başlıklarının kullanılabileceği. allow_credentials evet, doğru, hayır, yanlış YANLIŞ Tarayıcılara yanıtın ön uç JavaScript'e açılıp açılmayacağını söyleyin. access (erişim) Alt alanlar İzin verilen değerler Varsayılan değer Tanım max_login_attempts Herhangi bir pozitif tam sayı 50 Belirtilen saniye sayısı içerisinde yapılabilecek maksimum oturum açma girişimi sayısını ayarlayın  block_time . block_time   300 Oturum açma isteklerini denemek için belirlenen zaman aralığı (saniye cinsinden). Belirlenen istek sayısı (  max_login_attempts ) bu zaman sınırı içinde aşılırsa, IP adresi blok zaman aralığının sonuna kadar engellenir. max_request_per_minute Herhangi bir pozitif tam sayı 300 Dakikada izin verilen maksimum istek sayısı. Kimlik doğrulama istekleri hariç tüm Wazuh sunucu API uç noktaları için geçerlidir. Bu sınıra bir dakikadan kısa sürede ulaşılması, kalan süre boyunca herhangi bir kullanıcıdan gelen tüm istekleri engeller. Bir değeri  0 bu özelliği devre dışı bırakır. İstekler için, etkili değer 30'dan büyük değerler içindir. POST   /events 30 upload_configuration 4.4.0 sürümündeki yenilikler. remote_commands (yerel_dosya ve wodle "komut") Alt alanlar İzin verilen değerler Varsayılan değer Tanım allow evet, doğru, hayır, yanlış doğru Wazuh sunucu API'si aracılığıyla uzaktan komutlarla yapılandırmaların yüklenmesine izin verin. Bu seçeneğin ayarlanması,  wodle "command" seçeneğini  veya  localfile etiketi  içindeki seçeneği içeren dosyaların  false yüklenmesini engeller . ossec.conf exceptions komut listesi [ ] API aracılığıyla yüklenmesine izin verilen komutların bir listesini ayarlayın. Bu istisnalar yapılandırmadan bağımsız olarak her zaman yüklenebilir  allow . sınırlar eps 4.4.0 sürümündeki yenilikler. Alt alanlar İzin verilen değerler Varsayılan değer Tanım allow evet, doğru, hayır, yanlış doğru Wazuh sunucu API'si aracılığıyla değiştirilmiş EPS limitleriyle yapılandırmaların yüklenmesine izin verin. Bu seçeneğin ayarlanması,  genel etiketin içindeki bölüm değiştiyse dosyaların false yüklenmesini engeller.  ossec.conf agents allow_higher_versions 4.6.0 sürümündeki yenilikler. Alt alanlar İzin verilen değerler Varsayılan değer Tanım allow evet, doğru, hayır, yanlış doğru Wazuh sunucu API'si aracılığıyla daha yüksek aracı sürümlerini kabul eden yapılandırmaların yüklenmesine izin verin. Bu seçeneğin ayarlanması,  auth  veya  remote  etiketleri içindeki değere sahip bölümü içeren dosyaların  false yüklenmesini engeller . ossec.conf yes indexer 4.8.0 sürümündeki yenilikler. Alt alanlar İzin verilen değerler Varsayılan değer Tanım allow evet, doğru, hayır, yanlış doğru Wazuh sunucu API'si aracılığıyla güncellenmiş bir  dizinleyici yapılandırma bölümünün  yüklenmesine izin verir . Bu seçeneğin ayarlanması  false , yükleme sırasında dizinleyici yapılandırmasının güncellenmesini önler  ossec.conf . entegrasyonlar 4.8.0 sürümündeki yenilikler. virüstotal (public_key) Alt alanlar İzin verilen değerler Varsayılan değer Tanım allow evet, doğru, hayır, yanlış doğru Wazuh sunucu API'si aracılığıyla genel bir API anahtarı kullanılarak güncellenmiş bir  Virus Total entegrasyon yapılandırma bölümünün  yüklenmesine izin verir . Bu seçeneğin ayarlanması  false , yükleme sırasında entegrasyonların Virus Total yapılandırmasının güncellenmesini önler  ossec.conf . minimum_quota Herhangi bir pozitif tam sayı 240 Virus Total genel API anahtarı için minimum kota değeri. Wazuh Sunucu API Güvenlik Yapılandırması auth_token_exp_timeout Güvenlik yapılandırmasını ve  rbac_mode ayarlarını yalnızca Wazuh sunucu API uç noktaları aracılığıyla sorgulayabilir ve değiştirebilirsiniz :  GET /security/config  ,  PUT /security/config  ve  DELETE /security/config  .  auth_token_exp_timeout Bir kimlik doğrulama belirtecinin süresi dolmadan ve yenilenmesi gerekmeden önceki saniye cinsinden süreyi tanımlar.  rbac_mode Kullanıcı rollerine ve izinlerine göre kaynaklara ve uç noktalara erişimi genel olarak izin vermek veya kısıtlamak üzere yapılandırılabilen Rol Tabanlı Erişim Kontrol sisteminin genel davranışını belirler. Daha fazla ayrıntı için  Rol Tabanlı Erişim Kontrol  belgelerine bakın. Yapılandırma, geçerliyse bir kümedeki her Wazuh sunucu API'sine uygulanır. Her bir ayar hakkında daha fazla bilgi için lütfen  güvenlik yapılandırma seçeneklerini  kontrol edin . auth_token_exp_timeout: 900 rbac_mode: white Uyarı:  Güvenlik nedenleriyle, güvenlik yapılandırmasını değiştirmek tüm JWT'leri iptal eder. Değişiklikten sonra oturum açmanız ve yeni bir token edinmeniz gerekecektir. Güvenlik Yapılandırma Seçenekleri auth_token_exp_timeout İzin verilen değerler Varsayılan değer Tanım Herhangi bir pozitif tam sayı 900 JWT token'larının süresinin dolmasının kaç saniye süreceğini ayarlayın. rbac_mode İzin verilen değerler Varsayılan değer Tanım siyah, beyaz beyaz RBAC davranışını ayarlayın. Varsayılan olarak, siyah modda her şeye izin verilirken beyaz modda her şey reddedilir. İstenen RBAC altyapısına daha uygun olan rbac_mode'u seçin. Siyah modda, sadece bazı politikalarla birkaç belirli eylem-kaynak çiftini reddetmek çok kolaydır, beyaz mod ise daha güvenlidir ve sıfırdan oluşturulmasını gerektirir. Yapılandırma Endpoints Wazuh sunucu API'sinin geçerli yapılandırmasını sorgulamaya izin veren birkaç uç noktası vardır. Genel API yapılandırmasını değiştirmek için dosyayı  Wazuh sunucu API yapılandırma dosyası /var/ossec/api/configuration/api.yaml  bölümünde ayrıntılı olarak açıklandığı şekilde düzenleyin . Yapılandırmayı Al GET /manager/api/config  : Yerel Wazuh sunucusunun API yapılandırmasının tamamını alın. GET /cluster/api/config  : Tüm küme düğümlerinin (veya bir listesinin) Wazuh sunucusu API yapılandırmasının tamamını alın. GET /security/config  : Mevcut güvenlik yapılandırmasını alın. Yapılandırmayı Değiştir PUT /security/config  : Güvenlik yapılandırmasını değiştirin. Yapılandırmayı Geri Yükle DELETE /security/config  : Varsayılan güvenlik yapılandırmasını geri yükler. SSL sertifikası Not:  Bu işlem Wazuh sunucu API'si ilk kez çalıştırıldığında otomatik olarak gerçekleştirilir. SSL sertifikası, Wazuh sunucu API'si ile istemcileri arasında güvenli iletişimi sağlar. Sertifika dosyaları dizinde saklanır  /var/ossec/api/configuration/ssl/ . Wazuh sunucu API'si için yeni sertifikalar oluşturmak üzere aşağıdaki adımları izleyin: Anahtar ve sertifika isteğini oluşturun (  openssl paket gereklidir): cd /var/ossec/api/configuration/ssl openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout server.key -out server.crt Varsayılan olarak, anahtarın parolası sunucu her çalıştırıldığında girilmelidir. Anahtar Wazuh sunucu API'si veya yukarıdaki komut tarafından üretilmişse, parolası olmazdı. (İsteğe bağlı) Anahtarı bir parola ile güvenceye alın: ssh-keygen -p -f server.key Yeni şifreyi girmeniz ve onaylamanız istenecektir. Wazuh Sunucu API'sini Güvence Altına Alma Wazuh panosu ile Wazuh sunucu API'si arasındaki iletişim varsayılan olarak HTTPS ile şifrelenir. Wazuh sunucu API'si, kullanıcılar bunları sağlamazsa ilk çalıştırma sırasında kendi özel anahtarını ve sertifikasını oluşturur. Ek olarak, Wazuh sunucu API'si OVA kurulumuyla birlikte kurulduğunda aşağıdaki kullanıcı adı-şifre çiftini otomatik olarak oluşturur: wazuh:wazuh wazuh-wui:wazuh-wui Wazuh dağıtımı kurulum yardımcısı betiği kullanılarak gerçekleştirildiyse, Wazuh API kullanıcı adı şudur  wazuh ve aşağıdaki komutu çalıştırarak parolayı çıkarabilirsiniz: tar -axf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt -O | grep -P "\'wazuh\'" -A 1 Bu nedenle Wazuh yöneticisini kurduktan sonra Wazuh sunucu API'sinin güvenliğini sağlamak büyük önem taşımaktadır. Uyarı: Wazuh sunucu API'si tarafından oluşturulan sertifikanın kendi imzalı olması nedeniyle varsayılan şifreleri değiştirmenizi ve kendi sertifikanızı kullanmanızı şiddetle öneririz. Wazuh Sunucu API'sini Güvence Altına Almak İçin Önerilen Değişiklikler 1. HTTPS Parametrelerini Değiştirin Wazuh sunucu API'si varsayılan olarak HTTPS'yi etkinleştirmiştir. Eğer içinde kullanılabilir bir sertifika yoksa  /var/ossec/api/configuration/ssl/ , Wazuh sunucusu başlatıldığında özel anahtarı ve kendi kendine imzalanmış bir sertifikayı üretecektir. Eğer durum buysa ve API günlük biçimi olarak ayarlanmışsa  plain , aşağıdaki satırlar görünecektir  /var/ossec/logs/api.log : INFO: HTTPS is enabled but cannot find the private key and/or certificate. Attempting to generate them. INFO: Generated private key file in WAZUH_PATH/api/configuration/ssl/server.key. INFO: Generated certificate file in WAZUH_PATH/api/configuration/ssl/server.crt. Bu HTTPS seçeneklerini, durumlarını veya sertifika yolunu da içerecek şekilde, şu adreste bulunan Wazuh sunucu API yapılandırma dosyasını düzenleyerek değiştirebilirsiniz  /var/ossec/api/configuration/api.yaml : https: enabled: yes key: "server.key" cert: "server.crt" use_ca: False ca: "ca.crt" ssl_protocol: "auto" ssl_ciphers: "" Değişiklikleri uygulamak için Wazuh yönetici hizmetini kullanarak Wazuh sunucu API'sini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart 2. Yönetici Kullanıcıları İçin Varsayılan Parolayı Değiştirin Yönetici kullanıcıları için varsayılan şifreyi değiştirmek için  wazuh aşağıdaki  wazuh-wui Wazuh sunucu API isteğini kullanabilirsiniz:  PUT /security/users/{user_id}  . Not:  Kullanıcıların şifresi 8 ile 64 karakter arasında olmalıdır. En az bir büyük harf, küçük harf, rakam ve sembol içermelidir. Aşağıda curl kullanarak şifre değiştirmenin bir örneğini gösteriyoruz  : Kullanıcıların kullanıcı kimlikleriyle birlikte bir listesini alın: curl -k -X GET "https://localhost:55000/security/users?pretty=true" -H "Authorization: Bearer $TOKEN" İstenilen kullanıcının şifresini değiştirin: curl -k -X PUT "https://localhost:55000/security/users/" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"password": ""}' Kullanıcının ID'si ve  yeni şifre ile değiştirin. Uyarı:   wazuh-wui kullanıcı parolasını değiştirmek Wazuh panosunu etkileyecektir.  Yeni kimlik bilgileriyle /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml  yapılandırma dosyasını uygun şekilde güncellemeniz gerekecektir. Daha fazla bilgi edinmek için Wazuh gösterge tablosu yapılandırma dosyası belgesine bakın.   3. Varsayılan Host ve Portu Değiştirin Varsayılan olarak,  host olarak ayarlanır ve Wazuh sunucu API'sinin tüm kullanılabilir ağ arayüzlerinde gelen bağlantıları kabul etmesine olanak tanır. Erişimi kısıtlamak için, Wazuh sunucu API yapılandırmasını şurada düzenleyin : ['0.0.0.0',   '::'] /var/ossec/api/configuration/api.yaml host: ['0.0.0.0', '::'] Varsayılan portu da değiştirebilirsiniz: port: 55000 Bu parametreleri yapılandırdıktan sonra, Systemd veya SysV init ile Wazuh yönetici servisini kullanarak Wazuh sunucu API'sini yeniden başlatın: Systemd systemctl restart wazuh-manager SysV Başlatma service wazuh-manager restart 4. Dakika Başına Maksimum İstek Sayısını Ayarlayın Wazuh sunucu API'sinin aşırı yüklenmesini önlemek için, API'nin dakikada işleyebileceği maksimum istek sayısını belirlemek için hız sınırlaması uygulayabilirsiniz. Bu sınır aşılırsa, API geri kalan süre boyunca herhangi bir kullanıcıdan gelen diğer istekleri reddeder. max_request_per_minute Varsayılan sınır dakikada 300 istektir. Bunu, içindeki ayarı değiştirerek ayarlayın  /var/ossec/api/configuration/api.yaml . Not:  Hız sınırlamasını devre dışı bırakmak için değerini 0 olarak ayarlayın. 5. Maksimum Oturum Açma Girişimi Sayısını Ayarlayın Kaba kuvvet saldırılarına karşı korunmak için, belirli bir zaman dilimi içinde aynı IP adresinden gelen oturum açma girişimlerini sınırlayabilirsiniz. Bu sınırın aşılması, IP adresini o süre boyunca engeller. Varsayılan olarak, 300 saniyelik periyotta 50 oturum açma girişimine izin verilir. Bu sınırları ayarlamak için  max_login_attempts  ve/veya  block_time  ayarlarını /var/ossec/api/configuration/api.yaml 'da düzenleyin. Rol Tabanlı Erişim Kontrolü Wazuh Sorgu Dili (WQL) Kullanılarak Verilerin Filtrelenmesi Wazuh API'sinin sorgularını kullanarak gelişmiş filtreleme mümkündür. Sorgular  q parametre kullanılarak belirtilir. Bir sorgunun yapısı şu şekildedir: Alan adı  : Filtrelenecek alan adı. Yanlış bir alan adı kullanılırsa, bir hata oluşacaktır. Operatör  : Filtreleme yapılacak operatör: = : eşitlik. != : eşitlik değil. < : daha küçük. > : daha büyük. ~ : gibi. () : gruplama operatörleri. Değer  : Filtrelenecek değer. Ayırıcı  : Birden fazla "sorguyu" birleştirmek için kullanılan operatör: , : bir . temsil eder  OR . ; : bir . temsil eder  AND . Not: Ayrılmış karakterlerin, özellikle noktalı virgüllerin (  ; → %3B ) yüzde kodlu olması gerekir . İşlemi kolaylaştırmak için cURL içinde --data-urlencode kullanabilirsiniz. Örnekler Örneğin, 18'den yüksek sürüme sahip Ubuntu aracılarını filtrelemek için aşağıdaki sorgu kullanılır. q parametresinin değerinin şu şekilde kodlandığını unutmayın  --data-urlencode : curl -G --data-urlencode "q=os.name=ubuntu;os.version>18" -k -X GET "https://localhost:55000/agents?limit=500&pretty=true&select=id,name,os.name,os.version,os.codename,os.major" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-master", "id": "000" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-agent4", "id": "004" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-agent5", "id": "005" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-agent6", "id": "006" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-agent7", "id": "007" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-agent8", "id": "008" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.2 LTS" }, "name": "wazuh-agent9", "id": "009" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.2 LTS" }, "name": "wazuh-agent10", "id": "010" } ], "total_affected_items": 8, "total_failed_items": 0, "failed_items": [] }, "message": "All selected agents information was returned", "error": 0 } Daha doğru bir sonuç elde etmek için aynı alan birden fazla kez kullanılabilir. Örneğin, Ubuntu 18'den daha yüksek ancak Ubuntu 18.04.4'ten daha düşük bir sürüme sahip filtreleme ajanları: curl -G --data-urlencode "q=os.name=ubuntu;os.version>18;os.version<18.04.4" -k -X GET "https://localhost:55000/agents?limit=500&pretty=true&select=id,name,os.name,os.version,os.codename,os.major" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.2 LTS" }, "name": "wazuh-agent9", "id": "009" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.2 LTS" }, "name": "wazuh-agent10", "id": "010" } ], "total_affected_items": 2, "total_failed_items": 0, "failed_items": [] }, "message": "All selected agents information was returned", "error": 0 } OR ( , ) operatörü ve LIKE AS (  ~ ) operatörünün kullanımına bir örnek, işletim sistemi adı  windows  veya  centos içeren ajanları filtrelemek olabilir . curl -G --data-urlencode "q=os.name~centos,os.name~windows" -k -X GET "https://localhost:55000/agents?limit=500&pretty=true&select=id,name,os.name,os.version,os.codename,os.major" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "os": { "major": "6", "name": "Microsoft Windows 7 Ultimate Edition Professional Service Pack 1", "version": "6.1.7601" }, "name": "jmv74211-PC", "id": "013" } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "All selected agents information was returned", "error": 0 } Kimliği 0'dan farklı ve 4'ten küçük olan, adı alt dizeyi içeren  waz ve ana sürümü 16 veya 18 olan Ubuntu ajanlarını elde etmek, aynı anda birden fazla operatörü içeren bir örnektir: curl -G --data-urlencode "q=id!=0;id<4;name~waz;(os.major=16,os.major=18)" -k -X GET "https://localhost:55000/agents?limit=500&pretty=true&select=id,name,os.name,os.version,os.codename,os.major" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "os": { "codename": "Xenial Xerus", "major": "16", "name": "Ubuntu", "version": "16.04.6 LTS" }, "name": "wazuh-agent1", "id": "001" }, { "os": { "codename": "Xenial Xerus", "major": "16", "name": "Ubuntu", "version": "16.04.6 LTS" }, "name": "wazuh-agent2", "id": "002" }, { "os": { "codename": "Xenial Xerus", "major": "16", "name": "Ubuntu", "version": "16.04.6 LTS" }, "name": "wazuh-agent3", "id": "003" } ], "total_affected_items": 3, "total_failed_items": 0, "failed_items": [] }, "message": "All selected agents information was returned", "error": 0 } Windows'ta 007  çalışan veya işletim sistemi ana sürümü 14 veya 18 olanlardan daha yüksek bir ID'ye sahip aracıları elde etmek : curl -G --data-urlencode "q=id>007;(os.name~windows,(os.major=14,os.major=18))" -k -X GET "https://localhost:55000/agents?limit=500&pretty=true&select=id,name,os.name,os.version,os.codename,os.major" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.4 LTS" }, "name": "wazuh-agent8", "id": "008" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.2 LTS" }, "name": "wazuh-agent9", "id": "009" }, { "os": { "codename": "Bionic Beaver", "major": "18", "name": "Ubuntu", "version": "18.04.2 LTS" }, "name": "wazuh-agent10", "id": "010" }, { "os": { "major": "6", "name": "Microsoft Windows 7 Ultimate Edition Professional Service Pack 1", "version": "6.1.7601" }, "name": "jmv74211-PC", "id": "013" } ], "total_affected_items": 4, "total_failed_items": 0, "failed_items": [] }, "message": "All selected agents information was returned", "error": 0 } Kullanım Örnekleri Bu bölüm, Wazuh sunucu API'sinin bazı potansiyellerini göstermek için çeşitli kullanım örnekleri sunar. Tüm olası API istekleri hakkında ayrıntıları referans   bölümünde bulabilirsiniz . Kural Setini Keşfetmek Genellikle bir uyarı ateşlendiğinde, kuralın kendisi hakkında ayrıntıları bilmek faydalıdır. Aşağıdaki istek kuralın niteliklerini sıralar  1002 : curl -k -X GET "https://localhost:55000/rules?rule_ids=1002&pretty=true" -H "Authorization: Bearer $TOKEN"# curl -k -X GET "https://localhost:55000/rules?rule_ids=1002&pretty=true" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "filename": "0020-syslog_rules.xml", "relative_dirname": "ruleset/rules", "id": 1002, "level": 2, "status": "enabled", "details": { "match": { "pattern": "core_dumped|failure|error|attack| bad |illegal |denied|refused|unauthorized|fatal|failed|Segmentation Fault|Corrupted" } }, "pci_dss": [], "gpg13": [ "4.4" ], "gdpr": [], "hipaa": [], "nist_800_53": [], "groups": [ "syslog", "errors" ], "description": "Unknown problem somewhere in the system." } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "All selected rules were returned", "error": 0 } web Belirli bir ölçüte uyan hangi kuralların mevcut olduğunu bilmek de faydalı olabilir. Örneğin, PCI etiketiyle  10.6.1 ve kelimeyi içeren gruptaki tüm kuralları  failures aşağıdaki komutla görüntüleyebilirsiniz : curl -k -X GET "https://localhost:55000/rules?pretty=true&limit=500&search=failures&group=web&pci_dss=10.6.1" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "filename": "0260-nginx_rules.xml", "relative_dirname": "ruleset/rules", "id": 31316, "level": 10, "status": "enabled", "details": { "frequency": "8", "timeframe": "240", "if_matched_sid": "31315", "same_source_ip": "", "mitre": "\n " }, "pci_dss": [ "10.6.1", "10.2.4", "10.2.5", "11.4" ], "gpg13": [ "7.1" ], "gdpr": [ "IV_35.7.d", "IV_32.2" ], "hipaa": [ "164.312.b" ], "nist_800_53": [ "AU.6", "AU.14", "AC.7", "SI.4" ], "groups": [ "authentication_failures", "tsc_CC7.2", "tsc_CC7.3", "tsc_CC6.1", "tsc_CC6.8", "nginx", "web" ], "description": "Nginx: Multiple web authentication failures." } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "All selected rules were returned", "error": 0 } Test Kuralları ve Kod Çözücüler Wazuh sunucu API'sini kullanarak bir wazuh-logtest  oturumu başlatabilir veya özel veya varsayılan kuralları ve kod çözücüleri test etmek ve doğrulamak için mevcut bir oturumu kullanabilirsiniz. Aşağıdaki istek bir logtest oturumu oluşturur ve sağlanan günlük için eşleşen kuralları ve kod çözücüleri görüntüler. Ayrıca diğer bilgilerin yanı sıra ön kodlama aşamasını da ortaya çıkarır. curl -k -X PUT "https://localhost:55000/logtest" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d "{\"event\":\"Jun 29 15:54:13 focal multipathd[557]: sdb: failed to get sysfs uid: No data available\",\"log_format\":\"syslog\",\"location\":\"user->/var/log/syslog\"}" Output { "error": 0, "data": { "token": "bc3ca27a", "messages": [ "WARNING: (7309): 'null' is not a valid token", "INFO: (7202): Session initialized with token 'bc3ca27a'" ], "output": { "timestamp": "2020-10-15T09:40:53.630+0000", "rule": { "level": 0, "description": "FreeIPA messages grouped", "id": "82202", "firedtimes": 1, "mail": false, "groups": [ "freeipa" ] }, "agent": { "id": "000", "name": "wazuh-master" }, "manager": { "name": "wazuh-master" }, "id": "1602754853.1000774", "cluster": { "name": "wazuh", "node": "master-node" }, "full_log": "Jun 29 15:54:13 focal multipathd[557]: sdb: failed to get sysfs uid: No data available", "predecoder": { "program_name": "multipathd", "timestamp": "Jun 29 15:54:13", "hostname": "focal" }, "decoder": { "name": "freeipa" }, "location": "user->/var/log/syslog" }, "alert": false, "codemsg": 1 } } Bir Wazuh Aracısının Dosya Bütünlüğü İzleme (FIM) Veritabanının Analiz Edilmesi Wazuh FIM modülü tarafından izlenen tüm dosyalar hakkında bilgi görüntülemek için Wazuh sunucu API'sini kullanabilirsiniz. Aşağıdaki örnek,  .py aracı kimliğine sahip izlenen bir uç noktaya yüklenen Python dosyalarıyla ilişkili tüm olayları gösterir  001 : curl -k -X GET "https://localhost:55000/syscheck/001?pretty=true&search=.py" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "file": "/etc/python2.7/sitecustomize.py", "perm": "rw-r--r--", "sha1": "67b0a8ccf18bf5d2eb8c7f214b5a5d0d4a5e409d", "changes": 1, "md5": "d6b276695157bde06a56ba1b2bc53670", "inode": 29654607, "size": 155, "uid": "0", "gname": "root", "mtime": "2020-04-15T17:20:14Z", "sha256": "43d81125d92376b1a69d53a71126a041cc9a18d8080e92dea0a2ae23be138b1e", "date": "2020-05-25T14:28:41Z", "uname": "root", "type": "file", "gid": "0" }, { "file": "/etc/python3.6/sitecustomize.py", "perm": "rw-r--r--", "sha1": "67b0a8ccf18bf5d2eb8c7f214b5a5d0d4a5e409d", "changes": 1, "md5": "d6b276695157bde06a56ba1b2bc53670", "inode": 29762235, "size": 155, "uid": "0", "gname": "root", "mtime": "2020-04-18T01:56:04Z", "sha256": "43d81125d92376b1a69d53a71126a041cc9a18d8080e92dea0a2ae23be138b1e", "date": "2020-05-25T14:28:41Z", "uname": "root", "type": "file", "gid": "0" } ], "total_affected_items": 2, "total_failed_items": 0, "failed_items": [] }, "message": "FIM findings of the agent were returned", "error": 0 } Bir dosyayı SHA1 veya MD5 karma değerini kullanarak bulabilirsiniz. Aşağıdaki örneklerde, dosyayı hem SHA1 hem de MD5 karma değerini kullanarak alıyoruz: curl -k -X GET "https://localhost:55000/syscheck/001?pretty=true&hash=bc929cb047b79d5c16514f2c553e6b759abfb1b8" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "file": "/sbin/swapon", "perm": "rwxr-xr-x", "sha1": "bc929cb047b79d5c16514f2c553e6b759abfb1b8", "changes": 1, "md5": "085c1161d814a8863562694b3819f6a5", "inode": 14025822, "size": 47184, "uid": "0", "gname": "root", "mtime": "2020-01-08T18:31:23Z", "sha256": "f274025a1e4870301c5678568ab9519152f49d3cb907c01f7c71ff17b1a6e870", "date": "2020-05-25T14:29:44Z", "uname": "root", "type": "file", "gid": "0" } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "FIM findings of the agent were returned", "error": 0 } curl -k -X GET "https://localhost:55000/syscheck/001?pretty=true&hash=085c1161d814a8863562694b3819f6a5" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "file": "/sbin/swapon", "perm": "rwxr-xr-x", "sha1": "bc929cb047b79d5c16514f2c553e6b759abfb1b8", "changes": 1, "md5": "085c1161d814a8863562694b3819f6a5", "inode": 14025822, "size": 47184, "uid": "0", "gname": "root", "mtime": "2020-01-08T18:31:23Z", "sha256": "f274025a1e4870301c5678568ab9519152f49d3cb907c01f7c71ff17b1a6e870", "date": "2020-05-25T14:29:44Z", "uname": "root", "type": "file", "gid": "0" } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "FIM findings of the agent were returned", "error": 0 } Yönetici Hakkında Bilgi Edinme Wazuh sunucusu API'si aracılığıyla Wazuh yöneticisi hakkında çeşitli ayrıntıları alabilirsiniz. Bu ayrıntılar yapılandırma, durum, günlükler ve daha fazlasını içerir. Aşağıdaki örnek her Wazuh daemon'unun durumunun nasıl alınacağını gösterir: curl -k -X GET "https://localhost:55000/manager/status?pretty=true" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "wazuh-agentlessd": "running", "wazuh-analysisd": "running", "wazuh-authd": "running", "wazuh-csyslogd": "running", "wazuh-dbd": "stopped", "wazuh-monitord": "running", "wazuh-execd": "running", "wazuh-integratord": "running", "wazuh-logcollector": "running", "wazuh-maild": "running", "wazuh-remoted": "running", "wazuh-reportd": "stopped", "wazuh-syscheckd": "running", "wazuh-clusterd": "running", "wazuh-modulesd": "running", "wazuh-db": "running", "wazuh-apid": "stopped" } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "Processes status were successfully read in specified node", "error": 0 } Aşağıdaki istekle Wazuh yöneticisinin mevcut yapılandırmasını boşaltabilirsiniz (cevap, kısa olması için kısaltılmıştır): curl -k -X GET "https://localhost:55000/manager/configuration?pretty=true§ion=global" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "global": { "jsonout_output": "yes", "alerts_log": "yes", "logall": "no", "logall_json": "no", "email_notification": "yes", "email_to": "me@test.example", "smtp_server": "mail.test.example", "email_from": "wazuh@test.example", "email_maxperhour": "12", "email_log_source": "alerts.log", "white_list": [ "127.0.0.1", "^localhost.localdomain$", "8.8.8.8", "8.8.4.4" ] } } ], "total_affected_items": 1, "total_failed_items": 0, "failed_items": [] }, "message": "Configuration was successfully read in specified node", "error": 0 } Wazuh Agent Yönetimini Keşfetme Wazuh ajanlarını yönetmek için Wazuh sunucu API'sini kullanabilirsiniz. Aşağıdaki istek iki etkin etkeni sıralıyor: curl -k -X GET "https://localhost:55000/agents?pretty=true&offset=1&limit=2&select=status%2Cid%2Cmanager%2Cname%2Cnode_name%2Cversion&status=active" -H "Authorization: Bearer $TOKEN" Output { "data": { "affected_items": [ { "node_name": "worker2", "status": "active", "manager": "wazuh-worker2", "version": "Wazuh v4.7.4", "id": "001", "name": "wazuh-agent1" }, { "node_name": "worker2", "status": "active", "manager": "wazuh-worker2", "version": "Wazuh v4.7.4", "id": "002", "name": "wazuh-agent2" } ], "total_affected_items": 9, "total_failed_items": 0, "failed_items": [] }, "message": "All selected agents information was returned", "error": 0 } API isteği göndererek ajan adını ve IP adresini kullanarak yeni bir Wazuh ajanı ekleyin: curl -k -X POST "https://localhost:55000/agents?pretty=true" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d "{\"name\":\"NewHost\",\"ip\":\"10.0.10.11\"}" Output { "data": { "id": "013", "key": "MDEzIE5ld0hvc3RfMiAxMC4wLjEwLjEyIDkzOTE0MmE4OTQ4YTNlMzA0ZTdiYzVmZTRhN2Q4Y2I1MjgwMWIxNDI4NWMzMzk3N2U5MWU5NGJiMDc4ZDEzNjc=" }, "error": 0 } Güvenlik Olaylarını İçe Aktarın 4.6.0 sürümündeki yenilikler. Güvenlik olaylarını analiz için Wazuh yöneticisine aktarmak amacıyla Wazuh sunucu API'sini kullanabilirsiniz. Dakikada 30 istek ve istek başına 100 olay sınırı vardır. Bu sınır, uç noktaların büyük miktarda veriyi çok hızlı bir şekilde almasını önler. Bu sınırı daha da düşürmek veya özelliği devre dışı bırakmak için  max_request_per_minute'i işaretleyin. curl -k -X POST "https://localhost:55000/events" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"events": ["Event value 1", "{\"someKey\": \"Event value 2\"}"]}' Output { "data": { "affected_items": [ ], "total_affected_items": 2, "total_failed_items": 0, "failed_items": [] }, "message": "All events were forwarded to analisysd", "error": 0 } Çözüm Sonuç olarak, bu örnekler Wazuh API'nin yeteneklerini sergiliyor. Mevcut Wazuh sunucu API isteklerinin tam aralığını keşfetmek için  referans belgesini inceleyin. Wazuh Server Kümesi Wazuh Sunucu Kümesi Wazuh Indexer Wazuh dizinleyicisi, güvenlik verileri için gerçek zamanlı, tam metin arama ve analiz motorudur. Wazuh sunucusuna alınan günlük verileri analiz edilir ve dizinleme ve depolama için dizinleyiciye iletilir. Bu olaylar daha sonra Wazuh panosunda sorgulanır. Wazuh dizinleyicisi verileri JSON belgeleri olarak depolar. Her belge, bir dizi anahtarı, alan adını veya özniteliği, karakterler, sayılar, boole değerleri, tarihler, değer dizileri, coğrafi konumlar veya diğer veri türleri olabilen karşılık gelen değerleriyle ilişkilendirir. Wazuh dizinleyicisi, ölçeklenebilirlik ve yüksek kullanılabilirlik sağlayan tek düğümlü veya çok düğümlü bir küme olarak yapılandırılabilir. Belgeleri, shard olarak bilinen farklı kapsayıcılara dağıtır. Sırayla, bu shard'ları küme düğümlerine dağıtır. Belgeleri birden fazla shard'a ve bu shard'ları birden fazla düğüme dağıtarak, Wazuh dizinleyicisi yedekliliği garanti eder. Yedeklilik, bir arıza durumunda Wazuh dizinleyicisinin kullanılabilirliğini garanti eder ve küme düğümleri arasında sorgu kapasitesini artırır. Wazuh Indexer Endeksleri Bir dizin, birbirleriyle ilişkili belgelerin bir koleksiyonudur. Wazuh dizinleyicisi, hızlı erişim için güvenlik verilerini depolamak ve düzenlemek için dizinleri kullanır. Wazuh, bu verileri depolamak için aşağıdaki dizin desenlerini kullanır: wazuh‑alerts-*  : Bu, Wazuh sunucusu tarafından oluşturulan uyarılar için dizin desenidir. wazuh‑archives-*  : Bu, Wazuh sunucusuna gönderilen tüm olaylar için dizin desenidir. wazuh‑monitoring-*  : Bu, Wazuh aracılarının durumu için endeks desenidir. wazuh‑statistics-*  : Bu, Wazuh sunucusunun istatistiksel bilgilerine ait dizin desenidir. wazuh-states-vulnerabilities-*  : - Bu, izlenen uç noktalarda tespit edilen güvenlik açıkları hakkındaki bilgilere yönelik dizin desenidir. Uyarılar için dizin desenini daha da özelleştirmek için özel bir dizin deseni oluşturabilirsiniz. Özel İzin Deseni Oluşturma my-custom-alerts-* Bu bölümde , varsayılan desen olan . ile birlikte örneğin . gibi özel bir dizin deseninin nasıl oluşturulacağı açıklanmaktadır. wazuh-alerts-* Kök kullanıcıya geçin ve aşağıdaki adımları uygulayın. Filebeat hizmetini durdurun: systemctl stop filebeat Wazuh şablonunu indirin ve bir dosyaya kaydedin (örneğin,  template.json ): curl -so template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.9.2/extensions/elasticsearch/7.x/wazuh-template.json Şablon dosyasını açın ve dosyanın başında şu satırı bulun: "index_patterns": [ "wazuh-alerts-4.x-*", "wazuh-archives-4.x-*" ], Özel deseninizi şu şekilde görünecek şekilde ekleyin: "index_patterns": [ "wazuh-alerts-4.x-*", "wazuh-archives-4.x-*", "my-custom-alerts-*" ], Dizin desenlerindeki yıldız karakteri (  * ) önemlidir çünkü Filebeat, Wazuh panosundaki uyarıları görselleştirmek için doğru formatı uygulamak için gerekli olan bu deseni izleyen bir ad kullanarak dizinler oluşturacaktır. Değişiklikleri kaydedin ve yeni şablonu Wazuh indeksleyicisine ekleyin. Bu, mevcut şablonu değiştirecektir: curl -XPUT -k -u : 'https://:9200/_template/wazuh' -H 'Content-Type: application/json' -d @template.json Yer değiştirmek: Wazuh dizinleyicinizin IP adresiyle ve  Wazuh dizinleyici kullanıcı adı ve parolasıyla. Yeni dağıtımlar için Wazuh dizinleyici kimlik bilgilerini şu komutu kullanarak alabilirsiniz: Not:  Wazuh OVA kullanıyorsanız varsayılan kimlik bilgilerini kullanın veya  parola yönetimi admin:admin bölümüne bakın .     tar -axf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt -O | grep -P "\'admin\'" -A 1 Output {"acknowledged":true} Not:   {"acknowledged":true} şablonun doğru şekilde eklendiğini gösterir.     Uyarı:   wazuh-alerts-* 5. adımı yalnızca varsayılan uyarı dizini modelini ve/veya varsayılan arşiv dizini modelini .  wazuh‑archives-* ile değiştirmek istiyorsanız uygulayın  my-custom-alerts-* .     Wazuh uyarı yapılandırma dosyasını  /usr/share/filebeat/module/wazuh/alerts/manifest.yml ve isteğe bağlı olarak arşiv dosyasını açın  /usr/share/filebeat/module/wazuh/archives/manifest.yml ve dizin adını değiştirin. Örneğin, şuradan: - name: index_prefix default: wazuh-alerts- Buna: - name: index_prefix default: my-custom-alerts- Not:  Dizin adı # ,  \ ,  / ,  * ,  ? ,  " ,  < ,  > ,  | , karakterlerini içermemeli ve , , veya  , ile başlamamalıdır . Ayrıca, tüm harfler küçük harf olmalıdır. _ - +     (İsteğe bağlı) Yeni dizin desenini varsayılan olarak kullanmak istiyorsanız, dosyayı açın  /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml ve aşağıdaki yapılandırmayı ekleyin: pattern: my-custom-alerts-* Bu, Wazuh sunucusunun yeni endeks desenini otomatik olarak oluşturmasını ve/veya seçmesini sağlayacaktır. Filebeat'i ve Wazuh sunucu bileşenlerini yeniden başlatın: systemctl restart filebeat systemctl restart wazuh-manager systemctl restart wazuh-indexer systemctl restart wazuh-dashboard Uyarı:  Önceki adla oluşturulmuş dizinleriniz varsa, bunlar değiştirilmeyecektir. Bunları görmek için yine de önceki dizin düzenine geçebilir veya mevcut dizinleri yeniden adlandırmak için  yeniden dizinleme yapabilirsiniz. Endeks Bilgilerinin Kontrol Edilmesi Wazuh endeksleri hakkında bilgiye iki şekilde ulaşabilirsiniz. Web kullanıcı arayüzünü kullanma. Wazuh indeksleyici API'sine bir istekte bulunuluyor. Web Kullanıcı Arayüzünü Kullanma Wazuh kontrol panelinin sol üst menüsünde  ☰ ,  Dizin Yönetimi  >  Dizin Yönetimi'ne gidin. Endekslere tıklayın. Desen Wazuh panosunda mevcut değilse, my-custom-alerts-* şablonda kullanılan dizin desenini kullanarak yeni bir tane oluşturun ve Zaman Filtresi alan adı olarak timestamp kullandığınızdan emin olun . Wazuh Indexer API'sini Kullanma Wazuh gösterge panelinden veya Wazuh sunucusundan Wazuh indeksleyici API'sini kullanarak endeks bilgilerini sorgulayabilirsiniz. Wazuh Dashboard  ☰  >  Dizinleyici yönetimi  >  Geliştirme Araçları'na  gidin : GET /_cat/indices/wazuh-*?v Komut Satırı Arayüzü Aşağıdaki komutu kullanarak yeni dağıtımlar için Wazuh dizinleyici kullanıcı adı ve parolasını edinin: tar -axf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt -O | grep -P "\'admin\'" -A 1 Not:  Wazuh OVA kullanıyorsanız varsayılan kimlik bilgilerini admin:admin olarak kullanın veya  parola yönetimi bölümüne bakın.   Dizin durumunuzu sorgulamak için aşağıdaki komutu çalıştırın. ve'yi elde edilen kullanıcı adı ve parola ile değiştirin. Wazuh dizinleyici IP adresiniz veya FQDN'nizle değiştirin  . Sorgunuz için daha belirli bir desenle değiştirebilirsiniz, örneğin . wazuh-* wazuh-alerts-* curl -k -u : https://:9200/_cat/indices/wazuh-*?v Output health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open wazuh-statistics-2023.30w xtHZtGqBR0WNJWbs5sjrnQ 1 0 2394 0 1.2mb 1.2mb green open wazuh-alerts-4.x-2023.07.28 VbBfAasJTsiqw3lwRhY5sg 3 0 513 0 1.9mb 1.9mb green open wazuh-alerts-4.x-2023.07.27 7s2x8INqRVmtz5uqMDuA7Q 3 0 515 0 2mb 2mb green open wazuh-alerts-4.x-2023.07.05 0h4cyLJoQYiMvMnqyLDnag 3 0 49 0 370.4kb 370.4kb green open wazuh-alerts-4.x-2023.07.07 kp_N4c7RRuOE91KkuqPuAw 3 0 98 0 397.7kb 397.7kb green open wazuh-alerts-4.x-2023.07.29 rbAC4befS7epxOjiSzFRQQ 3 0 1717 0 3.9mb 3.9mb green open wazuh-monitoring-2023.31w 1WwxsGQHRfG1_DOIZD-Lag 1 0 954 0 771.9kb 771.9kb green open wazuh-alerts-4.x-2023.07.20 SQbaQC24SgO9eWO_AsBI_w 3 0 1181 0 2.8mb 2.8mb green open wazuh-statistics-2023.28w jO52bS6eRamtB2YNmfGzIA 1 0 676 0 501.1kb 501.1kb wazuh‑alerts-* Endeksleri Wazuh sunucusu izlenen uç noktalardan alınan olayları analiz eder ve olaylar bir algılama kuralıyla eşleştiğinde uyarılar üretir. Bu uyarılar dizinler kullanılarak kaydedilir  wazuh-alerts-* . Wazuh sunucusu uyarı verilerini varsayılan olarak  /var/ossec/logs/alerts/alerts.json ve dosyalarına kaydeder. Dosyaya kaydedildikten sonra, JSON uyarı belgesini indeksleme için Wazuh indeksleyici API'sine iletir. İndekslenen dosyalar Wazuh indeksleyicisinin dizininde saklanır. /var/ossec/logs/alerts/alerts.log /var/ossec/logs/alerts/alerts.json /var/lib/wazuh-indexer/nodes/0/indices Wazuh dizinleyicisine uyarıları iletirken, Wazuh sunucusu geçerli tarihi bir dizin adına biçimlendirir. Örneğin, Wazuh sunucusu dizin adlarını  wazuh-alerts-4.x-2023.03.17 ve  wazuh-alerts-4.x-2023.03.18 sırasıyla 17 ve 18 Mart uyarılarını tanımlar. Wazuh dizinleyicisi daha sonra tanımlanan  wazuh‑alerts-* dizin adlarını kullanarak uyarı dizinleri oluşturur. /usr/share/filebeat/module/wazuh/alerts/ingest/pipeline.json Wazuh sunucusunun dosyasındaki varsayılan dizin adını değiştirebilirsiniz . Bunu yapmak için, dosyadaki varsayılan dizin adı biçimlendirmesini değiştirmek için  date_index_name alana ve anahtara gidin : date_rounding /usr/share/filebeat/module/wazuh/alerts/ingest/pipeline.json { "description": "Wazuh alerts pipeline", "processors": [ { "json" : { "field" : "message", "add_to_root": true } }, { "geoip": { "field": "data.srcip", "target_field": "GeoLocation", "properties": ["city_name", "country_name", "region_name", "location"], "ignore_missing": true, "ignore_failure": true } }, { "geoip": { "field": "data.win.eventdata.ipAddress", "target_field": "GeoLocation", "properties": ["city_name", "country_name", "region_name", "location"], "ignore_missing": true, "ignore_failure": true } }, { "geoip": { "field": "data.aws.sourceIPAddress", "target_field": "GeoLocation", "properties": ["city_name", "country_name", "region_name", "location"], "ignore_missing": true, "ignore_failure": true } }, { "geoip": { "field": "data.gcp.jsonPayload.sourceIP", "target_field": "GeoLocation", "properties": ["city_name", "country_name", "region_name", "location"], "ignore_missing": true, "ignore_failure": true } }, { "geoip": { "field": "data.office365.ClientIP", "target_field": "GeoLocation", "properties": ["city_name", "country_name", "region_name", "location"], "ignore_missing": true, "ignore_failure": true } }, { "date": { "field": "timestamp", "target_field": "@timestamp", "formats": ["ISO8601"], "ignore_failure": false } }, { "date_index_name": { "field": "timestamp", "date_rounding": "d", "index_name_prefix": "{{fields.index_prefix}}", "index_name_format": "yyyy.MM.dd", "ignore_failure": false } }, { "remove": { "field": "message", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "ecs", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "beat", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "input_type", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "tags", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "count", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "@version", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "log", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "offset", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "type", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "host", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "fields", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "event", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "fileset", "ignore_missing": true, "ignore_failure": true } }, { "remove": { "field": "service", "ignore_missing": true, "ignore_failure": true } } ], "on_failure" : [{ "drop" : { } }] } Değerlerin olduğu yer: M - ay anlamına gelir w - hafta anlamına gelir d - günü temsil eder wazuh‑archives-* Endeksleri /var/ossec/logs/alerts/alerts.json ve dosyalarına uyarıları kaydetmenin yanı sıra  /var/ossec/logs/alerts/alerts.log , Wazuh arşivlerini Wazuh sunucusunun aldığı tüm olayları kaydetmesi ve dizine eklemesi için etkinleştirebilirsiniz. Bu, Wazuh tarafından analiz edilen olayları ve uyarıları tetiklemeyen olayları içerir. Tüm olayları depolamak ve dizinlemek daha sonraki analiz ve uyumluluk gereksinimleri için yararlı olabilir. Ancak, tüm olayların günlüğe kaydedilmesini ve dizinlenmesini etkinleştirmenin Wazuh sunucusundaki depolama gereksinimini artıracağını göz önünde bulundurmalısınız. /usr/share/filebeat/module/wazuh/archives/ingest/pipeline.json Varsayılan olarak, Wazuh dizinleyici her benzersiz gün için olay dizinleri oluşturur. Wazuh sunucusunun dosyasındaki varsayılan dizin adını değiştirebilirsiniz . Bunu yapmak için: Alana gidin  date_index_name . Anahtarı bulun  date_rounding ve dosyadaki varsayılan dizin adı biçimlendirmesini değiştirin  /usr/share/filebeat/module/wazuh/archives/ingest/pipeline.json . Aşağıdaki bölümlerde wazuh arşivlerinin nasıl etkinleştirileceği ve endekslerin nasıl ayarlanacağı hakkında ayrıntılar verilmektedir  wazuh-archives-* . Wazuh Arşivlerini Etkinleştirme /var/ossec/etc/ossec.conf Wazuh sunucusunda düzenleme yapın ve  satırı . olarak ayarlayın. Bu, tüm olayların  archives.json yes  dosyasına kaydedilmesini sağlar . Wazuh dizinleyicisine iletmek, tüm olayların JSON formatında kaydedilmesini gerektirir. yes Değişikliğin etkili olması için Wazuh yöneticisini yeniden başlatın. systemctl restart wazuh-manager veya service wazuh-manager restart Arşiv eşlemesinde düzenleme yapın  /etc/filebeat/filebeat.yml ve değiştirin  enabled .  true Bu, olayların Wazuh dizinleyicisine iletilmesini sağlar. filebeat.modules: - module: wazuh alerts: enabled: true archives: enabled: true Değişikliği uygulamak için Filebeat hizmetini yeniden başlatın: systemctl restart filebeat Filebeat hizmetinin düzgün çalıştığını test edin: filebeat test output Output elasticsearch: https://127.0.0.1:9200... parse url... OK connection... parse host... OK dns lookup... OK addresses: 127.0.0.1 dial up... OK TLS... security: server's certificate chain verification is enabled handshake... OK TLS version: TLSv1.2 dial up... OK talk to server... OK version: 7.10.2 Endeks Pattern Tanımlama Wazuh kontrol panelinin sol üst menüsünde  ☰ ,  Kontrol Paneli yönetimi  >  Kontrol Paneli Yönetimi'ne  gidin ve  Endeks Desenleri'ne  tıklayın . Dizin deseni oluştur'a  tıklayın . Dizin desen adı wazuh-archives-*  olarak ayarlayın . Bu, iletilen ve dizine eklenen olaylarla eşleşecek dizin desenini tanımlar.  Sonraki adım'a  tıklayın . Zaman  alanı için  zaman damgasını seçin.  Dizin deseni oluştur'a tıklayın. Not: @timestamp  yerine  timestamp seçeneğini seçmeye dikkat edin . Endeks Pattern Görüntüleme Sol üst menüde  Keşfet'e  ☰  tıklayın ve ardından  Keşfet'e  tıklayın . Etkinlikleri görüntülemek için  wazuh-archives-*  öğesini seçin . wazuh-monitoring-* Endeksleri Kayıtlı bir Wazuh temsilcisinin herhangi bir andaki bağlantı durumu aşağıdakilerden biridir: Aktif Bağlantısı kesildi Askıda olması Hiç bağlanmadı Wazuh, tüm aracılarının bağlantı durumlarının geçmişini depolar. Varsayılan olarak, aracı bağlantı durumunu  wazuh‑monitoring-* dizinleri kullanarak dizinler. Wazuh dizinleyicisi varsayılan olarak haftada bir bu dizinlerden birini oluşturur.  Özel oluşturma aralıkları  hakkındaki belgeleri kontrol edin . Bu dizinler varsayılan olarak tüm aracıların bağlantı durumunu her 15 dakikada bir depolar.  API isteklerinin sıklığı  hakkındaki belgeleri kontrol edin . Wazuh panosu, aracı durumu hakkında bilgi görüntülemek için bu endekslere ihtiyaç duyar. Örneğin,  ☰  >  Sunucu yönetimi  >  Uç Nokta Özeti'ne  tıklayarak , Wazuh aracısının bağlantı durumu ve belirlenen zaman dilimlerindeki geçmiş evrimi gibi bilgileri görebilirsiniz. Wazuh panosu yapılandırma dosyasında  , aşağıdakileri yapmak için ayarları değiştirebilirsiniz: Aracılar için bağlantı durumu verilerinin eklenmesini ve gösterilmesini devre dışı bırakın. Bunu başarmak için  wazuh.monitoring.enabled'ı değiştirin. Aracılar için bağlantı durumu verilerinin ekleme sıklığını değiştirin. Bunu başarmak için  wazuh.monitoring.frequency'yi değiştirin. Wazuh-istatistik-* Endeksleri Wazuh panosu,  wazuh‑statistics-* Wazuh sunucu kullanımı ve performansı hakkında istatistikleri görüntülemek için endeksleri kullanır. Görüntülenen bilgiler arasında kod çözülen olay sayısı, alınan baytlar ve TCP oturumları bulunur. Wazuh panosu, kullanımla ilgili bilgileri sorgulamak için Wazuh yönetici API'sine istekler çalıştırır.  wazuh‑statistics-* Toplanan bilgilerden endekslere veri ekler. Wazuh endeksleyicisi  wazuh‑statistics-* varsayılan olarak haftada bir endeks oluşturur.  İstatistik oluşturma aralığı hakkındaki belgeleri kontrol edin. Bu endeksler varsayılan olarak Wazuh sunucusu istatistiklerini her 5 dakikada bir depolar.  Görev yürütme sıklığı  hakkındaki belgeleri kontrol edin . Bu bilgileri Wazuh panosunda görüntülemek için  Sunucu yönetimi  >  İstatistikler bölümüne gidin. wazuh-states-vulnerabilities-* Endeksleri Dizin deseni,  wazuh-states-vulnerabilities-* izlenen varlıkların güvenlik açığı durumuyla ilgili verileri depolamak için Wazuh'ta kullanılır. Bu dizin genellikle izlenen sistemlerde tespit edilen güvenlik açıkları hakkında bilgi içerir; bu bilgiler arasında ciddiyet, durum, etkilenen yazılım ve güvenlik açığı referansı gibi ayrıntılar bulunur.  * Dizin deseninin sonunda, benzer adlara sahip, zamana veya diğer faktörlere göre bölümlere ayrılmış birden fazla dizinin oluşturulmasına olanak tanır. Bu, güvenlik açığı verilerinin zaman içinde verimli bir şekilde depolanmasını ve alınmasını sağlar. Bu bilgileri Wazuh panosunda görüntülemek için Wazuh panosu ana sayfasından  Güvenlik Açığı Tespiti'ne tıklayın. Yeniden İndeksleme Dizinin veri şemasında değişiklikler yapıldığında, bu değişiklikleri yansıtmak için verileri yeniden dizinlemek gerekir. Mevcut veriler yeniden dizinleme yapılmadan güncellenen şemayla eşleşmeyebilir ve bu da sorgular sırasında veri tutarsızlıklarına veya hatalara yol açabilir. Yeniden dizinleme, verilerinizin tamamını veya bir alt kümesini bir kaynak dizinden hedef dizine kopyalamanıza olanak tanır. Mevcut bir dizini yeniden dizinlemek için Wazuh panosunda veya Wazuh sunucusunda aşağıdaki adımları uygulayın. Wazuh Dashboard Sol üst menüye ☰  tıklayın ve  Indexer yönetimine,  ardından da  Dev Tools'a  gidin . Aşağıdaki API çağrısını,  my-source-index kaynak dizin deseniyle ve  my-destination-index hedef dizin deseniyle değiştirerek girin. POST /_reindex { "source":{ "index":"my-source-index" }, "dest":{ "index":"my-destination-index" } } Örneğin: POST /_reindex { "source":{ "index":"wazuh-alerts-*" }, "dest":{ "index":"example-alerts" } } Output { "took": 23655, "timed_out": false, "total": 26849, "updated": 0, "created": 26849, "deleted": 0, "batches": 27, "version_conflicts": 0, "noops": 0, "retries": { "bulk": 0, "search": 0 }, "throttled_millis": 0, "requests_per_second": -1, "throttled_until_millis": 0, "failures": [] } Komut Satırı Arayüzü Wazuh API'sine kimlik doğrulaması yapmasına izin verilen herhangi bir Wazuh merkezi bileşeninde aşağıdaki komutu çalıştırın.  ve'yi  dizinleyici kullanıcı adı ve parolasıyla değiştirin: curl -k -u ":" -XPOST "https://:9200/_reindex" -H 'Content-Type: application/json' -d' { "source":{ "index":"my-source-index" }, "dest":{ "index":"my-destination-index" } }' Örneğin: root@wazuh-server:~$ curl -k -u "INDEXER_USERNAME:INDEXER_PASSWORD" -XPOST "https://:9200/_reindex" -H 'Content-Type: application/json' -d' { "source":{ "index":"wazuh-alerts-*" }, "dest":{ "index":"example-alerts" } }' Output {"took":18025,"timed_out":false,"total":26854,"updated":26854,"created":0,"deleted":0,"batches":27,"version_conflicts":0,"noops":0,"retries":{"bulk":0,"search":0},"throttled_millis":0,"requests_per_second":-1.0,"throttled_until_millis":0,"failures":[]} Index Yaşam Döngüsü Yönetimi Dizin yaşam döngüsü yönetimi, bir dizinin yaşam döngüsünü kontrol ederek Wazuh dizinleyici kümesi performansını optimize etmeye yardımcı olur. Dizin devretme ve silme gibi periyodik işlemler gerçekleştirebilirsiniz. Bu periyodik işlemler Dizin Durumu Yönetimi (ISM) politikaları kullanılarak yapılandırılır. Dizin Durumu Yönetimi (ISM), bu operasyonel görevleri otomatikleştirmenizi sağlar. ISM kullanarak verileriniz için saklama politikaları gibi yaşam döngüsü politikalarını uygulayabilirsiniz. ISM, politikalarınıza ve dizin yaşı, boyutu ve belge sayısında algılanan değişikliklere göre dizin işlemlerini otomatik olarak tetikler. Bu bölümde, Wazuh dizinleyici depolama alanının optimizasyonu için dizin yaşam döngüsünü yönetmek üzere bazı yapılandırma seçenekleri ele alınmaktadır. Index Tutma Güvenlik standartları, verilerin denetimler için asgari bir süre boyunca erişilebilir tutulmasını gerektirir. Bu saklama süresinden daha eski veriler için, depolama alanından tasarruf etmek amacıyla verileri silmek isteyebilirsiniz. Silme işlemlerini otomatik olarak işlemek için belirli politikalar tanımlayabilirsiniz. Bu politikaları dizin geçişleri için de yararlı bulabilirsiniz. Bir Saklama Politikası Oluşturma Görsel Düzenleyiciyi Kullanma Sol üst menüye tıklayın  ☰ ,  Indexer yönetimine  gidin ve  Index Yönetimi'ni seçin.  Durum yönetimi politikalarını  seçin ve  Politika oluştur'a  tıklayın .  Görsel düzenleyiciyi  seçin ve  Devam'a tıklayın. Politika bilgisi  bölümüne benzersiz bir  Politika Kimliği  girin . Örneğin, wazuh-alert-retention-policy . İsteğe bağlı olarak politikayı  Açıklama  alanında tanımlayabilirsiniz . ISM şablonları  altında  Şablon ekle'ye  tıklayın ve bu politikayı gelecekteki uyarı dizinlerine otomatik olarak uygulamak gibi bir dizin deseni girin . Öncelik varsayılan değerine ayarlanır ve başka herhangi bir değere ayarlanabilir. Öncelik değeri daha yüksek olan dizin önce işlenir. wazuh-alerts-* 1 Dizin silme için bir durum oluşturmak üzere Durum ekle'ye  tıklayın . . gibi bir ad girin  delete_alerts . Eylem ekle'ye  tıklayın ve  Eylem türünde  Sil'i  seçin  .  Eylem ekle'ye  tıklayın . Ardından  Durumu kaydet'e  tıklayın . Başlangıç ​​durumunu oluşturmak için tekrar Durum ekle'ye  tıklayın . . gibi bir ad girin  initial . Sipariş  sekmesinden  Önce Ekle'yi  seçin ve  delete_alerts  seçeneğini seçin . Geçiş ekle'ye  tıklayın ve  Hedef durumu  olarak  delete_alerts'i  seçin . Condition'da  Minimum Endeks Yaşını  seçin .  Minimum Endeks Yaşına  örneğin 90 gün için  90d  gibi  tutma değerini girin . Geçiş Ekle'ye  tıklayın .  Durumu Kaydet'e tıklayın.  Oluştur'a  tıklayın . Başlangıç ​​Durumunu  Başlangıç  ​​olarak değiştirin. JSON Editor Kullanma Sol üst menüye tıklayın  ☰ ,  Indexer yönetimine  gidin ve  Index Yönetimi'ni seçin.  Durum yönetimi politikalarını  seçin ve  Politika oluştur'a  tıklayın .  JSON düzenleyicisini  seçin ve  Devam'a tıklayın. Politika bilgisi  bölümüne benzersiz bir  Politika Kimliği girin . Örneğin, wazuh-alert-retention-policy . İsteğe bağlı olarak JSON politika tanımınıza bir açıklama girebilirsiniz. Define policy  bölümünde , içeriği JSON policy tanımınızla değiştirin. Tanımınız buna benzer görünmelidir. { "policy": { "policy_id": "wazuh-alert-retention-policy", "description": "Wazuh alerts retention policy", "schema_version": 17, "error_notification": null, "default_state": "retention_state", "states": [ { "name": "retention_state", "actions": [], "transitions": [ { "state_name": "delete_alerts", "conditions": { "min_index_age": "90d" } } ] }, { "name": "delete_alerts", "actions": [ { "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "delete": {} } ], "transitions": [] } ], "ism_template": [ { "index_patterns": [ "wazuh-alerts-*" ], "priority": 1 } ] } } Minimum endeks tutma için tercih ettiğiniz gün sayısına göre  “min_index_age”: ayarlayın . “90d” Oluştur'a  tıklayın . Saklama Politikasının Uyarı Dizinine Uygulanması Sol üst menüye tıklayın  ☰ ,  Indexer yönetimine  gidin ve  Index Yönetimi'ni  seçin .  Indexes'i  seçin . Politikayı eklemek istediğiniz endeksi veya endeksleri seçin. Eylemler  >  Politikayı uygula'ya tıklayın. Önceki adımlarda oluşturulan politikayı  Politika Kimliği menüsünden seçin.  Uygula'ya  tıklayın . Sıcak-ılık Mimarisini Kurun Bu bölüm, sıcak ve ılık düğümlerde depolanacak dizinlerin nasıl yapılandırılacağını gösterir. Sıcak-ılık bir mimari, aşağıdaki özelliklere sahip sıcak ve ılık düğümlerden oluşur: Sıcak düğümler, yüksek bilgi işlem kaynaklarına sahip olmaları nedeniyle genellikle hızlı ve pahalıdır. Sıcak bir düğüm, daha düşük bilgi işlem kaynaklarına ihtiyaç duyması nedeniyle daha yavaş ve daha ucuzdur. Verilerinizi önce sıcak düğümlere dizinlediğiniz ve belirli bir süre sonra sıcak düğümlere taşıdığınız sıcak-ılık bir mimari tasarlayabilirsiniz. Bu mimari, sık sık sorgulamadığınız eski verileriniz varsa sizin için uygundur. Eski veriler, daha yavaş ve daha az maliyetli bir donanımda depolanmak üzere taşınır. Bu mimari, bilgi işlem maliyetlerinden tasarruf etmenize yardımcı olur. Sıcak düğüm sayısını artırmak yerine, sık erişmediğiniz veriler için sıcak düğümler ekleyebilirsiniz. Sıcak-ılık depolama mimarisini yapılandırmak için  temp ilgili düğümlere nitelikler ekleyin. Not:  Tüm sıcak ve ılık düğümleriniz için tutarlı olduğu sürece, öznitelik adını ve değerini istediğiniz şekilde ayarlayabilirsiniz. Sıcak (Hot) Bir Düğüm Yapılandırın Sıcak bir düğümü yapılandırmak için dosyaya aşağıdaki yapılandırmayı ekleyin  /etc/wazuh-indexer/opensearch.yml : node.attr.temp: hot Wazuh dizinleyici hizmetini yeniden başlatın: # systemctl restart wazuh-indexer Sıcak (Worm) Bir Düğüm Yapılandırın Sıcak bir düğüm yapılandırmak için dosyaya aşağıdaki yapılandırmayı ekleyin  /etc/wazuh-indexer/opensearch.yml : node.attr.temp: warm Wazuh dizinleyici hizmetini yeniden başlatın: systemctl restart wazuh-indexer Dizinleyici Durum Yönetimi Politikası Oluştur Wazuh gösterge paneli konsolunda aşağıdaki adımları uygulayın. temp Daha önce atanan niteliklerin uygulandığını onaylayın : GET _cat/nodeattrs?v&h=node,attr,value wazuh-alerts-4.x-* Sıcak düğümlere dizin örüntüsünü kullanarak dizinler atamak ve belirli bir süre sonra bunları sıcak düğümlere taşımak için bir ISM politikası oluşturun : PUT _plugins/_ism/policies/hot_warm { "policy": { "description": "Send shards from hot to warm nodes", "schema_version": 17, "error_notification": null, "default_state": "hot", "states": [ { "name": "hot", "actions": [], "transitions": [ { "state_name": "warm", "conditions": { "min_index_age": "30d" } } ] }, { "name": "warm", "actions": [ { "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "replica_count": { "number_of_replicas": 0 } }, { "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "allocation": { "require": { "temp": "warm" }, "include": {}, "exclude": {}, "wait_for": false } } ], "transitions": [] } ], "ism_template": [ { "index_patterns": [ "wazuh-alerts-*" ], "priority": 1 } ] } } Sıcak düğümde endeksleri depolamak için minimum gün sayısını tanımlamak için, tercih ettiğiniz gün sayısına  min_index_age ayarlayın . 30d Artık dizin deseni kullanılarak oluşturulan tüm gelecekteki dizinler  wazuh-alerts-4.x-* sıcak bir düğüme tahsis edilecektir.  min_index_age Koşul karşılandıktan sonra, dizinler sıcak bir düğüme taşınır ve tüm kopyalar kaldırılır. Kopyaların kaldırılması, veriler sık ​​sık sorgulanmayacağı için depolamanın sıcak düğümde yönetilmesini sağlar. ISM Politikasını Mevcut Endekslere Uygulayın Endeks  Yönetimi'nde  Endeksleri  seçin . Politikayı eklemek istediğiniz endeksi veya endeksleri seçin. Eylemler  >  Politikayı uygula'ya  tıklayın . hot-warm  Politika Kimliği'nde politikayı seçin . Politikayı seçili endekslere eklemek için  Uygula'ya tıklayın. Wazuh Indexer Ayarı Bu kılavuz, Wazuh dizinleyici performansını optimize etmek için ayarların nasıl değiştirileceğini gösterir. Wazuh dizinleyici parolasını değiştirmek için  Parola yönetimi  bölümüne bakın. Bellek kilitleme Parçalar ve kopyalar Parça tahsis farkındalığını veya zorunlu farkındalığı yapılandırın Bir kümedeki her düğüm için düğüm niteliklerini ayarlayın Bellek Kilitleme Sistem belleği takas ederken, Wazuh dizinleyicisi beklendiği gibi çalışmayabilir. Bu nedenle, Wazuh dizinleyici düğümünün sağlığı için Java Sanal Makinesi'nin (JVM) hiçbir zaman diske takas edilmemesi önemlidir. Herhangi bir Wazuh dizinleyici belleğinin takas edilmesini önlemek için, Wazuh dizinleyicisini işlem adres alanını RAM'e kilitlemek üzere aşağıdaki gibi yapılandırın. Not:  Aşağıda açıklanan komutları çalıştırmak için kök kullanıcı ayrıcalıklarına ihtiyacınız var. /etc/wazuh-indexer/opensearch.yml Bellek kilitlemeyi etkinleştirmek için Wazuh indeksleyicisindeki yapılandırma dosyasına aşağıdaki satırı ekleyin : bootstrap.memory_lock: true Sistem kaynaklarının sınırını değiştirin. Sistem ayarlarını yapılandırmak Wazuh dizinleyici kurulumunun işletim sistemine bağlıdır. Systemd Sistem sınırlarını belirten dosya için yeni bir dizin oluşturun: mkdir -p /etc/systemd/system/wazuh-indexer.service.d/ Yeni sistem sınırı eklenerek yeni oluşturulan dizinde wazuh-indexer.conf dosyayı oluşturmak için aşağıdaki komutu çalıştırın : # cat > /etc/systemd/system/wazuh-indexer.service.d/wazuh-indexer.conf << EOF [Service] LimitMEMLOCK=infinity EOF SysV Başlatma Sistem sınırlarını belirten dosya için yeni bir dizin oluşturun: mkdir -p /etc/init.d/wazuh-indexer.service.d/ Yeni sistem sınırı eklenerek yeni oluşturulan dizinde wazuh-indexer.conf dosyayı oluşturmak için aşağıdaki komutu çalıştırın : # cat > /etc/init.d/wazuh-indexer.service.d/wazuh-indexer.conf << EOF [Service] LimitMEMLOCK=infinity EOF Dosyayı düzenleyin  /etc/wazuh-indexer/jvm.options ve JVM bayraklarını değiştirin. Bellek kullanımını sınırlamak için bir Wazuh dizinleyici yığın boyutu değeri ayarlayın. JVM yığın sınırları,  OutOfMemory Wazuh dizinleyicisi önceki adımdaki yapılandırma nedeniyle kullanılabilir olandan daha fazla bellek ayırmaya çalışırsa istisnayı önler. Önerilen değer sistem RAM'inin yarısıdır. Örneğin, 8 GB RAM'li bir sistem için boyutu aşağıdaki gibi ayarlayın. -Xms4g -Xmx4g Toplam yığın alanı: -Xms4g - Başlangıç ​​boyutu 4Gb RAM olarak ayarlandı. -Xmx4g - Maksimum boyut 4Gb RAM'dir. Uyarı:  Çalışma zamanında JVM yığın yeniden boyutlandırması nedeniyle performans düşüşünü önlemek için, minimum (Xms) ve maksimum (Xmx) boyut değerlerinin aynı olması gerekir.   Wazuh dizinleyici hizmetini yeniden başlatın: systemctl daemon-reload systemctl restart wazuh-indexer Ayarın başarıyla değiştirildiğini doğrulamak için aşağıdaki komutu çalıştırarak  mlockall değerin şu şekilde ayarlandığını kontrol edin  true : curl -k -u : "https://:9200/_nodes?filter_path=**.mlockall&pretty" Output { "nodes" : { "sRuGbIQRRfC54wzwIHjJWQ" : { "process" : { "mlockall" : true } } } } Çıktı ise  false , istek başarısız olmuş ve dosyada aşağıdaki satır görünür  /var/log/wazuh-indexer/wazuh-indexer.log : Unable to lock JVM Memory Parçalar ve Kopyalar Wazuh dizinleyicisi, bir dizini shard adı verilen birden fazla parçaya bölme olanağı sunar. Her shard, Wazuh dizinleyici kümesindeki herhangi bir düğümde barındırılabilen tamamen işlevsel ve bağımsız bir "indekstir". Bölme iki ana nedenden dolayı önemlidir: Yatay ölçekleme. Parçalar arası dağıtım ve paralelleştirme işlemleri, performans ve verimi artırır. Ayrıca, Wazuh dizinleyicisi kullanıcıların dizin parçacıklarının bir veya daha fazla kopyasını, kısaca replikalar veya replikalar olarak adlandırılan şekilde oluşturmasına olanak tanır. Replikasyon iki nedenden dolayı önemlidir: Bir parçanın veya düğümün arızalanması durumunda yüksek erişilebilirlik sağlar. Aramalar tüm replikalarda paralel olarak yürütülebildiğinden arama hacminin ve veriminin ölçeklenmesine olanak tanır. Bir Index İçin Parça Sayısı İlk dizini oluşturmadan önce, kaç tane parçaya ihtiyaç duyulacağını dikkatlice düşünün. Parça sayısını yeniden dizinlemeden değiştirmek mümkün değildir. Optimum performans için gereken parça sayısı, Wazuh dizinleyici kümesindeki düğüm sayısına bağlıdır. Genel bir kural olarak, parça sayısı düğüm sayısıyla aynı olmalıdır. Örneğin, üç düğümü olan bir kümenin üç parçası olmalı, yalnızca bir düğümü olan bir kümenin ise yalnızca bir parçaya ihtiyacı olacaktır. Bir Index İçin Kopya Sayısı Kopyaların sayısı, dizinler için kullanılabilir depolama alanına bağlıdır. İşte üç düğüm ve üç parçadan oluşan bir Wazuh dizinleyici kümesinin nasıl kurulabileceğine dair bir örnek. Kopya yok  : Her düğümün bir parçası vardır. Bir düğüm çökerse, yalnızca iki parçadan oluşan eksik bir dizin kullanılabilir. Bir kopya  : Her düğümün bir parçası ve bir kopyası vardır. Bir düğüm çökerse, tam bir dizin hala kullanılabilir. İki replika  : Her düğümün bir parça ve iki replika ile tam dizini vardır. Bu kurulumla, iki düğüm çökse bile küme çalışmaya devam eder. Bu en iyi çözüm gibi görünse de depolama gereksinimlerini artırır. Aşağıdaki görüntü, her biri birincil parça ve iki kopya parça içeren üç düğümden oluşan bir Wazuh dizinleyici kümesini göstermektedir. Parça Sayısını Ayarlama Uyarı:  Parça ve replika sayısı, dizin oluşturma sırasında dizin başına tanımlanır. Dizin oluşturulduktan sonra, replika sayısı dinamik olarak değiştirilebilse de, parça sayısı  yeniden dizinleme yapılmadan değiştirilemez . Wazuh dizinleyici düğümünün varsayılan kurulumu her dizini üç birincil parça ve hiçbir kopya olmadan oluşturur. Wazuh API'sini kullanarak yeni bir şablon yükleyerek birincil parça ve kopya sayısını değiştirebilirsiniz. Aşağıdaki örnekte, tek düğümlü bir Wazuh dizinleyicisi için parçacık sayısını 1 olarak ayarladık. Wazuh API'sini kullanarak kimlik doğrulaması yapmasına izin verilen Wazuh dizinleyici düğümünde veya herhangi bir merkezi bileşende aşağıdaki adımları uygulayın. Wazuh indeksleyici şablonunu indirin: curl https://raw.githubusercontent.com/wazuh/wazuh/v4.9.2/extensions/elasticsearch/7.x/wazuh-template.json -o w-indexer-template.json   index.number_of_shards öğesini 1 olarak ayarlamak için w-indexer-template.json dosyasını düzenleyin. Filebeat'in mevcut şablonun üzerine yazmasını önlemek için sırayı 1 olarak ayarlayın. Aynı sırada birden fazla eşleşen şablon, deterministik olmayan bir birleştirme sırasına neden olur.   { "order": 1, "index_patterns": [ "wazuh-alerts-4.x-*", "wazuh-archives-4.x-*" ], "settings": { "index.refresh_interval": "5s", "index.number_of_shards": "1", "index.number_of_replicas": "0", "index.auto_expand_replicas": "0-1", "index.mapping.total_fields.limit": 10000, ... Yeni ayarları yükleyin. curl -X PUT "https://:9200/_template/wazuh-custom" -H 'Content-Type: application/json' -d @w-indexer-template.json -k -u : Output {"acknowledged":true} Yapılandırmanın başarıyla güncellendiğini onaylayın. curl "https://:9200/_template/wazuh-custom?pretty&filter_path=wazuh-custom.settings" -k -u : Output { "wazuh-custom" : { "settings" : { "index" : { "mapping" : { "total_fields" : { "limit" : "10000" } }, "refresh_interval" : "5s", "number_of_shards" : "1", "auto_expand_replicas" : "0-1", "number_of_replicas" : "0", ... Eğer indeks daha önceden oluşturulmuşsa  yeniden indekslenmesi  gerekir . Kopyaların Sayısını Ayarlama Kopya sayısı, Wazuh dizinleyici API'si kullanılarak dinamik olarak değiştirilebilir. Tek düğümlü bir kümede, kopya sayısı sıfıra ayarlanmalıdır. Bu, Wazuh dizinleyici düğümünde veya Wazuh API'si kullanılarak kimlik doğrulaması yapılmasına izin verilen herhangi bir merkezi bileşende aşağıdaki komutu çalıştırarak gerçekleştirilir: curl -k -u ":" -XPUT "https://:9200/wazuh-alerts-" -H 'Content-Type: application/json' -d' { "settings": { "index": { "number_of_replicas": 0 } } }' Parça Tahsis Farkındalığını veya Zorunlu Farkındalığı Yapılandırın Bu, Wazuh indeksleyici düğümlerinin coğrafi olarak dağınık bölgelere yayıldığı durumlarda en çok uygulanabilir. Farkındalığı yapılandırmak için,  /etc/wazuh-indexer/opensearch.yml farklı bölgeler için Wazuh dizinleyici düğümlerindeki dosyaya bölge niteliklerini ekleyin. /etc/wazuh-indexer/opensearch.yml Örneğin: A ve B bölgesi adında iki bölgeniz var. Aşağıdaki yapılandırmayı sırasıyla A ve B bölgesindeki her Wazuh dizinleyici düğümüne dosyaya ekleyeceksiniz : node.attr.zone: zoneA node.attr.zone: zoneB Tahsis farkındalığı, A ve B bölgesindeki Wazuh dizinleyici düğümlerindeki depolama %50'den az kullanılıyorsa en iyi şekilde kullanılır. Bu, bölgedeki replikaları tahsis etmek için yeterli depolama kapasitesi sağlar. Hem A hem de B bölgesindeki Wazuh dizinleyici düğümlerinin tüm birincil ve kopya parçacıklarını depolamak için yeterli kapasitesi yoksa, zorunlu farkındalık bir seçenektir. Bu, bir bölge arızası olması durumunda Wazuh dizinleyicisinin kalan bölgenizi aşırı yüklememesini ve kümenizin depolama yetersizliği nedeniyle kilitlenmesini önler. Tahsis farkındalığı veya zorunlu farkındalığı seçmek, birincil ve kopya parçalarınızı dengelemek için her bölgede ne kadar alanınız olduğuna bağlıdır. Parça Tahsisi Farkındalığı Parça tahsisi farkındalığı, birincil ve replika parçaları birden fazla bölgeye yaymaya çalışır. Bir replika parçayı birincil bölgesinden farklı bir bölgeye tahsis etmek için kullanılır. Bir bölge içinde düğüm arızası durumunda, replika parçalarınızın kalan bölgeleriniz arasında dağıtıldığından emin olabilirsiniz. Bu, hata toleransını artırarak verilerinizi bölge arızalarına ve bireysel düğüm arızalarına karşı korur. Parça tahsis farkındalığını yapılandırmak için küme ayarlarını güncelleyin: PUT _cluster/settings { "persistent": { "cluster.routing.allocation.awareness.attributes": "zone" } } persistent ya da ayarlarını kullanabilirsiniz  transient . Ayarı kullanmanızı öneririz  persistent çünkü küme yeniden başlatma sırasında kalıcıdır.  transient Ayar küme yeniden başlatma sırasında kalıcı değildir. Not:  Yalnızca bir bölge mevcutsa (örneğin bölge arızalarından sonra), Wazuh dizinleyicisi çoğaltma parçalarını yalnızca kalan bölgeye tahsis eder. Zorla Farkındalık Zorunlu farkındalığın kullanılması, birincil ve kopya parçaların asla aynı bölgeye tahsis edilmediği anlamına gelir. Zorunlu farkındalığı yapılandırmak için bölge nitelikleriniz için tüm olası değerleri belirtin: PUT _cluster/settings { "persistent": { "cluster.routing.allocation.awareness.attributes": "zone", "cluster.routing.allocation.awareness.force.zone.values":["zoneA", "zoneB"] } } Başka bölgeler varsa, diğer bölgeleri cluster.routing.allocation.awareness.force.zone.values alanına ekleyin . Uyarı:  Bir düğüm başarısız olursa, zorunlu farkındalık replikaları aynı bölgedeki başka bir düğüme tahsis etmez. Bunun yerine, küme sarı bir duruma girer ve yalnızca diğer bölgedeki(bölgelerdeki) düğümler çevrimiçi olduğunda replikaları tahsis eder. Tahsis Filtreleme Bu, bir düğümün parça tahsisinden hariç tutulmasına olanak tanır. Yaygın bir kullanım durumu, bir bölge içindeki bir düğümü devre dışı bırakmak istediğiniz zamandır. Bir düğümü devre dışı bırakmadan önce parçaları taşımak için, düğümü IP adresini kullanarak hariç tutan bir filtre oluşturun. Bu, kapatılmadan önce o düğüme tahsis edilen tüm parçaları taşıyacaktır. Ayrıca,  * bir IP aralığında devre dışı bırakılacak birden fazla düğümün olduğu bir durumda joker karakter kullanabilirsiniz. PUT _cluster/settings { "persistent": { "cluster.routing.allocation.exclude._ip": "192.168.0.*" } } Bir Kümedeki Her Düğüm İçin Düğüm Niteliklerini Ayarlayın Varsayılan olarak, her Wazuh dizinleyici düğümü bir ana uygun, veri, alım ve koordinasyon düğümüdür. Düğüm sayısına karar vermek, düğüm türlerini atamak ve her düğüm türü için donanımı seçmek kullanım durumunuza bağlıdır. Küme Yöneticisi Düğümleri Küme yöneticisi düğümleri, düğümlere parça ekleme, kaldırma ve tahsis etme, ayrıca dizin ve alan oluşturma ve silme dahil olmak üzere küme genelindeki tüm yapılandırmaları ve değişiklikleri yönetir. Dağıtılmış bir fikir birliği tekniği, küme yöneticisi uygun düğümleri arasından tek bir küme yöneticisi düğümü seçmek için kullanılır. Bu küme yöneticisi düğümü, mevcut düğüm başarısız olursa yeniden seçilir. Varsayılan olarak zaten yapılmış olsa da, bir Wazuh dizinleyici düğümünün küme yöneticisi düğümü olduğunu belirtebilirsiniz. cluster_manager Aşağıdaki yapılandırmayı dosyaya ekleyerek bir Wazuh dizinleyici düğümü rolü ayarlayın  /etc/wazuh-indexer/opensearch.yml : node.roles: [ cluster_manager ] Veri Düğümleri Veri düğümü, verileri depolamak ve aramaktan sorumludur. Yerel parçalarda tüm veriyle ilgili işlemleri (indeksleme, arama, toplama) gerçekleştirir. Bunlar Wazuh dizinleyici kümenizin çalışan düğümleridir ve diğer tüm düğüm türlerinden daha fazla disk alanına ihtiyaç duyarlar. Aşağıdaki yapılandırmayı dosyaya ekleyerek bir Wazuh dizinleyici düğümü rolünü veri düğümü olarak ayarlayın  /etc/wazuh-indexer/opensearch.yml : node.roles: [ data, ingest ] Veri düğümleri eklerken bunları bölgeler arasında dengeli tutmak önemlidir. Örneğin, üç bölgeniz varsa, her bölge için bir veri düğümü ekleyin. Depolama ve RAM ağırlıklı düğümler kullanmanızı öneririz. Koordinasyon Düğümleri Koordinasyon düğümü, istemci isteklerini veri düğümlerindeki parçalara devreder, sonuçları toplar ve tek bir nihai sonuçta birleştirir ve bunu Wazuh panosuna geri gönderir. Her düğüm varsayılan olarak bir koordinasyon düğümüdür, ancak bir düğümü özel bir koordinasyon düğümü yapmak için  node.roles boş bir liste ayarlayın: node.roles: [] Wazuh Endekslerinin Taşınması Bu bölümde, anlık görüntüleri kullanarak Wazuh dizinlerini taşımaya odaklanıyoruz. Bu, orijinal zaman damgasını kaybetmeden uyarıları bir Wazuh dizinleyici kümesinden diğerine geri yüklemeye yardımcı olur. Paylaşımlı Dosya Sistemini Kurun Anlık görüntü deposu için paylaşımlı bir dosya sistemi oluşturmak amacıyla bir Ağ Dosya Sistemi (NFS) kullanılmasını öneririz. NFS Sunucusu Adanmış bir sunucuda NFS'yi kurmak için aşağıdaki adımları uygulayın: Anlık görüntü deposu için şu dizinde bir hedef /mnt dizinİ oluşturun : mkdir /mnt/snapshots Aşağıdaki komutları çalıştırarak NFS'yi yükleyin: Yum yum update yum install -y nfs-utils yum install exportfs systemctl enable nfs-server systemctl start nfs-server APT apt -y install nfs-kernel-server systemctl start nfs-kernel-server.service Aşağıdaki komutu kullanarak /mnt/snapshots dizinini /etc/exports dosyasına ekleyin. değişkenini ağ adresinizle değiştirin.   echo "/mnt/snapshots (rw,sync,no_root_squash,no_subtree_check)" | sudo tee -a /etc/exports Nerede: rw - Paylaşılan dizine hem okuma hem de yazma erişimi sağlar. sync - NFS sunucusunun değişiklikleri hemen diske yazmasını zorlar ve dosya sistemini senkron hale getirir. no_root_squash - NFS istemci sistemindeki "root" kullanıcısının NFS sunucusundaki dosyalara tam ve kısıtlanmamış erişime sahip olmasını sağlar. no_subtree_check - Büyük dizin ağaçları için performansı artırabilen alt ağaç denetimini devre dışı bırakır. NFS yapılandırmasını uygulayın: exportfs -a Wazuh Indexer Paylaşımlı dosya sistemi kurulumunu tamamlamak için Wazuh dizinleyici düğümünde (düğümlerinde) aşağıdaki adımları gerçekleştirin. Anlık görüntü deposu için şu dizinde bir hedef /mnt dizin oluşturun : mkdir /mnt/snapshots NFS istemcisini yükleyin: Yum  yum -y install nfs-utils APT apt -y install nfs-common Paylaşılan dizini  /mnt/snapshots Wazuh dizinleyici düğümüne(düğümlerine) bağlayın.  Değişkeni NFS sunucusunun IP adresiyle değiştirin: mount -t nfs :/mnt/snapshots /mnt/snapshots wazuh-indexer Kullanıcıya dizinin sahipliğini verin  /mnt/snapshots : chown wazuh-indexer:wazuh-indexer /mnt/snapshots Yapılandırmayı ekleyin: path.repo:/mnt/snapshots depo yolunu belirtmek için /etc/wazuh-indexer/opensearch.yml dosyasına: network.host: "127.0.0.1" node.name: "node-1" cluster.initial_master_nodes: - "node-1" cluster.name: "wazuh-cluster" node.max_local_storage_nodes: "3" path.data: /var/lib/wazuh-indexer path.logs: /var/log/wazuh-indexer path.repo: /mnt/snapshots plugins.security.ssl.http.pemcert_filepath: /etc/wazuh-indexer/certs/wazuh-indexer.pem plugins.security.ssl.http.pemkey_filepath: /etc/wazuh-indexer/certs/wazuh-indexer-key.pem plugins.security.ssl.http.pemtrustedcas_filepath: /etc/wazuh-indexer/certs/root-ca.pem plugins.security.ssl.transport.pemcert_filepath: /etc/wazuh-indexer/certs/wazuh-indexer.pem plugins.security.ssl.transport.pemkey_filepath: /etc/wazuh-indexer/certs/wazuh-indexer-key.>plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/wazuh-indexer/certs/root-ca.pem plugins.security.ssl.http.enabled: true plugins.security.ssl.transport.enforce_hostname_verification: false plugins.security.ssl.transport.resolve_hostname: false plugins.security.ssl.http.enabled_ciphers: - "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" - "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" - "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" - "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" plugins.security.ssl.http.enabled_protocols: - "TLSv1.2" plugins.security.authcz.admin_dn: - "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US" plugins.security.check_snapshot_restore_write_privileges: true plugins.security.enable_snapshot_restore_privilege: true plugins.security.nodes_dn: - "CN=indexer,OU=Wazuh,O=Wazuh,L=California,C=US" plugins.security.restapi.roles_enabled: - "all_access" - "security_rest_api_access" plugins.security.system_indices.enabled: true plugins.security.system_indices.indices: [".opendistro-alerting-config", ".opendistro-alert> ### Option to allow Filebeat-oss 7.10.2 to work ### compatibility.override_main_response_version: true Yapılandırma değişikliklerini uygulamak için Wazuh dizinleyicisini yeniden başlatın: systemctl restart wazuh-indexer Uyarı:    ll yardımcı programını kullanarak /mnt/snapshots dizininin Wazuh dizinleyici düğümlerinde wazuh-indexer:wazuh-indexer sahipliğine sahip olduğunu doğruladığınızdan emin olun. NFS paylaşım dizini /mnt/snapshots 'ı anlık görüntü deposu olarak kullanmak için hedef Wazuh dizinleyici(ler)de Paylaşılan dosya sistemini kur > Wazuh dizinleyici adımlarını tekrarlayın. Anlık Görüntü Deposunu Kurun Wazuh kontrol panelinde aşağıdaki adımları uygulayın: Sol üst menüye ☰  tıklayın ,  Indexer yönetimi  >  Anlık Görüntü Yönetimi  >  Depolar'a  gidin ve yeni bir anlık görüntü deposu oluşturmak için  Depo oluştur'u seçin. Bir depo adı girin, depo türünü  Paylaşılan dosya sistemi  olarak seçin , depo konumunu girin  /mnt/snapshots ve yeni deponun kaydını yapmak için  Ekle'yi seçin. Benzer bir anlık görüntü deposu kurmak için yukarıdaki adımları hedef Wazuh kümesinde tekrarlayın. Anlık Görüntüler Alın Sol üst menüye ☰  tıklayın ve  Indexer yönetimi  >  Anlık Görüntü Yönetimi  >  Anlık Görüntüler  bölümüne gidin . Anlık görüntü al'ı  seçin ve bir Anlık Görüntü adı girin. Kaynak dizin desenlerini seçin veya girin. Anlık görüntüleri depolamak için daha önce oluşturulan depoları seçin. Gelişmiş seçenekleri  seçin ve  Anlık görüntülere küme durumunu dahil et seçeneğini işaretleyin. Yeni bir anlık görüntü oluşturmak için  Ekle'yi  seçin . Anlık görüntü dosyaları /mnt/snapshots depolama konumuna kaydedilir . Anlık Görüntüleri Geri Yükle Wazuh dizin geçiş adımlarını tamamlamak için eski Wazuh dizinleyicilerinden alınan anlık görüntüleri hedef Wazuh dizinleyicilerine geri yükleyin. Hedef Wazuh dizinleyicisinde aşağıdaki adımları gerçekleştirin. Not   Anlık görüntüleri geri yükleme  işlemine geçmeden önce hedef Wazuh kümesinde  Paylaşımlı dosya sistemini kur  ve  Anlık görüntü deposunu kur  bölümlerindeki adımların gerçekleştirilmesi gerekir . Anlık görüntü dosyalarını yüklemek için hedef Wazuh kümesindeki Wazuh dizinleyici düğümlerini şu komutu kullanarak yeniden başlatın: systemctl restart wazuh-indexer Sol üst menüye ☰  tıklayın ,  Indexer yönetimi  >  Anlık Görüntü Yönetimi  >  Anlık Görüntüler'e  gidin ve Anlık Görüntüler sayfasını yenileyin. Depo konumundaki anlık görüntüler  /mnt/snapshots hedef Wazuh kümesinin panosunda gösterilecektir. Anlık görüntüyü seçin ve  Geri Yükle'ye restored_  tıklayın. Dizinleri orijinal adlarına geri yüklemek için öneki silin .  restored_ Önek, çakışan dizin adlarını önlemek için vardır. Gelişmiş seçenekleri  seçin ve tüm seçeneklerin işaretli olmadığından emin olun. Göç sürecini tamamlamak için  Anlık görüntüyü geri yükle'yi seçin. Wazuh Indexer Kümesi Wazuh Dashboard Wazuh Dashboard Ayarları Sertifika Dağıtımı Wazuh Agent Wazuh Agent Kayıt Veri Analizi MITRE ATT&CK Framework CDB Listelerini Kullanma Kurallar Decoders Kod Çözücüleri ve Kuralları Test Etme Kullanıcı Yönetimi Şifre Yönetimi Yetenekler Günlük Veri Toplama Günlük veri toplama, bir ağ içindeki farklı günlük kaynaklarından günlükleri toplamayı ve birleştirmeyi içerir. Günlük veri toplama, güvenlik ekiplerinin düzenleyici uyumluluğu karşılamalarına, tehditleri tespit edip düzeltmelerine ve uygulama hatalarını ve diğer güvenlik sorunlarını belirlemelerine yardımcı olur. Wazuh, uç noktalardan, ağ aygıtlarından ve uygulamalardan günlükleri toplar, analiz eder ve depolar. İzlenen bir uç noktada çalışan Wazuh aracısı, analiz için sistem ve uygulama günlüklerini toplar ve Wazuh sunucusuna iletir. Ayrıca, syslog veya üçüncü taraf API entegrasyonları aracılığıyla günlük mesajlarını Wazuh sunucusuna gönderebilirsiniz. Ajansız İzleme Wazuh sunucusu, uç noktalardaki güvenlik olaylarını ve vakalarını izlemek, tespit etmek ve bunlara ilişkin uyarıları tetiklemek için Wazuh ajanlarından aldığı verileri analiz eder. Ancak bazı uç noktalarda Wazuh ajanının kurulumunu engelleyen sınırlamalar olabilir. Wazuh, ajansız izleme yeteneğini kullanarak bu sorunu çözer. Aracısız izleme, bir aracı veya yazılım yüklemeyi gerektirmeyen bir uç nokta izleme türünü ifade eder. Bu yaklaşım, izlenen uç noktadan bilgi edinmek ve toplamak için mevcut protokolleri kullanır. Wazuh ajansız izleme yeteneği, olayları uç noktalardan Wazuh sunucusuna toplamak ve aktarmak için SSH (Güvenli Kabuk) protokolünü kullanır. Desteklenen platformlar arasında yönlendiriciler, güvenlik duvarları, anahtarlar ve Linux/BSD sistemleri bulunur. Yazılım yükleme kısıtlamaları olan uç noktaların güvenlik ve uyumluluk gereksinimlerini karşılamasını sağlar. Konteyner Güvenliği Konteyner güvenliği, konteynerlerin ve içerdikleri uygulamaların korunmasını ve kullanılabilirliğini sağlamak için önlemler ve uygulamalar uygulamayı içerir, böylece bütünlükleri ve gizlilikleri güvence altına alınır. Wazuh, kuruluşların konteyner ortamlarını güvence altına almalarına yardımcı olmak için merkezi günlük kaydı, gerçek zamanlı izleme, güvenlik açığı taraması ve olay yanıt otomasyonu gibi çeşitli yetenekler ve özellikler sunar. Wazuh, kullanıcıların Docker  gibi konteyner platformlarını etkili bir şekilde izlemesini sağlayarak  konteyner sağlığının izlenmesi  de dahil olmak üzere konteyner kaynaklarına kapsamlı görünürlük sağlar . Ayrıca Wazuh, konteyner güvenliği ve izlemesine bütünsel bir yaklaşım sağlayarak  Kubernetes altyapısını denetleme  olanağı sunar . Aktif Tepki Güvenlik ekipleri, yüksek öneme sahip olayları zamanında ele almak veya tam azaltma eylemleri sağlamak gibi olay yanıtlarında sıklıkla sorunlarla karşılaşırlar. Gerçek zamanlı olarak ilgili bilgileri toplamakta zorlanabilirler, bu da bir olayın tam kapsamını anlamayı zorlaştırır. Bu sorunlar, bir siber saldırının etkisini sınırlama ve azaltma zorluğunu artırır. Wazuh SIEM ve XDR platformu, olaylara müdahaleyi şu şekilde iyileştirir: Güvenlik olaylarına ilişkin gerçek zamanlı görünürlük sağlamak. Uyarı yorgunluğunun azaltılması. Tehditlere karşı yanıt eylemlerinin otomatikleştirilmesi. Hazır yanıt senaryoları sağlamak. Wazuh, güvenlik ekiplerinin belirli tetikleyicilere dayalı yanıt eylemlerini otomatikleştirmesine yardımcı olan ve güvenlik olaylarını etkili bir şekilde yönetmelerini sağlayan bir Active Response modülüne sahiptir. Yanıt eylemlerinin otomatikleştirilmesi, yüksek öncelikli olayların zamanında ve tutarlı bir şekilde ele alınmasını ve düzeltilmesini sağlar. Bu, özellikle güvenlik ekiplerinin kaynaklarının kısıtlı olduğu ve yanıt çabalarını önceliklendirmeleri gereken ortamlarda değerlidir. Ek olarak, modül tehditlere yanıt vermeye ve bunları azaltmaya yardımcı olan bir dizi kullanıma hazır yanıt betiği içerir. Örneğin, bazı betikler kötü amaçlı ağ erişimini engeller ve izlenen uç noktalardaki kötü amaçlı dosyaları siler. Bu eylemler güvenlik ekiplerinin iş yükünü azaltır ve olayları etkili bir şekilde yönetmelerini sağlar. Wazuh Active Response modülü, belirli bir kural kimliği, seviyesi veya kural grubu uyarısı tetiklendiğinde izlenen uç noktalarda bu betikleri yürütür. Bir tetikleyiciye yanıt olarak başlatılacak herhangi bir sayıda betik ayarlayabilirsiniz; ancak bu yanıtları dikkatlice değerlendirmelisiniz. Kuralların ve yanıtların kötü uygulanması, bir uç noktanın savunmasızlığını artırabilir. Aşağıdaki görsel Active Response iş akışını göstermektedir. Aktif yanıt türleri Aktif bir yanıt şunlardan biri olabilir: Vatansız Durum bilgisi Durumsuz etkin yanıtlar, onları geri döndürmek veya durdurmak için bir olay tanımı olmayan tek seferlik eylemlerdir. Durumlu yanıtlar, eylemlerini bir süre sonra geri döndürür veya durdurur. Sistem Envanteri Sistem envanteri, bir BT altyapısındaki donanım ve yazılım varlıkları hakkında bilgi içeren bir kaynaktır. Tüm varlıkların envanterini tutmak, kuruluşların ortamlarındaki donanım ve yazılım görünürlüğünü en üst düzeye çıkarmalarına yardımcı olur. Güncel bir sistem envanteri, bir kurumsal ağ içinde iyi bir BT hijyeni sağlamak için olmazsa olmazdır. Merkezi bir sistem envanteri tutmak için Wazuh aracıları izlenen uç noktalardan sistem bilgilerini toplar ve bunları Wazuh sunucusuna gönderir. Wazuh Syscollector modülü, bu tür verileri her bir aracıdan toplamaktan sorumludur. Wazuh aracısının topladığı veriler arasında donanım ve işletim sistemi bilgileri, yüklü yazılım ayrıntıları, ağ arayüzleri, bağlantı noktaları ve çalışan işlemler bulunur. Wazuh aracısı ayrıca Windows uç noktalarından Windows güncelleştirmeleri hakkında veri toplayabilir. Syscollector modülünün ne tür bilgileri toplamasını veya yoksaymasını istediğinizi yapılandırabilirsiniz. Kullanıcılar, tehdit avı ve BT hijyeni egzersizleri sırasında değerli kaynaklar olabilecek Wazuh panosundan sistem envanter raporları oluşturabilir. Raporda yer alan bilgiler, istenmeyen uygulamaları, süreçleri, hizmetleri ve kötü amaçlı eserleri tanımlamak için kullanılabilir. Malware (Kötü Amaçlı Yazılım) Tespiti Kötü amaçlı yazılım tespiti, kötü amaçlı yazılım ve dosyaların varlığı açısından bir bilgisayar sistemini veya ağını analiz etme sürecini ifade eder. Güvenlik ürünleri, bilinen kötü amaçlı yazılımların imzalarını kontrol ederek kötü amaçlı yazılımları tespit edebilir. Güvenlik araçları ayrıca yazılım etkinliğinden şüpheli davranışları tespit ederek kötü amaçlı etkinliği tespit edebilir. Kötü amaçlı yazılım bir sistemi enfekte ettiğinde, tespitten kaçınmak için çeşitli teknikler kullanarak sistemi değiştirebilir. Wazuh, kötü amaçlı dosyaları ve kötü amaçlı yazılımın varlığını gösteren anormal kalıpları tespit etmek için bu tekniklere karşı koymak amacıyla geniş spektrumlu bir yaklaşım kullanır. Wazuh  dosya bütünlüğü izleme (FIM) modülü,  izlenen uç noktalardaki kötü amaçlı dosyaları tespit etmeye yardımcı olur. FIM modülü kendi başına kötü amaçlı dosyaları tespit edemez. Ancak, FIM modülünü tehdit tespit kuralları ve tehdit istihbarat kaynaklarıyla birleştirerek kötü amaçlı yazılımları tespit edebilirsiniz. Wazuh'u, dosya karmaları içeren VirusTotal ve CDB listeleri ve kötü amaçlı yazılımları tespit etmek için YARA taramaları gibi tehdit istihbarat kaynaklarıyla FIM olaylarını kullanacak şekilde yapılandırabilirsiniz. Wazuh, Rootcheck modülünü  kullanarak izlenen uç noktalardaki rootkit davranışını algılar . Rootcheck, uç noktaları sürekli olarak izler ve herhangi bir anormallik algıladığında uyarılar üretir. Anormallik izleme, Wazuh'un imza tabanlı tekniklerin kaçırmış olabileceği kötü amaçlı yazılımları algılamasını sağlar. Rootcheck ayrıca izlenen uç noktalardaki varlıklarını algılamak için bilinen rootkit ve truva atı imzalarını kullanır. Wazuh'un esnekliği, kullanıcıların bu rootkit imzalarını kendilerinin güncelleyebilmesini sağlar. Wazuh  günlük toplama yeteneği,  üçüncü taraf kötü amaçlı yazılım tespit yazılımlarından günlükleri toplamanıza olanak tanır. Bu yeteneği kullanarak Wazuh, Windows Defender ve ClamAV gibi çeşitli kötü amaçlı yazılım tespit yazılımlarından günlükleri toplar ve analiz eder. Dosya Bütünlüğünün İzlenmesi Dosya Bütünlüğü İzleme (FIM), sistem ve uygulama dosyalarının bütünlüğünü izlemek için kullanılan bir güvenlik işlemidir. FIM, hassas varlıkları izleyen her kuruluş için önemli bir güvenlik savunma katmanıdır. Hassas veriler, uygulama ve cihaz dosyalarını izleyerek, düzenli olarak tarayarak ve bütünlüklerini doğrulayarak koruma sağlar. Kuruluşların sistemlerindeki kritik dosyalardaki değişiklikleri tespit etmelerine yardımcı olarak verilerin çalınması veya tehlikeye atılması riskini azaltır. Bu işlem, kaybedilen üretkenlik, kaybedilen gelir, itibar hasarı ve yasal ve düzenleyici uyumluluk cezalarında zamandan ve paradan tasarruf sağlayabilir. Wazuh, dosya bütünlüğü izleme için yerleşik bir yeteneğe sahiptir. Wazuh FIM modülü dosyaları ve dizinleri izler ve bir kullanıcı veya işlem izlenen dosyaları oluşturduğunda, değiştirdiğinde ve sildiğinde bir uyarı tetikler. İzlenen dosyaların kriptografik toplam kontrolünü ve diğer özniteliklerini depolayan bir temel tarama çalıştırır. Bir kullanıcı veya işlem bir dosyayı değiştirdiğinde, modül toplam kontrolünü ve özniteliklerini temelle karşılaştırır. Bir uyumsuzluk bulursa bir uyarı tetikler. FIM modülü, aracılar ve yönetici için FIM yapılandırmasına bağlı olarak gerçek zamanlı ve zamanlanmış taramalar gerçekleştirir. Wazuh FIM yeteneğinin bazı faydaları şunlardır: değişiklik yönetimi, tehdit tespiti ve yanıtlama ve düzenlemelere uyum. Değişim Yönetimi Wazuh FIM yeteneği, değişiklik yönetimi süreçlerinin doğru çalıştığını doğrulamak için olmazsa olmaz bir araçtır. Bu Wazuh yeteneği, dosyaların değişip değişmediğini, nasıl ve ne zaman değiştiğini ve kimin veya neyin onları değiştirdiğini görmek için incelemenize olanak tanır. Wazuh FIM modülü, temel bilgileri dosyanın en son sürümündeki bilgilerle karşılaştırır. Bu karşılaştırma, kritik dosyalardaki değişikliklere ve güncellemelere ilişkin görünürlük sağlar. Örneğin, bunu uygulamalardaki yanlış güncellemeleri veya yapılandırma dosyalarında yapılan yetkisiz değişiklikleri tespit etmek için kullanabilirsiniz. Tehdit Tespiti ve Yanıtlama FIM'i tehdit algılama ve yanıtlama için diğer Wazuh yetenekleriyle birleştirebilirsiniz. FIM yeteneği dosya bütünlüğünü izler, izin değişikliklerini algılar ve kullanıcı ve dosya etkinliklerini izler. Algılanan tehditlere hızlı yanıtlar için ayrıntılı uyarılar sağlar. Mevzuata Uygunluk FIM yeteneği, kuruluşların veri güvenliği, gizlilik ve veri saklama için düzenleyici gereklilikleri karşılamalarına yardımcı olur. Kritik dosyaları değişiklikler açısından izlemek, PCI DSS, HIPAA ve GDPR gibi düzenlemeler için önemli bir gerekliliktir. Nasıl Çalışır? FIM modülü belirli yollarda periyodik taramalar çalıştırır ve gerçek zamanlı olarak belirli dizinlerdeki değişiklikleri izler. Wazuh aracılarının ve yöneticisinin yapılandırmasında hangi yolların izleneceğini ayarlayabilirsiniz. FIM, dosyaların toplam kontrol değerlerini ve diğer özniteliklerini yerel bir FIM veritabanında depolar. Bir tarama sırasında, Wazuh aracısı, FIM modülünün izlenen yollarda bulduğu tüm değişiklikleri Wazuh sunucusuna bildirir. FIM modülü, bir dosyanın toplam kontrol değerlerini, depolanan toplam kontrol değerleri ve öznitelik değerleriyle karşılaştırarak dosya değişikliklerini arar. Tutarsızlıklar bulursa bir uyarı oluşturur. Wazuh FIM modülü, dosya oluşturma, değiştirme ve silme verileri gibi FIM olay verilerini toplamak için iki veritabanı kullanır. Biri, verileri şurada depolayan izlenen uç noktadaki yerel bir SQLite tabanlı veritabanıdır: C:\Program   Files   (x86)\ossec-agent\queue\fim\db Windows'ta. /var/ossec/queue/fim/db Linux'ta. /Library/Ossec/queue/fim/db macOS'ta. Diğeri Wazuh sunucusundaki bir aracı veritabanıdır.  Wazuh-db  . daemon, Wazuh sunucusundaki her bir aracı için bir veritabanı oluşturur ve yönetir. Veritabanını tanımlamak için aracının kimliğini kullanır. Bu hizmet veritabanlarını . adresinde depolar  /var/ossec/queue/db . FIM modülü, Wazuh aracısını ve Wazuh sunucu veritabanlarını birbirleriyle senkronize tutar. Wazuh sunucusundaki dosya envanterini her zaman Wazuh aracısının erişebildiği verilerle günceller. Güncel bir Wazuh sunucu veritabanı, FIM ile ilgili API sorgularının servis edilmesini sağlar. Senkronizasyon mekanizması, Wazuh sunucusunu yalnızca Wazuh aracılarından gelen, kontrol toplamları ve değişen dosya öznitelikleri gibi bilgilerle günceller. Wazuh aracısı ve yöneticisi varsayılan olarak FIM modülünü etkinleştirmiş ve  önceden yapılandırmıştır  . Ancak, izlenen yollar gibi FIM ayarlarını ortamınıza göre uyarladığınızdan emin olmak için uç noktalarınızın yapılandırmasını gözden geçirmenizi öneririz. FIM Modülü Nasıl Yapılandırılır FIM modülü Windows, Linux ve macOS işletim sistemlerinde taramalar çalıştırır. Hem genel ayarlar hem de uç noktanın işletim sistemine özgü ayarlar vardır. Bu ayarları ve desteklenen işletim sistemlerini bu kılavuzun  Temel ayarlar bölümünde ele alıyoruz. FIM modülünün dosyaların oluşturulmasını, değiştirilmesini ve silinmesini izlemesi gereken dizinleri belirtmeli veya izlemeniz gereken belirli dosyaları yapılandırmalısınız. Wazuh sunucusunda ve Wazuh aracı  yapılandırma dosyalarında izlenecek dosyayı veya dizini belirtebilirsiniz. Ayrıca bu özelliği  merkezi yapılandırma  dosyasını kullanarak uzaktan da yapılandırabilirsiniz . İzlenecek dosyaları ve dizinleri dizin  seçenekleriyle ayarlamanız gerekir . Virgülle ayrılmış girdiler kullanarak veya birden fazla satıra girdiler ekleyerek birden fazla dosya ve dizin ekleyebilirsiniz. FIM dizinlerini, bir kabukta veya Komut İstemi (cmd) terminalinde kullandığınız şekilde * ve ? joker karakterlerini kullanarak yapılandırabilirsiniz. Örneğin,  C:\Users\*\Downloads . FIM modülü bir tarama çalıştırdığında, değiştirilmiş dosyalar bulursa ve değiştirilen dosya özniteliklerine bağlı olarak uyarıları tetikler. Bu uyarıları Wazuh panosunda görüntüleyebilirsiniz. Aşağıda, FIM modülünün bir dosyayı ve dizini izlemek için nasıl yapılandırılacağını görebilirsiniz.  ve'yi  kendi dosya yollarınızla değiştirin. Aşağıdaki ayarları Wazuh aracı yapılandırma dosyasına ekleyin ve dizin değerlerini kendi dosya yollarınızla değiştirin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   restart   Not:   Hem merkezi yapılandırmada  hem de Wazuh aracısının  yapılandırma  dosyasında bir dizin belirtirseniz , merkezi yapılandırma öncelik kazanır ve yerel yapılandırmayı geçersiz kılar. FIM modül analizinin yorumlanması FIM analiz sonuçları, izlenen dosyalarda bir ekleme, değişiklik veya silme olduğunda Wazuh panosunda görünür. FIM sonuçlarını panonun üç farklı bölümünde görüntüleyebilirsiniz. FIM modülünden sonuçları görüntülemek için Wazuh panosunda  Dosya Bütünlüğü İzleme'ye  gidin . Sonuçlar aşağıdaki bölümlerdedir: Envanter Gösterge Paneli Olaylar Envanter Bu bölüm, FIM modülünün dizinlediği tüm dosyaların envanterini görüntüler. FIM veritabanı, dosya adı, son değişiklik tarihi, kullanıcı, kullanıcı kimliği, grup ve dosya boyutu dahil olmak üzere envanter bilgilerini içerir. Aşağıdaki görüntü, bir Ubuntu 22.04 uç noktasının dosya envanterini gösterir. FIM modülünün dosyayı en son ne zaman analiz ettiği ve dosya öznitelikleri gibi giriş ayrıntılarını görüntülemek için bir dosya girişine tıklayabilirsiniz. Ayrıca dosyayla ilgili FIM uyarılarını da görüntüleyebilirsiniz. Aşağıdaki görüntü dosya için bu bilgileri gösterir  /etc/resolv.conf . Dashboard Gösterge paneli bölümü, Wazuh FIM modülünün aşağıdakilere ilişkin analiz sonuçlarına genel bir bakış sunar: Bir altyapı içindeki tüm etkenler. Bir altyapı içerisinde seçilmiş bir ajan. Aşağıdaki görüntüde, izlenen tüm uç noktalar için FIM tarama sonuçlarının genel görünümüne ilişkin bir örnek görebilirsiniz. Aşağıdaki görüntüde Ubuntu uç noktası için FIM tarama sonuçlarının genel görünümüne dair bir örnek görebilirsiniz. Events Bu bölüm Wazuh FIM modülünün tetiklediği uyarıları gösterir. Burada, aracı adı, izlenen dosyanın dosya yolu, FIM olayının türü, uyarının açıklaması ve uyarının kural düzeyi gibi ayrıntıları görebilirsiniz. Ayrıca, uyarıyı tetikleyen olay hakkında ek bilgileri görüntülemek için her uyarı girişini genişletebilirsiniz. Temel Ayarlar FIM yeteneğini Wazuh sunucusunda ve Wazuh aracısında yapılandırabilirsiniz. Hem Wazuh sunucusunda hem de Wazuh aracısında  varsayılan bir FIM yapılandırması  mevcuttur. Bu ayarları ihtiyaçlarınıza göre değiştirebilirsiniz. FIM modülünü Wazuh sunucusunda ve Wazuh aracı yapılandırma  dosyasında yapılandırabilirsiniz . Ayrıca bu yeteneği  merkezi yapılandırma  dosyasını kullanarak uzaktan da yapılandırabilirsiniz . Tüm FIM yapılandırma seçeneklerinin listesi syscheck bölümünde mevcuttur. Bu kılavuzda, Wazuh FIM modülünün desteklediği farklı yapılandırma seçeneklerini gösteriyoruz. Gerçek Zamanlı İzleme Bu  realtime özellik yalnızca Windows ve Linux uç noktalarındaki dizinlerin gerçek zamanlı/sürekli izlenmesini sağlar. Dosyaları gerçek zamanlı olarak izlemek için FIM modülünü  dizinler  realtime  seçeneğinin niteliğiyle yapılandırın. Nitelik için izin verilen değerler ve'dir ve yalnızca dizinlerle çalışır, tek tek dosyalarla değil. Gerçek zamanlı değişiklik algılama, zamanlanmış FIM modülü taramaları sırasında duraklatılır ve bu taramalar tamamlanır tamamlanmaz yeniden etkinleştirilir. realtime yes no Aşağıda, FIM modülünün bir dizini gerçek zamanlı olarak nasıl izleyeceğini görebilirsiniz.  Kendi dosya yolunuzla değiştirin. Not: Gerçek zamanlı izleme için bir dizin belirtirken, Wazuh aracısını yeniden başlatmadan önce mevcut olmalıdır. Aksi takdirde, modül Wazuh aracısının sonraki yeniden başlatılmasında bulana kadar dizini yoksayar. Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh Kayıt Dosyası Öznitelikleri FIM modülünü belirli dosyaları ve dizinleri izleyecek şekilde yapılandırdığınızda, dosyaların meta verilerini kaydeder ve izler. FIM modülünün toplaması ve yoksayması gereken belirli dosya meta verilerini ayarlamak için  dizinler seçeneğini kullanabilirsiniz. Dizinler seçeneği çeşitli öznitelikleri destekler. Aşağıdaki tabloda FIM modülünün kaydettiği desteklenen öznitelikler açıklanmaktadır. Bağlanmak Varsayılan değer İzin verilen değerler Tanım check_all Evet evet hayır Aşağıdaki tüm özniteliklerin değerlerini kaydeder. check_sum Evet evet hayır Dosyaların MD5, SHA-1 ve SHA-256 karmalarını kaydeder. Aynı anda  check_md5sum="yes" ,  check_sha1sum="yes" , ve kullanmakla aynıdır. check_sha256sum="yes" check_sha1sum Evet evet hayır Dosyaların SHA-1 karma değerini kaydeder. check_md5sum Evet evet hayır Dosyaların MD5 hash'ini kaydeder. check_sha256sum Evet evet hayır Dosyaların SHA-256 karma değerini kaydeder. check_size Evet evet hayır Dosyaların boyutunu kaydeder. check_owner Evet evet hayır Linux'ta dosyaların sahiplerini kaydeder. check_group Evet evet hayır Dosyaların/dizinlerin grup sahibini kaydeder. Windows'ta  gid her zaman 0'dır ve grup adı boştur. check_perm Evet evet hayır Dosyaların/dizinlerin izinlerini kaydeder. Windows'ta, her kullanıcı veya grup için reddedilen ve izin verilen izinlerin bir listesi kaydedilir. NTFS bölümleriyle Linux ve Windows'ta çalışır. check_attrs Evet evet hayır Windows'daki dosyaların özniteliklerini kaydeder. check_mtime Evet evet hayır Bir dosyanın değiştirilme zamanını kaydeder. check_inode Evet evet hayır Linux'ta dosya inode'unu kaydeder. Aynı özniteliği değiştiren seçenekler arasında bir çakışma olduğunda, yapılandırılan sonuncu öncelik kazanır. Örneğin, aşağıdaki yapılandırma seçeneği  check_mtime şu şekilde ayarlar  yes : /etc Aşağıdaki yapılandırma, değişiklik zamanı kontrolü dahil tüm özniteliklerin kaydedilmesini devre dışı bırakır. /etc Aşağıda izlenen bir dosyanın SHA-1 karmasının kaydının nasıl devre dışı bırakılacağına dair bir yapılandırma örneğini görebilirsiniz.  Kendi dosya yolunuzla değiştirin. Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   Restart Not:  İlk FIM taramasından sonra oluşturulan belirtilen dosyalar veya dizinler, bir sonraki planlanmış tarama sırasında izlenmek üzere eklenecektir. Planlanmış Taramalar FIM modülü taramalarının zamanlamasını değiştirmek için  Wazuh FIM modülünün seçeneğini yapılandırabilirsiniz. Bu seçenek, FIM taramaları arasındaki süreyi tanımlar. Alternatif olarak, scan_time  ve  scan_day  seçeneklerini  kullanarak taramaları haftanın belirli bir saatinde ve gününde çalışacak şekilde yapılandırabilirsiniz . Zamanlanmış taramalar, günlük dosyaları gibi sık güncellenen dosyaları izlerken uyarı taşmasını önler. FIM modülü varsayılan olarak her 12 saatte bir  (43200 saniye) tarama çalıştırır. Aşağıdaki yapılandırma örneğinde, FIM modülünün her 15 dakikada  bir (900 saniye)  tarama çalıştıracak şekilde nasıl ayarlanacağını görebilirsiniz . Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf 900 Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   restart Alternatif olarak, scan_time  ve  scan_day  seçeneklerini kullanarak taramaları planlayabilirsiniz . Bu seçenekleri kullanarak FIM'i yapılandırmak, FIM taramalarını iş saatleri dışında ayarlamanıza yardımcı olur. Aşağıdaki yapılandırma örneği, belirtilen dizinlerin taramalarının her cumartesi  saat 22:00'da nasıl çalıştırılacağını göstermektedir. Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf 10pm saturday Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   restart Dosya Değerlerindeki Değişiklikleri Bildir Öznitelik  report_changes , FIM modülünün bir metin dosyasında değiştirilen tam içeriği bildirmesine olanak tanır. Bu, izlenen bir dosyaya eklenen veya silinen metni kaydeder. Bu işlevi,  dizin report_changes  seçeneklerinin özniteliğini etkinleştirerek yapılandırabilirsiniz . Bu öznitelik için izin verilen değerler ve'dir . Windows, macOS ve Linux uç noktalarında hem dizinlerle hem de tek tek dosyalarla çalışır. yes no Bu seçeneği etkinleştirdiğinizde özniteliği dikkatli kullanmalısınız  report_changes . Wazuh, izlenen her dosyayı özel bir konuma kopyalayarak depolama kullanımını artırır. Dosyaların kopyasını şu adreste bulabilirsiniz: /var/ossec/queue/diff/local/  Linux'ta. Library/Ossec/queue/diff/local/ macOS'ta. C:\Program   Files   (x86)\ossec-agent\queue\diff\local\ Windows'ta. Aşağıda, FIM modülünün dosya değişikliklerini bildirecek şekilde nasıl yapılandırılacağını görebilirsiniz.  Kendi dosya yolunuzla değiştirin. Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf Yapılandırma değişikliklerini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   restart report_changes Aşağıdaki yapılandırma örneğinde, dizindeki tüm dosyalar için özniteliğin nasıl kullanılacağını görebilirsiniz  . FIM modülünün dosyaya tam içerik değişikliklerini bildirmesini nasıl önleyeceğinizi görebilirsiniz . Kendi dosya yolunuzla  /private.txt değiştirin . Seçeneği kullanırken , bir istisna oluşturmak için  nodiff report_changes  seçeneğini kullanabilirsiniz . Bu seçenek dosyanın değişikliklerini uyarır ancak Wazuh FIM modülünün bir metin dosyasında değiştirilen tam içeriği bildirmesini engeller. nodiff seçeneğini kullanmak, dosya içeriği değişikliklerini uyarılar aracılığıyla göndererek oluşabilecek veri sızıntısını önler. Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf /private.txt Yapılandırma değişikliklerini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   restart Hariç Tutmaların Eklenmesi FIM modülünü, aşağıdaki iki yöntemden birini kullanarak belirli dosya ve dizinlere ilişkin uyarıları yoksayacak şekilde yapılandırabilirsiniz: Yoksay Seçeneğini Kullanma Bir yolu yoksaymak için yoksay  seçeneğini kullanabilirsiniz . Satır başına bir dosya veya dizin girişine izin verir. Ancak, birden fazla yol için dışlamalar eklemek için birden fazla satır kullanabilirsiniz. Bu örnekte, FIM modülünün bir dosya yolunu yoksayacak şekilde nasıl yapılandırılacağını görebilirsiniz. Bu ayrıca dosya uzantıları  .log ve . için regex eşleşmesini de yoksayar. Kendi dosya yollarınızla  .tmp değiştirin . Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin: Linux: /var/ossec/etc/ossec.conf Pencereler: C:\Program   Files   (x86)\ossec-agent\ossec.conf macOS: /Library/Ossec/etc/ossec.conf .log$|.tmp$ Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: Linux: systemctl   restart   wazuh-agent Pencereler: Restart-Service   -Name   wazuh macOS: /Library/Ossec/bin/wazuh-control   restart Özel Kuralları Kullanma Alternatif bir yöntem, uyarı seviyesi 0 kurallarını kullanmaktır. Bu yöntem, FIM modülü tarafından taranan belirli dosya ve dizinlerin uyarılarını yok sayar. Seviye 0 kuralları için uyarılar sessizdir ve Wazuh sunucusu bunları bildirmez. /var/www/htdocs/ Aşağıdaki yapılandırma örneğinde, bir Linux uç noktasındaki dizinin nasıl izleneceğini ve dosya için sessiz uyarıların nasıl kullanılacağını görebilirsiniz  /var/www/htdocs/private.html . Linux Uç Noktası Wazuh aracı yapılandırma dosyasına aşağıdaki ayarları ekleyin  /var/ossec/etc/ossec.conf : /var/www/htdocs Herhangi bir yapılandırma değişikliğini uygulamak için Wazuh aracısını yönetici ayrıcalığıyla yeniden başlatın: systemctl restart wazuh-agent Wazuh Sunucusu Wazuh sunucusundaki dizinde  fim_ignore.xml dosyayı oluşturun : /var/ossec/etc/rules/ touch /var/ossec/etc/rules/fim_ignore.xml Dosyaya aşağıdaki kuralları ekleyin  fim_ignore.xml : syscheck /var/www/htdocs/private.html Ignore changes to $(file) Kural,  /var/www/htdocs/private.html dosya için FIM uyarısını susturur. Yapılandırma değişikliklerini uygulamak için Wazuh yöneticisini yeniden başlatın: systemctl restart wazuh-manager İzleme Sistemi Çağrıları Linux uç noktalarındaki sistem çağrılarını izlemek, güvenlik denetimi amaçları için bilgi sağlar. Sistem çağrısı verilerini toplamak ve analiz etmek, güvenlik ekiplerinin şüpheli davranış kalıplarını belirlemesine ve olası güvenlik olaylarını zamanında araştırmasına yardımcı olur. Linux  Denetim sistemi,  Linux uç noktalarındaki güvenlik ve güvenlik dışı olayları toplamak için güçlü bir araçtır. Ancak denetim günlükleri tarafından oluşturulan verilerin hacmi, sistem yöneticilerinin potansiyel güvenlik tehditlerini ve ihlallerini belirlemesini zorlaştırabilir. Wazuh, Linux uç noktalarındaki sistem çağrılarını izlemek için Linux Denetim sistemini kullanır. Wazuh aracısı, sistem çağrısı olaylarını toplamak ve analiz için Wazuh sunucusuna göndermek üzere izlenen uç noktalara denetim kurallarını yükler ve yapılandırır. Bu denetim kuralları, güvenlik izlemeyle ilgili olayları yakalar. Wazuh, dosya erişimi, komut yürütme, ayrıcalık yükseltme, kötü amaçlı yazılım ve daha fazlası dahil olmak üzere birden fazla etkinliği algılamak için sistem çağrısı olaylarını kullanan kullanıma hazır algılama kuralları sağlar. Güvenlik ekipleri, bu kuralları belirli güvenlik gereksinimlerini veya uyumluluk standartlarını karşılayacak şekilde özelleştirebilir ve böylece olası güvenlik olaylarına ilişkin gerçek zamanlı içgörüler elde edebilir. Wazuh, denetim olaylarının merkezi bir görünümünü sağlayarak sistem etkinliklerini izleme görevini basitleştirir ve kuruluşların düzenleyici gerekliliklere uymasına yardımcı olur. Genel olarak, Wazuh denetim yeteneği, Linux sistemleri için sağlam ve kapsamlı bir güvenlik izleme çözümü sunarak kuruluşların güvenlik duruşlarını iyileştirmelerine ve siber tehditlere karşı korunmalarına yardımcı olur. Komut İzleme Wazuh komut izleme yeteneği, belirli komutların çıktısını izlemenize ve çıktıyı günlük içeriği olarak ele almanıza olanak tanır. Komut izleme, disk alanı kullanımı, yük ortalaması, ağ dinleyicilerindeki bir değişiklik ve tüm önemli işlemlerin çalıştığından emin olmak için çalışan işlemler gibi çeşitli şeyleri izlemek için kullanılabilir. Komut izleme, çeşitli anormallikleri ve tehditleri tespit etmek için kullanılabilir. Örneğin, komutun çıktısında bir değişiklik olup olmadığını izlemek için kullanabilirsiniz  netstat ; bu, yeni bir ağ dinleyicisinin eklendiğini veya kaldırıldığını gösterir. Ayrıca, komutun çıktısında belirli dizelerin varlığını izlemek için de kullanabilirsiniz  ps ; bu, kötü amaçlı bir işlemin çalıştığını gösterebilir. Güvenlik Yapılandırma Değerlendirmesi Güvenlik Yapılandırma Değerlendirmesi (SCA), tüm sistemlerin yapılandırma ayarları ve onaylı uygulama kullanımıyla ilgili önceden tanımlanmış bir dizi kurala uyduğunu doğrulama sürecidir. Uç noktaları güvence altına almanın en kesin yollarından biri, güvenlik açığı yüzeylerini azaltmaktır. Bu süreç genellikle güçlendirme olarak bilinir. Yapılandırma değerlendirmesi, uç noktalarınızdaki zayıflıkları belirlemenin ve saldırı yüzeyinizi azaltmak için bunları yamamanın etkili bir yoludur. Wazuh SCA modülü, izlenen uç noktalardaki yanlış yapılandırmaları ve ifşaları tespit etmek ve düzeltme eylemleri önermek için taramalar gerçekleştirir. Bu taramalar, uç noktaların yapılandırmasını, uç noktanın gerçek yapılandırmasına karşı test edilecek kuralları içeren politika dosyalarını kullanarak değerlendirir. SCA politikaları, dosyaların, dizinlerin, kayıt defteri anahtarlarının ve değerlerinin, çalışan işlemlerin varlığını kontrol edebilir ve dizinlerin içindeki dosyaların varlığını yinelemeli olarak test edebilir. Örneğin, SCA modülü parola ile ilgili yapılandırmanın değiştirilmesinin, gereksiz yazılımların kaldırılmasının, gereksiz hizmetlerin devre dışı bırakılmasının veya TCP/IP yığın yapılandırmasının denetlenmesinin gerekli olup olmadığını değerlendirebilir. SCA modülü için politikalar YAML'de yazılmıştır. Bu format, insan tarafından okunabilir ve anlaşılması kolay olduğu için seçilmiştir. Kendi SCA politikalarınızı kolayca yazabilir veya mevcut olanları ihtiyaçlarınıza uyacak şekilde genişletebilirsiniz. Ayrıca, Wazuh çoğunlukla uç nokta güçlendirme için yerleşik bir standart olan CIS kıyaslamalarına dayalı bir dizi kullanıma hazır politika ile dağıtılır. Güvenlik Açığı Tespiti Güvenlik açıkları, tehdit aktörlerinin bu sistemlere yetkisiz erişim elde etmek için istismar edebileceği bilgisayar sistemlerindeki güvenlik kusurlarıdır. İstismardan sonra, kötü amaçlı yazılımlar ve tehdit aktörleri uzaktan kod yürütme, veri sızdırma ve diğer kötü amaçlı faaliyetleri gerçekleştirebilir. Bu nedenle, kuruluşların kötü aktörler istismar etmeden önce ağlarındaki güvenlik açıklarını derhal tespit eden stratejilere veya güvenlik çözümlerine sahip olması gerekir. Bir ağdaki güvenlik açıklarının derhal tespit edilmesi ve düzeltilmesi, genel güvenlik duruşunun güçlendirilmesine yardımcı olur. Wazuh Vulnerability Detection modülü, kullanıcıların izlenen uç noktalara yüklenen işletim sistemi ve uygulamalardaki güvenlik açıklarını keşfetmelerine yardımcı olur. Modül, aşağıdaki güvenlik açığı kaynaklarından birini kullanarak çalışır. Siber Tehdit İstihbaratı (CTI) platformumuzdaki Wazuh zafiyet deposu. Çevrimdışı yerel güvenlik açıkları deposu. Güvenlik açığı bilgilerini sağlamak için Canonical, Debian, Red Hat, Arch Linux, Amazon Linux Advisories Security (ALAS), Microsoft ve National Vulnerability Database (NVD) tarafından dizinlenen harici güvenlik açığı kaynaklarından güvenlik açığı verilerini topluyoruz. Çözümün en son CVE'leri kontrol etmesini sağlayarak bu bilgileri güncel tutuyoruz. Referans Merkezi Yapılandırma (agent.conf) Yerel Yapılandırma (ossec.conf)