Skip to main content

Wazuh Sunucu Kümesi

Wazuh sunucu kümesi, dağıtılmış bir ortamda birden fazla Wazuh sunucu düğümünden oluşur. Bu dağıtım stratejisi yatay ölçeklenebilirlik ve gelişmiş performans sağlamaya yardımcı olur. İzlenecek birçok uç noktanın olduğu bir ortamda, bu dağıtım stratejisini bir ağ yük dengeleyicisiyle birleştirerek Wazuh aracı bağlantı yükünü birden fazla düğüm arasında etkili bir şekilde dağıtabilirsiniz. Bu yaklaşım, Wazuh sunucusunun çok sayıda Wazuh aracısını daha verimli bir şekilde yönetmesini ve yüksek kullanılabilirlik sağlamasını mümkün kılar.

Veri Senkronizasyonu

Wazuh sunucusu, Wazuh ajanlarından, harici API'lerden ve ağ cihazlarından gelen olayları işler ve tespit edilen tehditler ve anormallikler için uyarılar verir. Bu nedenle, ajanlardan olay almak için gereken tüm bilgilerin senkronize edilmesi gerekir. Bu bilgiler şunlardır:

  • Wazuh aracılarının anahtarları, böylece Wazuh sunucu düğümleri aracılardan gelen bağlantıları kabul edebilir.

  • Wazuh aracılarının paylaşılan yapılandırması, böylece Wazuh sunucu düğümleri aracılara yapılandırmalarını gönderebilir.

  • Wazuh aracıları atamaları gruplandırır, böylece her Wazuh sunucu düğümü aracılara hangi yapılandırmanın gönderileceğini bilir.

  • Özel kod çözücüler, kurallar, SCA politikaları ve CDB listeleri, Wazuh sunucu düğümlerinin ajanlardan gelen olayları doğru şekilde işleyebilmesini sağlar.

  • Wazuh ajanlarının son canlı tutma ve işletim sistemi bilgileri, ajanların bir Wazuh sunucu düğümüne bağlanmasıyla birlikte alınır ve bir ajanın raporlama yapıp yapmadığını bilmek gerekir.

Tüm bu bilgilerin senkronize edilmesi, herhangi bir Wazuh sunucu kümesi düğümünün Wazuh ajanlarından gelen uyarıları düzgün bir şekilde işlemesini ve oluşturmasını sağlar. Veri senkronizasyonu, yeni Wazuh ajanları eklendiğinde bir Wazuh ortamının yatay olarak ölçeklenmesini mümkün kılar.

Mimari Genel Bakış

Aşağıdaki diyagram tipik bir Wazuh sunucu kümesi mimarisini göstermektedir:

Tipik Wazuh sunucu kümesi mimarisi

Bu mimaride, küme içinde birden fazla Wazuh sunucu düğümü bulunur. Wazuh sunucu kümesi bir ana düğüm ve çalışan düğümlerden oluşur. Wazuh aracıları kümedeki sunucu düğümlerine rapor verecek şekilde yapılandırılır. Bu kurulum yatay ölçeklenebilirliğe olanak tanır ve Wazuh sunucularının performansını artırır.

Wazuh Sunucu Kümesindeki Düğüm Türleri

Wazuh sunucu kümesinde iki tür düğüm vardır: ana düğüm ve çalışan düğüm. Düğüm türleri, Wazuh sunucu kümesindeki her düğümün görevlerini tanımlar ve senkronizasyonlar sırasında hangi düğümün bilgisinin öncelik kazanacağını belirlemek için bir hiyerarşi oluşturur. Bir Wazuh sunucu kümesinde yalnızca bir ana düğüm bulunabilir, senkronizasyonlar sırasında ana düğümden gelen veriler her zaman çalışan düğümlerden gelen verilere göre öncelik kazanır. Bu, küme içinde tekdüzelik ve tutarlılık sağlar.

Ana Düğüm

Ana düğüm, çalışan düğümlerini merkezileştirir ve koordine eder, kritik ve gerekli verilerin tüm düğümler arasında tutarlı olmasını sağlar. Aşağıdakilerin merkezileştirilmesini sağlar:

  • Temsilci kayıt ve silme taleplerinin alınması ve yönetilmesi.

  • Paylaşılan yapılandırma grupları oluşturuluyor.

  • Özel kuralları, kod çözücüleri, SCA politikalarını ve CDB listelerini güncelleme.

Wazuh aracı kayıt ayrıntıları, paylaşılan yapılandırma, CDB listesi, özel SCA politikaları, özel kod çözücüler ve kurallar ana bilgisayardan çalışanlara senkronize edilir ve tüm düğümlerin aynı yapılandırmaya ve kural kümelerine sahip olması sağlanır. Senkronizasyon sırasında, çalışan düğümdeki bu dosyaların her sürümü ana düğümdeki dosyalarla üzerine yazılır.

İşçi Düğüm

Bir işçi düğümü şunlardan sorumludur:

  • Wazuh aracı kayıt istekleri ana düğüme yönlendiriliyor.

  • Wazuh aracı kayıt ayrıntılarını, paylaşılan yapılandırmayı, CDB listesini, özel SCA politikalarını, özel kod çözücüleri ve kuralları ana düğümden senkronize etme.

  • Wazuh acentelerinden gelen olayların alınması ve işlenmesi.

  • Wazuh aracı durum güncellemesini ana düğüme gönderiyorum.

Eşitleme sırasında, çalışan düğümdeki paylaşılan dosyalardan herhangi biri değiştirilirse, bir sonraki eşitleme sırasında içerikleri ana düğümün içerikleriyle üzerine yazılır.

Wazuh Sunucu Kümesi Nasıl Çalışır?

wazuh-clusterdWazuh sunucu kümesi , ana-işçi mimarisini izleyen tüm düğümlerle iletişim kuran daemon tarafından yönetilir.

Aşağıdaki görüntü bir işçi ve bir ana düğüm arasındaki iletişimi gösterir. Her işçi-ana iletişimi birbirinden bağımsızdır çünkü işçiler ana düğümle iletişimi başlatanlardır.

Farklı bağımsız iş parçacıkları çalışıyor ve her biri resimde çerçevelenmiş durumda:

  • Keep alive thread : Sık aralıklarla master'a keep alive mesajları göndermekten sorumludur. Küme kalıcı bağlantılar kullandığından master ve çalışan düğümler arasındaki bağlantıyı açık tutmak gerekir.

  • Agent bilgi iş parçacığı : İşletim sistemi bilgilerini, yapılandırılmış etiketleri ve o düğüme rapor veren Wazuh aracılarının durumunu göndermekten sorumludur . Ana bilgisayar ayrıca durum güncellemesini kaydetmeden önce aracının var olup olmadığını kontrol eder. Bu, ana bilgisayarın gereksiz bilgileri depolamasını önlemek için yapılır. Örneğin, bir aracı kaldırıldığında ancak ana bilgisayar henüz çalışan düğümlere bildirimde bulunmadığında bu durum çok yaygındır.

  • Aracı grupları iş parçacığı gönderir : Aracı gruplarının atama bilgilerinin işçi düğümlerine gönderilmesinden sorumludur. Bilgiler, bir aracı ilk kez bağlandığında ana bilgisayarda hesaplanır.

  • Yerel aracı grupları iş parçacığı : Ana düğümdeki tüm yeni aracı grupları bilgilerini okumaktan sorumludur. Ana düğüm, tüm çalışan düğümlere göndermeden önce veritabanından aracı grupları bilgilerini almalıdır. Her çalışan bağlantısı için bir kez talep etmekten kaçınmak için, bilgiler alınır ve ana düğümde aralıklarla Yerel aracı grupları iş parçacığı adı verilen farklı bir iş parçacığında saklanır.

  • Bütünlük iş parçacığı : Wazuh sunucu kümesindeki dosyaları ana düğümden çalışan düğümlere senkronize etmekten sorumludur. Bu dosyalar Wazuh aracı anahtarları dosyasını, kullanıcı tanımlı kuralları, kod çözücüleri , özel SCA politikalarını , CDB listelerini ve grup dosyalarını içerir .

  • Yerel bütünlük iş parçacığı : Her dosyanın bütünlüğünü MD5 toplamını ve değişiklik zamanını kullanarak hesaplamaktan sorumludur. Her çalışan düğüm bağlantısıyla bütünlüğün hesaplanmasını önlemek için bütünlük, ana düğümde Dosya bütünlüğü iş parçacığı adı verilen farklı bir iş parçacığında aralıklarla hesaplanır.

/var/ossec/logs/cluster.logTüm küme günlükleri varsayılan bir Wazuh kurulumunun dosyasına yazılır .

Wazuh sunucu kümesi diyagramı

Wazuh Küme Düğümleri Yapılandırması

Bir Wazuh sunucu kümesinde, kümede yalnızca bir ana düğüm olabilirken diğer tüm Wazuh sunucuları çalışan düğümlerdir. Her iki düğüm türü için de yapılandırma dosyası /var/ossec/etc/ossec.confküme yapılandırma değerlerini içerir. Bir ana düğüm ve tek bir çalışan düğümü olan bir kümenin nasıl yapılandırılacağını gösteriyoruz.

Ana Düğüm

  1. <cluster>Wazuh sunucusu ana düğümü için yapılandırma dosyasındaki blok içerisinde aşağıdaki yapılandırmayı ayarlayın /var/ossec/etc/ossec.conf:

    <cluster>
        <name>wazuh</name>
        <node_name>master-node</node_name>
        <key>c98b62a9b6169ac5f67dae55ae4a9088</key>
        <node_type>master</node_type>
        <port>1516</port>
        <bind_addr>0.0.0.0</bind_addr>
        <nodes>
            <node>MASTER_NODE_IP</node>
        </nodes>
        <hidden>no</hidden>
        <disabled>no</disabled>
    </cluster>
    

    Nerede:

    • <name>kümeye atanacak isimdir.

    • <node_name>geçerli düğümün adıdır.

    • <key>benzersiz 32 karakter uzunluğunda bir anahtardır ve tüm küme düğümleri için aynı olmalıdır. Komutla benzersiz bir anahtar üretiriz .openssl rand -hex 16

    • <node_type>düğüm türünü masterveya olarak ayarlar worker.

    • <port>küme iletişimi için hedef bağlantı noktasıdır.

    • <bind_addr>düğümün dinlediği IP adresidir (0.0.0.0 herhangi bir IP).

    • <node>blok içindeki ana düğümün adresini belirtir <nodes>ve bu, ana düğümün kendisi de dahil olmak üzere tüm düğümlerde belirtilmelidir. Adres bir IP veya DNS olabilir.

    • <hidden>Bir uyarı üreten küme hakkında bilginin gösterilip gösterilmeyeceğini değiştirir.

    • <disabled>Düğümün kümede etkinleştirilip etkinleştirilmeyeceğini belirtir.

     

  2. Yapılandırma değişikliklerini uygulamak için ana düğümü yeniden başlatın:

    systemctl restart wazuh-manager

İşçi Düğüm

  1. Wazuh sunucusu işçi düğümü için <cluster>...</cluster>yapılandırma dosyasında /var/ossec/etc/ossec.confaşağıdaki yapılandırmayı ayarlıyoruz.

    <cluster>
      <name>wazuh</name>
      <node_name>worker01-node</node_name>
      <key>c98b62a9b6169ac5f67dae55ae4a9088</key>
      <node_type>worker</node_type>
      <port>1516</port>
      <bind_addr>0.0.0.0</bind_addr>
      <nodes>
          <node>MASTER_NODE_IP</node>
      </nodes>
      <hidden>no</hidden>
      <disabled>no</disabled>
    </cluster>
    
  2. Yapılandırma değişikliklerini uygulamak için çalışan düğümü yeniden başlatın:

  3. Her şeyin beklendiği gibi çalıştığını kontrol etmek için aşağıdaki komutu çalıştırın:

    /var/ossec/bin/cluster_control -l

    Not:  Yukarıdaki komut hem ana hem de çalışan düğümde çalıştırılabilir.

     
    Output
    NAME           TYPE    VERSION  ADDRESS
    master-node    master  4.8.0   wazuh-master
    worker01-node  worker  4.8.0   172.22.0.3
    

Sertifika Dağıtımı

Wazuh, merkezi bileşenleri - Wazuh dizinleyici, Filebeat ve Wazuh panosu - arasında güven ve gizlilik sağlamak için sertifikalar kullanır. Sertifikalar, Wazuh'un yeni kurulumu için veya Wazuh merkezi bileşenlerinin ölçeklendirilmesi sırasında dağıtılır. Gerekli sertifikalar şunlardır:

  • Kök CA sertifikası : Kök CA (Sertifika Yetkilisi) sertifikası, bir güvenlik ekosistemi için güvenin temeli olarak işlev görür. Sistemdeki tüm düğümlerin kimliğini doğrulamak ve diğer sertifikaları imzalamak için kullanılır, böylece bir güven zinciri oluşturulur.

  • Düğüm sertifikaları : Düğüm sertifikaları, Wazuh kümesindeki her düğümü benzersiz şekilde tanımlar. Düğümler arasındaki iletişimleri şifrelemek ve doğrulamak için kullanılırlar.

    Her düğüm sertifikası, düğümün IP adresini veya DNS adını içermelidir. Bu, iletişimler sırasında doğrulama süreci için önemlidir ve verilerin gerçekten güvenilir düğümlere gönderildiğinden ve onlardan alındığından emin olunmasını sağlar. Kök CA tarafından imzalanan bu sertifikalar, düğümler arasındaki herhangi bir iletişimin bu merkezi otorite tarafından güvenilir ve doğrulanmış olmasını sağlar.

  • Yönetici sertifikası : Yönetici sertifikası, özel ayrıcalıklara sahip bir istemci sertifikasıdır. Wazuh dizinleyicisi, Wazuh dizinleyici kümesini başlatma ve yönetme, kullanıcıları oluşturma, değiştirme ve silme ve rolleri ve izinleri yönetme gibi yönetim ve güvenlikle ilgili görevleri gerçekleştirmek için bunu kullanır. Ayrıca küme içinde yalnızca yetkili komutların yürütülmesini sağlamaya yardımcı olur.

Sertifikaları iki yöntem kullanarak dağıtabilirsiniz:

  • wazuh-certs-tool.sh betiğini kullanma

  • Özel sertifikaları kullanma

Komut dosyasını kullanma wazuh-certs-tool.sh (varsayılan yöntem)

Betik wazuh-certs-tool.sh, Wazuh merkezi bileşenleri için sertifika oluşturmayı basitleştirir ve kurulum için gereken tüm sertifikaları oluşturur. Yapılandırma dosyasını oluşturmanız veya düzenlemeniz gerekir . Bu dosya, belirtilen her düğüm için sertifika oluşturmak için kullanılan düğüm türleri ve IP adresleri veya DNS adları gibi düğüm ayrıntılarına başvurur. Bir şablon, depolarımızdanconfig.yml indirilebilir . Bu sertifikalar aşağıdaki ek bilgilerle oluşturulur:

  • C: BİZ

  • L: Kaliforniya

  • O: Vazuh

  • OU: Vazuh

  • CN: Düğümün adı

Wazuh Sunucu Sertifikaları Oluşturuluyor

Betiği kullanarak Wazuh sunucu sertifikaları oluşturmak için aşağıdaki adımları izleyin wazuh-certs-tool.sh:

  1. Kurulum dizininize wazuh-certs-tool.sh betiğini indirmek için aşağıdaki komutu çalıştırın:

    wget https://packages.wazuh.com/4.9/wazuh-certs-tool.sh
  2. Aşağıdaki içerikle bir dosya oluşturun config.yml. Wazuh sunucusu için sertifikalar oluşturmaya odaklandığımız için yalnızca Wazuh sunucu düğümleriyle ilgili ayrıntıları belirtiyoruz. Bu sertifikalar, güvenli veri iletimi için Wazuh sunucusunu Filebeat ile entegre etmek için kullanılacaktır.

    nodes:
      # Wazuh server nodes
      # If there is more than one Wazuh server
      # node, each one must have a node_type
      server:
        - name: wazuh-1
          ip: "<WAZUH_MANAGER_IP>"
        #  node_type: master
        #- name: wazuh-2
        #  ip: "<WAZUH_MANAGER_IP>"
        #  node_type: worker
        #- name: wazuh-3
        #  ip: "<WAZUH_MANAGER_IP>"
        #  node_type: worker
    

    Nerede:

    • namebenzersiz bir düğüm adını temsil eder. Herhangi birini seçebilirsiniz.

    • ipDüğümün IP adresini veya DNS adını temsil eder.

    • node typeyapılandırılacak düğüm türünü temsil eder. İki tür mevcuttur, ana ve çalışan. Küme başına yalnızca bir ana düğümünüz olabilir.

    • <WAZUH_MANAGER_IP>Wazuh yönetici düğümlerinin (ana/çalışan) IP adresini temsil eder.

  3. Wazuh sunucu sertifikalarını oluşturmak için betiği çalıştırın:

    bash wazuh-certs-tool.sh -A

    Sertifikalar dağıtıldıktan sonra wazuh-certificateskurulum dizininde aşağıdaki içeriğe sahip bir dizin oluşturulacaktır:

    wazuh-certificates/
    ├── admin-key.pem
    ├── admin.pem
    ├── root-ca.key
    ├── root-ca.pem
    ├── server-key.pem
    └── server.pem
    

    Bu dizindeki dosyalar şunlardır:

    • root-ca.pemve root-ca.key: Bu dosyalar kök Sertifika Yetkilisini (CA) temsil eder. .pemDosya genel sertifikayı içerirken, .keydosya diğer sertifikaları imzalamak için kullanılan özel anahtarı tutar.

Not:  Tam bir Wazuh altyapısı dağıtıyorsanız ve sertifikaları ilk kez dağıtıyorsanız kök CA sertifikasını korumanız gerekir. Bu, Wazuh dizinleyicisi ve Wazuh panosu düğümleri için sertifikalar oluşturmak ve imzalamak için kullanılacaktır.

    • admin.pemve admin-key.pem: Bu dosyalar, Wazuh dizinleyicisinin Wazuh dizinleyici kümesini başlatma, kullanıcılar ve roller oluşturma ve yönetme gibi yönetim ve güvenlikle ilgili görevleri gerçekleştirmek için kullandığı genel ve özel anahtarları içerir.

    • server.pemve server-key.pemserver.pemDosya, Filebeat tarafından iletişim sırasında Wazuh sunucusunun gerçekliğini doğrulamak için kullanılan genel anahtarı içerir. Tersine, dosya, server-key.pemWazuh sunucusunda güvenli bir şekilde saklanan ve kendini Filebeat'e doğrulamak için kullanılan özel anahtarı tutar.

      İki veya daha fazla Wazuh sunucu düğümünden oluşan kümelenmiş bir ortamda, her düğüm için benzersiz ortak ve özel anahtar çiftleri üretilir. Bu anahtarlar düğüme özgüdür ve namedosyanın alanında tanımlanan adlarla tanımlanır config.yml. Bu anahtar çiftleri daha sonra ilgili düğümlere aktarılmalıdır.

  1. /etc/filebeat/certs/Sertifikalar oluşturulduktan sonra, Wazuh sunucu sertifikasını yeniden adlandırmanız ve uygun Wazuh sunucu düğümlerine taşımanız gerekir. Bunları dosyada belirtilen varsayılan dizine yerleştirmeniz gerekir /etc/filebeat/filebeat.yml. Dizin yoksa, onu oluşturmalısınız.

    mv /path/to/server-key.pem /etc/filebeat/certs/filebeat-key.pem
    mv /path/to/server.pem /etc/filebeat/certs/filebeat.pem

Önceden var olan kök CA'yı kullanarak Wazuh sunucu sertifikaları oluşturma

Wazuh ayrıca önceden var olan bir kök CA kullanarak yönetici ve düğüm(ler) sertifikalarını oluşturma ve imzalama olanağı da sağlar. Tüm düğümler için sertifikaları yeniden oluşturmak zorunda kalmaktan kaçınır.

Not:  Wazuh sunucu sertifikalarını oluşturmak için önceden var olan bir kök CA kullanmanız gerekir:
- Wazuh indeksleyicisi veya Wazuh panosu düğümleri için sertifikalar ürettikten sonra halihazırda bir kök CA'nız varsa.
- Wazuh sunucu düğümünü yeniden yüklemeniz veya Wazuh sunucu kümenize yeni bir düğüm eklemeniz gerekiyorsa.

  1. Bir dosya oluşturun config.yml. Yukarıdaki notta açıklanan durumlara bağlı olarak, yalnızca sertifika oluşturmak istediğiniz Wazuh sunucu düğümü(leri) için ayrıntıları belirtmelisiniz.

  2. config.ymlMevcut kök CA anahtarlarını kullanarak dosyadan Wazuh sunucu sertifikaları oluşturmak için aşağıdaki komutu çalıştırın :

    bash wazuh-certs-tool.sh -ws /path/to/root-ca.pem /path/to/root-ca.key

    Nerede:

    • Bayrak, -wsWazuh sunucu sertifikaları oluşturduğumuzu gösteriyor.

    • Dosya /path/to/root-ca.pemkök CA sertifikasını içerir.

    • Dosya /path/to/root-ca.keykök CA anahtarını içerir.

    Sertifikalar dağıtıldıktan sonra wazuh-certificateskurulum dizininde aşağıdakine benzer içerikli bir dizin oluşturulacaktır:

    wazuh-certificates/
    ├── admin-key.pem
    ├── admin.pem
    ├── server-key.pem
    └── server.pem
    
  3. /etc/filebeat/certs/Sertifikalar oluşturulduktan sonra, Wazuh sunucu sertifikasını yeniden adlandırmanız ve uygun Wazuh sunucu düğümlerine taşımanız gerekir. Bunları dosyada belirtilen varsayılan dizine yerleştirmeniz gerekir /etc/filebeat/filebeat.yml. Dizin yoksa, onu oluşturmalısınız.

    mv /path/to/server-key.pem /etc/filebeat/certs/filebeat-key.pem
    mv /path/to/server.pem /etc/filebeat/certs/filebeat.pem
Özel Sertifikaları Kullanma

Özel sertifikalar OpenSSL gibi araçlar kullanılarak oluşturulabilir. Yukarıda açıklanan kök CA, düğüm ve yönetici sertifikalarını oluşturmalısınız.

Yeni Wazuh Sunucu Düğümleri Ekleniyor

Yeni düğümler ekleyerek Wazuh sunucu kümenizi yatay olarak ölçeklendirebilirsiniz. Bu, daha fazla sayıda Wazuh aracısının daha iyi işlenmesini sağlar. Yük devretme modunu yapılandırmak veya aracıları Wazuh sunucu kümesine yönlendirmek için bir yük dengeleyici kullanmak, düğüm arızaları durumunda yedeklilik sağlayabilir. Ayrıca güvenlik izleme altyapınızın ölçeklenebilirliğini ve dayanıklılığını da artırır.

Yükseltme süreci, kurulum için gerekli sertifikaların oluşturulmasını, ardından mevcut bileşenlerin yeni Wazuh sunucu düğümü(leri) ile bağlantı kurması için yapılandırılmasını içerir. Ardından yeni Wazuh sunucu düğümünü(lerini) kurmayı ve yapılandırmayı ve son olarak yeni düğümlerin katıldığından emin olmak için kümeyi test etmeyi içerir.

Wazuh sunucusunu yükseltme adımlarını iki alt bölüme ayırdık: biri hepsi bir arada dağıtım için diğeri ise dağıtılmış dağıtım için. Bu yöntemler arasındaki seçiminiz mevcut dağıtımınıza bağlıdır.

  • Hepsi bir arada dağıtım :

    Hepsi bir arada dağıtım, Wazuh kurulum asistanımızı veya Wazuh tarafından sağlanan Açık Sanal Cihaz (OVA) formatında önceden oluşturulmuş sanal makine görüntüsünü kullanmayı ifade eder. Bu dağıtım yöntemi, tüm Wazuh merkezi bileşenlerini tek bir sunucuya yükler. Wazuh hepsi bir arada yapılandırmanız varsa, Wazuh sunucu kümenizi ölçeklendirmek için "Hepsi bir arada dağıtım" alt bölümlerinde özetlenen adımları izleyin.

  • Dağıtılmış dağıtım :

    Dağıtılmış dağıtım, Wazuh bileşenlerinin adım adım kurulum kılavuzunu (Wazuh indexer , sunucusu ve dashboard için geçerlidir ) izleyerek veya kurulum yardımcısını (Wazuh dizinleyicisi , sunucusu ve panosu için ) kullanarak ayrı varlıklar olarak kurulduğu durumu ifade eder. Mevcut bir dağıtılmış dağıtım için, Wazuh sunucunuzu ölçeklendirmek üzere "Dağıtılmış dağıtım" alt bölümlerine bakın.

Mevcut dağıtımınıza göre uygun alt bölümü seçtiğinizden emin olun. Altyapınızla hangi yöntemin uyumlu olduğundan emin değilseniz, devam etmeden önce dağıtım mimarinizi gözden geçirmeyi düşünün.

Not:  Aşağıdaki komutları çalıştırabilmek için root kullanıcı ayrıcalıklarına ihtiyacınız var.

Sertifika Oluşturma

Wazuh, bileşenleri - Wazuh dizinleyicisi, Filebeat ve Wazuh panosu - arasında güven ve gizlilik sağlamak için sertifikalar kullanır. Wazuh sunucusu iki bileşenden oluşur: Wazuh yöneticisi ve Filebeat. Yeni Wazuh sunucu düğümleri eklerken, yeni düğümdeki Filebeat'in Wazuh dizinleyicisiyle güvenli bir şekilde iletişim kurması için bir SSL sertifikası gerekir.

Wazuh merkezi bileşenleri arasında güvenli iletişim için gerekli sertifikaları oluşturmak amacıyla mevcut Wazuh sunucu düğümünüzde aşağıdaki adımları gerçekleştirin.

Hepsi Bir Arada Dağıtım

Wazuh bileşenleri için hepsi bir arada bir dağıtımda yeni sertifikalar üretiyoruz. Bu, hızlı başlangıç ​​yükleme betiğinin 127.0.0.1Wazuh dizinleyicisi, sunucusu ve panosu için sertifikaları oluşturmak üzere localhost IP adresini kullanması nedeniyle gereklidir. Yeni sertifikalar oluşturmak için aşağıdaki adımları gerçekleştirin.

  1. Yeni Wazuh sunucu düğümünü/düğümlerini eklemek için /root dizinde config.yml bir dosya oluşturun :

    touch /root/config.yml

    /root/config.ymlDosyayı içeriğiyle birlikte aşağıdaki gibi düzenleyin:

    nodes:
      # Wazuh indexer nodes
      indexer:
        - name: <WAZUH_INDEXER_NODE_NAME>
          ip: <WAZUH_INDEXER_IP>
    
      # Wazuh server nodes
      server:
        - name: <EXISTING_WAZUH_SERVER_NODE_NAME>
          ip: <EXISTING_WAZUH_SERVER_IP>
          node_type: master
        - name: <NEW_WAZUH_SERVER_NODE_NAME>
          ip: <NEW_WAZUH_SERVER_IP>
          node_type: worker
    
      # Wazuh dashboard nodes
      dashboard:
        - name: <WAZUH_DASHBOARD_NODE_NAME>
          ip: <WAZUH_DASHBOARD_IP>
    

    Düğüm adlarını ve IP değerlerini yeni düğüm adlarınız ve IP adreslerinizle değiştirin.

    node_typeKurulumunuzda farklı bir tane atayabilirsiniz . Bu dokümantasyonda, ana rolü mevcut düğüme ve işçi rolünü yeni düğüme atıyoruz.

  2. wazuh-certs-tool.shYeni düğüm için sertifikaları oluşturmak ve mevcut düğüm için yeniden oluşturmak için indirin ve çalıştırın :

    curl -sO https://packages.wazuh.com/4.9/wazuh-certs-tool.sh
    bash wazuh-certs-tool.sh -A
    Output
    19/06/2024 13:59:08 INFO: Generating the root certificate.
    19/06/2024 13:59:09 INFO: Generating Admin certificates.
    19/06/2024 13:59:09 INFO: Admin certificates created.
    19/06/2024 13:59:09 INFO: Generating Wazuh indexer certificates.
    19/06/2024 13:59:09 INFO: Wazuh indexer certificates created.
    19/06/2024 13:59:09 INFO: Generating Filebeat certificates.
    19/06/2024 13:59:09 INFO: Wazuh Filebeat certificates created.
    19/06/2024 13:59:09 INFO: Generating Wazuh dashboard certificates.
    19/06/2024 13:59:09 INFO: Wazuh dashboard certificates created.
    
  3. scpSertifikalar klasörünü sıkıştırın ve yeni Wazuh sunucu düğümüne/düğümlerine kopyalayın. Sıkıştırılmış dosyayı güvenli bir şekilde kopyalamak için yardımcı programı kullanabilirsiniz :

    tar -cvf ./wazuh-certificates.tar -C ./wazuh-certificates/ .
    scp wazuh-certificates.tar <TARGET_USERNAME>@<TARGET_IP>:

    Bu, sertifikaları hedef sistemdeki kullanıcının dizinine kopyalayacaktır /home. Bunu, kurulum dizininize bir yol belirtmek için değiştirebilirsiniz.

Dağıtılmış Dağıtım

Dağıtılmış bir dağıtım için, sertifikalar önceden var olan kök CA anahtarları kullanılarak veya yeni bir sertifika seti oluşturularak üretilebilir. Yalnızca yeni düğümler için sertifika üretmek amacıyla önceden var olan kök CA anahtarlarını kullanmanızı öneririz. Her iki tekniği de aşağıda açıklıyoruz.

Önceden Var Olan Kök CA Anahtarını Kullanma

Mevcut kök CA anahtarını kullanarak sertifikaları oluşturmak için mevcut Wazuh sunucu düğümünüzde aşağıdaki adımları gerçekleştirin.

Not:  Wazuh indexer wazuh-certificates.tar için 4. ve 5. adımlarda ilk yapılandırma sırasında oluşturulan dosyanın bir kopyasına veya kök CA anahtarlarının bir kopyasına ihtiyacınız olacak . Bunlardan hiçbiri mevcut değilse, bir sonraki bölümde özetlenen adımları izleyerek yeni sertifikalar oluşturabilirsiniz .

 
  1. Yeni Wazuh sunucu düğümünü/düğümlerini eklemek için /root dizinde config.ymlbir dosya oluşturun :

    touch /root/config.yml

    /root/config.ymlDosyayı yeni düğümün düğüm adını ve IP'sini içerecek şekilde düzenleyin :

    nodes:
      # Wazuh server nodes
      server:
        - name: <EXISTING_WAZUH_SERVER_NODE_NAME>
          ip: <EXISTING_WAZUH_SERVER_IP>
          node_type: master
        - name: <NEW_WAZUH_SERVER_NODE_NAME>
          ip: <NEW_WAZUH_SERVER_IP>
          node_type: worker
    

    Değerleri düğüm adlarınız ve bunlara karşılık gelen IP adresleriyle değiştirin.

  2. wazuh-certificates.tarKök CA anahtarlarını almak için dosyayı çıkarın :

    mkdir wazuh-install-files && tar -xf ./wazuh-certificates.tar -C wazuh-install-files
  3. wazuh-certs-tool.shYeni Wazuh sunucu düğümü için sertifikaları oluşturmak üzere önceden var olan kök CA anahtarlarını kullanarak indirin ve çalıştırın :

    curl -sO https://packages.wazuh.com/4.9/wazuh-certs-tool.sh
    bash wazuh-certs-tool.sh -A wazuh-install-files/root-ca.pem wazuh-install-files/root-ca.key
    Output
    19/06/2024 16:42:37 INFO: Generating Admin certificates.
    19/06/2024 16:42:37 INFO: Admin certificates created.
    19/06/2024 16:42:37 INFO: Generating Filebeat certificates.
    19/06/2024 16:42:38 INFO: Wazuh Filebeat certificates created.
    
  4. Yeni oluşturulan sertifikaları, wazuh-install-filesyönetici sertifikalarını değiştirmemeye dikkat ederek dizine kopyalayın:

    cp wazuh-certificates/<NEW_WAZUH_SERVER_NODE_NAME>* wazuh-install-files
    cp wazuh-certificates/<EXISTING_WAZUH_SERVER_NODE_NAME>* wazuh-install-files
  5. Sertifikalar dizinini yeni bir dosyaya sıkıştırın ve yeni Wazuh sunucu düğümüne/düğümlerine kopyalayın. Sıkıştırılmış dosyayı güvenli bir şekilde kopyalamak için yardımcı programı aşağıdaki şekilde wazuh-certificates.tarkullanabilirsiniz :scp

    tar -cvf ./wazuh-certificates.tar -C ./wazuh-install-files/ .
    scp wazuh-certificates.tar <TARGET_USERNAME>@<TARGET_IP>:

    Bu komut sertifikaları /homeuç noktadaki hedef kullanıcının dizinine kopyalar. Komutu, kurulum dizininize bir yol belirtmek için değiştirebilirsiniz.

Yeni sertifikalar oluşturuluyorBu başlığa kalıcı bağlantı

Mevcut kök sertifika anahtarlarınız silinmişse veya erişilemez durumdaysa, yeni sertifikalar oluşturmak için aşağıdaki adımları takip edebilirsiniz.

  1. /root/config.ymlTüm düğümlerinize referans verecek dosyayı oluşturun :

    nodes:
      # Wazuh indexer nodes
      indexer:
        - name: <WAZUH_INDEXER_NODE_NAME>
          ip: <WAZUH_INDEXER_IP>
    
      # Wazuh server nodes
      server:
        - name: <EXISTING_WAZUH_SERVER_NODE_NAME>
          ip: <EXISTING_WAZUH_SERVER_IP>
          node_type: master
        - name: <NEW_WAZUH_SERVER_NODE_NAME>
          ip: <NEW_WAZUH_SERVER_IP>
          node_type: worker
    
      # Wazuh dashboard nodes
      dashboard:
        - name: <WAZUH_DASHBOARD_NODE_NAME>
          ip: <WAZUH_DASHBOARD_IP>
    
  2. wazuh-certs-tool.shSertifikaları oluşturmak için betiği indirin ve çalıştırın :

    # curl -sO https://packages.wazuh.com/4.9/wazuh-certs-tool.sh
    # bash wazuh-certs-tool.sh -A
    
  3. scpSertifikalar klasörünü sıkıştırın ve yeni Wazuh dizinleyici düğümüne/düğümlerine kopyalayın. Sıkıştırılmış dosyayı güvenli bir şekilde kopyalamak için yardımcı programı kullanabilirsiniz :

    # tar -cvf ./wazuh-certificates.tar -C ./wazuh-certificates/
    # scp wazuh-certificates.tar <TARGET_USERNAME>@<TARGET_IP>:
    

    Bu komut sertifikaları /homeuç noktadaki hedef kullanıcının dizinine kopyalar. Komutu, kurulum dizininize bir yol belirtmek için değiştirebilirsiniz.

Mevcut bileşenlerin yeni düğüme bağlanacak şekilde yapılandırılmasıBu başlığa kalıcı bağlantı

Hepsi bir arada dağıtımBu başlığa kalıcı bağlantı

  1. env_variables.shMevcut düğümün dizininde, /rootçevresel değişkenlerinizi aşağıdaki gibi tanımladığınız bir dosya oluşturun :

    export NODE_NAME1=<WAZUH_INDEXER_NODE_NAME>
    export NODE_NAME2=<EXISTING_WAZUH_SERVER_NODE_NAME>
    export NODE_NAME3=<WAZUH_DASHBOARD_NODE_NAME>
    

    <WAZUH_INDEXER_NODE_NAME><EXISTING_WAZUH_SERVER_NODE_NAME><WAZUH_DASHBOARD_NODE_NAME>ifadesini sırasıyla 'de tanımlandığı gibi Wazuh dizinleyicisinin, Wazuh sunucusunun ve Wazuh panosu düğümlerinin adlarıyla değiştirin /root/config.yml.

  2. Dizin içerisinde bir deploy-certificates.shscript oluşturun /rootve içerisine aşağıdakileri yapıştırın:

    #!/bin/bash
    
    # Source the environmental variables from the external file
    source ~/env_variables.sh
    
    rm -rf /etc/wazuh-indexer/certs
    mkdir /etc/wazuh-indexer/certs
    tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME1.pem ./$NODE_NAME1-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
    mv -n /etc/wazuh-indexer/certs/$NODE_NAME1.pem /etc/wazuh-indexer/certs/wazuh-indexer.pem
    mv -n /etc/wazuh-indexer/certs/$NODE_NAME1-key.pem /etc/wazuh-indexer/certs/wazuh-indexer-key.pem
    chmod 500 /etc/wazuh-indexer/certs
    chmod 400 /etc/wazuh-indexer/certs/*
    chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs
    
    rm -rf /etc/filebeat/certs
    mkdir /etc/filebeat/certs
    tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME2.pem ./$NODE_NAME2-key.pem ./root-ca.pem
    mv -n /etc/filebeat/certs/$NODE_NAME2.pem /etc/filebeat/certs/wazuh-server.pem
    mv -n /etc/filebeat/certs/$NODE_NAME2-key.pem /etc/filebeat/certs/wazuh-server-key.pem
    chmod 500 /etc/filebeat/certs
    chmod 400 /etc/filebeat/certs/*
    chown -R root:root /etc/filebeat/certs
    
    rm -rf /etc/wazuh-dashboard/certs
    mkdir /etc/wazuh-dashboard/certs
    tar -xf ./wazuh-certificates.tar -C /etc/wazuh-dashboard/certs/ ./$NODE_NAME3.pem ./$NODE_NAME3-key.pem ./root-ca.pem
    mv -n /etc/wazuh-dashboard/certs/$NODE_NAME3.pem /etc/wazuh-dashboard/certs/wazuh-dashboard.pem
    mv -n /etc/wazuh-dashboard/certs/$NODE_NAME3-key.pem /etc/wazuh-dashboard/certs/wazuh-dashboard-key.pem
    chmod 500 /etc/wazuh-dashboard/certs
    chmod 400 /etc/wazuh-dashboard/certs/*
    chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs
    
  3. Aşağıdaki komutu çalıştırarak sertifikaları dağıtın:

    # bash /root/deploy-certificates.sh
    

    Bu, Wazuh merkezi bileşenleri arasındaki iletişimleri şifrelemek için SSL sertifikalarını dağıtır.

    Önerilen eylemwazuh-certificates.tar : Gelecekteki olası kullanım ve ölçeklenebilirlik için bir kopyayı çevrimdışı kaydedin. Güvenliği artırmak için aşağıdaki komutu çalıştırarak bu düğümdeki dosyayı kaldırabilirsiniz :

    # rm -rf ./wazuh-certificates
    # rm -f ./wazuh-certificates.tar
    
  4. Wazuh dizinleyici yapılandırma dosyasını /etc/wazuh-indexer/opensearch.ymldizinleyicinin IP adresini belirtecek şekilde düzenleyin ve dosyada NODE_NAMEbelirtildiği gibi /root/config.yml:

    network.host: "<WAZUH_INDEXER_IP>"
    node.name: "<WAZUH_INDEXER_NODE_NAME>"
    cluster.initial_master_nodes:
    - "<WAZUH_INDEXER_NODE_NAME>"
    
  5. /etc/filebeat/filebeat.ymlDizinleyicinin IP adresini belirtmek için Filebeat yapılandırma dosyasını düzenleyin :

    output.elasticsearchhosts:
            - <WAZUH_INDEXER_IP>:9200
    

    Not

     

    Bu bölümün yapısı, kurulumunuzu Wazuh kurulum asistanını mı yoksa adım adım kılavuzu mu kullanarak tamamladığınıza bağlı olarak değişir. Burada hızlı başlangıç ​​betiğini kullandık.

  6. Küme düğümleri arasındaki iletişimi şifrelemek için kullanılacak rastgele bir şifreleme anahtarı oluşturun:

    # openssl rand -hex 16
    

    Yukarıdaki komutun çıktısını kaydedin, çünkü bu çıktı daha sonra her iki Wazuh sunucu düğümünü yapılandırmak için kullanılacaktır.

  7. /etc/wazuh-dashboard/opensearch_dashboards.ymlDizinleyici düğümü için bağlantı ayrıntılarını içerecek şekilde yapılandırma dosyasını düzenleyin :

    opensearch.hosts: https://<WAZUH_INDEXER_IP>:9200
    
  8. Dosyayı düzenleyin /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.ymlve urldeğeri Wazuh sunucusu ana düğümünün IP adresi veya ana bilgisayar adıyla değiştirin:

    hosts:
      - default:
          url: https://<EXISTING_WAZUH_SERVER_IP>
          port: 55000
          username: wazuh-wui
          password: <WAZUH-WUI-PASSWORD>
          run_as: false
    
  9. /var/ossec/etc/ossec.confWazuh sunucu kümesini etkinleştirmek için Wazuh sunucu yapılandırma dosyasını düzenleyin :

    <cluster>
      <name>wazuh</name>
      <node_name><EXISTING_WAZUH_SERVER_NODE_NAME></node_name>
      <node_type>master</node_type>
      <key><ENCRYPTION_KEY></key>
      <port>1516</port>
      <bind_addr>0.0.0.0</bind_addr>
      <nodes>
          <node><MASTER_NODE_IP></node>
      </nodes>
      <hidden>no</hidden>
      <disabled>no</disabled>
    </cluster>
    

    Dosyanın yukarıdaki bölümündeki yapılandırılabilir alanlar /var/ossec/etc/ossec.confşu şekildedir:

    • name kümenin adını belirtir.

    • node_name geçerli düğümün adını belirtir.<EXISTING_WAZUH_SERVER_NODE_NAME>Dosyada belirtilen adla/root/config.yml.

    • node_type düğümün rolünü belirtir. Master olarak ayarlanması gerekir.

    • anahtar, küme düğümleri arasındaki iletişimi şifrelemek için kullanılan bir anahtarı temsil eder . Tüm sunucu düğümlerinde aynı olmalıdır. Benzersiz bir anahtar oluşturmak için komutunu kullanabilirsiniz.openssl rand -hex 16

    • port küme iletişimi için hedef portu belirtir. Varsayılanı olarak bırakın1516.

    • bind_addr, düğümün gelen istekleri dinlemek için bağlandığı ağ IP'sidir (0.0.0.0, düğümün herhangi bir IP'yi kullanacağı anlamına gelir).

    • nodes ana düğümün adresidir ve bir IP veya DNS ana bilgisayar adı olabilir. Bu parametre ana düğümün kendisi de dahil olmak üzere tüm düğümlerde belirtilmelidir.<MASTER_NODE_IP>Ana düğümünüzün IP adresiyle değiştirin.

    • gizli, oluşturulan uyarılardaki küme bilgilerini gösterir veya gizler.

    • devre dışı, düğümün kümede etkin mi yoksa devre dışı mı olduğunu gösterir. Bu seçenek hayır olarak ayarlanmalıdır.

  10. Değişiklikleri uygulamak için Wazuh Central bileşenini ve Filebeat'i yeniden başlatın.


    # service wazuh-indexer restart
    # service wazuh-manager restart
    # service wazuh-dashboard restart
    # service filebeat restart
    

Dağıtılmış dağıtımBu başlığa kalıcı bağlantı

  1. Aşağıdaki komutları çalıştırarak Wazuh sunucu sertifikalarını mevcut Wazuh sunucu düğümünüze dağıtın. .yml'de <EXISTING_WAZUH_SERVER_NODE_NAME>tanımlandığı gibi yapılandırdığınız Wazuh sunucusunun düğüm adıyla değiştirin /root/config.

    # NODE_NAME=<EXISTING_WAZUH_SERVER_NODE_NAME>
    
    # rm -rf /etc/filebeat/certs
    # mkdir /etc/filebeat/certs
    # tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
    # mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
    # mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem
    # chmod 500 /etc/filebeat/certs
    # chmod 400 /etc/filebeat/certs/*
    # chown -R root:root /etc/filebeat/certs
    

    Not

    Yukarıdaki notta önerildiği gibi sertifikalar yeniden oluşturulursa .

    Ayrıca mevcut tüm Wazuh düğümlerinize (indeksleyici ve gösterge paneli) sertifikaları yeniden dağıtmanız gerekecektir.

    Yeni sertifikayı sunucuya dağıttıktan sonra, sertifikaları Wazuh dizinleyicisine ve panosuna dağıtmak için aşağıdaki komutları çalıştırın:

    • Wazuh dizinleyici düğümünde(lerinde):

      # NODE_NAME=<WAZUH_INDEXER_NODE_NAME>
      
      # rm -rf /etc/wazuh-indexer/certs
      # mkdir /etc/wazuh-indexer/certs
      # tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
      # mv -n /etc/wazuh-indexer/certs/$NODE_NAME.pem /etc/wazuh-indexer/certs/indexer.pem
      # mv -n /etc/wazuh-indexer/certs/$NODE_NAME-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
      # chmod 500 /etc/wazuh-indexer/certs
      # chmod 400 /etc/wazuh-indexer/certs/*
      # chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs
      
    • Wazuh panosu düğümünde:

      # NODE_NAME=<WAZUH_DASHBOARD_NODE_NAME>
      
      # rm -rf /etc/wazuh-dashboard/certs
      # mkdir /etc/wazuh-dashboard/certs
      # tar -xf ./wazuh-certificates.tar -C /etc/wazuh-dashboard/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
      # mv -n /etc/wazuh-dashboard/certs/$NODE_NAME.pem /etc/wazuh-dashboard/certs/wazuh-dashboard.pem
      # mv -n /etc/wazuh-dashboard/certs/$NODE_NAME-key.pem /etc/wazuh-dashboard/certs/wazuh-dashboard-key.pem
      # chmod 500 /etc/wazuh-dashboard/certs
      # chmod 400 /etc/wazuh-dashboard/certs/*
      # chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs
      

    Önerilen eylemwazuh-certificates.tar : Gelecekteki olası kullanım ve ölçeklenebilirlik için bir kopyayı çevrimdışı kaydedin. Güvenliği artırmak için aşağıdaki komutu çalıştırarak bu düğümdeki dosyayı kaldırabilirsiniz :

    # rm -f ./wazuh-certificates.tar
    
  2. Wazuh dizinleyici yapılandırma dosyasını düzenleyerek /etc/wazuh-indexer/opensearch.ymldizinleyicinin IP adresini dosyada belirtildiği gibi belirtin /root/config.yml:

    network.host: "<WAZUH_INDEXER_IP>"
    node.name: "<WAZUH_INDEXER_NODE_NAME>"
    cluster.initial_master_nodes:
    - "<WAZUH_INDEXER_NODE_NAME>"
    
  3. /etc/filebeat/filebeat.ymlDizinleyicinin IP adresini belirtmek için Filebeat yapılandırma dosyasını (Wazuh sunucu düğümünde bulunur) düzenleyin :

    output.elasticsearchhosts:
            - <WAZUH_INDEXER_IP>:9200
    

    Not

     

    Bu bölümün yapısı, kurulumunuzu Wazuh kurulum asistanını veya adım adım kılavuzu kullanarak yapmanıza bağlı olarak değişecektir. Burada Wazuh kurulum asistanını kullandık.

  4. Küme düğümleri arasındaki iletişimi şifrelemek için kullanılacak bir şifreleme anahtarı oluşturun:

    # openssl rand -hex 16
    

    Yukarıdaki komutun çıktısını kaydedin, çünkü bu çıktı daha sonra her iki Wazuh sunucu düğümünde küme modunu yapılandırmak için kullanılacaktır.

  5. Yapılandırma dosyasını /etc/wazuh-dashboard/opensearch_dashboards.ymldizinleyici düğümünün IP'sini içerecek şekilde düzenleyin:

    opensearch.hosts: https://<WAZUH_INDEXER_IP>:9200
    
  6. /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.ymlWazuh panosu düğümünde bulunan dosyayı düzenleyin ve urldeğeri Wazuh sunucu ana düğümünün IP adresi veya ana bilgisayar adıyla değiştirin:

    hosts:
      - default:
          url: https://<EXISTING_WAZUH_SERVER_IP>
          port: 55000
          username: wazuh-wui
          password: <WAZUH-WUI-PASSWORD>
          run_as: false
    
  7. /var/ossec/etc/ossec.confKüme modunu etkinleştirmek için Wazuh sunucu yapılandırma dosyasını düzenleyin :

    <cluster>
      <name>wazuh</name>
      <node_name><EXISTING_WAZUH_SERVER_NODE_NAME></node_name>
      <node_type>master</node_type>
      <key><ENCRYPTION_KEY></key>
      <port>1516</port>
      <bind_addr>0.0.0.0</bind_addr>
      <nodes>
          <node><MASTER_NODE_IP></node>
      </nodes>
      <hidden>no</hidden>
      <disabled>no</disabled>
    </cluster>
    

    Dosyanın yukarıdaki bölümündeki yapılandırılabilir alanlar var/ossec/etc/ossec.confşu şekildedir:

    • name kümenin adını belirtir.

    • node_name geçerli düğümün adını belirtir.<EXISTING_WAZUH_SERVER_NODE_NAME>Dosyada belirtilen adla/root/config.yml.

    • node_type düğümün rolünü belirtir. Master olarak ayarlanması gerekir.

    • anahtar, küme düğümleri arasındaki iletişimi şifrelemek için kullanılan bir anahtarı temsil eder . Tüm sunucu düğümlerinde aynı olmalıdır. Benzersiz bir anahtar oluşturmak için komutunu kullanabilirsiniz.openssl rand -hex 16

    • port küme iletişimi için hedef portu belirtir. Varsayılanı olarak bırakın1516.

    • bind_addr, düğümün gelen istekleri dinlemek için bağlandığı ağ IP'sidir (0.0.0.0, düğümün herhangi bir IP'yi kullanacağı anlamına gelir).

    • nodes ana düğümün adresidir ve bir IP veya DNS ana bilgisayar adı olabilir. Bu parametre ana düğümün kendisi de dahil olmak üzere tüm düğümlerde belirtilmelidir.<MASTER_NODE_IP>Ana düğümünüzün IP adresiyle değiştirin.

    • gizli, oluşturulan uyarılardaki küme bilgilerini gösterir veya gizler.

    • devre dışı, düğümün kümede etkin mi yoksa devre dışı mı olduğunu gösterir. Bu seçenek olarak ayarlanmalıdırno.

  8. Değişiklikleri uygulamak için ilgili düğümlerinizde aşağıdaki komutları çalıştırın

    • Wazuh dizinleyici düğümü


      # service wazuh-indexer restart
      

    • Wazuh sunucu düğümü(leri)


      # service filebeat restart
      # service wazuh-manager restart
      

    • Wazuh panosu düğümü


      # service wazuh-dashboard restart
      

Wazuh sunucu düğümü(leri) kurulumuBu başlığa kalıcı bağlantı

Sertifikalar oluşturulduktan ve yeni düğüme/düğümlere kopyalandıktan sonra, yeni Wazuh sunucusunu bir çalışan düğüm olarak yükleme ve yapılandırma işlemine geçebilirsiniz.

Wazuh deposunu eklemeBu başlığa kalıcı bağlantı

  1. GPG anahtarını içe aktarın:

    # rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
    
  2. Depoyu ekleyin:

    # echo -e '[wazuh]\ngpgcheck=1\ngpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH\nenabled=1\nname=EL-$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1' | tee /etc/yum.repos.d/wazuh.repo
    

Wazuh yöneticisinin kurulumuBu başlığa kalıcı bağlantı

  1. Wazuh yönetici paketini yükleyin.


    # yum -y install wazuh-manager
    

  2. Wazuh yönetici servisini etkinleştirin ve başlatın.

    • RPM tabanlı işletim sistemi:

      # chkconfig --add wazuh-manager
      # service wazuh-manager start
      
    • Debian tabanlı işletim sistemi:

      # update-rc.d wazuh-manager defaults 95 10
      # service wazuh-manager start
      
  3. Wazuh yöneticisinin çalışır durumda olduğundan emin olmak için durumunu kontrol edin.


    # service wazuh-manager status
    

Filebeat'i yükleyin ve yapılandırınBu başlığa kalıcı bağlantı

  1. Filebeat paketini yükleyin.


    # yum -y install filebeat
    

  2. Önceden yapılandırılmış Filebeat yapılandırma dosyasını indirin:

    # curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.9/tpl/wazuh/filebeat/filebeat.yml
    
  3. Yapılandırma dosyasını düzenleyin /etc/filebeat/filebeat.ymlve aşağıdaki değeri değiştirin:

    • hostsbağlanılacak Wazuh dizinleyici düğümlerinin listesini temsil eder. IP adreslerini veya ana bilgisayar adlarını kullanabilirsiniz. Varsayılan olarak, ana bilgisayar localhost olarak ayarlanmıştır . Bunu uygun şekilde Wazuh dizinleyici IP adresinizle değiştirin.hosts: ["127.0.0.1:9200"]

      Birden fazla Wazuh dizinleyici düğümünüz varsa, adresleri virgül kullanarak ayırabilirsiniz. Örneğin :hosts: ["10.0.0.1:9200", "10.0.0.2:9200", "10.0.0.3:9200"]

    # Wazuh - Filebeat configuration file
    output.elasticsearch:
      hosts: <WAZUH_INDEXER_IP>:9200
      protocol: https
    
  4. Kimlik doğrulama bilgilerini güvenli bir şekilde depolamak için bir Filebeat anahtar deposu oluşturun:

    # filebeat keystore create
    
  5. Yönetici kullanıcısını ve parolasını gizli anahtar deposuna ekleyin:

    # echo admin | filebeat keystore add username --stdin --force
    # echo <ADMIN_PASSWORD> | filebeat keystore add password --stdin --force
    

    Eğer hepsi bir arada bir dağıtım çalıştırıyorsanız ve varsayılan yönetici parolasını kullanıyorsanız, aşağıdaki komutu çalıştırarak parolayı alabilirsiniz:

    # sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt
    
  6. Wazuh indeksleyicisi için uyarı şablonunu indirin:

    # curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.9.2/extensions/elasticsearch/7.x/wazuh-template.json
    # chmod go+r /etc/filebeat/wazuh-template.json
    
  7. Filebeat için Wazuh modülünü yükleyin:

    # curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.4.tar.gz | tar -xvz -C /usr/share/filebeat/module
    

Sertifikaların dağıtımıBu başlığa kalıcı bağlantı

wazuh-certificates.tarDosyanın kopyalandığı dizinde aşağıdaki komutları çalıştırın ve <NEW_WAZUH_SERVER_NODE_NAME>yapılandırdığınız Wazuh sunucu düğümünün adını .'de tanımlandığı gibi değiştirin /root/config.yml. Bu, Wazuh merkezi bileşenleri arasındaki iletişimi şifrelemek için SSL sertifikalarını dağıtır:

  1. Düğüm adını depolamak için bir ortam değişkeni oluşturun:

    NODE_NAME=<NEW_WAZUH_SERVER_NODE_NAME>
    
  2. Sertifikaları dağıtın:

    # mkdir /etc/filebeat/certs
    # tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
    # mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
    # mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem
    # chmod 500 /etc/filebeat/certs
    # chmod 400 /etc/filebeat/certs/*
    # chown -R root:root /etc/filebeat/certs
    

Hizmet başlatılıyorBu başlığa kalıcı bağlantı

  • RPM tabanlı işletim sistemi:

    # chkconfig --add wazuh-manager
    # service wazuh-manager start
    
  • Debian tabanlı işletim sistemi:

    # update-rc.d wazuh-manager defaults 95 10
    # service wazuh-manager start
    

Filebeat'in başarıyla yüklendiğini doğrulamak için aşağıdaki komutu çalıştırın:

# filebeat test output

Örnek bir çıktı aşağıda gösterilmektedir:

Output

elasticsearch: https://10.0.0.1:9200...
  parse url... OK
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 10.0.0.1
    dial up... OK
  TLS...
    security: server's certificate chain verification is enabled
    handshake... OK
    TLS version: TLSv1.3
    dial up... OK
  talk to server... OK
  version: 7.10.2

Wazuh sunucusu çalışan düğümlerini yapılandırmaBu başlığa kalıcı bağlantı

  1. Aşağıdaki ayarları .conf dosyasında düzenleyerek Wazuh sunucu işçi düğümünü küme modunu etkinleştirecek şekilde yapılandırın /var/ossec/etc/ossec:

    <cluster>
        <name>wazuh</name>
        <node_name><NEW_WAZUH_SERVER_NODE_NAME></node_name>
        <node_type>worker</node_type>
        <key><ENCRYPTION_KEY></key>
        <port>1516</port>
        <bind_addr>0.0.0.0</bind_addr>
        <nodes>
            <node><MASTER_NODE_IP></node>
        </nodes>
        <hidden>no</hidden>
        <disabled>no</disabled>
    </cluster>
    

    Dosyanın yukarıdaki bölümündeki yapılandırılabilir alanlar ossec.confşu şekildedir:

    • <name>kümenin adını gösterir.

    • <node_name>geçerli düğümün adını gösterir. Kümenin her düğümünün benzersiz bir adı olmalıdır. <NEW_WAZUH_SERVER_NODE_NAME>Dosyada belirtilen adla değiştirin /root/config.yml.

    • <node_type>Düğümün rolünü belirtir. Bir işçi olarak ayarlanması gerekir.

    • <key>ana düğüm için daha önce oluşturulan anahtarı temsil eder . Tüm düğümler için aynı olmalıdır. Zaten dağıtılmış bir altyapınız varsa, bu anahtarı ana düğümün dosyasından kopyalayın /var/ossec/etc/ossec.conf.

    • <port>küme iletişimi için hedef bağlantı noktasını belirtir. Varsayılanı olarak bırakın 1516.

    • <bind_addr>Düğümün gelen istekleri dinlemek için bağlandığı ağ IP'sidir (0.0.0.0, düğümün herhangi bir IP'yi kullanacağı anlamına gelir).

    • <nodes>ana düğümün adresini içerir, bu bir IP veya DNS ana bilgisayar adı olabilir. <MASTER_NODE_IP>Ana düğümünüzün IP adresiyle değiştirin.

    • <hidden>Oluşturulan uyarılarda küme bilgilerini gösterir veya gizler.

    • <disabled>düğümün kümede etkin mi yoksa devre dışı mı olduğunu gösterir. Bu seçenek olarak ayarlanmalıdır no.

    Kullanılabilir yapılandırma seçenekleri hakkında daha fazla bilgiyi küme başvuru kılavuzunda bulabilirsiniz .

  2. Wazuh yönetici servisini yeniden başlatın.


    # service wazuh-manager restart
    

Kümeyi test etmeBu başlığa kalıcı bağlantı

Kurulum ve yapılandırma artık tamamlandığına göre, yeni Wazuh sunucu düğümünün bağlandığından emin olmak için kümenizi test etmeye devam edebilirsiniz. Bunu yapmanın iki olası yolu:

Küme kontrol aracını kullanmaBu başlığa kalıcı bağlantı

Wazuh sunucu kümesinin etkinleştirildiğini ve tüm düğümlerin bağlı olduğunu, Wazuh sunucu düğümlerinden herhangi birinde aşağıdaki komutu çalıştırarak doğrulayın:

# /var/ossec/bin/cluster_control -l

Komutun örnek çıktısı:

Output

NAME             TYPE    VERSION  ADDRESS
wazuh-server-1   master  4.8.0    10.0.0.1
wazuh-server-2   worker  4.8.0    10.0.0.2

Dikkat edin 10.0.0.1, , 10.0.0.2örnek IP adresleridir.

Wazuh API konsolunu kullanmaBu başlığa kalıcı bağlantı

Ayrıca Wazuh panosu üzerinden erişebileceğiniz Wazuh API Konsolu'nu kullanarak yeni Wazuh sunucu kümenizi kontrol edebilirsiniz .

Aşağıdaki kimlik bilgilerini kullanarak Wazuh kontrol paneline erişin.

  • Bağlantı adresi:https://<WAZUH_DASHBOARD_IP>

  • Kullanıcı adı:admin

  • Şifre: <ADMIN_PASSWORD>veya adminzaten dağıtık bir mimariniz varsa ve varsayılan şifreyi kullanıyorsanız.

Araçlar'a gidin ve API Konsolu'nu seçin . Konsolda aşağıdaki sorguyu çalıştırın:

GET /cluster/healthcheck
API konsolunda sorgu çalıştırılıyor

Bu sorgu, her düğüm için aşağıdaki bilgilerle Wazuh sunucu kümenizin genel durumunu görüntüler:

  • Namesunucu düğümünün adını gösterir

  • Typebir düğüme (Master veya Worker) atanan rolü gösterir

  • VersionWazuh-managerdüğümde çalışan hizmetin sürümünü gösterir

  • IPdüğümün IP adresidir

  • n_active_agentsdüğüme bağlı etkin aracı sayısını gösterir

Bu adımlar tamamlandıktan sonra Wazuh altyapısı başarıyla ölçeklendirildi ve yeni sunucu düğümleri kümeye entegre edildi.

Wazuh sunucusunu kaldırmak istiyorsanız Wazuh sunucusunu kaldırma belgelerine bakın.

Ajan bağlantılarıBu başlığa kalıcı bağlantı

Wazuh aracılarının yapılandırması Wazuh sunucu kümesine rapor verecek şekilde değiştirilmelidir. Wazuh aracısını, <client></client>aracının yapılandırma dosyasındaki bloğu düzenleyerek Wazuh sunucu kümesine rapor verecek şekilde yapılandırırız /var/ossec/etc/ossec.conf.

Wazuh aracısının Wazuh sunucu kümesi düğümlerine bağlantısını yönetmenin iki yöntemi vardır:

Not

Wazuh aracılarını kaydetmek ve bağlamak için bir yük dengeleyici kullanmanızı öneririz . Bu şekilde, aracılar dağıtılmış bir şekilde Wazuh sunucu kümesi düğümlerine kaydolur ve rapor verir ve hangi çalışana rapor vereceklerini yük dengeleyici atayacaktır. Bu seçeneği kullanarak yükü daha iyi dağıtabiliriz ve bazı çalışan düğümlerinde bir düşüş olması durumunda, aracıları başka birine yeniden bağlanacaktır.

Wazuh aracılarını Wazuh kümesine bağlama (Yükleme modu)Bu başlığa kalıcı bağlantı

Bu yöntemde, Wazuh aracı yapılandırma dosyasına bir Wazuh sunucu düğümleri (ana/çalışanlar) listesi ekliyoruz /var/ossec/etc/ossec.conf. Bağlantının kesilmesi durumunda, aracı raporlamaya devam etmek için listedeki başka bir düğüme bağlanacaktır.

Wazuh sunucu kümesini yapılandırdıktan sonra , Wazuh aracılarını aşağıda gösterildiği gibi Wazuh sunucu kümesi düğümlerine bağlanacak ve rapor verecek şekilde yapılandırıyoruz.

Wazuh sunucu düğümleri için aşağıdaki IP adreslerine sahip olduğumuzu varsayalım:

master: 172.0.0.3
worker01: 172.0.0.4
worker02: 172.0.0.5
  1. Wazuh sunucu düğümlerinin IP adreslerini eklemek için <client></client>Wazuh aracı dosyasının bloğunu düzenleyin :/var/ossec/etc/ossec.conf

    <client>
        <server>
            <address>172.0.0.4</address>
            <port>1514</port>
            <protocol>tcp</protocol>
        </server>
        <server>
            <address>172.0.0.5</address>
            <port>1514</port>
            <protocol>tcp</protocol>
        </server>
        <server>
            <address>172.0.0.3</address>
            <port>1514</port>
            <protocol>tcp</protocol>
        </server>
        <config-profile>ubuntu, ubuntu18, ubuntu18.04</config-profile>
        <notify_time>10</notify_time>
        <time-reconnect>60</time-reconnect>
        <auto_restart>yes</auto_restart>
        <crypto_method>aes</crypto_method>
    </client>
    
  2. Değişiklikleri uygulamak için Wazuh aracısını yeniden başlatın:


    # service wazuh-agent restart
    

Bu yöntemi kullanarak, worker01düğüm mevcut değilse, aracılar 'a rapor verecektir worker02. Her iki çalışan düğümü de mevcut değilse, aracı düğüme rapor verecektir . Bu işlem , aracıların masteriçine yerleştirdiğimiz tüm düğümler arasında döngüsel olarak gerçekleştirilir ./var/ossec/etc/ossec.conf

Wazuh aracılarını yük dengeleyici ile Wazuh kümesine bağlamaBu başlığa kalıcı bağlantı

Wazuh aracıları, gelen Wazuh aracı trafiğini bir kümedeki tüm kullanılabilir Wazuh sunucu düğümleri arasında eşit şekilde dağıtmak için bir yük dengeleyiciye rapor verecek şekilde yapılandırılabilir . Bu şekilde, Wazuh aracıları Wazuh aracılarının yapılandırmasını değiştirmeden yeni eklenen Wazuh sunucu düğümlerine rapor verebilir.

Bir Wazuh aracısını yük dengeleyiciye yönlendirmek için aşağıdaki adımları uygulayın.

  1. /var/ossec/etc/ossec.confYük Dengeleyici IP adresini eklemek için Wazuh aracı yapılandırmasını düzenleyin . Blokta, öğesini yük dengeleyici IP adresiyle <server></server>değiştirin :<LOAD_BALANCER_IP>

    <client>
      <server>
        <address><LOAD_BALANCER_IP></address>
        …
      </server>
    </client>
    
  2. Değişiklikleri uygulamak için Wazuh aracılarını yeniden başlatın:


    # service wazuh-agent restart
    

Yük dengeleyicilerBu başlığa kalıcı bağlantı

Bir yük dengeleyici, iş yüklerini birden fazla kaynağa dağıtır. Bu durumda, Wazuh aracılarını bir Wazuh sunucu kümesindeki farklı çalışan düğümleri arasında dağıtır.

Wazuh, NGINX ve HAProxy dahil olmak üzere aşağıdaki yük dengeleyicileri öneriyor . İhtiyacınıza göre yük dengeleyici hizmetlerinden herhangi birini seçebilirsiniz.

NGINXBu başlığa kalıcı bağlantı

NGINX, ters proxy, yük dengeleyici, posta proxy'si ve HTTP önbelleği olarak da kullanılabilen açık kaynaklı bir web sunucusudur. Bu senaryoda, Wazuh aracı trafiğini bir Wazuh sunucu kümesi içinde dağıtmak için bir yük dengeleyici olarak kullanıyoruz.

KurulumBu başlığa kalıcı bağlantı

Linux dağıtımınıza bağlı olarak NGINX'i kurmak için farklı kurulum talimatları bulunmaktadır.

  1. Paketleri Resmi sayfadan indirin .

  2. Paketleri kurmak için o kılavuzdaki adımları izleyin.

YapılandırmaBu başlığa kalıcı bağlantı

NGINX ve modüllerinin çalışma şekli yapılandırma dosyasında belirlenir. Varsayılan olarak, NGINX'in yapılandırma dosyası kurulum türüne bağlı olarak , , veya dizininde adlandırılır nginx.confve bulunur ./usr/local/nginx/conf/etc/nginx/usr/local/etc/nginx

NGINX'i yük dengeleyici olarak yapılandırmak için aşağıdaki adımları izleyin.

  1. Aşağıdaki içeriği NGINX nginx.confyapılandırma dosyasına ekleyin:

    stream {
       upstream master {
           server <MASTER_NODE_IP_ADDRESS>:1515;
       }
       upstream mycluster {
       hash $remote_addr consistent;
           server <MASTER_NODE_IP_ADDRESS>:1514;
           server <WORKER_NODE_IP_ADDRESS>:1514;
           server <WORKER_NODE_IP_ADDRESS>:1514;
       }
       server {
           listen 1515;
           proxy_pass master;
       }
       server {
           listen 1514;
           proxy_pass mycluster;
       }
    }
    

    Yer değiştirmek:

    • <MASTER_NODE_IP_ADDRESS>kümenizdeki Wazuh sunucu ana düğümünün IP adresiyle.

    • <WORKER_NODE_IP_ADDRESS>Kümenizde bulunan Wazuh sunucusunun çalışan düğümlerinin IP adresiyle.

    TCP ve UDP yük dengeleyicisini yapılandırmaya ilişkin daha fazla ayrıntıyı NGINX kılavuzunda bulabilirsiniz .

  2. Sözdizimi hataları açısından NGINX yapılandırma dosyasını doğrulayın:

    # nginx -t
    
    Output

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  3. Değişiklikleri uygulamak için NGINX hizmetini yeniden yükleyin:

    # nginx -s reload
    

HAProxyBu başlığa kalıcı bağlantı

Yüksek Kullanılabilirlik Proxy'si (HAProxy), TCP ve HTTP tabanlı uygulamalar için yüksek kullanılabilirlik yük dengeleyici ve proxy sağlayan ücretsiz ve açık kaynaklı bir yazılımdır. HAProxy gibi bir yük dengeleyici kullanmak , Wazuh aracılarının dağıtılmış bir şekilde kaydolmasını ve Wazuh yönetici düğümlerine rapor vermesini sağlar. HAProxy, round-robin, leastconn, source ve diğerleri dahil olmak üzere çeşitli yük dengelemeyi destekler. Yük dengeleyici, yük dağıtımını iyileştirerek yönetici düğümlerini seçili algoritmaya göre Wazuh aracılarına atar. Bir Wazuh yönetici düğümü başarısız olursa, Wazuh aracıları kümedeki başka bir düğüme yeniden bağlanır.

KurulumBu başlığa kalıcı bağlantı

HAProxy'yi kurmanın iki temel yolu vardır.

  • Sistem paketlerini ve Kişisel Paket Arşivini (PPA) kullanma.

  • Docker imajlarını kullanma.

Not

 

Verilen örnekler ve yapılandırmalar Ubuntu ve HAProxy 2.8'e dayanmaktadır.

  1. HAProxy'yi yükleyin

    # apt install haproxy -y
    
  2. Kurulumu kontrol edin

    # haproxy -v
    
    Output

    HAProxy version 2.8.5-1ubuntu3 2024/04/01 - https://haproxy.org/
    Status: long-term supported branch - will stop receiving fixes around Q2 2028.
    Known bugs: http://www.haproxy.org/bugs/bugs-2.8.5.html
    Running on: Linux 6.8.0-76060800daily20240311-generic #202403110203~1714077665~22.04~4c8e9a0 SMP PREEMPT_DYNAMIC Thu A x86_64
    
YapılandırmaBu başlığa kalıcı bağlantı

HAProxy'yi Wazuh sunucu kümesiyle çalışacak şekilde yapılandırmak için aşağıdaki adımları uygulayın.

  1. haproxy.cfgDizin içerisinde bir dosya oluşturun /etc/haproxy/ve aşağıdaki yapılandırmayı ekleyin:

haproxy.cfg

 

  •  

  •  

  1. Yukarıdaki yapılandırma aşağıda tanımlanan bölümlerden oluşmaktadır.

    • İletilen aracı bağlantıları alan bir dizi Wazuh sunucu kümesi düğümü olan bir arka uç bölümü. Aşağıdaki parametreleri içerir:

      • Yük dengeleme modu.

      • Kullanılacak yük dengeleme algoritması.

      • Wazuh sunucuları ve portlarının listesi. Aşağıdaki örnekte varsayılan olan ana düğüme işaret ediyor.

      backend wazuh_register
         mode tcp
         balance leastconn
         server master_node <WAZUH_REGISTRY_HOST>:1515 check
      
    • Bir ön uç bölümü, isteklerin arka uçlara nasıl iletileceğini tanımlar. Aşağıdaki parametrelerden oluşur:

      • Yük dengeleme türü.

      • Bağlantıları bağlamak için kullanılan port.

      • İstekleri iletmek için varsayılan arka uç

      frontend wazuh_register
         mode tcp
         bind :1515
         default_backend wazuh_register
      
  2. Yapılandırmayı uygulamak için hizmeti başlatın:

    # service haproxy start
    
    Output

    * Starting haproxy haproxy
    [NOTICE]   (13231) : haproxy version is 2.8.9-1ppa1~jammy
    [NOTICE]   (13231) : path to executable is /usr/sbin/haproxy
    [ALERT]    (13231) : config : parsing [/etc/haproxy/haproxy.cfg:3] : 'pidfile' already specified. Continuing.
    

HAProxy yardımcısıBu başlığa kalıcı bağlantı

Bu, gerçek zamanlı olarak Wazuh sunucu kümesi durumuna bağlı olarak HAProxy yapılandırmasını yönetmek için isteğe bağlı bir araçtır. Wazuh yöneticisine Wazuh aracı TCP oturumlarını otomatik olarak dengeleme yeteneği sağlar.

HAProxy yardımcısının temel özellikleriBu başlığa kalıcı bağlantı

Başlıca özelliklerinden bazıları şunlardır:

  • 1514/tcpWazuh sunucu kümesinde değişiklikler algılandığında Wazuh arka ucuna ( ) sunucu ekleme ve kaldırma . Örneğin, yeni çalışanlar bağlandı.

  • Wazuh arka ucuna yeni sunucular eklerken düğüm başına fazla Wazuh aracılarının dengelenmesi.

  • Verilen toleransı aşan bir dengesizliğin tespit edilmesi durumunda dengeleme ajanları.

HAProxy yardımcı mimarisi

HAProxy yardımcısı, daemon ile başlayan bağımsız bir iş parçacığında çalışır wazuh-cluster. Bu süreci takip eder.

HAProxy yardımcı akışı
HAProxy yardımcısını etkinleştirmeBu başlığa kalıcı bağlantı

Bu özelliği kullanmak için, en az bağlantı algoritmasını kullanarak Wazuh sunucu kümesini dengeleyen bir HAProxy örneğine ihtiyacınız var .

Not

 

HAProxy'nin önerilen sürümü 2.8 LTS'dir.

Dataplane API yapılandırmasıBu başlığa kalıcı bağlantı

HAProxy yardımcısı, HAProxy ile iletişim kurmak ve Wazuh sunucu kümesindeki değişikliklere göre yapılandırmayı güncellemek için Dataplane API'sini kullanır.

Bu, Dataplane API için temel yapılandırmadır. <DATAPLANE_USER>ve'yi <DATAPLANE_PASSWORD>seçilen kullanıcı ve parola ile değiştirin.


dataplaneapi:
   host: 0.0.0.0
   port: 5555
   transaction:
       transaction_dir: /tmp/haproxy
   user:
   - insecure: true
      password: <DATAPLANE_PASSWORD>
      name: <DATAPLANE_USER>
haproxy:
   config_file: /etc/haproxy/haproxy.cfg
   haproxy_bin: /usr/sbin/haproxy
   reload:
      reload_delay: 5
      reload_cmd: service haproxy reload
      restart_cmd: service haproxy restart

HAProxy kurulum yönteminize bağlı olarak , HAProxy yardımcısını etkinleştirmek için şu adımları izleyin.

Uyarı

 

1514HAProxy yardımcısının doğru çalışması için dosyada port içeren bir ön uç olmadığından emin olun haproxy.cfg.

  1. Yüklü HAProxy sürümü için ikili dosyayı indirin. Mevcut sürümleri burada bulabilirsiniz .

    # curl -sL https://github.com/haproxytech/dataplaneapi/releases/download/v2.8.X/dataplaneapi_2.8.X_linux_x86_64.tar.gz | tar xz && cp dataplaneapi /usr/local/bin/
    
  2. Yapılandırmayı yapın /etc/haproxy/dataplaneapi.ymlve işlemi başlatın

    # dataplaneapi -f /etc/haproxy/dataplaneapi.yml &
    
  3. API'nin düzgün çalıştığını doğrulayın. <DATAPLANE_USER>ve'yi <DATAPLANE_PASSWORD>seçilen kullanıcı ve parola ile değiştirin.


    # curl -X GET --user <DATAPLANE_USER>:<DATAPLANE_PASSWORD> http://localhost:5555/v2/info
    

    Output

    {"api":{"build_date":"2024-05-13T12:09:33.000Z","version":"v2.8.X 13ba2b34"},"system":{}}
    

Örnek olarak, önceden yapılandırılmış bir Wazuh sunucu kümesi ana düğümü içinde temel bir HAProxy yardımcısı yapılandırabilirsiniz. Aşağıdaki adımları yalnızca Wazuh sunucu ana düğümünde gerçekleştirin.

  1. Vurgulanan HAProxy yardımcı yapılandırma bölümünü dosyaya ekleyin /var/ossec/etc/ossec.conf:


    <cluster>
       <name>wazuh</name>
       <node_name>master-node</node_name>
       <key>c98b62a9b6169ac5f67dae55ae4a9088</key>
       <node_type>master</node_type>
       <port>1516</port>
       <bind_addr>0.0.0.0</bind_addr>
       <nodes>
          <node>WAZUH-MASTER-ADDRESS</node>
       </nodes>
       <hidden>no</hidden>
       <disabled>no</disabled>
       <haproxy_helper>
          <haproxy_disabled>no</haproxy_disabled>
          <haproxy_address><HAPROXY_ADDRESS></haproxy_address>
          <haproxy_user><DATAPLANE_USER></haproxy_user>
          <haproxy_password><DATAPLANE_PASSWORD></haproxy_password>
       </haproxy_helper>
    </cluster>
    

    Nerede:

    • haproxy_disabled, yardımcının ana düğümde devre dışı olup olmadığını gösterir.

    • haproxy_address, HAProxy'ye bağlanmak için IP veya DNS adresini belirtir.

    • haproxy_user, HAProxy ile kimlik doğrulaması yapmak için kullanıcı adını belirtir.

    • haproxy_password, HAProxy ile kimlik doğrulaması yapmak için kullanılacak parolayı belirtir.

    Başvuru kılavuzunda haproxy_helper seçenekleri hakkında daha fazla bilgi edinin .

  2. Wazuh sunucusunun ana düğümünü yeniden başlatın:

    # systemctl restart wazuh-manager
    
  3. HAProxy yardımcısının çalıştığını doğrulayın:

    # tail /var/ossec/logs/cluster.log
    
    Output

    2024/04/05 19:23:06 DEBUG: [Cluster] [Main] Removing '/var/ossec/queue/cluster/'.
    2024/04/05 19:23:06 DEBUG: [Cluster] [Main] Removed '/var/ossec/queue/cluster/'.
    2024/04/05 19:23:06 INFO: [Local Server] [Main] Serving on /var/ossec/queue/cluster/c-internal.sock
    2024/04/05 19:23:06 DEBUG: [Local Server] [Keep alive] Calculating.
    2024/04/05 19:23:06 DEBUG: [Local Server] [Keep alive] Calculated.
    2024/04/05 19:23:06 INFO: [Master] [Main] Serving on ('0.0.0.0', 1516)
    2024/04/05 19:23:06 DEBUG: [Master] [Keep alive] Calculating.
    2024/04/05 19:23:06 DEBUG: [Master] [Keep alive] Calculated.
    2024/04/05 19:23:06 INFO: [Master] [Local integrity] Starting.
    2024/04/05 19:23:06 INFO: [Master] [Local agent-groups] Sleeping 30s before starting the agent-groups task, waiting for the workers connection.
    2024/04/05 19:23:06 INFO: [HAPHelper] [Main] Proxy was initialized
    2024/04/05 19:23:06 INFO: [HAPHelper] [Main] Ensuring only exists one HAProxy process. Sleeping 12s before start...
    2024/04/05 19:23:06 INFO: [Master] [Local integrity] Finished in 0.090s. Calculated metadata of 34 files.
    2024/04/05 19:23:14 INFO: [Master] [Local integrity] Starting.
    2024/04/05 19:23:14 INFO: [Master] [Local integrity] Finished in 0.005s. Calculated metadata of 34 files.
    2024/04/05 19:23:18 DEBUG2: [HAPHelper] [Proxy] Obtained proxy backends
    2024/04/05 19:23:18 DEBUG2: [HAPHelper] [Proxy] Obtained proxy frontends
    2024/04/05 19:23:18 INFO: [HAPHelper] [Main] Starting HAProxy Helper
    2024/04/05 19:23:18 DEBUG2: [HAPHelper] [Proxy] Obtained proxy servers