# Wazuh Docker Dağıtımı

<section id="bkmrk-kullan%C4%B1m-wazuh%27u-tek">### Kullanım

Wazuh'u tek düğümlü veya çok düğümlü bir yığın olarak dağıtabilirsiniz.

- **Tek düğümlü dağıtım** : Bir Wazuh yöneticisi, dizinleyici ve pano düğümü dağıtır.
- **Çoklu düğüm dağıtımı** : İki Wazuh yönetici düğümü (bir ana ve bir çalışan), üç Wazuh dizinleyici düğümü ve bir Wazuh gösterge paneli düğümü dağıtır.

Her iki dağıtım da kalıcılığı kullanır ve düğümler arasındaki iletişimleri güvence altına almak için sertifikaların yapılandırılmasına izin verir. Çok düğümlü yığın, yüksek kullanılabilirlik içeren tek dağıtımdır.

<section id="bkmrk-tek-d%C3%BC%C4%9F%C3%BCm-da%C4%9F%C4%B1t%C4%B1m%C4%B1-w">#### Tek Düğüm Dağıtımı

1. Wazuh deposunu sisteminize kopyalayın:
    
    ```
    git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.2
    ```
    
    Daha sonra aşağıda anlatılan tüm komutları çalıştırmak için `<span class="pre">single-node</span>` dizine girin.
2. Yığındaki her düğüm için bir sertifika grubu sağlayarak düğümler arasındaki iletişimi güvence altına alın. Bu sertifikaları sağlamak için iki alternatifiniz var:
    
    
    - Her küme düğümü için kendi kendine imzalanmış sertifikalar oluşturun.
        
        Wazuh sertifika oluşturma aracını kullanarak sertifika oluşturmayı otomatikleştirmek için bir Docker imajı oluşturduk.
        
        Sisteminiz bir proxy kullanıyorsa, dosyaya aşağıdakileri ekleyin `<span class="pre">generate-indexer-certs.yml</span>`. Kullanmıyorsa, bu adımı atlayın:
        
        ```
        environment:
          - HTTP_PROXY=YOUR_PROXY_ADDRESS_OR_DNS
        ```
        
        Tamamlanmış bir örnek şu şekildedir:
        
        ```
        # Wazuh App Copyright (C) 2017 Wazuh Inc. (License GPLv2)
        version: '3'
        
        services:
          generator:
            image: wazuh/wazuh-certs-generator:0.0.2
            hostname: wazuh-certs-generator
            volumes:
              - ./config/wazuh_indexer_ssl_certs/:/certificates/
              - ./config/certs.yml:/config/certs.yml
            environment:
              - HTTP_PROXY=YOUR_PROXY_ADDRESS_OR_DNS
        ```
        
        İstenilen sertifikaları almak için aşağıdaki komutu çalıştırın:
        
        ```
        docker-compose -f generate-indexer-certs.yml run --rm generator
        ```
        
        Bu sertifikaları dizine kaydeder `<span class="pre">config/wazuh_indexer_ssl_certs</span>`.
    - Her düğüm için kendi sertifikalarınızı sağlayın.
        
        Eğer kendi sertifikalarınız varsa, bunları dizinde aşağıdaki şekilde sağlayın `<span class="pre">config/wazuh_indexer_ssl_certs</span>`:
        
        **Wazuh indexer**:
        
        ```
        config/wazuh_indexer_ssl_certs/root-ca.pem
        config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem
        config/wazuh_indexer_ssl_certs/wazuh.indexer.pem
        config/wazuh_indexer_ssl_certs/admin.pem
        config/wazuh_indexer_ssl_certs/admin-key.pem
        ```
        
        **Wazuh manager**:
        
        ```
        config/wazuh_indexer_ssl_certs/root-ca-manager.pem
        config/wazuh_indexer_ssl_certs/wazuh.manager.pem
        config/wazuh_indexer_ssl_certs/wazuh.manager-key.pem
        ```
        
        **Wazuh dashboard**:
        
        ```
        config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem
        config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem
        config/wazuh_indexer_ssl_certs/root-ca.pem
        ```
3. docker-compose kullanarak Wazuh tek düğümlü dağıtımını başlatın:
    
    
    - **Ön Plan** :
        
        ```
        docker-compose up
        ```
    - **Arka plan** :
        
        ```
        docker-compose up -d
        ```
    
    Wazuh panosu için varsayılan kullanıcı adı ve parola `<span class="pre">admin</span>` ve `<span class="pre">SecretPassword</span>`'dir . Ek <span class="std std-ref">güvenlik</span> *için, Wazuh dizinleyici yönetici* kullanıcısı için varsayılan parolayı değiştirebilirsiniz .

<p class="callout info">Not: Wazuh dizinleyicisinin ne zaman çalıştığını bilmek için Wazuh gösterge paneli kapsayıcısı `<span class="pre">curl</span>`Wazuh dizinleyici API'sine birden fazla sorgu çalıştırmak için kullanılır. Wazuh dizinleyicisi başlatılana kadar birkaç günlük `<span class="pre">Failed</span> <span class="pre">to</span> <span class="pre">connect</span> <span class="pre">to</span> <span class="pre">Wazuh</span> <span class="pre">indexer</span> <span class="pre">port</span> <span class="pre">9200</span>` mesajı veya " *Wazuh gösterge paneli sunucusu henüz hazır değil* " mesajı görmeyi bekleyebilirsiniz. Ardından kurulum süreci normal şekilde devam eder. Wazuh dizinleyicisinin başlatılması yaklaşık 1 dakika sürer. Varsayılan Wazuh dizinleyici kimlik bilgilerini `<span class="pre">docker-compose.yml</span>` dosyada bulabilirsiniz .</p>

</section><section id="bkmrk-%C3%87oklu-d%C3%BC%C4%9F%C3%BCm-da%C4%9F%C4%B1t%C4%B1m%C4%B1">#### Çoklu Düğüm Dağıtımı  


1. Wazuh deposunu sisteminize kopyalayın:
    
    ```
    git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.2
    ```
    
    `<span class="pre">multi-node</span>`Daha sonra aşağıda anlatılan tüm komutları çalıştırmak için dizine girin.
2. Yığındaki her düğüm için bir sertifika grubu sağlayarak düğümler arasındaki iletişimleri güvence altına alın. Bu sertifikaları sağlamak için iki alternatifiniz var:
    
    
    - Her küme düğümü için kendi kendine imzalanmış sertifikalar oluşturun.
        
        Wazuh sertifika oluşturma aracını kullanarak sertifika oluşturmayı otomatikleştirmek için bir Docker imajı oluşturduk.
        
        Sisteminiz bir proxy kullanıyorsa, dosyaya aşağıdakileri ekleyin `<span class="pre">generate-indexer-certs.yml</span>`. Kullanmıyorsa, bu adımı atlayın:
        
        ```
        environment:
          - HTTP_PROXY=YOUR_PROXY_ADDRESS_OR_DNS
        ```
        
        Tamamlanmış bir örnek şu şekildedir:
        
        ```
        # Wazuh App Copyright (C) 2017 Wazuh Inc. (License GPLv2)
        version: '3'
        
        services:
          generator:
            image: wazuh/wazuh-certs-generator:0.0.2
            hostname: wazuh-certs-generator
            volumes:
              - ./config/wazuh_indexer_ssl_certs/:/certificates/
              - ./config/certs.yml:/config/certs.yml
            environment:
              - HTTP_PROXY=YOUR_PROXY_ADDRESS_OR_DNS
        ```
        
        İstenilen sertifikaları almak için aşağıdaki komutu çalıştırın:
        
        ```
        docker-compose -f generate-indexer-certs.yml run --rm generator
        ```
        
        Bu sertifikaları dizine kaydeder `<span class="pre">config/wazuh_indexer_ssl_certs</span>`.
    - Her düğüm için kendi sertifikalarınızı sağlayın.
        
        Eğer kendi sertifikalarınız varsa, bunları aşağıdaki şekilde temin edin:
        
        **Wazuh indeksleyicisi** :
        
        ```
        config/wazuh_indexer_ssl_certs/root-ca.pem
        config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem
        config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem
        config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem
        config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem
        config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem
        config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem
        config/wazuh_indexer_ssl_certs/admin.pem
        config/wazuh_indexer_ssl_certs/admin-key.pem
        ```
        
        **Wazuh manager**:
        
        ```
        config/wazuh_indexer_ssl_certs/root-ca-manager.pem
        config/wazuh_indexer_ssl_certs/wazuh.master.pem
        config/wazuh_indexer_ssl_certs/wazuh.master-key.pem
        config/wazuh_indexer_ssl_certs/wazuh.worker.pem
        config/wazuh_indexer_ssl_certs/wazuh.worker-key.pem
        ```
        
        **Wazuh dashboard**:
        
        ```
        config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem
        config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem
        config/wazuh_indexer_ssl_certs/root-ca.pem
        ```
3. Wazuh çoklu düğüm dağıtımını şunu kullanarak başlatın `<span class="pre">docker-compose</span>`:
    
    
    - **Ön Plan** :
        
        ```
        docker-compose up
        ```
    - **Arka plan** :
        
        ```
        docker-compose up -d
        ```
    
    Wazuh panosu için varsayılan kullanıcı adı ve parola ve'dir `<span class="pre">admin</span>`. `<span class="pre">SecretPassword</span>`Ek [<span class="std std-ref">güvenlik</span>](https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html#change-pwd-existing-usr) *için, Wazuh dizinleyici yönetici* kullanıcısı için varsayılan parolayı değiştirebilirsiniz .

<p class="callout info">Not: Wazuh dizinleyicisinin ne zaman çalıştığını bilmek için Wazuh gösterge paneli kapsayıcısı `<span class="pre">curl</span>`Wazuh dizinleyici API'sine birden fazla sorgu çalıştırmak için kullanılır. Wazuh dizinleyicisi başlatılana kadar birkaç günlük `<span class="pre">Failed</span> <span class="pre">to</span> <span class="pre">connect</span> <span class="pre">to</span> <span class="pre">Wazuh</span> <span class="pre">indexer</span> <span class="pre">port</span> <span class="pre">9200</span>` mesajı veya "Wazuh gösterge paneli sunucusu henüz hazır değil" mesajı görmeyi bekleyebilirsiniz. Ardından kurulum süreci normal şekilde devam eder. Wazuh dizinleyicisinin başlatılması yaklaşık 1 dakika sürer. Varsayılan Wazuh dizinleyici kimlik bilgilerini `<span class="pre">docker-compose.yml</span>` dosyada bulabilirsiniz .</p>

</section><section id="bkmrk-docker-g%C3%B6r%C3%BCnt%C3%BClerini">####   
Docker Görüntülerini Yerel Olarak Oluşturun

Wazuh yöneticisini, dizinleyiciyi ve gösterge paneli görüntülerini yerel olarak değiştirebilir ve oluşturabilirsiniz.

1. Wazuh deposunu sisteminize kopyalayın:
    
    ```
    git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.2
    ```
2. 4.3.4'e kadar olan sürümler için dizine girin `<span class="pre">build-docker-images</span>`ve Wazuh yöneticisini, dizinleyiciyi ve gösterge paneli görüntülerini oluşturun:
    
    ```
    docker-compose build
    ```
    
    4.3.5 ve üzeri sürümler için görüntü oluşturma betiğini çalıştırın:
    
    ```
    build-docker-images/build-images.sh
    ```

</section><section id="bkmrk-wazuh-kullan%C4%B1c%C4%B1lar%C4%B1n"><span id="bkmrk-"></span>#### Wazuh Kullanıcılarının Şifresini Değiştirin  


Güvenliği artırmak için Wazuh kullanıcılarının varsayılan şifresini değiştirebilirsiniz. İki tür Wazuh kullanıcısı vardır:

- Wazuh dizinleyici kullanıcıları
- Wazuh API kullanıcıları

Bu Wazuh kullanıcılarının parolasını değiştirmek için aşağıdaki adımları uygulayın. Wazuh on Docker dağıtımınıza bağlı olarak komutları `<span class="pre">single-node/</span>`veya `<span class="pre">multi-node/</span>` dizininizden çalıştırmalısınız .

<section id="bkmrk-wazuh-dizinleyici-ku">#### Wazuh Indexer Kullanıcıları

Varsayılan `<span class="pre">admin</span>` ve `<span class="pre">kibanaserver</span>` kullanıcıların şifresini değiştirmek için aşağıdakileri yapın. Bir seferde yalnızca birini değiştirebilirsiniz.

<p class="callout warning">Uyarı: Özel kullanıcılarınız varsa, bunları `<span class="pre">internal_users.yml</span>` dosyaya ekleyin. Aksi takdirde, bu prosedürü yürütmek onları siler.</p>

<section id="bkmrk-wazuh-panosu-oturumu">##### Wazuh Panosu Oturumunuzu Kapatma

Şifre değiştirme işlemine başlamadan önce Wazuh kontrol paneli oturumunuzdan çıkış yapmanızı öneririz.

Çıkış yapmadığınız takdirde, kalıcı oturum çerezleri kullanıcı şifrelerini değiştirdikten sonra Wazuh'a erişirken hatalara neden olabilir.

</section><section id="bkmrk-yeni-bir-karma-ayarl">##### Yeni Bir Karma Ayarlama

1. Çalışıyorsa dağıtım yığınını durdurun:
    
    ```
    docker-compose down
    ```
2. Yeni parolanızın karmasını oluşturmak için bu komutu çalıştırın. Konteyner başlatıldığında, yeni parolayı girin ve **Enter'a** basın.
    
    ```
    docker run --rm -ti wazuh/wazuh-indexer:4.9.2 bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/hash.sh
    ```
3. Oluşturulan hash'i kopyalayın.
4. Dosyayı açın `<span class="pre">config/wazuh_indexer/internal_users.yml</span>`. Şifresini değiştirdiğiniz kullanıcıya ait bloğu bulun.
5. Karmayı değiştirin.
    
    
    - `<span class="pre">admin</span>`kullanıcı
        
        ```
        ...
        admin:
          hash: "$2y$12$K/SpwjtB.wOHJ/Nc6GVRDuc1h0rM1DfvziFRNPtk27P.c4yDr9njO"
          reserved: true
          backend_roles:
          - "admin"
          description: "Demo admin user"
        
        ...
        ```
    - `<span class="pre">kibanaserver</span>`kullanıcı
        
        ```
        ...
        kibanaserver:
          hash: "$2a$12$4AcgAt3xwOWadA5s5blL6ev39OXDNhmOesEoo33eZtrq2N0YrU3H."
          reserved: true
          description: "Demo kibanaserver user"
        
        ...
        ```

</section><section id="bkmrk-yeni-%C5%9Fifreyi-ayarlam"><span id="bkmrk--1"></span>##### Yeni Şifreyi Ayarlama  
  


<p class="callout warning">Uyarı: Yeni şifrenizde `<span class="pre">$</span>`veya `<span class="pre">&</span>` karakterlerini kullanmayın . Bu karakterler dağıtım sırasında hatalara neden olabilir.</p>

1. Dosyayı açın `<span class="pre">docker-compose.yml</span>`. Eski parolanın tüm oluşumlarını yenisiyle değiştirin. Örneğin, tek düğümlü bir dağıtım için:
    
    
    - `<span class="pre">admin</span>`kullanıcı
        
        ```
        ...
        services:
          wazuh.manager:
            ...
            environment:
              - INDEXER_URL=https://wazuh.indexer:9200
              - INDEXER_USERNAME=admin
              - INDEXER_PASSWORD=SecretPassword
              - FILEBEAT_SSL_VERIFICATION_MODE=full
              - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
              - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
              - SSL_KEY=/etc/ssl/filebeat.key
              - API_USERNAME=wazuh-wui
              - API_PASSWORD=MyS3cr37P450r.*-
          ...
          wazuh.indexer:
            ...
            environment:
              - "OPENSEARCH_JAVA_OPTS=-Xms1024m -Xmx1024m"
          ...
          wazuh.dashboard:
            ...
            environment:
              - INDEXER_USERNAME=admin
              - INDEXER_PASSWORD=SecretPassword
              - WAZUH_API_URL=https://wazuh.manager
              - DASHBOARD_USERNAME=kibanaserver
              - DASHBOARD_PASSWORD=kibanaserver
              - API_USERNAME=wazuh-wui
              - API_PASSWORD=MyS3cr37P450r.*-
          ...
        ```
    - `<span class="pre">kibanaserver</span>`kullanıcı
        
        ```
        ...
        services:
          wazuh.dashboard:
            ...
            environment:
              - INDEXER_USERNAME=admin
              - INDEXER_PASSWORD=SecretPassword
              - WAZUH_API_URL=https://wazuh.manager
              - DASHBOARD_USERNAME=kibanaserver
              - DASHBOARD_PASSWORD=kibanaserver
              - API_USERNAME=wazuh-wui
              - API_PASSWORD=MyS3cr37P450r.*-
          ...
        ```

</section><section id="bkmrk-de%C4%9Fi%C5%9Fiklikleri-uygul">##### Değişiklikleri Uygulama

1. Dağıtım yığınını başlatın.
    
    ```
    docker-compose up -d
    ```
2. Çalıştırın ve ilk Wazuh dizinleyici kabının adını not edin. Örneğin, , veya .`<span class="pre">docker</span> <span class="pre">ps</span>``<span class="pre">single-node-wazuh.indexer-1</span>``<span class="pre">multi-node-wazuh1.indexer-1</span>`
3. Konteynere girmek için koşun . Örneğin:`<span class="pre">docker</span> <span class="pre">exec</span> <span class="pre">-it</span> <span class="pre"><WAZUH_INDEXER_CONTAINER_NAME></span> <span class="pre">bash<br></br></span>`
    
    ```
    docker exec -it single-node-wazuh.indexer-1 bash
    ```
4. Aşağıdaki değişkenleri ayarlayın:
    
    ```
    export INSTALLATION_DIR=/usr/share/wazuh-indexer
    CACERT=$INSTALLATION_DIR/certs/root-ca.pem
    KEY=$INSTALLATION_DIR/certs/admin-key.pem
    CERT=$INSTALLATION_DIR/certs/admin.pem
    export JAVA_HOME=/usr/share/wazuh-indexer/jdk
    ```
5. Wazuh dizinleyicisinin düzgün bir şekilde başlatılmasını bekleyin. Bekleme süresi iki ila beş dakika arasında değişebilir. Kümenin boyutuna, atanan kaynaklara ve ağın hızına bağlıdır. Ardından, `<span class="pre">securityadmin.sh</span>`tüm değişiklikleri uygulamak için betiği çalıştırın.  
      
    **Tek Düğümlü Küme**
    
    ```
    bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9200 -icl
    ```
    
      
    **Çok Düğümlü Küme**
    
    <div class="sphinx-tabs docutils container"><div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" name="0-0" role="tabpanel" tabindex="0"></div></div>```
    HOST=$(grep node.name $INSTALLATION_DIR/opensearch.yml | awk '{printf $2}')
    bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9200 -icl -h $HOST
    ```
    
    <div class="sphinx-tabs docutils container"><div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="bkmrk--2" name="0-0" role="tabpanel" tabindex="0"><div class="highlight-console notranslate"><div class="highlight" data-pagefind-weight="0.5">  
    </div></div></div></div>
6. Wazuh dizinleyici konteynerinden çıkın ve Wazuh panosunda yeni kimlik bilgilerinizle oturum açın.

</section></section><section id="bkmrk-wazuh-api-kullan%C4%B1c%C4%B1l">#### Wazuh API Kullanıcıları

Kullanıcı `<span class="pre">wazuh-wui</span>`, varsayılan olarak Wazuh API'sine bağlanacak kullanıcıdır. Parolayı değiştirmek için şu adımları izleyin.

Not

<div class="admonition note"> </div>Wazuh API kullanıcıları için parola 8 ila 64 karakter uzunluğunda olmalıdır. En az bir büyük harf ve bir küçük harf, bir sayı ve bir sembol içermelidir.

1. Dosyayı açın `<span class="pre">config/wazuh_dashboard/wazuh.yml</span>`ve parametrenin değerini değiştirin `<span class="pre">password</span>`.
    
    ```
    ...
    hosts:
      - 1513629884013:
          url: "https://wazuh.manager"
          port: 55000
          username: wazuh-wui
          password: "MyS3cr37P450r.*-"
          run_as: false
    ...
    ```
2. Dosyayı açın `<span class="pre">docker-compose.yml</span>`. Eski şifrenin tüm tekrarlarını yenisiyle değiştirin.
    
    ```
    ...
    services:
      wazuh.manager:
        ...
        environment:
          - INDEXER_URL=https://wazuh.indexer:9200
          - INDEXER_USERNAME=admin
          - INDEXER_PASSWORD=SecretPassword
          - FILEBEAT_SSL_VERIFICATION_MODE=full
          - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
          - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
          - SSL_KEY=/etc/ssl/filebeat.key
          - API_USERNAME=wazuh-wui
          - API_PASSWORD=MyS3cr37P450r.*-
      ...
      wazuh.dashboard:
        ...
        environment:
          - INDEXER_USERNAME=admin
          - INDEXER_PASSWORD=SecretPassword
          - WAZUH_API_URL=https://wazuh.manager
          - DASHBOARD_USERNAME=kibanaserver
          - DASHBOARD_PASSWORD=kibanaserver
          - API_USERNAME=wazuh-wui
          - API_PASSWORD=MyS3cr37P450r.*-
      ...
    ```
3. Wazuh konteynerlerini yeniden oluşturun:
    
    ```
    docker-compose down
    docker-compose up -d
    ```

</section></section></section><section id="bkmrk-a%C3%A7%C4%B1kta-kalan-portlar">### Açıkta Kalan Portlar

Varsayılan olarak, yığın aşağıdaki portları açığa çıkarır:

<table class="docutils align-default" style="width: 55.1852%;"><tbody><tr class="row-odd"><td style="width: 21.8995%;">**1514**

</td><td style="width: 78.179%;">Wazuh TCP

</td></tr><tr class="row-even"><td style="width: 21.8995%;">**1515**

</td><td style="width: 78.179%;">Wazuh TCP

</td></tr><tr class="row-odd"><td style="width: 21.8995%;">**514**

</td><td style="width: 78.179%;">Wazuh UDP

</td></tr><tr class="row-even"><td style="width: 21.8995%;">**55000**

</td><td style="width: 78.179%;">Wazuh API

</td></tr><tr class="row-odd"><td style="width: 21.8995%;">**9200**

</td><td style="width: 78.179%;">Wazuh dizinleyici HTTPS

</td></tr><tr class="row-even"><td style="width: 21.8995%;">**443**

</td><td style="width: 78.179%;">Wazuh panosu HTTPS

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

<p class="callout info">Not: Docker yapılandırmayı dinamik olarak yeniden yüklemez. Bir bileşenin yapılandırmasını değiştirdikten sonra yığını yeniden başlatmanız gerekir.</p>

</section>