From d5c8c973fa29aaac29f719d5d670e8a2304d1222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Wed, 21 Feb 2024 10:48:54 +0100 Subject: [PATCH 01/22] feat(dashboard-configuration): adapt the user manual configuration section - Remove references to wazuh.yml - Add documentation about the new system - Add platform settings --- .../wazuh-dashboard/config-file.rst | 70 +++++++++++++++++-- 1 file changed, 63 insertions(+), 7 deletions(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index e358d2a64b..b33b6b3cf7 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -1,18 +1,38 @@ .. Copyright (C) 2015, Wazuh, Inc. .. meta:: - :description: The Wazuh dashboard includes a configuration file where you can define custom values for several options. Learn more about it in this section. + :description: The Wazuh dashboard includes a configuration where you can define custom values for several options. Learn more about it in this section. .. _wazuh_dashboard_config_file: -Configuration file -================== +Configuration +============= -The Wazuh dashboard includes a configuration file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` where you can define custom values for several options. This section describes all the settings available in this file. +The configuration related to Wazuh plugins is defined in: +- saved object. You can use the **Dashboard management > App Settings** application to define the custom values for several options. +- configuration file of Wazuh dashboard. Located at ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` for package installations or ``/usr/share/wazuh-dashboard/config/opensearch_dashoards.yml`` for Docker installations. -If you are using the Wazuh Kibana plugin, you can find this configuration file at ``/usr/share/kibana/data/wazuh/config/wazuh.yml``. +This section describes all the settings available for each location. -The configuration file shows the default values for all of the possible options. You can edit the file, uncomment any of them and apply the desired values. You can also edit these settings from the Wazuh dashboard in **Indexer/dashboard management** > **App Settings**. +Load a configuration +-------------------- + +You can load a configuration through of: +- on Wazuh dashboard start +- script + +On start +^^^^^^^^ + +When Wazuh dashboard starts checks if there are a file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml``. If this exists and does not a previous configuration stored in the saved object, the configuration defined in the file will be read and stored in the saved object. + +Script +^^^^^^ + +TODO + +Settings +-------- The configuration file reference is organized by sections: @@ -521,7 +541,7 @@ Set the footer of the PDF reports. To use an empty footer, type a space " " in t Example ------- -This is an example of the wazuh.yml configuration: +This is an example of the wazuh.yml configuration that can be used to load a configuration: .. code-block:: yaml @@ -589,3 +609,39 @@ This is an example of the wazuh.yml configuration: # Enrollment DNS enrollment.dns: '' enrollment.password: '' + + +Configuration of Wazuh dashboard +-------------------------------- + +The configuration stored as saved object depends on some settings defined in the configuration file of Wazuh dashboard. + +wazuh_core.configuration.encryption_key +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Define a key to encrypt some data values of the configuration saved object. + ++--------------------+----------------------------+ +| **Default value** | secretencryptionkey! | ++--------------------+----------------------------+ +| **Allowed values** | Any string | ++--------------------+----------------------------+ + +.. warning:: + + Any change in this value could cause a problem if there was data stored that was encrypted with the previous key. + +wazuh_core.instance +^^^^^^^^^^^^^^^^^^^ + +Define the Wazuh dashboard instance. This defines an identifier of the saved object configuration to use in the Wazuh dashboard instance. This allows to define independant or shared configuration for different Wazuh dashboard instances that uses the same Wazuh indexer backend. + ++--------------------+----------------------------+ +| **Default value** | wazuh-dashboard | ++--------------------+----------------------------+ +| **Allowed values** | Any string | ++--------------------+----------------------------+ + +.. warning:: + + Any change in this value could cause stored configuration previously is lost. From 54141af1802c077d70194478818fc4a7a2838c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Wed, 21 Feb 2024 11:35:26 +0100 Subject: [PATCH 02/22] fix: grammar --- source/user-manual/wazuh-dashboard/config-file.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index b33b6b3cf7..f11a510206 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -24,7 +24,7 @@ You can load a configuration through of: On start ^^^^^^^^ -When Wazuh dashboard starts checks if there are a file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml``. If this exists and does not a previous configuration stored in the saved object, the configuration defined in the file will be read and stored in the saved object. +When Wazuh dashboard starts checks if there are a file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml``. If this exists and there is not a previous configuration stored in the saved object, the configuration defined in the file will be read and stored in the saved object. Script ^^^^^^ From a98b178fc14d8e29a569fd62cd7e6daa1ecf09ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Wed, 21 Feb 2024 11:36:58 +0100 Subject: [PATCH 03/22] feat: remove reference to wazuh.yml --- source/user-manual/wazuh-dashboard/settings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/settings.rst b/source/user-manual/wazuh-dashboard/settings.rst index b8b7b74c00..f38b364b5a 100644 --- a/source/user-manual/wazuh-dashboard/settings.rst +++ b/source/user-manual/wazuh-dashboard/settings.rst @@ -22,7 +22,7 @@ In this section, you can list all your inserted API credentials. The star icon i Configuration ------------- -You can take a quick look at the Wazuh dashboard configuration file here. The documentation for the ``wazuh.yml`` file can be found in the config section. +You can take a quick look at the Wazuh dashboard configuration here. The documentation for configuration can be found in the config section. .. thumbnail:: ../../images/kibana-app/features/settings/configuration.png :align: center From f7a417a1a1c13a3a05a7361fc4646e9c83569346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Wed, 21 Feb 2024 13:52:30 +0100 Subject: [PATCH 04/22] feat: replace the references to configure server API hosts or plugins settings --- .../offline-installation/step-by-step.rst | 43 +++++++----------- .../wazuh-dashboard/step-by-step.rst | 44 +++++++------------ source/user-manual/api/securing-api.rst | 2 +- .../creating/wazuh-central-components.rst | 3 +- .../user-manual/user-administration/ldap.rst | 32 +++----------- .../password-management.rst | 17 ++----- .../user-manual/user-administration/rbac.rst | 8 ++-- .../single-sign-on/administrator/google.rst | 15 +------ .../administrator/jumpcloud.rst | 15 +------ .../single-sign-on/administrator/keycloak.rst | 15 +------ .../administrator/microsoft-entra-id.rst | 15 +------ .../single-sign-on/administrator/okta.rst | 15 +------ .../single-sign-on/administrator/onelogin.rst | 15 +------ .../single-sign-on/administrator/pingone.rst | 15 +------ .../single-sign-on/read-only/google.rst | 14 +----- .../single-sign-on/read-only/jumpcloud.rst | 15 +------ .../single-sign-on/read-only/keycloak.rst | 14 +----- .../read-only/microsoft-entra-id.rst | 15 +------ .../single-sign-on/read-only/okta.rst | 15 +------ .../single-sign-on/read-only/onelogin.rst | 14 +----- .../single-sign-on/read-only/pingone.rst | 15 +------ .../wazuh-indexer/wazuh-indexer-indices.rst | 6 +-- 22 files changed, 75 insertions(+), 287 deletions(-) diff --git a/source/deployment-options/offline-installation/step-by-step.rst b/source/deployment-options/offline-installation/step-by-step.rst index f4167fd565..e51de39d75 100644 --- a/source/deployment-options/offline-installation/step-by-step.rst +++ b/source/deployment-options/offline-installation/step-by-step.rst @@ -377,19 +377,6 @@ Installing the Wazuh dashboard .. include:: /_templates/installations/dashboard/enable_dashboard.rst -#. **Only for distributed deployments**: Edit the file ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` and replace the ``url`` value with the IP address or hostname of the Wazuh server master node. - - .. code-block:: yaml - :emphasize-lines: 3 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: wazuh-wui - run_as: false - #. Run the following command to verify the Wazuh dashboard service is active. .. include:: /_templates/installations/wazuh/common/check_wazuh_dashboard.rst @@ -400,7 +387,18 @@ Installing the Wazuh dashboard - **Username**: admin - **Password**: admin -Upon the first access to the Wazuh dashboard, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser or, for increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. + Upon the first access to the Wazuh dashboard, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser or, for increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. + +#. Add a new server API. + + Go to **Dashboard management** > **Server APIs**, click on **Add new API** button and fill the form with: + + - **ID**: default + - **URL**: IP address or hostname of the Wazuh server master node + - **Port**: 55000 + - **Username**: wazuh-wui + - **Password**: wazuh-wui + - **Run as**: false Securing your Wazuh installation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -518,23 +516,14 @@ Select your deployment type and follow the instructions to change the default pa # echo | /usr/share/wazuh-dashboard/bin/opensearch-dashboards-keystore --allow-root add -f --stdin opensearch.password - #. Update the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file with the new `wazuh-wui` password generated in the second step. - - .. code-block:: yaml - :emphasize-lines: 6 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - #. Restart the Wazuh dashboard to apply the changes. .. include:: /_templates/common/restart_dashboard.rst + #. Update the API host password. + + On Wazuh dashboard, go to **Dashboard management** > **Server APIs**, click on the edit button of the secured server API entry and replace the **Password** field, then click on the **Apply** button to save. + Next steps ^^^^^^^^^^ diff --git a/source/installation-guide/wazuh-dashboard/step-by-step.rst b/source/installation-guide/wazuh-dashboard/step-by-step.rst index c150631490..4a3f3566ab 100644 --- a/source/installation-guide/wazuh-dashboard/step-by-step.rst +++ b/source/installation-guide/wazuh-dashboard/step-by-step.rst @@ -98,22 +98,6 @@ Starting the Wazuh dashboard service .. include:: /_templates/installations/dashboard/enable_dashboard.rst - - **Only for distributed deployments** - - Edit the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` file and replace the ``url`` value with the IP address or hostname of the Wazuh server master node. - - .. code-block:: yaml - :emphasize-lines: 3 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: wazuh-wui - run_as: false - #. Access the Wazuh web interface with your credentials. @@ -123,6 +107,17 @@ Starting the Wazuh dashboard service When you access the Wazuh dashboard for the first time, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser. For increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. + #. Add a new server API. + + Go to **Dashboard management** > **Server APIs**, click on **Add new API** button and fill the form with: + + - **ID**: default + - **URL**: IP address or hostname of the Wazuh server master node + - **Port**: 55000 + - **Username**: wazuh-wui + - **Password**: wazuh-wui + - **Run as**: false + Securing your Wazuh installation -------------------------------- @@ -209,23 +204,14 @@ Select your deployment type and follow the instructions to change the default pa # echo | /usr/share/wazuh-dashboard/bin/opensearch-dashboards-keystore --allow-root add -f --stdin opensearch.password - #. Update the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file with the new `wazuh-wui` password generated in the second step. - - .. code-block:: yaml - :emphasize-lines: 6 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - #. Restart the Wazuh dashboard to apply the changes. .. include:: /_templates/common/restart_dashboard.rst + #. Update the API host password. + + On Wazuh dashboard, go to **Dashboard management** > **Server APIs**, click on the edit button of the secured server API entry and replace the **Password** field, then click on the **Apply** button to save. + Next steps ---------- diff --git a/source/user-manual/api/securing-api.rst b/source/user-manual/api/securing-api.rst index 75b2af7db8..b998e2d1cc 100644 --- a/source/user-manual/api/securing-api.rst +++ b/source/user-manual/api/securing-api.rst @@ -54,7 +54,7 @@ Recommended changes to secure the Wazuh API After changing the password, there is no need to restart the Wazuh API but a new :api-ref:`authentication ` will be required for the affected users. .. warning:: - Changing the **wazuh-wui** user password will affect the Wazuh UI. You will have to update the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file accordingly with the new credentials. To learn more, see the :doc:`Wazuh dashboard configuration file ` document. + Changing the **wazuh-wui** user password will affect the Wazuh UI. You will have to update the API host entry accordingly with the new credentials. To learn more, see the :doc:`Wazuh dashboard API host configuration ` document. #. Change the default host and port: diff --git a/source/user-manual/files-backup/creating/wazuh-central-components.rst b/source/user-manual/files-backup/creating/wazuh-central-components.rst index 02e000b4c7..1ebfc46a76 100644 --- a/source/user-manual/files-backup/creating/wazuh-central-components.rst +++ b/source/user-manual/files-backup/creating/wazuh-central-components.rst @@ -115,8 +115,7 @@ Backing up the Wazuh indexer and dashboard # rsync -aREz \ /etc/wazuh-dashboard/certs/ \ /etc/wazuh-dashboard/opensearch_dashboards.yml \ - /usr/share/wazuh-dashboard/config/opensearch_dashboards.keystore \ - /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml $bkp_folder + /usr/share/wazuh-dashboard/config/opensearch_dashboards.keystore #. If present, back up your downloads and custom images. diff --git a/source/user-manual/user-administration/ldap.rst b/source/user-manual/user-administration/ldap.rst index 764a79d1f9..c124bfd2df 100644 --- a/source/user-manual/user-administration/ldap.rst +++ b/source/user-manual/user-administration/ldap.rst @@ -233,20 +233,9 @@ Follow these steps to create a new role mapping and grant administrator permissi Done with success SUCC: Expected 1 config types for node {"updated_config_types":["rolesmapping"],"updated_config_size":1,"message":null} is 1 (["rolesmapping"]) due to: null -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. @@ -299,21 +288,10 @@ Setup read-only role #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, assign the name of the read-only role you have in your LDAP server and click on **Map** to confirm the action. In our case, the backend role (CN) is ``readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. - - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + #. Click the upper-left menu icon **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/manual/user-administration/ldap/select-roles-mapping.gif diff --git a/source/user-manual/user-administration/password-management.rst b/source/user-manual/user-administration/password-management.rst index 8192f8ede5..c294ca9d45 100644 --- a/source/user-manual/user-administration/password-management.rst +++ b/source/user-manual/user-administration/password-management.rst @@ -233,19 +233,10 @@ Follow the instructions below to change the passwords for all the Wazuh indexer # echo | /usr/share/wazuh-dashboard/bin/opensearch-dashboards-keystore --allow-root add -f --stdin opensearch.password -#. Update the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file with the new `wazuh-wui` password generated in the second step. - - .. code-block:: yaml - :emphasize-lines: 6 +#. Restart the Wazuh dashboard to apply the changes. - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false + .. include:: /_templates/common/restart_dashboard.rst -#. Restart the Wazuh dashboard to apply the changes. +#. Update the password of the API host entry with the new `wazuh-wui` password generated in the second step. - .. include:: /_templates/common/restart_dashboard.rst \ No newline at end of file + Go to **Dashboard management** > **Server APIs**, click on edit button of the related API host, change the **Password** and then click on **Apply** to save the changes. \ No newline at end of file diff --git a/source/user-manual/user-administration/rbac.rst b/source/user-manual/user-administration/rbac.rst index a00fbb05c1..42a42c1adb 100644 --- a/source/user-manual/user-administration/rbac.rst +++ b/source/user-manual/user-administration/rbac.rst @@ -69,7 +69,7 @@ Follow these steps to create an internal user, create a new role mapping, and gi #. Click **Save role mapping** to save and map the user with Wazuh as *administrator*. - For the role mapping to take effect, make sure that ``run_as`` is set to ``true`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. Creating and setting a Wazuh read-only user ------------------------------------------- @@ -126,7 +126,7 @@ Follow these steps to create an internal user, create a new role mapping, and gi #. Click **Save role mapping** to save and map the user with Wazuh as *read-only*. - For the role mapping to take effect, make sure that ``run_as`` is set to ``true`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. Creating an internal user and mapping it to Wazuh @@ -172,7 +172,7 @@ Follow these steps to create an internal user and map it to a role of your choic #. Click **Save role mapping** to save and map the user with Wazuh. - For the role mapping to take effect, make sure that ``run_as`` is set to ``true`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. .. _wazuh-rbac-use-case-agents-group: @@ -345,7 +345,7 @@ To map the user with Wazuh, follow these steps: #. Click **Save role mapping** to finish the action. - For the role mapping to take effect, make sure that ``run_as`` is set to ``true`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. You have now created a new internal user and mapped it to manage a Wazuh agents' group. Authenticate with the new user and open the Wazuh dashboard, see that only ``Team_A`` agents' alerts and information are displayed. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/google.rst b/source/user-manual/user-administration/single-sign-on/administrator/google.rst index 96e665a246..9f1bc9341b 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/google.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/google.rst @@ -243,20 +243,9 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst b/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst index 1894230b1f..1c72eac888 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst @@ -279,20 +279,9 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst b/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst index 3d5a300c71..64867750b7 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst @@ -353,20 +353,9 @@ The command output must be similar to the following: Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst b/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst index f443d1d8bf..8e2cf7161a 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst @@ -276,20 +276,9 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/okta.rst b/source/user-manual/user-administration/single-sign-on/administrator/okta.rst index fc26dbb699..cf6dafdca7 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/okta.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/okta.rst @@ -276,20 +276,9 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst b/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst index 5ef8c1ab04..27ed9f4490 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst @@ -277,20 +277,9 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst b/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst index ada87da9ad..64610461d3 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst @@ -247,20 +247,9 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/google.rst b/source/user-manual/user-administration/single-sign-on/read-only/google.rst index 53adbec13b..32e5394e84 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/google.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/google.rst @@ -213,20 +213,10 @@ Wazuh dashboard configuration #. Select the newly created role. #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value of the **Department** field you created in Google Workspace and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst b/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst index f4d2030169..4cbd24fd78 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst @@ -250,20 +250,9 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the name of the group you created in JumpCloud and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst b/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst index 31b147ce1e..3345f07557 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst @@ -325,20 +325,10 @@ Wazuh dashboard configuration #. Select the newly created role. #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value of the **Role name** attribute in Keycloak configuration and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst b/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst index 4c16f82e68..dec1f603a4 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst @@ -231,20 +231,9 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value attribute of the app role you created in Microsoft Entra ID and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/okta.rst b/source/user-manual/user-administration/single-sign-on/read-only/okta.rst index 70291829e6..12153ffd2c 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/okta.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/okta.rst @@ -246,20 +246,9 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the name of the read-only group you created in Okta and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst b/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst index 559d610002..0c287cafd1 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst @@ -245,20 +245,10 @@ Wazuh dashboard configuration #. Select the newly created role. #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value of the **Department** field in OneLogin configuration and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst b/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst index 6271114824..f4ed3e2c44 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst @@ -217,20 +217,9 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the name of the group you created in PingOne and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``run_as`` in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. If ``run_as`` is set to ``false``, proceed to the next step. +#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - .. code-block:: yaml - :emphasize-lines: 7 - - hosts: - - default: - url: https://localhost - port: 55000 - username: wazuh-wui - password: "" - run_as: false - - If ``run_as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/wazuh-indexer/wazuh-indexer-indices.rst b/source/user-manual/wazuh-indexer/wazuh-indexer-indices.rst index 8ff1d9eec4..fe4804b3f0 100644 --- a/source/user-manual/wazuh-indexer/wazuh-indexer-indices.rst +++ b/source/user-manual/wazuh-indexer/wazuh-indexer-indices.rst @@ -105,11 +105,7 @@ This section describes creating a custom index pattern, ``my-custom-alerts-*``, The index name must not contain the characters ``#``, ``\``, ``/``, ``*``, ``?``, ``"``, ``<``, ``>``, ``|``, ``,``, and must not start with ``_``, ``-``, or ``+``. Also, all the letters must be lowercase. -#. (Optional) If you want to use the new index pattern by default, open the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` file and add the below configuration: - - .. code-block:: yaml - - pattern: my-custom-alerts-* +#. (Optional) If you want to use the new index pattern by default, on Wazuh dashboard go to **Dashboard management** > **App Settings** and edit the **pattern** setting with the ``my-custom-alerts-*`` and save the changes. This will make the Wazuh server automatically create and/or select the new index pattern. From 9f1aa5cf8c7db78ce33717d57b14a3e2efb34060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Wed, 21 Feb 2024 14:02:59 +0100 Subject: [PATCH 05/22] fix(wazuh-dashboard): wrong button label --- source/deployment-options/offline-installation/step-by-step.rst | 2 +- source/installation-guide/wazuh-dashboard/step-by-step.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/deployment-options/offline-installation/step-by-step.rst b/source/deployment-options/offline-installation/step-by-step.rst index e51de39d75..eb25d87f90 100644 --- a/source/deployment-options/offline-installation/step-by-step.rst +++ b/source/deployment-options/offline-installation/step-by-step.rst @@ -391,7 +391,7 @@ Installing the Wazuh dashboard #. Add a new server API. - Go to **Dashboard management** > **Server APIs**, click on **Add new API** button and fill the form with: + Go to **Dashboard management** > **Server APIs**, click on **Add API host** button and fill the form with: - **ID**: default - **URL**: IP address or hostname of the Wazuh server master node diff --git a/source/installation-guide/wazuh-dashboard/step-by-step.rst b/source/installation-guide/wazuh-dashboard/step-by-step.rst index 4a3f3566ab..49b911b417 100644 --- a/source/installation-guide/wazuh-dashboard/step-by-step.rst +++ b/source/installation-guide/wazuh-dashboard/step-by-step.rst @@ -109,7 +109,7 @@ Starting the Wazuh dashboard service #. Add a new server API. - Go to **Dashboard management** > **Server APIs**, click on **Add new API** button and fill the form with: + Go to **Dashboard management** > **Server APIs**, click on **Add API host** button and fill the form with: - **ID**: default - **URL**: IP address or hostname of the Wazuh server master node From 5ff36e01fe248b129f2647c43d10784d357117a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Wed, 21 Feb 2024 16:00:17 +0100 Subject: [PATCH 06/22] feat(wazuh-dashboard): add documentation to setup the configuration using though the script --- .../wazuh-dashboard/config-file.rst | 42 +++++++++++++++---- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index f11a510206..56a2bcd33f 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -9,7 +9,8 @@ Configuration ============= The configuration related to Wazuh plugins is defined in: -- saved object. You can use the **Dashboard management > App Settings** application to define the custom values for several options. + +- saved object. Define the custom values for several settings on **Dashboard management** > **App Settings** or the API host entries on **Dashboard management** > **Server APIs**. - configuration file of Wazuh dashboard. Located at ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` for package installations or ``/usr/share/wazuh-dashboard/config/opensearch_dashoards.yml`` for Docker installations. This section describes all the settings available for each location. @@ -17,19 +18,46 @@ This section describes all the settings available for each location. Load a configuration -------------------- -You can load a configuration through of: -- on Wazuh dashboard start -- script +You can load a configuration using a file through of: + +- on start +- update On start ^^^^^^^^ -When Wazuh dashboard starts checks if there are a file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml``. If this exists and there is not a previous configuration stored in the saved object, the configuration defined in the file will be read and stored in the saved object. +When Wazuh dashboard starts checks if there are a file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml``. If this exists and there is not a previous configuration stored in the saved object, the configuration will be updated. -Script +This process is oriented to migrations from previous versions. + +Update ^^^^^^ -TODO +This process can update the current configuration using a configuration file based on the format of ``wazuh.yml`. + +#. Define a configuration file according to the settings + +#. On the Wazuh dashboard host, go to ``/usr/share/wazuh-dashboard/plugins/wazuh_core/scripts`` and run: + + Update the configuration: + +.. code-block:: sh + + bash wazuh-dashboard-setup-configuration --config-file --host --user --password + +where: + - config-file: path to the configuration file + - host: URL address of the Wazuh dashboard host + - user: username + - password: password for the user + +.. note:: + + The user must be an administrator user that has permissions to update the settings. + +.. note:: + + If you want to clear the previous configuration, use the ``--clear`` parameter. Settings -------- From 12bc1301abecc973f61e44e8d21b7ce9110889bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Tue, 27 Feb 2024 08:58:40 +0100 Subject: [PATCH 07/22] fix(wazuh-dashboard): replace reference to button --- source/deployment-options/offline-installation/step-by-step.rst | 2 +- source/installation-guide/wazuh-dashboard/step-by-step.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/deployment-options/offline-installation/step-by-step.rst b/source/deployment-options/offline-installation/step-by-step.rst index eb25d87f90..eb598094e1 100644 --- a/source/deployment-options/offline-installation/step-by-step.rst +++ b/source/deployment-options/offline-installation/step-by-step.rst @@ -391,7 +391,7 @@ Installing the Wazuh dashboard #. Add a new server API. - Go to **Dashboard management** > **Server APIs**, click on **Add API host** button and fill the form with: + Go to **Dashboard management** > **Server APIs**, click on **Add API connection** button and fill the form with: - **ID**: default - **URL**: IP address or hostname of the Wazuh server master node diff --git a/source/installation-guide/wazuh-dashboard/step-by-step.rst b/source/installation-guide/wazuh-dashboard/step-by-step.rst index 49b911b417..8571640ab4 100644 --- a/source/installation-guide/wazuh-dashboard/step-by-step.rst +++ b/source/installation-guide/wazuh-dashboard/step-by-step.rst @@ -109,7 +109,7 @@ Starting the Wazuh dashboard service #. Add a new server API. - Go to **Dashboard management** > **Server APIs**, click on **Add API host** button and fill the form with: + Go to **Dashboard management** > **Server APIs**, click on **Add API connection** button and fill the form with: - **ID**: default - **URL**: IP address or hostname of the Wazuh server master node From c376d63a2643ff07d672027be59c1f900948842a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Mon, 4 Mar 2024 10:32:12 +0100 Subject: [PATCH 08/22] feat(wazuh-dashboard): enhance the configuration section --- .../wazuh-dashboard/config-file.rst | 76 +++++++++++-------- 1 file changed, 43 insertions(+), 33 deletions(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 56a2bcd33f..48503d89ed 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -8,59 +8,65 @@ Configuration ============= -The configuration related to Wazuh plugins is defined in: +The configuration related to Wazuh plugins can be defined in: -- saved object. Define the custom values for several settings on **Dashboard management** > **App Settings** or the API host entries on **Dashboard management** > **Server APIs**. -- configuration file of Wazuh dashboard. Located at ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` for package installations or ``/usr/share/wazuh-dashboard/config/opensearch_dashoards.yml`` for Docker installations. +- **Plugins settings**: + + The custom values are stored in a saved object. They can be managed through: + + - **Dashboard management** > **App Settings**: define the custom values for several settings. + - **Dashboard management** > **Server APIs**: manage the API hosts entries. + + The users with privilegies to manage the rest API of Wazuh indexer can define the settings or API host entries. + +- **Wazuh dashboard settings**: + + Configuration file of Wazuh dashboard located at ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` for package installations or ``/usr/share/wazuh-dashboard/config/opensearch_dashoards.yml`` for Docker installations. This section describes all the settings available for each location. -Load a configuration --------------------- +Setup a configuration +--------------------- -You can load a configuration using a file through of: +The management of the plugin settings can be done through the UI, but you can setup the current configuration using a configuration file with these methods too: - on start -- update +- API -On start -^^^^^^^^ +.. warning:: -When Wazuh dashboard starts checks if there are a file located at ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml``. If this exists and there is not a previous configuration stored in the saved object, the configuration will be updated. + Changing some settings through these methods could require some action to take effect. -This process is oriented to migrations from previous versions. +On start +^^^^^^^^ -Update -^^^^^^ +When the Wazuh dashboard starts, checks if there is a file located at ``/data/wazuh/config/wazuh.yml``. If this exists and there is not the configuration saved object, then will setup into it. -This process can update the current configuration using a configuration file based on the format of ``wazuh.yml`. +API +^^^ -#. Define a configuration file according to the settings +Use the Wazuh dashboard API to setup the configuration: -#. On the Wazuh dashboard host, go to ``/usr/share/wazuh-dashboard/plugins/wazuh_core/scripts`` and run: +#. Define a configuration file according to the settings. - Update the configuration: +#. Upload the configuration: .. code-block:: sh - bash wazuh-dashboard-setup-configuration --config-file --host --user --password + curl -k -u : --form file='@'
where: - - config-file: path to the configuration file - - host: URL address of the Wazuh dashboard host - - user: username - - password: password for the user + - `username`: username + - `password`: password for the user + - `config_file`: path to the configuration file + - `address`: URL address of the Wazuh dashboard host .. note:: - The user must be an administrator user that has permissions to update the settings. + The user must have privilegies to manage the rest API of Wazuh indexer. -.. note:: - - If you want to clear the previous configuration, use the ``--clear`` parameter. - -Settings --------- +Configuration file +------------------ The configuration file reference is organized by sections: @@ -642,12 +648,10 @@ This is an example of the wazuh.yml configuration that can be used to load a con Configuration of Wazuh dashboard -------------------------------- -The configuration stored as saved object depends on some settings defined in the configuration file of Wazuh dashboard. - wazuh_core.configuration.encryption_key ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Define a key to encrypt some data values of the configuration saved object. +Define a key to encrypt some sensitive data stored in the configuration saved object. +--------------------+----------------------------+ | **Default value** | secretencryptionkey! | @@ -662,7 +666,9 @@ Define a key to encrypt some data values of the configuration saved object. wazuh_core.instance ^^^^^^^^^^^^^^^^^^^ -Define the Wazuh dashboard instance. This defines an identifier of the saved object configuration to use in the Wazuh dashboard instance. This allows to define independant or shared configuration for different Wazuh dashboard instances that uses the same Wazuh indexer backend. +Define the identifier of the Wazuh dashboard instance.This identifier is used to define the configuration saved object that will use the Wazuh dashboard instance. + +This allows to define independant or shared configuration for different Wazuh dashboard instances that uses the same Wazuh indexer backend. +--------------------+----------------------------+ | **Default value** | wazuh-dashboard | @@ -673,3 +679,7 @@ Define the Wazuh dashboard instance. This defines an identifier of the saved obj .. warning:: Any change in this value could cause stored configuration previously is lost. + +.. warning:: + + When sharing the configuration of multiple instances of Wazuh dashboard, some settings could require some actions to take effect. From d0c665d323e0f24aac8ff1a17f5289ffce799ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Mon, 4 Mar 2024 10:37:39 +0100 Subject: [PATCH 09/22] feat(wazuh-configuration): enhance documenation about shareing configuration --- source/user-manual/wazuh-dashboard/config-file.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 48503d89ed..47477d17ca 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -682,4 +682,4 @@ This allows to define independant or shared configuration for different Wazuh da .. warning:: - When sharing the configuration of multiple instances of Wazuh dashboard, some settings could require some actions to take effect. + When sharing the configuration of multiple instances of Wazuh dashboard and changing the settings from some instance, the changes could require some actions to take effect that should be applied in each instance that is sharing the configuration. From 6c6a7520fea826e3aee5c4c1dcee5a7e3e452561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Mon, 4 Mar 2024 11:24:58 +0100 Subject: [PATCH 10/22] fix(wazuh-dashboard): fix url to import configuration file --- source/user-manual/wazuh-dashboard/config-file.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 47477d17ca..24ef5ed8d8 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -53,7 +53,7 @@ Use the Wazuh dashboard API to setup the configuration: .. code-block:: sh - curl -k -u : --form file='@'
+ curl -k -u : --form file='@'
/utils/configuration/import where: - `username`: username From a13501599c78d91220e8c18a1a0a613c29a1dfe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Mon, 4 Mar 2024 11:27:12 +0100 Subject: [PATCH 11/22] fix(wazuh-dashboard): fix method to import configuration file --- source/user-manual/wazuh-dashboard/config-file.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 24ef5ed8d8..5a9169133c 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -53,7 +53,7 @@ Use the Wazuh dashboard API to setup the configuration: .. code-block:: sh - curl -k -u : --form file='@'
/utils/configuration/import + curl -k -u : --form file='@' -XPOST
/utils/configuration/import where: - `username`: username From 54861113cf7ab34587ebbb1a4eececdadeccafd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Tue, 12 Mar 2024 08:15:45 +0100 Subject: [PATCH 12/22] fix(wazuh-dashboard): command to import configuration from file --- source/user-manual/wazuh-dashboard/config-file.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 5a9169133c..92ed6b671d 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -53,7 +53,7 @@ Use the Wazuh dashboard API to setup the configuration: .. code-block:: sh - curl -k -u : --form file='@' -XPOST
/utils/configuration/import + curl -k -u : --form file='@' -H 'xsrf:kibana' -XPOST
/utils/configuration/import where: - `username`: username From 66a0a03da063475d46dd190d4c523aa8a1d43a0a Mon Sep 17 00:00:00 2001 From: Javier Medeot Date: Tue, 12 Mar 2024 18:24:01 -0300 Subject: [PATCH 13/22] Add changes from review --- .../offline-installation/step-by-step.rst | 24 +++++++++---------- .../wazuh-dashboard/step-by-step.rst | 24 +++++++++---------- source/user-manual/api/securing-api.rst | 3 ++- .../creating/wazuh-central-components.rst | 2 +- .../user-manual/user-administration/ldap.rst | 8 ++----- .../password-management.rst | 4 +--- .../user-manual/user-administration/rbac.rst | 8 +++---- .../single-sign-on/administrator/google.rst | 4 +--- .../administrator/jumpcloud.rst | 4 +--- .../single-sign-on/administrator/keycloak.rst | 4 +--- .../administrator/microsoft-entra-id.rst | 4 +--- .../single-sign-on/administrator/okta.rst | 4 +--- .../single-sign-on/administrator/onelogin.rst | 4 +--- .../single-sign-on/administrator/pingone.rst | 4 +--- .../single-sign-on/read-only/google.rst | 4 +--- .../single-sign-on/read-only/jumpcloud.rst | 4 +--- .../single-sign-on/read-only/keycloak.rst | 4 +--- .../read-only/microsoft-entra-id.rst | 4 +--- .../single-sign-on/read-only/okta.rst | 4 +--- .../single-sign-on/read-only/onelogin.rst | 4 +--- .../single-sign-on/read-only/pingone.rst | 4 +--- 21 files changed, 46 insertions(+), 83 deletions(-) diff --git a/source/deployment-options/offline-installation/step-by-step.rst b/source/deployment-options/offline-installation/step-by-step.rst index eb598094e1..e1d2dfe0dd 100644 --- a/source/deployment-options/offline-installation/step-by-step.rst +++ b/source/deployment-options/offline-installation/step-by-step.rst @@ -387,18 +387,19 @@ Installing the Wazuh dashboard - **Username**: admin - **Password**: admin - Upon the first access to the Wazuh dashboard, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser or, for increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. + .. note:: + :class: not-long -#. Add a new server API. + Upon the first access to the Wazuh dashboard, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser or, for increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. - Go to **Dashboard management** > **Server APIs**, click on **Add API connection** button and fill the form with: +#. Go to **Dashboard management** > **Server APIs** to add a new server API connection. Click on **Add API connection** button and fill the form with the following values. - - **ID**: default - - **URL**: IP address or hostname of the Wazuh server master node - - **Port**: 55000 - - **Username**: wazuh-wui - - **Password**: wazuh-wui - - **Run as**: false + - **ID**: ``default`` + - **URL**: IP address or hostname of the Wazuh server master node + - **Port**: ``55000`` + - **Username**: ``wazuh-wui`` + - **Password**: ``wazuh-wui`` + - **Run as**: ``false`` Securing your Wazuh installation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -520,10 +521,7 @@ Select your deployment type and follow the instructions to change the default pa .. include:: /_templates/common/restart_dashboard.rst - #. Update the API host password. - - On Wazuh dashboard, go to **Dashboard management** > **Server APIs**, click on the edit button of the secured server API entry and replace the **Password** field, then click on the **Apply** button to save. - + #. On the Wazuh dashboard, go to **Dashboard management** > **Server APIs** to update the API host password. Click on the edit button of the secured server API entry and replace the **Password** field. Then click on the **Apply** button to save. Next steps ^^^^^^^^^^ diff --git a/source/installation-guide/wazuh-dashboard/step-by-step.rst b/source/installation-guide/wazuh-dashboard/step-by-step.rst index 8571640ab4..f25d89108e 100644 --- a/source/installation-guide/wazuh-dashboard/step-by-step.rst +++ b/source/installation-guide/wazuh-dashboard/step-by-step.rst @@ -105,19 +105,20 @@ Starting the Wazuh dashboard service - **Username**: *admin* - **Password**: *admin* - When you access the Wazuh dashboard for the first time, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser. For increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. + .. note:: + :class: not-long - #. Add a new server API. + + When you access the Wazuh dashboard for the first time, the browser shows a warning message stating that the certificate was not issued by a trusted authority. An exception can be added in the advanced options of the web browser. For increased security, the ``root-ca.pem`` file previously generated can be imported to the certificate manager of the browser. Alternatively, a certificate from a trusted authority can be configured. - Go to **Dashboard management** > **Server APIs**, click on **Add API connection** button and fill the form with: + #. Go to **Dashboard management** > **Server APIs** to add a new server API connection. Click on **Add API connection** button and fill the form with the following values. - - **ID**: default + - **ID**: ``default`` - **URL**: IP address or hostname of the Wazuh server master node - - **Port**: 55000 - - **Username**: wazuh-wui - - **Password**: wazuh-wui - - **Run as**: false - + - **Port**: ``55000`` + - **Username**: ``wazuh-wui`` + - **Password**: ``wazuh-wui`` + - **Run as**: ``false`` Securing your Wazuh installation -------------------------------- @@ -208,10 +209,7 @@ Select your deployment type and follow the instructions to change the default pa .. include:: /_templates/common/restart_dashboard.rst - #. Update the API host password. - - On Wazuh dashboard, go to **Dashboard management** > **Server APIs**, click on the edit button of the secured server API entry and replace the **Password** field, then click on the **Apply** button to save. - + #. On Wazuh dashboard, go to **Dashboard management** > **Server APIs** to update the API host password. Click on the edit button of the secured server API entry and replace the **Password** field. Then, click on the **Apply** button to save. Next steps ---------- diff --git a/source/user-manual/api/securing-api.rst b/source/user-manual/api/securing-api.rst index b998e2d1cc..a7bfc0fa5f 100644 --- a/source/user-manual/api/securing-api.rst +++ b/source/user-manual/api/securing-api.rst @@ -54,7 +54,8 @@ Recommended changes to secure the Wazuh API After changing the password, there is no need to restart the Wazuh API but a new :api-ref:`authentication ` will be required for the affected users. .. warning:: - Changing the **wazuh-wui** user password will affect the Wazuh UI. You will have to update the API host entry accordingly with the new credentials. To learn more, see the :doc:`Wazuh dashboard API host configuration ` document. + + Changing the ``wazuh-wui`` user password affects the Wazuh UI. You need to update the API host entry with the new credentials accordingly. To learn more, see the :doc:`Wazuh dashboard API host configuration ` section. #. Change the default host and port: diff --git a/source/user-manual/files-backup/creating/wazuh-central-components.rst b/source/user-manual/files-backup/creating/wazuh-central-components.rst index 1ebfc46a76..d59363b6ac 100644 --- a/source/user-manual/files-backup/creating/wazuh-central-components.rst +++ b/source/user-manual/files-backup/creating/wazuh-central-components.rst @@ -115,7 +115,7 @@ Backing up the Wazuh indexer and dashboard # rsync -aREz \ /etc/wazuh-dashboard/certs/ \ /etc/wazuh-dashboard/opensearch_dashboards.yml \ - /usr/share/wazuh-dashboard/config/opensearch_dashboards.keystore + /usr/share/wazuh-dashboard/config/opensearch_dashboards.keystore $bkp_folder #. If present, back up your downloads and custom images. diff --git a/source/user-manual/user-administration/ldap.rst b/source/user-manual/user-administration/ldap.rst index c124bfd2df..a9fe8d6875 100644 --- a/source/user-manual/user-administration/ldap.rst +++ b/source/user-manual/user-administration/ldap.rst @@ -233,9 +233,7 @@ Follow these steps to create a new role mapping and grant administrator permissi Done with success SUCC: Expected 1 config types for node {"updated_config_types":["rolesmapping"],"updated_config_size":1,"message":null} is 1 (["rolesmapping"]) due to: null -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. @@ -288,9 +286,7 @@ Setup read-only role #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, assign the name of the read-only role you have in your LDAP server and click on **Map** to confirm the action. In our case, the backend role (CN) is ``readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click the upper-left menu icon **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/password-management.rst b/source/user-manual/user-administration/password-management.rst index c294ca9d45..053708b238 100644 --- a/source/user-manual/user-administration/password-management.rst +++ b/source/user-manual/user-administration/password-management.rst @@ -237,6 +237,4 @@ Follow the instructions below to change the passwords for all the Wazuh indexer .. include:: /_templates/common/restart_dashboard.rst -#. Update the password of the API host entry with the new `wazuh-wui` password generated in the second step. - - Go to **Dashboard management** > **Server APIs**, click on edit button of the related API host, change the **Password** and then click on **Apply** to save the changes. \ No newline at end of file +#. Go to **Dashboard management** > **Server APIs** to update the password of the API host entry with the new `wazuh-wui` password generated in the second step. Click on the edit button of the related API host. Change the **Password** and then click on **Apply** to save the changes. \ No newline at end of file diff --git a/source/user-manual/user-administration/rbac.rst b/source/user-manual/user-administration/rbac.rst index 42a42c1adb..2b69c88b61 100644 --- a/source/user-manual/user-administration/rbac.rst +++ b/source/user-manual/user-administration/rbac.rst @@ -69,7 +69,7 @@ Follow these steps to create an internal user, create a new role mapping, and gi #. Click **Save role mapping** to save and map the user with Wazuh as *administrator*. - For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. Creating and setting a Wazuh read-only user ------------------------------------------- @@ -126,7 +126,7 @@ Follow these steps to create an internal user, create a new role mapping, and gi #. Click **Save role mapping** to save and map the user with Wazuh as *read-only*. - For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. Creating an internal user and mapping it to Wazuh @@ -172,7 +172,7 @@ Follow these steps to create an internal user and map it to a role of your choic #. Click **Save role mapping** to save and map the user with Wazuh. - For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. .. _wazuh-rbac-use-case-agents-group: @@ -345,7 +345,7 @@ To map the user with Wazuh, follow these steps: #. Click **Save role mapping** to finish the action. - For the role mapping to take effect, make sure that ``Run as`` is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. You have now created a new internal user and mapped it to manage a Wazuh agents' group. Authenticate with the new user and open the Wazuh dashboard, see that only ``Team_A`` agents' alerts and information are displayed. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/google.rst b/source/user-manual/user-administration/single-sign-on/administrator/google.rst index 9f1bc9341b..757f7bcd95 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/google.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/google.rst @@ -243,9 +243,7 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst b/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst index 1c72eac888..65373f77e6 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst @@ -279,9 +279,7 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst b/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst index 64867750b7..c289c2f856 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst @@ -353,9 +353,7 @@ The command output must be similar to the following: Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst b/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst index 8e2cf7161a..d7339f7bbb 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst @@ -276,9 +276,7 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/okta.rst b/source/user-manual/user-administration/single-sign-on/administrator/okta.rst index cf6dafdca7..76ac7703ba 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/okta.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/okta.rst @@ -276,9 +276,7 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst b/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst index 27ed9f4490..da4e88eada 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst @@ -277,9 +277,7 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst b/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst index 64610461d3..e685be123f 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst @@ -247,9 +247,7 @@ Edit the Wazuh indexer security configuration files. We recommend that you back Wazuh dashboard configuration ----------------------------- -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/google.rst b/source/user-manual/user-administration/single-sign-on/read-only/google.rst index 32e5394e84..866aa0c566 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/google.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/google.rst @@ -214,9 +214,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value of the **Department** field you created in Google Workspace and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst b/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst index 4cbd24fd78..1251d7621d 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst @@ -250,9 +250,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the name of the group you created in JumpCloud and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst b/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst index 3345f07557..ba3f73b059 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst @@ -326,9 +326,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value of the **Role name** attribute in Keycloak configuration and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst b/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst index dec1f603a4..589b633956 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst @@ -231,9 +231,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value attribute of the app role you created in Microsoft Entra ID and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/okta.rst b/source/user-manual/user-administration/single-sign-on/read-only/okta.rst index 12153ffd2c..6f591329ff 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/okta.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/okta.rst @@ -246,9 +246,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the name of the read-only group you created in Okta and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst b/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst index 0c287cafd1..0321a472b5 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst @@ -246,9 +246,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the value of the **Department** field in OneLogin configuration and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. diff --git a/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst b/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst index f4ed3e2c44..d7cee26814 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst @@ -217,9 +217,7 @@ Wazuh dashboard configuration #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, add the name of the group you created in PingOne and click **Map** to confirm the action. In our case, the backend role is ``wazuh-readonly``. -#. Check the value of ``Run as`` in the API host entry configuration on **Dashboard management** > **Server APIs**. If ``Run as`` is set to ``false``, proceed to the next step. - - If ``Run as`` is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. From cc7ec0b507bccdbaea494de04f3f0ed0d66fca04 Mon Sep 17 00:00:00 2001 From: Antonio <34042064+Desvelao@users.noreply.github.com> Date: Thu, 14 Mar 2024 15:53:22 +0100 Subject: [PATCH 14/22] Apply suggestions from code review Co-authored-by: Javier Medeot --- source/user-manual/wazuh-dashboard/config-file.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 92ed6b671d..1170162f30 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -1,14 +1,14 @@ .. Copyright (C) 2015, Wazuh, Inc. .. meta:: - :description: The Wazuh dashboard includes a configuration where you can define custom values for several options. Learn more about it in this section. + :description: The Wazuh dashboard includes configuration options to define custom settings. Learn more about it in this section. .. _wazuh_dashboard_config_file: Configuration ============= -The configuration related to Wazuh plugins can be defined in: +You can configure the Wazuh dashboard and plugins as follows: - **Plugins settings**: From 7211ef37558ea73c7b1dd235ed7dfe7e2e23f6bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Thu, 14 Mar 2024 15:56:28 +0100 Subject: [PATCH 15/22] fix: apply suggestions of code review --- .../user-manual/wazuh-dashboard/config-file.rst | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index 1170162f30..cda0eeae3f 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -10,18 +10,15 @@ Configuration You can configure the Wazuh dashboard and plugins as follows: -- **Plugins settings**: +- **Wazuh dashboard settings**: You can edit the Wazuh dashboard configuration file. - The custom values are stored in a saved object. They can be managed through: + - ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` for installations from packages. + - ``/usr/share/wazuh-dashboard/config/opensearch_dashoards.yml`` for Docker installations. - - **Dashboard management** > **App Settings**: define the custom values for several settings. - - **Dashboard management** > **Server APIs**: manage the API hosts entries. +- **Plugins settings**: Users with privileges to manage the Wazuh indexer security REST API can manage the plugins settings from the Wazuh dashboard. Wazuh stores the custom values in a saved object. - The users with privilegies to manage the rest API of Wazuh indexer can define the settings or API host entries. - -- **Wazuh dashboard settings**: - - Configuration file of Wazuh dashboard located at ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` for package installations or ``/usr/share/wazuh-dashboard/config/opensearch_dashoards.yml`` for Docker installations. + - **Dashboard management** > **App Settings**: To customize several settings. + - **Dashboard management** > **Server APIs**: To customize API host entries. This section describes all the settings available for each location. From 8ba133bc58c8b4defc6b5090f5585e454e969e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Thu, 14 Mar 2024 16:08:36 +0100 Subject: [PATCH 16/22] remove: references to wazuh.yml --- .../amazon-machine-images/amazon-machine-images.rst | 5 +---- .../deployment-options/virtual-machine/virtual-machine.rst | 6 +----- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/source/deployment-options/amazon-machine-images/amazon-machine-images.rst b/source/deployment-options/amazon-machine-images/amazon-machine-images.rst index a86b7bc6c4..3867567119 100644 --- a/source/deployment-options/amazon-machine-images/amazon-machine-images.rst +++ b/source/deployment-options/amazon-machine-images/amazon-machine-images.rst @@ -94,10 +94,7 @@ All components included in this AMI are configured to work out-of-the-box withou - Wazuh manager: ``/var/ossec/etc/ossec.conf`` - Wazuh indexer: ``/etc/wazuh-indexer/opensearch.yml`` - Filebeat-OSS: ``/etc/filebeat/filebeat.yml`` -- Wazuh dashboard: - - - ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` - - ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` +- Wazuh dashboard: ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` To learn more about configuring Wazuh, see the :doc:`User manual `. diff --git a/source/deployment-options/virtual-machine/virtual-machine.rst b/source/deployment-options/virtual-machine/virtual-machine.rst index 5a5662fa1b..aae88ee24a 100644 --- a/source/deployment-options/virtual-machine/virtual-machine.rst +++ b/source/deployment-options/virtual-machine/virtual-machine.rst @@ -107,11 +107,7 @@ All components included in this virtual image are configured to work out-of-the- - Filebeat-OSS: ``/etc/filebeat/filebeat.yml`` - - Wazuh dashboard: - - - ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` - - - ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` + - Wazuh dashboard: ``/etc/wazuh-dashboard/opensearch_dashboards.yml`` VirtualBox time configuration ----------------------------- From e1b2eff65dc5cad18bcb1eca853b628e5d67ac70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Thu, 14 Mar 2024 16:09:01 +0100 Subject: [PATCH 17/22] fix(wazuh-dashboard): rename reference to configuration file --- source/user-manual/wazuh-dashboard/config-file.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/wazuh-dashboard/config-file.rst b/source/user-manual/wazuh-dashboard/config-file.rst index cda0eeae3f..bc94f95460 100644 --- a/source/user-manual/wazuh-dashboard/config-file.rst +++ b/source/user-manual/wazuh-dashboard/config-file.rst @@ -572,7 +572,7 @@ Set the footer of the PDF reports. To use an empty footer, type a space " " in t Example ------- -This is an example of the wazuh.yml configuration that can be used to load a configuration: +This is an example of the configuration file that can be used to load a configuration: .. code-block:: yaml From bb5482fd814359f060dc26f204fd6e43c80c87aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Thu, 14 Mar 2024 16:10:00 +0100 Subject: [PATCH 18/22] remove(wazuh-dashboard): remove troubleshooting entry because it does not apply --- .../wazuh-dashboard/troubleshooting.rst | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/source/user-manual/wazuh-dashboard/troubleshooting.rst b/source/user-manual/wazuh-dashboard/troubleshooting.rst index 963e0586dd..45cae1ba4f 100644 --- a/source/user-manual/wazuh-dashboard/troubleshooting.rst +++ b/source/user-manual/wazuh-dashboard/troubleshooting.rst @@ -74,23 +74,6 @@ To ensure that Filebeat is correctly configured, run the following command: version: 7.10.2 - -Could not connect to API with id: default: 3003 - Missing param: API USERNAME ------------------------------------------------------------------------------ - -Starting Wazuh 4.0 the Wazuh API username variable changed from ``user`` to ``username``. It's necessary to change the credentials (foo:bar are no longer accepted) as well as the name of the variable in the ``/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml`` configuration file. For example, the configuration can be: - -.. code-block:: console - - hosts: - - production: - url: https://localhost - port: 55000 - username: wazuh-wui - password: wazuh-wui - run_as: false - - "Wazuh API and Wazuh dashboard version mismatch" error is displayed ------------------------------------------------------------------- From 48eca6a47d0c67b74dc2a87c36c5640d9803b82b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Thu, 14 Mar 2024 16:40:38 +0100 Subject: [PATCH 19/22] feat(wazuh-dashboard): add screenshot to check the API connection run_as --- ...uh-dashboard-check-api-connection-run-as.jpg | Bin 0 -> 95412 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg diff --git a/source/images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg b/source/images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7129caf158db260393882830ce4345af18e47fc GIT binary patch literal 95412 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
?Mj&yp{UU%yuiqx#jO*-bvQJG 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 Date: Thu, 14 Mar 2024 16:58:24 +0100 Subject: [PATCH 20/22] feat(wazuh-dashboard): add image to the referentces to check the value of the API connection Run as --- source/user-manual/user-administration/ldap.rst | 10 ++++++++-- .../single-sign-on/administrator/google.rst | 3 +++ .../single-sign-on/administrator/jumpcloud.rst | 3 +++ .../single-sign-on/administrator/keycloak.rst | 3 +++ .../administrator/microsoft-entra-id.rst | 3 +++ .../single-sign-on/administrator/okta.rst | 3 +++ .../single-sign-on/administrator/onelogin.rst | 3 +++ .../single-sign-on/administrator/pingone.rst | 3 +++ .../single-sign-on/read-only/google.rst | 3 +++ .../single-sign-on/read-only/jumpcloud.rst | 3 +++ .../single-sign-on/read-only/keycloak.rst | 3 +++ .../single-sign-on/read-only/microsoft-entra-id.rst | 3 +++ .../single-sign-on/read-only/okta.rst | 3 +++ .../single-sign-on/read-only/onelogin.rst | 3 +++ .../single-sign-on/read-only/pingone.rst | 3 +++ 15 files changed, 50 insertions(+), 2 deletions(-) diff --git a/source/user-manual/user-administration/ldap.rst b/source/user-manual/user-administration/ldap.rst index a9fe8d6875..a73da60448 100644 --- a/source/user-manual/user-administration/ldap.rst +++ b/source/user-manual/user-administration/ldap.rst @@ -233,7 +233,10 @@ Follow these steps to create a new role mapping and grant administrator permissi Done with success SUCC: Expected 1 config types for node {"updated_config_types":["rolesmapping"],"updated_config_size":1,"message":null} is 1 (["rolesmapping"]) due to: null -#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is disabled, proceed to the next step. If **Run as** is enabled, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. @@ -286,8 +289,11 @@ Setup read-only role #. Select the **Mapped users** tab and click **Manage mapping**. #. Under **Backend roles**, assign the name of the read-only role you have in your LDAP server and click on **Map** to confirm the action. In our case, the backend role (CN) is ``readonly``. -#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is disabled, proceed to the next step. If **Run as** is enabled, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click the upper-left menu icon **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/manual/user-administration/ldap/select-roles-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/google.rst b/source/user-manual/user-administration/single-sign-on/administrator/google.rst index 757f7bcd95..2468408332 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/google.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/google.rst @@ -245,6 +245,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst b/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst index 65373f77e6..b3f636daf4 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/jumpcloud.rst @@ -281,6 +281,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst b/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst index c289c2f856..03591cb399 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/keycloak.rst @@ -355,6 +355,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst b/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst index d7339f7bbb..b8f2ada748 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/microsoft-entra-id.rst @@ -278,6 +278,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/okta.rst b/source/user-manual/user-administration/single-sign-on/administrator/okta.rst index 76ac7703ba..f2fac1f28e 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/okta.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/okta.rst @@ -278,6 +278,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst b/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst index da4e88eada..dc97164b09 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/onelogin.rst @@ -279,6 +279,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst b/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst index e685be123f..2074f44355 100644 --- a/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst +++ b/source/user-manual/user-administration/single-sign-on/administrator/pingone.rst @@ -249,6 +249,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/google.rst b/source/user-manual/user-administration/single-sign-on/read-only/google.rst index 866aa0c566..f7b37f037f 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/google.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/google.rst @@ -216,6 +216,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst b/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst index 1251d7621d..d7d9d1f95b 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/jumpcloud.rst @@ -252,6 +252,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst b/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst index ba3f73b059..0334d0a543 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/keycloak.rst @@ -328,6 +328,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst b/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst index 589b633956..c4d68d7b8c 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/microsoft-entra-id.rst @@ -233,6 +233,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/okta.rst b/source/user-manual/user-administration/single-sign-on/read-only/okta.rst index 6f591329ff..e0bdb5f389 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/okta.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/okta.rst @@ -248,6 +248,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst b/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst index 0321a472b5..54ede109ba 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/onelogin.rst @@ -248,6 +248,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif diff --git a/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst b/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst index d7cee26814..4ac3a50a21 100644 --- a/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst +++ b/source/user-manual/user-administration/single-sign-on/read-only/pingone.rst @@ -219,6 +219,9 @@ Wazuh dashboard configuration #. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg + :align: center + #. Click **☰** to open the menu on the Wazuh dashboard, go to **Server management** > **Security**, and then **Roles mapping** to open the page. .. thumbnail:: /images/single-sign-on/Wazuh-role-mapping.gif From d96b81991b4b023144674692a7d265dd2c3be0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Thu, 14 Mar 2024 17:01:17 +0100 Subject: [PATCH 21/22] fix(wazuh-dashboard): undone change related to API connection Run as setting --- source/user-manual/user-administration/ldap.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/user-manual/user-administration/ldap.rst b/source/user-manual/user-administration/ldap.rst index a73da60448..a7ff7ccf58 100644 --- a/source/user-manual/user-administration/ldap.rst +++ b/source/user-manual/user-administration/ldap.rst @@ -233,7 +233,7 @@ Follow these steps to create a new role mapping and grant administrator permissi Done with success SUCC: Expected 1 config types for node {"updated_config_types":["rolesmapping"],"updated_config_size":1,"message":null} is 1 (["rolesmapping"]) due to: null -#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is disabled, proceed to the next step. If **Run as** is enabled, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: +#. Check the value of **Run as** in the API host entry configuration on **Dashboard management** > **Server APIs**. If **Run as** is set to ``false``, proceed to the next step. If **Run as** is set to ``true``, you need to add a role mapping on the Wazuh dashboard. To map the backend role to Wazuh, follow these steps: .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as.jpg :align: center From 9d465bc30380df89113cc255a8bdead2c8129862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20David=20Guti=C3=A9rrez?= Date: Fri, 15 Mar 2024 09:06:48 +0100 Subject: [PATCH 22/22] feat(wazuh-dashboard): add screenshots related to editing or adding an API connection and check the Run as status --- .../offline-installation/step-by-step.rst | 7 +++++++ .../wazuh-dashboard-add-api-connection.jpg | Bin 0 -> 83273 bytes ...d-check-api-connection-run-as-is-enabled.jpg | Bin 0 -> 96022 bytes .../wazuh-dashboard-edit-api-connection.jpg | Bin 0 -> 96469 bytes .../wazuh-dashboard/step-by-step.rst | 6 ++++++ .../user-administration/password-management.rst | 5 ++++- source/user-manual/user-administration/rbac.rst | 12 +++++++++++- 7 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 source/images/wazuh-dashboard/api-connections/wazuh-dashboard-add-api-connection.jpg create mode 100644 source/images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as-is-enabled.jpg create mode 100644 source/images/wazuh-dashboard/api-connections/wazuh-dashboard-edit-api-connection.jpg diff --git a/source/deployment-options/offline-installation/step-by-step.rst b/source/deployment-options/offline-installation/step-by-step.rst index e1d2dfe0dd..8377d29fd2 100644 --- a/source/deployment-options/offline-installation/step-by-step.rst +++ b/source/deployment-options/offline-installation/step-by-step.rst @@ -394,6 +394,9 @@ Installing the Wazuh dashboard #. Go to **Dashboard management** > **Server APIs** to add a new server API connection. Click on **Add API connection** button and fill the form with the following values. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-add-api-connection.jpg + :align: center + - **ID**: ``default`` - **URL**: IP address or hostname of the Wazuh server master node - **Port**: ``55000`` @@ -523,6 +526,10 @@ Select your deployment type and follow the instructions to change the default pa #. On the Wazuh dashboard, go to **Dashboard management** > **Server APIs** to update the API host password. Click on the edit button of the secured server API entry and replace the **Password** field. Then click on the **Apply** button to save. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-edit-api-connection.jpg + :align: center + + Next steps ^^^^^^^^^^ diff --git a/source/images/wazuh-dashboard/api-connections/wazuh-dashboard-add-api-connection.jpg b/source/images/wazuh-dashboard/api-connections/wazuh-dashboard-add-api-connection.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8566eb00690f21395d292fb41d081860a8f7395a GIT binary patch literal 83273 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

NQ#T_P;Zg<&7UIg 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 literal 0 HcmV?d00001 diff --git a/source/images/wazuh-dashboard/api-connections/wazuh-dashboard-edit-api-connection.jpg b/source/images/wazuh-dashboard/api-connections/wazuh-dashboard-edit-api-connection.jpg new file mode 100644 index 0000000000000000000000000000000000000000..20f0900e616adea5fd34b946b28b103e086c1a42 GIT binary patch literal 96469 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

-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

dqP?OcBpiN2p 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 **Server APIs** to add a new server API connection. Click on **Add API connection** button and fill the form with the following values. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-add-api-connection.jpg + :align: center + - **ID**: ``default`` - **URL**: IP address or hostname of the Wazuh server master node - **Port**: ``55000`` @@ -211,6 +214,9 @@ Select your deployment type and follow the instructions to change the default pa #. On Wazuh dashboard, go to **Dashboard management** > **Server APIs** to update the API host password. Click on the edit button of the secured server API entry and replace the **Password** field. Then, click on the **Apply** button to save. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-edit-api-connection.jpg + :align: center + Next steps ---------- diff --git a/source/user-manual/user-administration/password-management.rst b/source/user-manual/user-administration/password-management.rst index 053708b238..96bf96ba93 100644 --- a/source/user-manual/user-administration/password-management.rst +++ b/source/user-manual/user-administration/password-management.rst @@ -237,4 +237,7 @@ Follow the instructions below to change the passwords for all the Wazuh indexer .. include:: /_templates/common/restart_dashboard.rst -#. Go to **Dashboard management** > **Server APIs** to update the password of the API host entry with the new `wazuh-wui` password generated in the second step. Click on the edit button of the related API host. Change the **Password** and then click on **Apply** to save the changes. \ No newline at end of file +#. Go to **Dashboard management** > **Server APIs** to update the password of the API host entry with the new `wazuh-wui` password generated in the second step. Click on the edit button of the related API host. Change the **Password** and then click on **Apply** to save the changes. + + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-edit-api-connection.jpg + :align: center \ No newline at end of file diff --git a/source/user-manual/user-administration/rbac.rst b/source/user-manual/user-administration/rbac.rst index 2b69c88b61..f8e750e1af 100644 --- a/source/user-manual/user-administration/rbac.rst +++ b/source/user-manual/user-administration/rbac.rst @@ -71,6 +71,9 @@ Follow these steps to create an internal user, create a new role mapping, and gi For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as-is-enabled.jpg + :align: center + Creating and setting a Wazuh read-only user ------------------------------------------- @@ -128,6 +131,8 @@ Follow these steps to create an internal user, create a new role mapping, and gi For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as-is-enabled.jpg + :align: center Creating an internal user and mapping it to Wazuh ------------------------------------------------- @@ -174,6 +179,8 @@ Follow these steps to create an internal user and map it to a role of your choic For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as-is-enabled.jpg + :align: center .. _wazuh-rbac-use-case-agents-group: @@ -345,7 +352,10 @@ To map the user with Wazuh, follow these steps: #. Click **Save role mapping** to finish the action. - For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + For the role mapping to take effect, make sure that **Run as** is set to ``true`` in the API host entry configuration on **Dashboard management** > **Server APIs**. Restart the Wazuh dashboard service and clear your browser cache and cookies. + + .. image:: /images/wazuh-dashboard/api-connections/wazuh-dashboard-check-api-connection-run-as-is-enabled.jpg + :align: center You have now created a new internal user and mapped it to manage a Wazuh agents' group. Authenticate with the new user and open the Wazuh dashboard, see that only ``Team_A`` agents' alerts and information are displayed.