mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-11-03 21:43:15 +00:00 
			
		
		
		
	Compare commits
	
		
			135 Commits
		
	
	
		
			2577-test-
			...
			2693-delet
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					ade0b30f2e | ||
| 
						 | 
					731fb5a899 | ||
| 
						 | 
					b2de947ee9 | ||
| 
						 | 
					0c8a36fe06 | ||
| 
						 | 
					4c7ee8abac | ||
| 
						 | 
					17d61960d5 | ||
| 
						 | 
					efddce0e3e | ||
| 
						 | 
					b400409314 | ||
| 
						 | 
					05fcfd5652 | ||
| 
						 | 
					0e1fa7f1c0 | ||
| 
						 | 
					77323aaaee | ||
| 
						 | 
					7334111f1c | ||
| 
						 | 
					782d2cfa67 | ||
| 
						 | 
					84e13a51c1 | ||
| 
						 | 
					3835b4c6db | ||
| 
						 | 
					44a7f8cedc | ||
| 
						 | 
					57c6ac12d0 | ||
| 
						 | 
					2b0575b1f9 | ||
| 
						 | 
					ecf80f9122 | ||
| 
						 | 
					e22d4a9d40 | ||
| 
						 | 
					3186bc7711 | ||
| 
						 | 
					a5f0113c75 | ||
| 
						 | 
					d4371324c9 | ||
| 
						 | 
					9eb188fc88 | ||
| 
						 | 
					8f5aa86dff | ||
| 
						 | 
					9529953842 | ||
| 
						 | 
					9c58a48684 | ||
| 
						 | 
					a42a354c68 | ||
| 
						 | 
					7a3dce5014 | ||
| 
						 | 
					2d39e6a06b | ||
| 
						 | 
					927fcfc3b8 | ||
| 
						 | 
					58f5dadef6 | ||
| 
						 | 
					75e3eb0b7e | ||
| 
						 | 
					0163675682 | ||
| 
						 | 
					6ef7e3acaf | ||
| 
						 | 
					a9c6beaecd | ||
| 
						 | 
					cccb4da130 | ||
| 
						 | 
					434f99b182 | ||
| 
						 | 
					ac64909b22 | ||
| 
						 | 
					63eec35a3c | ||
| 
						 | 
					ac126173e3 | ||
| 
						 | 
					5054f26b99 | ||
| 
						 | 
					3cf3c541d0 | ||
| 
						 | 
					6269a55c9d | ||
| 
						 | 
					8943e9ad77 | ||
| 
						 | 
					649a312d3a | ||
| 
						 | 
					9634a2b4af | ||
| 
						 | 
					2dd0f3b7d2 | ||
| 
						 | 
					7bc245ef66 | ||
| 
						 | 
					3748d61d5f | ||
| 
						 | 
					b2420a5946 | ||
| 
						 | 
					7dc5f82bac | ||
| 
						 | 
					2fdc514bb0 | ||
| 
						 | 
					4ff7c4f5b0 | ||
| 
						 | 
					7a7443b717 | ||
| 
						 | 
					4ce722291b | ||
| 
						 | 
					ffe384be91 | ||
| 
						 | 
					963ccf7671 | ||
| 
						 | 
					55f4de8f06 | ||
| 
						 | 
					e4ce58c0c9 | ||
| 
						 | 
					ebe230fccb | ||
| 
						 | 
					bcb46d0926 | ||
| 
						 | 
					c027b3efba | ||
| 
						 | 
					7bc871bde9 | ||
| 
						 | 
					43d8f2b29d | ||
| 
						 | 
					bc4d15d1c2 | ||
| 
						 | 
					ee599583eb | ||
| 
						 | 
					14caf8058d | ||
| 
						 | 
					b86ea0d6bc | ||
| 
						 | 
					d122b702f1 | ||
| 
						 | 
					fde6c509d7 | ||
| 
						 | 
					fb5b4488de | ||
| 
						 | 
					8d0f306801 | ||
| 
						 | 
					831d759cd9 | ||
| 
						 | 
					2811883877 | ||
| 
						 | 
					82a967c0df | ||
| 
						 | 
					29190cce99 | ||
| 
						 | 
					beef440c3a | ||
| 
						 | 
					3243306b07 | ||
| 
						 | 
					81208b9abe | ||
| 
						 | 
					f53f1930aa | ||
| 
						 | 
					85709013bc | ||
| 
						 | 
					c94263eacd | ||
| 
						 | 
					5d5fe18d82 | ||
| 
						 | 
					339500631d | ||
| 
						 | 
					1057715f3d | ||
| 
						 | 
					76e3c62b9a | ||
| 
						 | 
					5a1daaf4ce | ||
| 
						 | 
					0222bcc9f8 | ||
| 
						 | 
					23e8982c45 | ||
| 
						 | 
					cb6c3de364 | ||
| 
						 | 
					89184e77ab | ||
| 
						 | 
					191ef58a9b | ||
| 
						 | 
					ac7121e411 | ||
| 
						 | 
					1146acb3a4 | ||
| 
						 | 
					a8582fdd4b | ||
| 
						 | 
					7a13fa72b3 | ||
| 
						 | 
					dc74728c42 | ||
| 
						 | 
					7fdcb0a320 | ||
| 
						 | 
					5c99764d2c | ||
| 
						 | 
					28f7be1f7d | ||
| 
						 | 
					2d2d3ec7ca | ||
| 
						 | 
					9cc135d05b | ||
| 
						 | 
					60e43e2737 | ||
| 
						 | 
					92bbd3395f | ||
| 
						 | 
					49594251a6 | ||
| 
						 | 
					8cb8437d7f | ||
| 
						 | 
					5bbce9e403 | ||
| 
						 | 
					8306a49967 | ||
| 
						 | 
					1ae575d56f | ||
| 
						 | 
					fb65400657 | ||
| 
						 | 
					283ca123e3 | ||
| 
						 | 
					16202f2f21 | ||
| 
						 | 
					b99d946282 | ||
| 
						 | 
					a5eab952aa | ||
| 
						 | 
					a5d961040a | ||
| 
						 | 
					bca60dd0b6 | ||
| 
						 | 
					1bfc4ff4c2 | ||
| 
						 | 
					f5473f0004 | ||
| 
						 | 
					ba4e72a2e0 | ||
| 
						 | 
					b374f4ba2e | ||
| 
						 | 
					e211c97f59 | ||
| 
						 | 
					fb4a062f5a | ||
| 
						 | 
					e2a2533501 | ||
| 
						 | 
					c6369f9463 | ||
| 
						 | 
					d5e4917414 | ||
| 
						 | 
					52570181ba | ||
| 
						 | 
					04f386e050 | ||
| 
						 | 
					90eb7a5af8 | ||
| 
						 | 
					aa46ce2079 | ||
| 
						 | 
					947f87b9ad | ||
| 
						 | 
					b326241400 | ||
| 
						 | 
					3593e5ed8c | ||
| 
						 | 
					e32f46a6d1 | ||
| 
						 | 
					393956be6a | 
							
								
								
									
										6
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								.env
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
WAZUH_VERSION=4.13.0
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.13.0
 | 
			
		||||
WAZUH_VERSION=4.14.0
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.14.0
 | 
			
		||||
WAZUH_TAG_REVISION=1
 | 
			
		||||
FILEBEAT_TEMPLATE_BRANCH=4.13.0
 | 
			
		||||
FILEBEAT_TEMPLATE_BRANCH=v4.14.0
 | 
			
		||||
WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz
 | 
			
		||||
WAZUH_UI_REVISION=1
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							@@ -56,7 +56,7 @@ package:
 | 
			
		||||
  wazuh-manager:
 | 
			
		||||
    installed: true
 | 
			
		||||
    versions:
 | 
			
		||||
    - 4.13.0
 | 
			
		||||
    - 4.14.0
 | 
			
		||||
port:
 | 
			
		||||
  tcp:1514:
 | 
			
		||||
    listening: true
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ on:
 | 
			
		||||
    inputs:
 | 
			
		||||
      image_tag:
 | 
			
		||||
        description: 'Docker image tag'
 | 
			
		||||
        default: '4.13.0'
 | 
			
		||||
        default: '4.14.0'
 | 
			
		||||
        required: true
 | 
			
		||||
      docker_reference:
 | 
			
		||||
        description: 'wazuh-docker reference'
 | 
			
		||||
@@ -41,7 +41,7 @@ on:
 | 
			
		||||
    inputs:
 | 
			
		||||
      image_tag:
 | 
			
		||||
        description: 'Docker image tag'
 | 
			
		||||
        default: '4.13.0'
 | 
			
		||||
        default: '4.14.0'
 | 
			
		||||
        required: true
 | 
			
		||||
        type: string
 | 
			
		||||
      docker_reference:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							@@ -192,7 +192,7 @@ jobs:
 | 
			
		||||
      run: sed -i "s/<WAZUH_MANAGER_IP>/$(ip addr show docker0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)/g" wazuh-agent/docker-compose.yml
 | 
			
		||||
 | 
			
		||||
    - name: Start Wazuh agent
 | 
			
		||||
      run: docker-compose -f wazuh-agent/docker-compose.yml up -d
 | 
			
		||||
      run: docker compose -f wazuh-agent/docker-compose.yml up -d
 | 
			
		||||
 | 
			
		||||
    - name: Check Wazuh agent enrollment
 | 
			
		||||
      run: |
 | 
			
		||||
@@ -355,7 +355,7 @@ jobs:
 | 
			
		||||
      run: sed -i "s/<WAZUH_MANAGER_IP>/$(ip addr show docker0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)/g" wazuh-agent/docker-compose.yml
 | 
			
		||||
 | 
			
		||||
    - name: Start Wazuh agent
 | 
			
		||||
      run: docker-compose -f wazuh-agent/docker-compose.yml up -d
 | 
			
		||||
      run: docker compose -f wazuh-agent/docker-compose.yml up -d
 | 
			
		||||
 | 
			
		||||
    - name: Check Wazuh agent enrollment
 | 
			
		||||
      run: |
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										50
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -1,10 +1,57 @@
 | 
			
		||||
# Change Log
 | 
			
		||||
All notable changes to this project will be documented in this file.
 | 
			
		||||
 | 
			
		||||
## [4.14.0]
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
 | 
			
		||||
- Change filebeat install method ([#2020](https://github.com/wazuh/wazuh-docker/pull/2020))
 | 
			
		||||
- Remove dashboard chat setting ([#2021](https://github.com/wazuh/wazuh-docker/pull/2021))
 | 
			
		||||
- Rollback data source setting ([#1999](https://github.com/wazuh/wazuh-docker/pull/1999))
 | 
			
		||||
- Dashboard settings added ([#1998](https://github.com/wazuh/wazuh-docker/pull/1998))
 | 
			
		||||
- Add filebeat config file in the PERMANENT_DATA_EXCP list ([#1898](https://github.com/wazuh/wazuh-docker/pull/1898))
 | 
			
		||||
- Change validation of existing certs tool in S3 buckets ([#1880](https://github.com/wazuh/wazuh-docker/pull/1880))
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
 | 
			
		||||
- Change Wazuh indexer directory owner ([#2029](https://github.com/wazuh/wazuh-docker/pull/2029))
 | 
			
		||||
- Double the amount of space consumed in Wazuh Indexer ([#1953](https://github.com/wazuh/wazuh-docker/pull/1953))
 | 
			
		||||
- Fix config directory for opensearch_security plugin work ([#1951](https://github.com/wazuh/wazuh-docker/pull/1951))
 | 
			
		||||
- Update Dockerfile to copy opensearch-security files ([#1928](https://github.com/wazuh/wazuh-docker/pull/1928))
 | 
			
		||||
 | 
			
		||||
### Deleted
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
 | 
			
		||||
## [4.13.1]
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
 | 
			
		||||
### Deleted
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
 | 
			
		||||
## [4.13.0]
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Add opensearch_dashboard.yml parameters. ([#1985](https://github.com/wazuh/wazuh-docker/pull/1985))
 | 
			
		||||
- Set right ownership for malicious-ioc files on container start ([#1926](https://github.com/wazuh/wazuh-docker/pull/1926))
 | 
			
		||||
- Delete services statement in wazuh agent deployment. ([#1925](https://github.com/wazuh/wazuh-docker/pull/1925))
 | 
			
		||||
- Add permanent_data exceptions. ([#1890](https://github.com/wazuh/wazuh-docker/pull/1890))
 | 
			
		||||
- Integrate bumper script via GitHub action. ([#1863](https://github.com/wazuh/wazuh-docker/pull/1863))
 | 
			
		||||
- Add missing malicious-ioc ruleset lists ([#1870](https://github.com/wazuh/wazuh-docker/pull/1870))
 | 
			
		||||
@@ -16,11 +63,12 @@ All notable changes to this project will be documented in this file.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
 | 
			
		||||
- Syscollector configuration change ([#1994](https://github.com/wazuh/wazuh-docker/pull/1994))
 | 
			
		||||
- Modify wazuh-keystore use ([#1750](https://github.com/wazuh/wazuh-docker/pull/1750)) \- (wazuh-keystore)
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
 | 
			
		||||
- None
 | 
			
		||||
- Add wazuh-template.json into permanent data exception ([#1968](https://github.com/wazuh/wazuh-docker/pull/1968))
 | 
			
		||||
 | 
			
		||||
### Deleted
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ The `wazuh/wazuh-docker` repository provides resources to deploy the Wazuh cyber
 | 
			
		||||
## Branch Convention
 | 
			
		||||
 | 
			
		||||
- `main`: Developing and testing of new features.
 | 
			
		||||
- `X.Y.Z`: Version-specific branches (e.g., `4.13.0`, `4.12.0`, etc.).
 | 
			
		||||
- `X.Y.Z`: Version-specific branches (e.g., `4.14.0`, `4.13.0`, etc.).
 | 
			
		||||
 | 
			
		||||
## Documentation
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
    "version": "4.13.0",
 | 
			
		||||
    "stage": "alpha1"
 | 
			
		||||
    "version": "4.14.0",
 | 
			
		||||
    "stage": "rc2"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im
 | 
			
		||||
The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ build-docker-images/build-images.sh -v 4.13.0
 | 
			
		||||
$ build-docker-images/build-images.sh -v 4.14.0
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To get all the available script options use the -h or --help option:
 | 
			
		||||
@@ -26,7 +26,7 @@ Usage: build-docker-images/build-images.sh [OPTIONS]
 | 
			
		||||
    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default.
 | 
			
		||||
    -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default 0.4.
 | 
			
		||||
    -r, --revision <rev>         [Optional] Package revision. By default 1
 | 
			
		||||
    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 4.13.0.
 | 
			
		||||
    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 4.14.0.
 | 
			
		||||
    -h, --help                   Show this help.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.13.0
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.14.0
 | 
			
		||||
WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
 | 
			
		||||
WAZUH_TAG_REVISION=1
 | 
			
		||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
 | 
			
		||||
@@ -12,7 +12,7 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
 | 
			
		||||
# License (version 2) as published by the FSF - Free Software
 | 
			
		||||
# Foundation.
 | 
			
		||||
 | 
			
		||||
WAZUH_IMAGE_VERSION="4.13.0"
 | 
			
		||||
WAZUH_IMAGE_VERSION="4.14.0"
 | 
			
		||||
WAZUH_TAG_REVISION="1"
 | 
			
		||||
WAZUH_DEV_STAGE=""
 | 
			
		||||
FILEBEAT_MODULE_VERSION="0.4"
 | 
			
		||||
@@ -76,7 +76,7 @@ help() {
 | 
			
		||||
    echo
 | 
			
		||||
    echo "Usage: $0 [OPTIONS]"
 | 
			
		||||
    echo
 | 
			
		||||
    echo "    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default."
 | 
			
		||||
    echo "    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc2 or beta1, not used by default."
 | 
			
		||||
    echo "    -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default ${FILEBEAT_MODULE_VERSION}."
 | 
			
		||||
    echo "    -r, --revision <rev>         [Optional] Package revision. By default ${WAZUH_TAG_REVISION}"
 | 
			
		||||
    echo "    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, ${WAZUH_IMAGE_VERSION}."
 | 
			
		||||
 
 | 
			
		||||
@@ -20,13 +20,11 @@ RUN yum install wazuh-dashboard-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
 | 
			
		||||
RUN mkdir -p $INSTALL_DIR/data/wazuh && chmod -R 775 $INSTALL_DIR/data/wazuh
 | 
			
		||||
RUN mkdir -p $INSTALL_DIR/data/wazuh/config && chmod -R 775 $INSTALL_DIR/data/wazuh/config
 | 
			
		||||
RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs
 | 
			
		||||
COPY config/wazuh.yml $INSTALL_DIR/data/wazuh/config/
 | 
			
		||||
RUN setcap 'cap_net_bind_service=-ep' /usr/share/wazuh-dashboard/node/bin/node
 | 
			
		||||
RUN setcap 'cap_net_bind_service=-ep' /usr/share/wazuh-dashboard/node/fallback/bin/node
 | 
			
		||||
 | 
			
		||||
# Generate certificates
 | 
			
		||||
COPY config/config.sh .
 | 
			
		||||
COPY config/config.yml /
 | 
			
		||||
RUN bash config.sh
 | 
			
		||||
 | 
			
		||||
################################################################################
 | 
			
		||||
@@ -42,10 +40,8 @@ FROM amazonlinux:2023
 | 
			
		||||
ENV USER="wazuh-dashboard" \
 | 
			
		||||
    GROUP="wazuh-dashboard" \
 | 
			
		||||
    NAME="wazuh-dashboard" \
 | 
			
		||||
    INSTALL_DIR="/usr/share/wazuh-dashboard"
 | 
			
		||||
 | 
			
		||||
# Set Wazuh app variables
 | 
			
		||||
ENV PATTERN="" \
 | 
			
		||||
    INSTALL_DIR="/usr/share/wazuh-dashboard" \
 | 
			
		||||
    PATTERN="" \
 | 
			
		||||
    CHECKS_PATTERN="" \
 | 
			
		||||
    CHECKS_TEMPLATE="" \
 | 
			
		||||
    CHECKS_API="" \
 | 
			
		||||
@@ -59,34 +55,32 @@ ENV PATTERN="" \
 | 
			
		||||
    WAZUH_MONITORING_SHARDS="" \
 | 
			
		||||
    WAZUH_MONITORING_REPLICAS=""
 | 
			
		||||
 | 
			
		||||
# Update and install dependencies
 | 
			
		||||
RUN yum install shadow-utils -y
 | 
			
		||||
# Copy and set permissions to scripts
 | 
			
		||||
COPY config/entrypoint.sh /
 | 
			
		||||
COPY config/wazuh_app_config.sh /
 | 
			
		||||
 | 
			
		||||
# Create wazuh-dashboard user and group
 | 
			
		||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
 | 
			
		||||
RUN useradd --system \
 | 
			
		||||
# Update and install dependencies
 | 
			
		||||
RUN yum install shadow-utils -y && \
 | 
			
		||||
    yum clean all && \
 | 
			
		||||
    getent group $GROUP || groupadd -r -g 1000 $GROUP && \
 | 
			
		||||
    useradd --system \
 | 
			
		||||
            --uid 1000 \
 | 
			
		||||
            --no-create-home \
 | 
			
		||||
            --home-dir $INSTALL_DIR \
 | 
			
		||||
            --gid $GROUP \
 | 
			
		||||
            --shell /sbin/nologin \
 | 
			
		||||
            --comment "$USER user" \
 | 
			
		||||
            $USER
 | 
			
		||||
 | 
			
		||||
# Copy and set permissions to scripts
 | 
			
		||||
COPY config/entrypoint.sh /
 | 
			
		||||
COPY config/wazuh_app_config.sh /
 | 
			
		||||
RUN chmod 700 /entrypoint.sh
 | 
			
		||||
RUN chmod 700 /wazuh_app_config.sh
 | 
			
		||||
RUN chown 1000:1000 /*.sh
 | 
			
		||||
            $USER && \
 | 
			
		||||
    chmod 700 /entrypoint.sh && \
 | 
			
		||||
    chmod 700 /wazuh_app_config.sh && \
 | 
			
		||||
    mkdir -p $INSTALL_DIR && \
 | 
			
		||||
    chown 1000:1000 $INSTALL_DIR && \
 | 
			
		||||
    chown 1000:1000 /*.sh && \
 | 
			
		||||
    mkdir -p /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
			
		||||
 | 
			
		||||
# Copy Install dir from builder to current image
 | 
			
		||||
COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR
 | 
			
		||||
 | 
			
		||||
# Create custom directory
 | 
			
		||||
RUN mkdir -p /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
			
		||||
RUN chown 1000:1000 /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
 | 
			
		||||
 | 
			
		||||
# Set workdir and user
 | 
			
		||||
WORKDIR $INSTALL_DIR
 | 
			
		||||
USER wazuh-dashboard
 | 
			
		||||
 
 | 
			
		||||
@@ -9,34 +9,71 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config
 | 
			
		||||
 | 
			
		||||
## Variables
 | 
			
		||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.13/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.13/
 | 
			
		||||
CERT_CONFIG_FILE=config.yml
 | 
			
		||||
CERT_TOOL_VERSION="${WAZUH_VERSION%.*}"
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/$CERT_TOOL_VERSION/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/$CERT_TOOL_VERSION/
 | 
			
		||||
 | 
			
		||||
## Check if the cert tool exists in S3 buckets
 | 
			
		||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
CERT_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
download_package() {
 | 
			
		||||
    local url=$1
 | 
			
		||||
    local package=$2
 | 
			
		||||
    local output=$2
 | 
			
		||||
    echo "Checking $url$package ..."
 | 
			
		||||
    if curl -fsL "$url$package" -o "$output"; then
 | 
			
		||||
        echo "Downloaded $package from $url"
 | 
			
		||||
        return 0
 | 
			
		||||
    else
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
## If cert tool exists in some bucket, download it, if not exit 1
 | 
			
		||||
if [ "$CERT_TOOL_PACKAGES" = "200" ]; then
 | 
			
		||||
  curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL
 | 
			
		||||
  echo "Cert tool exists in Packages bucket"
 | 
			
		||||
elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then
 | 
			
		||||
  curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL
 | 
			
		||||
  echo "Cert tool exists in Packages-dev bucket"
 | 
			
		||||
# Download the tool to create the certificates
 | 
			
		||||
echo "Downloading the tool to create the certificates..."
 | 
			
		||||
# Try first the prod URL, if it fails try the dev URL
 | 
			
		||||
if download_package "$PACKAGES_URL" "$CERT_TOOL"; then
 | 
			
		||||
    :
 | 
			
		||||
elif download_package "$PACKAGES_DEV_URL" "$CERT_TOOL"; then
 | 
			
		||||
    :
 | 
			
		||||
else
 | 
			
		||||
  echo "Cert tool does not exist in any bucket"
 | 
			
		||||
  exit 1
 | 
			
		||||
    echo "The tool to create the certificates does not exist in any bucket"
 | 
			
		||||
    echo "ERROR: certificates were not created"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
 | 
			
		||||
# Download the config file for the certificate tool
 | 
			
		||||
echo "Downloading the config file for the certificate tool..."
 | 
			
		||||
# Try first the prod URL, if it fails try the dev URL
 | 
			
		||||
if download_package "$PACKAGES_URL" "$CERT_CONFIG_FILE"; then
 | 
			
		||||
    :
 | 
			
		||||
elif download_package "$PACKAGES_DEV_URL" "$CERT_CONFIG_FILE"; then
 | 
			
		||||
    :
 | 
			
		||||
else
 | 
			
		||||
    echo "The config file for the certificate tool does not exist in any bucket"
 | 
			
		||||
    echo "ERROR: certificates were not created"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Modify the config file to set the IP to localhost
 | 
			
		||||
sed -i 's/  ip:.*/  ip: "127.0.0.1"/' $CERT_CONFIG_FILE
 | 
			
		||||
 | 
			
		||||
chmod 700 "$CERT_CONFIG_FILE"
 | 
			
		||||
# Create the certificates
 | 
			
		||||
chmod 755 "$CERT_TOOL" && bash "$CERT_TOOL" -A
 | 
			
		||||
 | 
			
		||||
# Create certs directory
 | 
			
		||||
mkdir -p ${CONFIG_DIR}/certs
 | 
			
		||||
 | 
			
		||||
# Copy Wazuh dashboard certs to install config dir
 | 
			
		||||
cp /wazuh-certificates/demo.dashboard.pem ${CONFIG_DIR}/certs/dashboard.pem
 | 
			
		||||
cp /wazuh-certificates/demo.dashboard-key.pem ${CONFIG_DIR}/certs/dashboard-key.pem
 | 
			
		||||
cp /wazuh-certificates/root-ca.pem ${CONFIG_DIR}/certs/root-ca.pem
 | 
			
		||||
mv /etc/wazuh-dashboard/* ${CONFIG_DIR}/
 | 
			
		||||
cp -pr /wazuh-certificates/dashboard.pem ${CONFIG_DIR}/certs/dashboard.pem
 | 
			
		||||
cp -pr /wazuh-certificates/dashboard-key.pem ${CONFIG_DIR}/certs/dashboard-key.pem
 | 
			
		||||
cp -pr /wazuh-certificates/root-ca.key ${CONFIG_DIR}/certs/root-ca.key
 | 
			
		||||
cp -pr /wazuh-certificates/root-ca.pem ${CONFIG_DIR}/certs/root-ca.pem
 | 
			
		||||
cp -pr /wazuh-certificates/admin.pem ${CONFIG_DIR}/certs/admin.pem
 | 
			
		||||
cp -pr /wazuh-certificates/admin-key.pem ${CONFIG_DIR}/certs/admin-key.pem
 | 
			
		||||
 | 
			
		||||
# Modify opensearch.yml config paths
 | 
			
		||||
sed -i "s|/etc/wazuh-dashboard|${CONFIG_DIR}|g" ${CONFIG_DIR}/opensearch_dashboards.yml
 | 
			
		||||
 | 
			
		||||
chmod -R 500 ${CONFIG_DIR}/certs
 | 
			
		||||
chmod -R 400 ${CONFIG_DIR}/certs/*
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
nodes:
 | 
			
		||||
  # Wazuh dashboard server nodes
 | 
			
		||||
  dashboard:
 | 
			
		||||
    - name: demo.dashboard
 | 
			
		||||
      ip: demo.dashboard
 | 
			
		||||
@@ -1,155 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
#
 | 
			
		||||
# Wazuh app - App configuration file
 | 
			
		||||
# Copyright (C) 2017, Wazuh Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# Find more information about this on the LICENSE file.
 | 
			
		||||
#
 | 
			
		||||
# ======================== Wazuh app configuration file ========================
 | 
			
		||||
#
 | 
			
		||||
# Please check the documentation for more information on configuration options:
 | 
			
		||||
# https://documentation.wazuh.com/current/installation-guide/index.html
 | 
			
		||||
#
 | 
			
		||||
# Also, you can check our repository:
 | 
			
		||||
# https://github.com/wazuh/wazuh-dashboard-plugins
 | 
			
		||||
#
 | 
			
		||||
# ------------------------------- Index patterns -------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Default index pattern to use.
 | 
			
		||||
#pattern: wazuh-alerts-*
 | 
			
		||||
#
 | 
			
		||||
# ----------------------------------- Checks -----------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Defines which checks must to be consider by the healthcheck
 | 
			
		||||
# step once the Wazuh app starts. Values must to be true or false.
 | 
			
		||||
#checks.pattern : true
 | 
			
		||||
#checks.template: true
 | 
			
		||||
#checks.api     : true
 | 
			
		||||
#checks.setup   : true
 | 
			
		||||
#checks.metaFields: true
 | 
			
		||||
#
 | 
			
		||||
# --------------------------------- Extensions ---------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Defines which extensions should be activated when you add a new API entry.
 | 
			
		||||
# You can change them after Wazuh app starts.
 | 
			
		||||
# Values must to be true or false.
 | 
			
		||||
#extensions.pci       : true
 | 
			
		||||
#extensions.gdpr      : true
 | 
			
		||||
#extensions.hipaa     : true
 | 
			
		||||
#extensions.nist      : true
 | 
			
		||||
#extensions.tsc       : true
 | 
			
		||||
#extensions.audit     : true
 | 
			
		||||
#extensions.oscap     : false
 | 
			
		||||
#extensions.ciscat    : false
 | 
			
		||||
#extensions.aws       : false
 | 
			
		||||
#extensions.gcp       : false
 | 
			
		||||
#extensions.virustotal: false
 | 
			
		||||
#extensions.osquery   : false
 | 
			
		||||
#extensions.docker    : false
 | 
			
		||||
#
 | 
			
		||||
# ---------------------------------- Time out ----------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Defines maximum timeout to be used on the Wazuh app requests.
 | 
			
		||||
# It will be ignored if it is bellow 1500.
 | 
			
		||||
# It means milliseconds before we consider a request as failed.
 | 
			
		||||
# Default: 20000
 | 
			
		||||
#timeout: 20000
 | 
			
		||||
#
 | 
			
		||||
# -------------------------------- API selector --------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Defines if the user is allowed to change the selected
 | 
			
		||||
# API directly from the Wazuh app top menu.
 | 
			
		||||
# Default: true
 | 
			
		||||
#api.selector: true
 | 
			
		||||
#
 | 
			
		||||
# --------------------------- Index pattern selector ---------------------------
 | 
			
		||||
#
 | 
			
		||||
# Defines if the user is allowed to change the selected
 | 
			
		||||
# index pattern directly from the Wazuh app top menu.
 | 
			
		||||
# Default: true
 | 
			
		||||
#ip.selector: true
 | 
			
		||||
#
 | 
			
		||||
# List of index patterns to be ignored
 | 
			
		||||
#ip.ignore: []
 | 
			
		||||
#
 | 
			
		||||
# ------------------------------ wazuh-monitoring ------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Custom setting to enable/disable wazuh-monitoring indices.
 | 
			
		||||
# Values: true, false, worker
 | 
			
		||||
# If worker is given as value, the app will show the Agents status
 | 
			
		||||
# visualization but won't insert data on wazuh-monitoring indices.
 | 
			
		||||
# Default: true
 | 
			
		||||
#wazuh.monitoring.enabled: true
 | 
			
		||||
#
 | 
			
		||||
# Custom setting to set the frequency for wazuh-monitoring indices cron task.
 | 
			
		||||
# Default: 900 (s)
 | 
			
		||||
#wazuh.monitoring.frequency: 900
 | 
			
		||||
#
 | 
			
		||||
# Configure wazuh-monitoring-* indices shards and replicas.
 | 
			
		||||
#wazuh.monitoring.shards: 2
 | 
			
		||||
#wazuh.monitoring.replicas: 0
 | 
			
		||||
#
 | 
			
		||||
# Configure wazuh-monitoring-* indices custom creation interval.
 | 
			
		||||
# Values: h (hourly), d (daily), w (weekly), m (monthly)
 | 
			
		||||
# Default: d
 | 
			
		||||
#wazuh.monitoring.creation: d
 | 
			
		||||
#
 | 
			
		||||
# Default index pattern to use for Wazuh monitoring
 | 
			
		||||
#wazuh.monitoring.pattern: wazuh-monitoring-*
 | 
			
		||||
#
 | 
			
		||||
# --------------------------------- wazuh-cron ----------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Customize the index prefix of predefined jobs
 | 
			
		||||
# This change is not retroactive, if you change it new indexes will be created
 | 
			
		||||
# cron.prefix: test
 | 
			
		||||
#
 | 
			
		||||
# ------------------------------ wazuh-statistics -------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Custom setting to enable/disable statistics tasks.
 | 
			
		||||
#cron.statistics.status: true
 | 
			
		||||
#
 | 
			
		||||
# Enter the ID of the APIs you want to save data from, leave this empty to run
 | 
			
		||||
# the task on all configured APIs
 | 
			
		||||
#cron.statistics.apis: []
 | 
			
		||||
#
 | 
			
		||||
# Define the frequency of task execution using cron schedule expressions
 | 
			
		||||
#cron.statistics.interval: 0 0 * * * *
 | 
			
		||||
#
 | 
			
		||||
# Define the name of the index in which the documents are to be saved.
 | 
			
		||||
#cron.statistics.index.name: statistics
 | 
			
		||||
#
 | 
			
		||||
# Define the interval in which the index will be created
 | 
			
		||||
#cron.statistics.index.creation: w
 | 
			
		||||
#
 | 
			
		||||
# ------------------------------- App privileges --------------------------------
 | 
			
		||||
#admin: true
 | 
			
		||||
#
 | 
			
		||||
# ---------------------------- Hide manager alerts ------------------------------
 | 
			
		||||
# Hide the alerts of the manager in all dashboards and discover
 | 
			
		||||
#hideManagerAlerts: false
 | 
			
		||||
#
 | 
			
		||||
# ------------------------------- App logging level -----------------------------
 | 
			
		||||
# Set the logging level for the Wazuh App log files.
 | 
			
		||||
# Default value: info
 | 
			
		||||
# Allowed values: info, debug
 | 
			
		||||
#logs.level: info
 | 
			
		||||
#
 | 
			
		||||
# -------------------------------- Enrollment DNS -------------------------------
 | 
			
		||||
# Set the variable WAZUH_REGISTRATION_SERVER in agents deployment.
 | 
			
		||||
# Default value: ''
 | 
			
		||||
#enrollment.dns: ''
 | 
			
		||||
#
 | 
			
		||||
#-------------------------------- API entries -----------------------------------
 | 
			
		||||
#The following configuration is the default structure to define an API entry.
 | 
			
		||||
#
 | 
			
		||||
#hosts:
 | 
			
		||||
#  - <id>:
 | 
			
		||||
#     url: http(s)://<url>
 | 
			
		||||
#     port: <port>
 | 
			
		||||
#     username: <username>
 | 
			
		||||
#     password: <password>
 | 
			
		||||
@@ -32,11 +32,6 @@ do
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
grep -q 1513629884013 $dashboard_config_file
 | 
			
		||||
_config_exists=$?
 | 
			
		||||
 | 
			
		||||
if [[ $_config_exists -ne 0 ]]; then
 | 
			
		||||
cat << EOF >> $dashboard_config_file
 | 
			
		||||
hosts:
 | 
			
		||||
  - 1513629884013:
 | 
			
		||||
@@ -46,7 +41,4 @@ hosts:
 | 
			
		||||
      password: $api_password
 | 
			
		||||
      run_as: $api_run_as
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
  echo "Wazuh APP already configured"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,20 +13,8 @@ RUN chmod 775 /check_repository.sh && \
 | 
			
		||||
RUN yum install wazuh-indexer-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
 | 
			
		||||
    yum clean all
 | 
			
		||||
 | 
			
		||||
COPY config/opensearch.yml /
 | 
			
		||||
 | 
			
		||||
COPY config/config.sh .
 | 
			
		||||
 | 
			
		||||
COPY config/config.yml /
 | 
			
		||||
 | 
			
		||||
COPY config/action_groups.yml /
 | 
			
		||||
 | 
			
		||||
COPY config/internal_users.yml /
 | 
			
		||||
 | 
			
		||||
COPY config/roles_mapping.yml /
 | 
			
		||||
 | 
			
		||||
COPY config/roles.yml /
 | 
			
		||||
 | 
			
		||||
RUN bash config.sh
 | 
			
		||||
 | 
			
		||||
################################################################################
 | 
			
		||||
@@ -34,7 +22,6 @@ RUN bash config.sh
 | 
			
		||||
#
 | 
			
		||||
# Copy wazuh-indexer from stage 0
 | 
			
		||||
# Add entrypoint
 | 
			
		||||
 | 
			
		||||
################################################################################
 | 
			
		||||
FROM amazonlinux:2023
 | 
			
		||||
 | 
			
		||||
@@ -43,46 +30,39 @@ ENV USER="wazuh-indexer" \
 | 
			
		||||
    NAME="wazuh-indexer" \
 | 
			
		||||
    INSTALL_DIR="/usr/share/wazuh-indexer"
 | 
			
		||||
 | 
			
		||||
RUN yum install curl-minimal shadow-utils findutils hostname -y
 | 
			
		||||
 | 
			
		||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
 | 
			
		||||
COPY config/entrypoint.sh /
 | 
			
		||||
COPY config/securityadmin.sh /
 | 
			
		||||
 | 
			
		||||
RUN useradd --system \
 | 
			
		||||
RUN yum install curl-minimal shadow-utils findutils hostname -y && \
 | 
			
		||||
    yum clean all && \
 | 
			
		||||
    getent group $GROUP || groupadd -r -g 1000 $GROUP && \
 | 
			
		||||
    useradd --system \
 | 
			
		||||
            --uid 1000 \
 | 
			
		||||
            --no-create-home \
 | 
			
		||||
            --home-dir $INSTALL_DIR \
 | 
			
		||||
            --gid $GROUP \
 | 
			
		||||
            --shell /sbin/nologin \
 | 
			
		||||
            --comment "$USER user" \
 | 
			
		||||
            $USER
 | 
			
		||||
 | 
			
		||||
WORKDIR $INSTALL_DIR
 | 
			
		||||
 | 
			
		||||
COPY config/entrypoint.sh /
 | 
			
		||||
 | 
			
		||||
COPY config/securityadmin.sh /
 | 
			
		||||
 | 
			
		||||
RUN chmod 700 /entrypoint.sh && chmod 700 /securityadmin.sh
 | 
			
		||||
 | 
			
		||||
RUN chown 1000:1000 /*.sh
 | 
			
		||||
 | 
			
		||||
COPY --from=builder --chown=1000:1000 /usr/share/wazuh-indexer /usr/share/wazuh-indexer
 | 
			
		||||
COPY --from=builder --chown=1000:1000 /etc/wazuh-indexer /usr/share/wazuh-indexer
 | 
			
		||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/systemd
 | 
			
		||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/sysctl.d /usr/lib/sysctl.d
 | 
			
		||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
 | 
			
		||||
 | 
			
		||||
RUN chown -R 1000:1000 /usr/share/wazuh-indexer
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p /var/lib/wazuh-indexer && chown 1000:1000 /var/lib/wazuh-indexer && \
 | 
			
		||||
    mkdir -p /usr/share/wazuh-indexer/logs && chown 1000:1000 /usr/share/wazuh-indexer/logs && \
 | 
			
		||||
            $USER && \
 | 
			
		||||
    chmod 700 /entrypoint.sh && chmod 700 /securityadmin.sh && \
 | 
			
		||||
    mkdir -p $INSTALL_DIR && \
 | 
			
		||||
    chown 1000:1000 $INSTALL_DIR && \
 | 
			
		||||
    chown 1000:1000 /*.sh && \
 | 
			
		||||
    mkdir -p /var/lib/wazuh-indexer && chown 1000:1000 /var/lib/wazuh-indexer && \
 | 
			
		||||
    mkdir -p $INSTALL_DIR/logs && chown 1000:1000 $INSTALL_DIR/logs && \
 | 
			
		||||
    mkdir -p /run/wazuh-indexer && chown 1000:1000 /run/wazuh-indexer && \
 | 
			
		||||
    mkdir -p /var/log/wazuh-indexer && chown 1000:1000 /var/log/wazuh-indexer && \
 | 
			
		||||
    chmod 700 /usr/share/wazuh-indexer && \
 | 
			
		||||
    chmod 600 /usr/share/wazuh-indexer/jvm.options && \
 | 
			
		||||
    chmod 600 /usr/share/wazuh-indexer/opensearch.yml
 | 
			
		||||
    mkdir -p /var/log/wazuh-indexer && chown 1000:1000 /var/log/wazuh-indexer    
 | 
			
		||||
 | 
			
		||||
COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR
 | 
			
		||||
 | 
			
		||||
RUN chmod 700 $INSTALL_DIR && \
 | 
			
		||||
    chmod 700 $INSTALL_DIR/config && \
 | 
			
		||||
    chmod 600 $INSTALL_DIR/config/jvm.options && \
 | 
			
		||||
    chmod 600 $INSTALL_DIR/config/opensearch.yml
 | 
			
		||||
 | 
			
		||||
USER wazuh-indexer
 | 
			
		||||
WORKDIR $INSTALL_DIR
 | 
			
		||||
 | 
			
		||||
# Services ports
 | 
			
		||||
EXPOSE 9200
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
_meta:
 | 
			
		||||
  type: "actiongroups"
 | 
			
		||||
  config_version: 2
 | 
			
		||||
 | 
			
		||||
# ISM API permissions group
 | 
			
		||||
manage_ism:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  allowed_actions:
 | 
			
		||||
  - "cluster:admin/opendistro/ism/*"
 | 
			
		||||
  static: false
 | 
			
		||||
@@ -3,7 +3,6 @@
 | 
			
		||||
export DH_OPTIONS
 | 
			
		||||
 | 
			
		||||
export NAME=wazuh-indexer
 | 
			
		||||
export TARGET_DIR=${CURDIR}/debian/${NAME}
 | 
			
		||||
 | 
			
		||||
# Package build options
 | 
			
		||||
export USER=${NAME}
 | 
			
		||||
@@ -13,90 +12,82 @@ export LOG_DIR=/var/log/${NAME}
 | 
			
		||||
export LIB_DIR=/var/lib/${NAME}
 | 
			
		||||
export PID_DIR=/run/${NAME}
 | 
			
		||||
export INSTALLATION_DIR=/usr/share/${NAME}
 | 
			
		||||
export CONFIG_DIR=${INSTALLATION_DIR}
 | 
			
		||||
export BASE_DIR=${NAME}-*
 | 
			
		||||
export INDEXER_FILE=wazuh-indexer-base.tar.xz
 | 
			
		||||
export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz
 | 
			
		||||
export REPO_DIR=/unattended_installer
 | 
			
		||||
export CONFIG_DIR=${INSTALLATION_DIR}/config
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# Downloading Cert Gen Tool
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
## Variables
 | 
			
		||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
			
		||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.13/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.13/
 | 
			
		||||
CERT_CONFIG_FILE=config.yml
 | 
			
		||||
CERT_TOOL_VERSION="${WAZUH_VERSION%.*}"
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/$CERT_TOOL_VERSION/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/$CERT_TOOL_VERSION/
 | 
			
		||||
 | 
			
		||||
## Check if the cert tool exists in S3 buckets
 | 
			
		||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
CERT_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
download_package() {
 | 
			
		||||
    local url=$1
 | 
			
		||||
    local package=$2
 | 
			
		||||
    local output=$2
 | 
			
		||||
    echo "Checking $url$package ..."
 | 
			
		||||
    if curl -fsL "$url$package" -o "$output"; then
 | 
			
		||||
        echo "Downloaded $package from $url"
 | 
			
		||||
        return 0
 | 
			
		||||
    else
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
## If cert tool exists in some bucket, download it, if not exit 1
 | 
			
		||||
if [ "$CERT_TOOL_PACKAGES" = "200" ]; then
 | 
			
		||||
  curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL
 | 
			
		||||
  echo "Cert tool exists in Packages bucket"
 | 
			
		||||
elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then
 | 
			
		||||
  curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL
 | 
			
		||||
  echo "Cert tool exists in Packages-dev bucket"
 | 
			
		||||
# Download the tool to create the certificates
 | 
			
		||||
echo "Downloading the tool to create the certificates..."
 | 
			
		||||
# Try first the prod URL, if it fails try the dev URL
 | 
			
		||||
if download_package "$PACKAGES_URL" "$CERT_TOOL"; then
 | 
			
		||||
    :
 | 
			
		||||
elif download_package "$PACKAGES_DEV_URL" "$CERT_TOOL"; then
 | 
			
		||||
    :
 | 
			
		||||
else
 | 
			
		||||
  echo "Cert tool does not exist in any bucket"
 | 
			
		||||
  exit 1
 | 
			
		||||
    echo "The tool to create the certificates does not exist in any bucket"
 | 
			
		||||
    echo "ERROR: certificates were not created"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Check if the password tool exists in S3 buckets
 | 
			
		||||
PASSWORD_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$PASSWORD_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
PASSWORD_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$PASSWORD_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
 | 
			
		||||
## If password tool exists in some bucket, download it, if not exit 1
 | 
			
		||||
if [ "$PASSWORD_TOOL_PACKAGES" = "200" ]; then
 | 
			
		||||
  curl -o $PASSWORD_TOOL $PACKAGES_URL$PASSWORD_TOOL
 | 
			
		||||
  echo "Password tool exists in Packages bucket"
 | 
			
		||||
elif [ "$PASSWORD_TOOL_PACKAGES_DEV" = "200" ]; then
 | 
			
		||||
  curl -o $PASSWORD_TOOL $PACKAGES_DEV_URL$PASSWORD_TOOL
 | 
			
		||||
  echo "Password tool exists in Packages-dev bucket"
 | 
			
		||||
# Download the config file for the certificate tool
 | 
			
		||||
echo "Downloading the config file for the certificate tool..."
 | 
			
		||||
# Try first the prod URL, if it fails try the dev URL
 | 
			
		||||
if download_package "$PACKAGES_URL" "$CERT_CONFIG_FILE"; then
 | 
			
		||||
    :
 | 
			
		||||
elif download_package "$PACKAGES_DEV_URL" "$CERT_CONFIG_FILE"; then
 | 
			
		||||
    :
 | 
			
		||||
else
 | 
			
		||||
  echo "Password tool does not exist in any bucket"
 | 
			
		||||
  exit 1
 | 
			
		||||
    echo "The config file for the certificate tool does not exist in any bucket"
 | 
			
		||||
    echo "ERROR: certificates were not created"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
 | 
			
		||||
# Modify the config file to set the IP to localhost
 | 
			
		||||
sed -i 's/  ip:.*/  ip: "127.0.0.1"/' $CERT_CONFIG_FILE
 | 
			
		||||
 | 
			
		||||
# copy to target
 | 
			
		||||
mkdir -p ${TARGET_DIR}${INSTALLATION_DIR}
 | 
			
		||||
mkdir -p ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
			
		||||
mkdir -p ${TARGET_DIR}${CONFIG_DIR}
 | 
			
		||||
mkdir -p ${TARGET_DIR}${LIB_DIR}
 | 
			
		||||
mkdir -p ${TARGET_DIR}${LOG_DIR}
 | 
			
		||||
mkdir -p ${TARGET_DIR}/etc/init.d
 | 
			
		||||
mkdir -p ${TARGET_DIR}/etc/default
 | 
			
		||||
mkdir -p ${TARGET_DIR}/usr/lib/tmpfiles.d
 | 
			
		||||
mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
 | 
			
		||||
mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
 | 
			
		||||
mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
			
		||||
# Copy Wazuh's config files for the security plugin
 | 
			
		||||
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
			
		||||
cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
			
		||||
cp -pr /action_groups.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
			
		||||
cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
			
		||||
cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
 | 
			
		||||
# Copy Wazuh indexer's certificates
 | 
			
		||||
cp -pr /wazuh-certificates/demo.indexer.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer.pem
 | 
			
		||||
cp -pr /wazuh-certificates/demo.indexer-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer-key.pem
 | 
			
		||||
cp -pr /wazuh-certificates/root-ca.key ${TARGET_DIR}${CONFIG_DIR}/certs/root-ca.key
 | 
			
		||||
cp -pr /wazuh-certificates/root-ca.pem ${TARGET_DIR}${CONFIG_DIR}/certs/root-ca.pem
 | 
			
		||||
cp -pr /wazuh-certificates/admin.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin.pem
 | 
			
		||||
cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin-key.pem
 | 
			
		||||
chmod 700 "$CERT_CONFIG_FILE"
 | 
			
		||||
# Create the certificates
 | 
			
		||||
chmod 755 "$CERT_TOOL" && bash "$CERT_TOOL" -A
 | 
			
		||||
 | 
			
		||||
# Copy Wazuh indexer's certificates and config files to $CONFIG_DIR
 | 
			
		||||
mkdir -p ${CONFIG_DIR}/certs
 | 
			
		||||
mv /etc/wazuh-indexer/* ${CONFIG_DIR}/
 | 
			
		||||
cp -pr /wazuh-certificates/node-1.pem ${CONFIG_DIR}/certs/indexer.pem
 | 
			
		||||
cp -pr /wazuh-certificates/node-1-key.pem ${CONFIG_DIR}/certs/indexer-key.pem
 | 
			
		||||
cp -pr /wazuh-certificates/root-ca.key ${CONFIG_DIR}/certs/root-ca.key
 | 
			
		||||
cp -pr /wazuh-certificates/root-ca.pem ${CONFIG_DIR}/certs/root-ca.pem
 | 
			
		||||
cp -pr /wazuh-certificates/admin.pem ${CONFIG_DIR}/certs/admin.pem
 | 
			
		||||
cp -pr /wazuh-certificates/admin-key.pem ${CONFIG_DIR}/certs/admin-key.pem
 | 
			
		||||
 | 
			
		||||
# Modify opensearch.yml config paths
 | 
			
		||||
sed -i "s|/etc/wazuh-indexer|${CONFIG_DIR}|g" ${CONFIG_DIR}/opensearch.yml
 | 
			
		||||
 | 
			
		||||
# Delete xms and xmx parameters in jvm.options
 | 
			
		||||
sed '/-Xms/d' -i /etc/wazuh-indexer/jvm.options
 | 
			
		||||
sed '/-Xmx/d' -i /etc/wazuh-indexer/jvm.options
 | 
			
		||||
sed -i 's/-Djava.security.policy=file:\/\/\/etc\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/-Djava.security.policy=file:\/\/\/usr\/share\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/g' /etc/wazuh-indexer/jvm.options
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
			
		||||
chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/*
 | 
			
		||||
 | 
			
		||||
find ${TARGET_DIR} -type d -exec chmod 750 {} \;
 | 
			
		||||
find ${TARGET_DIR} -type f -perm 644 -exec chmod 640 {} \;
 | 
			
		||||
find ${TARGET_DIR} -type f -perm 664 -exec chmod 660 {} \;
 | 
			
		||||
find ${TARGET_DIR} -type f -perm 755 -exec chmod 750 {} \;
 | 
			
		||||
find ${TARGET_DIR} -type f -perm 744 -exec chmod 740 {} \;
 | 
			
		||||
chown -R ${USER}:${GROUP} ${CONFIG_DIR}
 | 
			
		||||
chmod -R 500 ${CONFIG_DIR}/certs
 | 
			
		||||
chmod -R 400 ${CONFIG_DIR}/certs/*
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
nodes:
 | 
			
		||||
  # Wazuh indexer server nodes
 | 
			
		||||
  indexer:
 | 
			
		||||
    - name: demo.indexer
 | 
			
		||||
      ip: demo.indexer
 | 
			
		||||
@@ -6,7 +6,7 @@ umask 0002
 | 
			
		||||
 | 
			
		||||
export USER=wazuh-indexer
 | 
			
		||||
export INSTALLATION_DIR=/usr/share/wazuh-indexer
 | 
			
		||||
export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}
 | 
			
		||||
export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}/config
 | 
			
		||||
export JAVA_HOME=${INSTALLATION_DIR}/jdk
 | 
			
		||||
export DISCOVERY=$(grep -oP "(?<=discovery.type: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml)
 | 
			
		||||
export CACERT=$(grep -oP "(?<=plugins.security.ssl.transport.pemtrustedcas_filepath: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,74 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
# This is the internal user database
 | 
			
		||||
# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
 | 
			
		||||
 | 
			
		||||
_meta:
 | 
			
		||||
  type: "internalusers"
 | 
			
		||||
  config_version: 2
 | 
			
		||||
 | 
			
		||||
# Define your internal users here
 | 
			
		||||
 | 
			
		||||
## Demo users
 | 
			
		||||
 | 
			
		||||
admin:
 | 
			
		||||
  hash: "$2a$12$VcCDgh2NDk07JGN0rjGbM.Ad41qVR/YFJcgHp0UGns5JDymv..TOG"
 | 
			
		||||
  reserved: true
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "admin"
 | 
			
		||||
  description: "Demo admin user"
 | 
			
		||||
 | 
			
		||||
kibanaserver:
 | 
			
		||||
  hash: "$2a$12$4AcgAt3xwOWadA5s5blL6ev39OXDNhmOesEoo33eZtrq2N0YrU3H."
 | 
			
		||||
  reserved: true
 | 
			
		||||
  description: "Demo kibanaserver user"
 | 
			
		||||
 | 
			
		||||
kibanaro:
 | 
			
		||||
  hash: "$2a$12$JJSXNfTowz7Uu5ttXfeYpeYE0arACvcwlPBStB1F.MI7f0U9Z4DGC"
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "kibanauser"
 | 
			
		||||
  - "readall"
 | 
			
		||||
  attributes:
 | 
			
		||||
    attribute1: "value1"
 | 
			
		||||
    attribute2: "value2"
 | 
			
		||||
    attribute3: "value3"
 | 
			
		||||
  description: "Demo kibanaro user"
 | 
			
		||||
 | 
			
		||||
logstash:
 | 
			
		||||
  hash: "$2a$12$u1ShR4l4uBS3Uv59Pa2y5.1uQuZBrZtmNfqB3iM/.jL0XoV9sghS2"
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "logstash"
 | 
			
		||||
  description: "Demo logstash user"
 | 
			
		||||
 | 
			
		||||
readall:
 | 
			
		||||
  hash: "$2a$12$ae4ycwzwvLtZxwZ82RmiEunBbIPiAmGZduBAjKN0TXdwQFtCwARz2"
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "readall"
 | 
			
		||||
  description: "Demo readall user"
 | 
			
		||||
 | 
			
		||||
snapshotrestore:
 | 
			
		||||
  hash: "$2y$12$DpwmetHKwgYnorbgdvORCenv4NAK8cPUg8AI6pxLCuWf/ALc0.v7W"
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "snapshotrestore"
 | 
			
		||||
  description: "Demo snapshotrestore user"
 | 
			
		||||
 | 
			
		||||
wazuh_admin:
 | 
			
		||||
  hash: "$2y$12$d2awHiOYvZjI88VfsDON.u6buoBol0gYPJEgdG1ArKVE0OMxViFfu"
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  backend_roles: []
 | 
			
		||||
  attributes: {}
 | 
			
		||||
  opendistro_security_roles: []
 | 
			
		||||
  static: false
 | 
			
		||||
  
 | 
			
		||||
wazuh_user:
 | 
			
		||||
  hash: "$2y$12$BQixeoQdRubZdVf/7sq1suHwiVRnSst1.lPI2M0.GPZms4bq2D9vO"
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  backend_roles: []
 | 
			
		||||
  attributes: {}
 | 
			
		||||
  opendistro_security_roles: []
 | 
			
		||||
  static: false  
 | 
			
		||||
@@ -1,26 +0,0 @@
 | 
			
		||||
network.host: "0.0.0.0"
 | 
			
		||||
node.name: "wazuh.indexer"
 | 
			
		||||
path.data: /var/lib/wazuh-indexer
 | 
			
		||||
path.logs: /var/log/wazuh-indexer
 | 
			
		||||
discovery.type: single-node
 | 
			
		||||
compatibility.override_main_response_version: true
 | 
			
		||||
plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem
 | 
			
		||||
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem
 | 
			
		||||
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem
 | 
			
		||||
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem
 | 
			
		||||
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.http.enabled: true
 | 
			
		||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
			
		||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
			
		||||
plugins.security.authcz.admin_dn:
 | 
			
		||||
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
			
		||||
plugins.security.check_snapshot_restore_write_privileges: true
 | 
			
		||||
plugins.security.enable_snapshot_restore_privilege: true
 | 
			
		||||
plugins.security.nodes_dn:
 | 
			
		||||
- "CN=demo.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
 | 
			
		||||
plugins.security.restapi.roles_enabled:
 | 
			
		||||
- "all_access"
 | 
			
		||||
- "security_rest_api_access"
 | 
			
		||||
plugins.security.system_indices.enabled: true
 | 
			
		||||
plugins.security.system_indices.indices: [".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]
 | 
			
		||||
@@ -1,171 +0,0 @@
 | 
			
		||||
_meta:
 | 
			
		||||
  type: "roles"
 | 
			
		||||
  config_version: 2
 | 
			
		||||
 | 
			
		||||
# Restrict users so they can only view visualization and dashboards on kibana
 | 
			
		||||
kibana_read_only:
 | 
			
		||||
  reserved: true
 | 
			
		||||
 | 
			
		||||
# The security REST API access role is used to assign specific users access to change the security settings through the REST API.
 | 
			
		||||
security_rest_api_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
 | 
			
		||||
# Allows users to view monitors, destinations and alerts
 | 
			
		||||
alerting_read_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/alerting/alerts/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/alerting/destination/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/alerting/monitor/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/alerting/monitor/search'
 | 
			
		||||
 | 
			
		||||
# Allows users to view and acknowledge alerts
 | 
			
		||||
alerting_ack_alerts:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/alerting/alerts/*'
 | 
			
		||||
 | 
			
		||||
# Allows users to use all alerting functionality
 | 
			
		||||
alerting_full_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster_monitor'
 | 
			
		||||
    - 'cluster:admin/opendistro/alerting/*'
 | 
			
		||||
  index_permissions:
 | 
			
		||||
    - index_patterns:
 | 
			
		||||
        - '*'
 | 
			
		||||
      allowed_actions:
 | 
			
		||||
        - 'indices_monitor'
 | 
			
		||||
        - 'indices:admin/aliases/get'
 | 
			
		||||
        - 'indices:admin/mappings/get'
 | 
			
		||||
 | 
			
		||||
# Allow users to read Anomaly Detection detectors and results
 | 
			
		||||
anomaly_read_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/ad/detector/info'
 | 
			
		||||
    - 'cluster:admin/opendistro/ad/detector/search'
 | 
			
		||||
    - 'cluster:admin/opendistro/ad/detectors/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/ad/result/search'
 | 
			
		||||
    - 'cluster:admin/opendistro/ad/tasks/search'
 | 
			
		||||
 | 
			
		||||
# Allows users to use all Anomaly Detection functionality
 | 
			
		||||
anomaly_full_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster_monitor'
 | 
			
		||||
    - 'cluster:admin/opendistro/ad/*'
 | 
			
		||||
  index_permissions:
 | 
			
		||||
    - index_patterns:
 | 
			
		||||
        - '*'
 | 
			
		||||
      allowed_actions:
 | 
			
		||||
        - 'indices_monitor'
 | 
			
		||||
        - 'indices:admin/aliases/get'
 | 
			
		||||
        - 'indices:admin/mappings/get'
 | 
			
		||||
 | 
			
		||||
# Allows users to read Notebooks
 | 
			
		||||
notebooks_read_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/list'
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/get'
 | 
			
		||||
 | 
			
		||||
# Allows users to all Notebooks functionality
 | 
			
		||||
notebooks_full_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/create'
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/update'
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/delete'
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/notebooks/list'
 | 
			
		||||
 | 
			
		||||
# Allows users to read and download Reports
 | 
			
		||||
reports_instances_read_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/instance/list'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/instance/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/menu/download'
 | 
			
		||||
 | 
			
		||||
# Allows users to read and download Reports and Report-definitions
 | 
			
		||||
reports_read_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/list'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/instance/list'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/instance/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/menu/download'
 | 
			
		||||
 | 
			
		||||
# Allows users to all Reports functionality
 | 
			
		||||
reports_full_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/create'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/update'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/on_demand'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/delete'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/definition/list'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/instance/list'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/instance/get'
 | 
			
		||||
    - 'cluster:admin/opendistro/reports/menu/download'
 | 
			
		||||
 | 
			
		||||
# Allows users to use all asynchronous-search functionality
 | 
			
		||||
asynchronous_search_full_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/asynchronous_search/*'
 | 
			
		||||
  index_permissions:
 | 
			
		||||
    - index_patterns:
 | 
			
		||||
        - '*'
 | 
			
		||||
      allowed_actions:
 | 
			
		||||
        - 'indices:data/read/search*'
 | 
			
		||||
 | 
			
		||||
# Allows users to read stored asynchronous-search results
 | 
			
		||||
asynchronous_search_read_access:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
    - 'cluster:admin/opendistro/asynchronous_search/get'
 | 
			
		||||
 | 
			
		||||
wazuh_ui_user:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  cluster_permissions: []
 | 
			
		||||
  index_permissions:
 | 
			
		||||
  - index_patterns:
 | 
			
		||||
    - "wazuh-*"
 | 
			
		||||
    dls: ""
 | 
			
		||||
    fls: []
 | 
			
		||||
    masked_fields: []
 | 
			
		||||
    allowed_actions:
 | 
			
		||||
    - "read"
 | 
			
		||||
  tenant_permissions: []
 | 
			
		||||
  static: false
 | 
			
		||||
 | 
			
		||||
wazuh_ui_admin:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  cluster_permissions: []
 | 
			
		||||
  index_permissions:
 | 
			
		||||
  - index_patterns:
 | 
			
		||||
    - "wazuh-*"
 | 
			
		||||
    dls: ""
 | 
			
		||||
    fls: []
 | 
			
		||||
    masked_fields: []
 | 
			
		||||
    allowed_actions:
 | 
			
		||||
    - "read"
 | 
			
		||||
    - "delete"
 | 
			
		||||
    - "manage"
 | 
			
		||||
    - "index"
 | 
			
		||||
  tenant_permissions: []
 | 
			
		||||
  static: false
 | 
			
		||||
 | 
			
		||||
# ISM API permissions role
 | 
			
		||||
manage_ism:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  cluster_permissions:
 | 
			
		||||
  - "manage_ism"
 | 
			
		||||
  static: false
 | 
			
		||||
@@ -1,78 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
# In this file users, backendroles and hosts can be mapped to Wazuh indexer Security roles.
 | 
			
		||||
# Permissions for Wazuh indexer roles are configured in roles.yml
 | 
			
		||||
 | 
			
		||||
_meta:
 | 
			
		||||
  type: "rolesmapping"
 | 
			
		||||
  config_version: 2
 | 
			
		||||
 | 
			
		||||
# Define your roles mapping here
 | 
			
		||||
 | 
			
		||||
## Demo roles mapping
 | 
			
		||||
 | 
			
		||||
all_access:
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "admin"
 | 
			
		||||
  description: "Maps admin to all_access"
 | 
			
		||||
 | 
			
		||||
own_index:
 | 
			
		||||
  reserved: false
 | 
			
		||||
  users:
 | 
			
		||||
  - "*"
 | 
			
		||||
  description: "Allow full access to an index named like the username"
 | 
			
		||||
 | 
			
		||||
logstash:
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "logstash"
 | 
			
		||||
 | 
			
		||||
kibana_user:
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "kibanauser"
 | 
			
		||||
  users:
 | 
			
		||||
  - "wazuh_user"
 | 
			
		||||
  - "wazuh_admin"
 | 
			
		||||
  description: "Maps kibanauser to kibana_user"
 | 
			
		||||
 | 
			
		||||
readall:
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "readall"
 | 
			
		||||
 | 
			
		||||
manage_snapshots:
 | 
			
		||||
  reserved: false
 | 
			
		||||
  backend_roles:
 | 
			
		||||
  - "snapshotrestore"
 | 
			
		||||
 | 
			
		||||
kibana_server:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  users:
 | 
			
		||||
  - "kibanaserver"
 | 
			
		||||
 | 
			
		||||
wazuh_ui_admin:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  backend_roles: []
 | 
			
		||||
  hosts: []
 | 
			
		||||
  users:
 | 
			
		||||
  - "wazuh_admin"
 | 
			
		||||
  - "kibanaserver"
 | 
			
		||||
  and_backend_roles: []
 | 
			
		||||
 | 
			
		||||
wazuh_ui_user:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  backend_roles: []
 | 
			
		||||
  hosts: []
 | 
			
		||||
  users:
 | 
			
		||||
  - "wazuh_user"
 | 
			
		||||
  and_backend_roles: []
 | 
			
		||||
 | 
			
		||||
# ISM API permissions role mapping
 | 
			
		||||
manage_ism:
 | 
			
		||||
  reserved: true
 | 
			
		||||
  hidden: false
 | 
			
		||||
  users:
 | 
			
		||||
  - "kibanaserver"
 | 
			
		||||
@@ -8,6 +8,7 @@ ARG WAZUH_TAG_REVISION
 | 
			
		||||
ARG FILEBEAT_TEMPLATE_BRANCH
 | 
			
		||||
ARG FILEBEAT_CHANNEL=filebeat-oss
 | 
			
		||||
ARG FILEBEAT_VERSION=7.10.2
 | 
			
		||||
ARG FILEBEAT_REVISION=2
 | 
			
		||||
ARG WAZUH_FILEBEAT_MODULE
 | 
			
		||||
ARG S6_VERSION="v2.2.0.3"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -167,16 +167,17 @@ set_custom_cluster_key() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# Modify /var/ossec/queue/rids directory owner on
 | 
			
		||||
# container start.
 | 
			
		||||
# Set correct ownership for Wazuh related directories
 | 
			
		||||
# on container start.
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
set_rids_owner() {
 | 
			
		||||
configure_permissions() {
 | 
			
		||||
  chown -R wazuh:wazuh /var/ossec/queue/rids
 | 
			
		||||
  chown -R wazuh:wazuh /var/ossec/etc/lists
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# Change any ossec user/group to wazuh user/group 
 | 
			
		||||
# Change any ossec user/group to wazuh user/group
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
set_correct_permOwner() {
 | 
			
		||||
@@ -226,8 +227,8 @@ main() {
 | 
			
		||||
  # Delete temporary data folder
 | 
			
		||||
  rm -rf ${WAZUH_INSTALL_PATH}/data_tmp
 | 
			
		||||
 | 
			
		||||
  # Set rids directory owner
 | 
			
		||||
  set_rids_owner
 | 
			
		||||
  # Set correct ownership for Wazuh related directories
 | 
			
		||||
  configure_permissions
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,5 @@ if [[ -n "${WAZUH_TAG}" ]]; then
 | 
			
		||||
  REPOSITORY="packages.wazuh.com/4.x"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\
 | 
			
		||||
yum install -y ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && \
 | 
			
		||||
yum install filebeat-${FILEBEAT_VERSION}-${FILEBEAT_REVISION} -y && \
 | 
			
		||||
curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module
 | 
			
		||||
@@ -100,6 +100,8 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/pubsub/subscriber.py"
 | 
			
		||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/lists/malicious-ioc/malicious-ip"
 | 
			
		||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/lists/malicious-ioc/malicious-domains"
 | 
			
		||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/lists/malicious-ioc/malware-hashes"
 | 
			
		||||
PERMANENT_DATA_EXCP[((i++))]="/etc/filebeat/wazuh-template.json"
 | 
			
		||||
PERMANENT_DATA_EXCP[((i++))]="/etc/filebeat/filebeat.yml"
 | 
			
		||||
export PERMANENT_DATA_EXCP
 | 
			
		||||
 | 
			
		||||
# Files mounted in a volume that should be deleted
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im
 | 
			
		||||
The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ build-docker-images/build-images.sh -v 4.13.0
 | 
			
		||||
$ build-docker-images/build-images.sh -v 4.14.0
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To get all the available script options use the -h or --help option:
 | 
			
		||||
@@ -23,10 +23,10 @@ $ build-docker-images/build-images.sh -h
 | 
			
		||||
 | 
			
		||||
Usage: build-docker-images/build-images.sh [OPTIONS]
 | 
			
		||||
 | 
			
		||||
    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default.
 | 
			
		||||
    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc2 or beta1, not used by default.
 | 
			
		||||
    -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default 0.4.
 | 
			
		||||
    -r, --revision <rev>         [Optional] Package revision. By default 1
 | 
			
		||||
    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 4.13.0.
 | 
			
		||||
    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 4.14.0.
 | 
			
		||||
    -h, --help                   Show this help.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Development Guide - Introduction
 | 
			
		||||
 | 
			
		||||
Welcome to the Development Guide for Wazuh-docker version 4.13.0. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development.
 | 
			
		||||
Welcome to the Development Guide for Wazuh-docker version 4.14.0. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development.
 | 
			
		||||
 | 
			
		||||
## Purpose of This Guide
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Development Guide - Setup Environment
 | 
			
		||||
 | 
			
		||||
This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.13.0). A proper setup is crucial for building images, running tests, and contributing effectively.
 | 
			
		||||
This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.14.0). A proper setup is crucial for building images, running tests, and contributing effectively.
 | 
			
		||||
 | 
			
		||||
## Prerequisites
 | 
			
		||||
 | 
			
		||||
@@ -26,12 +26,12 @@ Before you begin, ensure your system meets the following requirements:
 | 
			
		||||
Follow these steps to prepare your development environment:
 | 
			
		||||
 | 
			
		||||
1.  **Clone the Repository**:
 | 
			
		||||
    Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.13.0`.
 | 
			
		||||
    Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.14.0`.
 | 
			
		||||
 | 
			
		||||
    ```bash
 | 
			
		||||
    git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
 | 
			
		||||
    cd wazuh-docker
 | 
			
		||||
    git checkout 4.13.0
 | 
			
		||||
    git checkout v4.14.0
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
2.  **Verify Docker Installation**:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Description
 | 
			
		||||
 | 
			
		||||
This section provides a detailed description of Wazuh-docker (version 4.13.0), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment.
 | 
			
		||||
This section provides a detailed description of Wazuh-docker (version 4.14.0), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment.
 | 
			
		||||
 | 
			
		||||
## What is Wazuh?
 | 
			
		||||
 | 
			
		||||
@@ -18,7 +18,7 @@ Wazuh-docker is a project that provides Docker images and `docker compose` confi
 | 
			
		||||
 | 
			
		||||
## Core Components in Wazuh-Docker
 | 
			
		||||
 | 
			
		||||
The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.13.0:
 | 
			
		||||
The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.14.0:
 | 
			
		||||
 | 
			
		||||
1.  **Wazuh Manager**:
 | 
			
		||||
    -   The central component that collects and analyzes data from deployed Wazuh agents.
 | 
			
		||||
@@ -28,7 +28,7 @@ The Wazuh-Docker project typically provides images for the following core Wazuh
 | 
			
		||||
2.  **Wazuh Indexer**:
 | 
			
		||||
    -   A highly scalable, full-text search and analytics engine.
 | 
			
		||||
    -   Based on OpenSearch (or historically Elasticsearch), it stores and indexes alerts and monitoring data generated by the Wazuh manager.
 | 
			
		||||
    -   The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.13.0, this is typically an OpenSearch-based component.
 | 
			
		||||
    -   The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.14.0, this is typically an OpenSearch-based component.
 | 
			
		||||
 | 
			
		||||
3.  **Wazuh Dashboard**:
 | 
			
		||||
    -   A flexible visualization tool based on OpenSearch Dashboards (or historically Kibana).
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Introduction
 | 
			
		||||
 | 
			
		||||
Welcome to the Reference Manual for Wazuh-Docker, version 4.13.0. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker.
 | 
			
		||||
Welcome to the Reference Manual for Wazuh-Docker, version 4.14.0. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker.
 | 
			
		||||
 | 
			
		||||
## Purpose of This Manual
 | 
			
		||||
 | 
			
		||||
@@ -44,4 +44,4 @@ This manual is structured to help you find information efficiently:
 | 
			
		||||
-   If you need to customize your deployment, refer to the [Configuration](configuration/configuration.md) section.
 | 
			
		||||
-   For specific terms or concepts, consult the [Glossary](glossary.md).
 | 
			
		||||
 | 
			
		||||
This manual refers to version 4.13.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version.
 | 
			
		||||
This manual refers to version 4.14.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version.
 | 
			
		||||
 
 | 
			
		||||
@@ -29,4 +29,4 @@
 | 
			
		||||
        ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Consult the official Wazuh documentation for version 4.13.0 for detailed information on all possible configuration parameters for each component.
 | 
			
		||||
Consult the official Wazuh documentation for version 4.14.0 for detailed information on all possible configuration parameters for each component.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Configuration
 | 
			
		||||
 | 
			
		||||
This section details how to configure your Wazuh-Docker deployment (version 4.13.0). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment.
 | 
			
		||||
This section details how to configure your Wazuh-Docker deployment (version 4.14.0). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment.
 | 
			
		||||
 | 
			
		||||
## Overview of Configuration Methods
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Deployment
 | 
			
		||||
 | 
			
		||||
This section provides detailed instructions for deploying Wazuh-Docker (version 4.13.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments.
 | 
			
		||||
This section provides detailed instructions for deploying Wazuh-Docker (version 4.14.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments.
 | 
			
		||||
 | 
			
		||||
## Overview of Deployment Options
 | 
			
		||||
 | 
			
		||||
@@ -24,11 +24,11 @@ Ensure you have:
 | 
			
		||||
 | 
			
		||||
-   Met all the [System Requirements](ref/getting-started/requirements.md).
 | 
			
		||||
-   Installed Docker and Docker Compose on your host(s).
 | 
			
		||||
-   Cloned the `wazuh-docker` repository (version `4.13.0`) or downloaded the necessary deployment files.
 | 
			
		||||
-   Cloned the `wazuh-docker` repository (version `4.14.0`) or downloaded the necessary deployment files.
 | 
			
		||||
    ```bash
 | 
			
		||||
    git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
 | 
			
		||||
    cd wazuh-docker
 | 
			
		||||
    git checkout v4.13.0
 | 
			
		||||
    git checkout v4.14.0
 | 
			
		||||
    ```
 | 
			
		||||
-   Made a backup of any existing Wazuh data if you are migrating or upgrading.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,18 +17,18 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines
 | 
			
		||||
 | 
			
		||||
3.  Run the script to generate the necessary certificates for the Wazuh Stack. This ensures secure communication between the nodes:
 | 
			
		||||
    ```bash
 | 
			
		||||
    docker-compose -f generate-indexer-certs.yml run --rm generator
 | 
			
		||||
    docker compose -f generate-indexer-certs.yml run --rm generator
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
4.  Start the Wazuh environment using `docker-compose`:
 | 
			
		||||
4.  Start the Wazuh environment using `docker compose`:
 | 
			
		||||
 | 
			
		||||
    * To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop):
 | 
			
		||||
        ```bash
 | 
			
		||||
        docker-compose up
 | 
			
		||||
        docker compose up
 | 
			
		||||
        ```
 | 
			
		||||
    * To run in the background (detached mode, allowing the containers to run independently of your terminal):
 | 
			
		||||
        ```bash
 | 
			
		||||
        docker-compose up -d
 | 
			
		||||
        docker compose up -d
 | 
			
		||||
        ```
 | 
			
		||||
 | 
			
		||||
Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated.
 | 
			
		||||
 
 | 
			
		||||
@@ -17,18 +17,18 @@ This deployment uses the `single-node/docker-compose.yml` file, which defines a
 | 
			
		||||
 | 
			
		||||
3.  Run the script to generate the necessary certificates for the Wazuh Stack. This ensures secure communication between the nodes:
 | 
			
		||||
    ```bash
 | 
			
		||||
    docker-compose -f generate-indexer-certs.yml run --rm generator
 | 
			
		||||
    docker compose -f generate-indexer-certs.yml run --rm generator
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
4.  Start the Wazuh environment using `docker-compose`:
 | 
			
		||||
4.  Start the Wazuh environment using `docker compose`:
 | 
			
		||||
 | 
			
		||||
    * To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop):
 | 
			
		||||
        ```bash
 | 
			
		||||
        docker-compose up
 | 
			
		||||
        docker compose up
 | 
			
		||||
        ```
 | 
			
		||||
    * To run in the background (detached mode, allowing the containers to run independently of your terminal):
 | 
			
		||||
        ```bash
 | 
			
		||||
        docker-compose up -d
 | 
			
		||||
        docker compose up -d
 | 
			
		||||
        ```
 | 
			
		||||
 | 
			
		||||
Please allow some time for the environment to initialize, especially on the first run. It can take approximately a minute or two (depending on your host's resources) as the Wazuh Indexer starts up and generates the necessary indexes and index patterns.
 | 
			
		||||
 
 | 
			
		||||
@@ -23,14 +23,14 @@ Follow these steps to deploy the Wazuh agent using Docker.
 | 
			
		||||
    ```
 | 
			
		||||
    **Note:** Replace `<YOUR_WAZUH_MANAGER_IP_OR_HOSTNAME>` with the actual IP address or hostname of your Wazuh manager.
 | 
			
		||||
 | 
			
		||||
3.  Start the environment using `docker-compose`:
 | 
			
		||||
3.  Start the environment using `docker compose`:
 | 
			
		||||
 | 
			
		||||
    * To run in the foreground (logs will be displayed in your current terminal, and you can stop it with `Ctrl+C`):
 | 
			
		||||
        ```bash
 | 
			
		||||
        docker-compose up
 | 
			
		||||
        docker compose up
 | 
			
		||||
        ```
 | 
			
		||||
 | 
			
		||||
    * To run in the background (detached mode, allowing the container to run independently of your terminal):
 | 
			
		||||
        ```bash
 | 
			
		||||
        docker-compose up -d
 | 
			
		||||
        docker compose up -d
 | 
			
		||||
        ```
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Getting Started
 | 
			
		||||
 | 
			
		||||
This section guides you through the initial steps to get your Wazuh-docker (version 4.13.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions.
 | 
			
		||||
This section guides you through the initial steps to get your Wazuh-docker (version 4.14.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions.
 | 
			
		||||
 | 
			
		||||
## Overview
 | 
			
		||||
 | 
			
		||||
@@ -27,11 +27,11 @@ Before diving into the deployment, please ensure you have reviewed:
 | 
			
		||||
    Verify that your host system has sufficient RAM, CPU, and disk space. Ensure Docker and Docker Compose are installed and functioning correctly.
 | 
			
		||||
 | 
			
		||||
2.  **Obtain Wazuh-docker Configuration**:
 | 
			
		||||
    You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.13.0.
 | 
			
		||||
    You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.14.0.
 | 
			
		||||
    ```bash
 | 
			
		||||
    git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
 | 
			
		||||
    cd wazuh-docker
 | 
			
		||||
    git checkout v4.13.0
 | 
			
		||||
    git checkout v4.14.0
 | 
			
		||||
    # Navigate to the specific docker-compose directory, e.g., single-node or multi-node
 | 
			
		||||
    # cd docker-compose/single-node/ (example path)
 | 
			
		||||
    ```
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Requirements
 | 
			
		||||
 | 
			
		||||
Before deploying Wazuh-Docker (version 4.13.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment.
 | 
			
		||||
Before deploying Wazuh-Docker (version 4.14.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment.
 | 
			
		||||
 | 
			
		||||
## Host System Requirements
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Reference Manual - Glossary
 | 
			
		||||
 | 
			
		||||
This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.13.0).
 | 
			
		||||
This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.14.0).
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
@@ -22,7 +22,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their
 | 
			
		||||
 | 
			
		||||
**D**
 | 
			
		||||
 | 
			
		||||
-   **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.13.0, this is typically OpenSearch Dashboards.
 | 
			
		||||
-   **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.14.0, this is typically OpenSearch Dashboards.
 | 
			
		||||
-   **Decoder**: A component in the Wazuh Manager that parses and extracts relevant information (fields) from raw log messages or event data.
 | 
			
		||||
-   **Docker**: An open platform for developing, shipping, and running applications inside containers.
 | 
			
		||||
-   **Docker Compose**: A tool for defining and running multi-container Docker applications. It uses a YAML file (`docker-compose.yml`) to configure the application's services, networks, and volumes.
 | 
			
		||||
@@ -42,7 +42,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their
 | 
			
		||||
 | 
			
		||||
**I**
 | 
			
		||||
 | 
			
		||||
-   **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.13.0, this is typically OpenSearch.
 | 
			
		||||
-   **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.14.0, this is typically OpenSearch.
 | 
			
		||||
 | 
			
		||||
**L**
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,12 +8,12 @@
 | 
			
		||||
## Variables
 | 
			
		||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
			
		||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.13/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.13/
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.14/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.14/
 | 
			
		||||
 | 
			
		||||
## Check if the cert tool exists in S3 buckets
 | 
			
		||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
CERT_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}')
 | 
			
		||||
CERT_TOOL_PACKAGES=$(curl --silent --head --location --output /dev/null --write-out "%{http_code}" "$PACKAGES_URL$CERT_TOOL")
 | 
			
		||||
CERT_TOOL_PACKAGES_DEV=$(curl --silent --head --location --output /dev/null --write-out "%{http_code}" "$PACKAGES_DEV_URL$CERT_TOOL")
 | 
			
		||||
 | 
			
		||||
## If cert tool exists in some bucket, download it, if not exit 1
 | 
			
		||||
if [ "$CERT_TOOL_PACKAGES" = "200" ]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -79,7 +79,7 @@
 | 
			
		||||
    <os>yes</os>
 | 
			
		||||
    <network>yes</network>
 | 
			
		||||
    <packages>yes</packages>
 | 
			
		||||
    <ports all="no">yes</ports>
 | 
			
		||||
    <ports all="yes">yes</ports>
 | 
			
		||||
    <processes>yes</processes>
 | 
			
		||||
 | 
			
		||||
    <!-- Database synchronization settings -->
 | 
			
		||||
 
 | 
			
		||||
@@ -79,7 +79,7 @@
 | 
			
		||||
    <os>yes</os>
 | 
			
		||||
    <network>yes</network>
 | 
			
		||||
    <packages>yes</packages>
 | 
			
		||||
    <ports all="no">yes</ports>
 | 
			
		||||
    <ports all="yes">yes</ports>
 | 
			
		||||
    <processes>yes</processes>
 | 
			
		||||
 | 
			
		||||
    <!-- Database synchronization settings -->
 | 
			
		||||
 
 | 
			
		||||
@@ -10,3 +10,7 @@ server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
			
		||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
			
		||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
 | 
			
		||||
uiSettings.overrides.defaultRoute: /app/wz-home
 | 
			
		||||
# Session expiration settings
 | 
			
		||||
opensearch_security.cookie.ttl: 900000
 | 
			
		||||
opensearch_security.session.ttl: 900000
 | 
			
		||||
opensearch_security.session.keepalive: true
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
			
		||||
services:
 | 
			
		||||
  wazuh.master:
 | 
			
		||||
    image: wazuh/wazuh-manager:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-manager:4.14.0
 | 
			
		||||
    hostname: wazuh.master
 | 
			
		||||
    restart: always
 | 
			
		||||
    ulimits:
 | 
			
		||||
@@ -43,7 +43,7 @@ services:
 | 
			
		||||
      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
  wazuh.worker:
 | 
			
		||||
    image: wazuh/wazuh-manager:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-manager:4.14.0
 | 
			
		||||
    hostname: wazuh.worker
 | 
			
		||||
    restart: always
 | 
			
		||||
    ulimits:
 | 
			
		||||
@@ -79,7 +79,7 @@ services:
 | 
			
		||||
      - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
  wazuh1.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.14.0
 | 
			
		||||
    hostname: wazuh1.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -96,16 +96,16 @@ services:
 | 
			
		||||
        hard: 65536
 | 
			
		||||
    volumes:
 | 
			
		||||
      - wazuh-indexer-data-1:/var/lib/wazuh-indexer
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh1.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh1.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml
 | 
			
		||||
 | 
			
		||||
  wazuh2.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.14.0
 | 
			
		||||
    hostname: wazuh2.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
@@ -120,14 +120,14 @@ services:
 | 
			
		||||
        hard: 65536
 | 
			
		||||
    volumes:
 | 
			
		||||
      - wazuh-indexer-data-2:/var/lib/wazuh-indexer
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh2.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh2.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml
 | 
			
		||||
 | 
			
		||||
  wazuh3.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.14.0
 | 
			
		||||
    hostname: wazuh3.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
@@ -142,14 +142,14 @@ services:
 | 
			
		||||
        hard: 65536
 | 
			
		||||
    volumes:
 | 
			
		||||
      - wazuh-indexer-data-3:/var/lib/wazuh-indexer
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh3.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh3.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml
 | 
			
		||||
 | 
			
		||||
  wazuh.dashboard:
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.14.0
 | 
			
		||||
    hostname: wazuh.dashboard
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
 
 | 
			
		||||
@@ -79,7 +79,7 @@
 | 
			
		||||
    <os>yes</os>
 | 
			
		||||
    <network>yes</network>
 | 
			
		||||
    <packages>yes</packages>
 | 
			
		||||
    <ports all="no">yes</ports>
 | 
			
		||||
    <ports all="yes">yes</ports>
 | 
			
		||||
    <processes>yes</processes>
 | 
			
		||||
 | 
			
		||||
    <!-- Database synchronization settings -->
 | 
			
		||||
 
 | 
			
		||||
@@ -10,3 +10,7 @@ server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
 | 
			
		||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
 | 
			
		||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
 | 
			
		||||
uiSettings.overrides.defaultRoute: /app/wz-home
 | 
			
		||||
# Session expiration settings
 | 
			
		||||
opensearch_security.cookie.ttl: 900000
 | 
			
		||||
opensearch_security.session.ttl: 900000
 | 
			
		||||
opensearch_security.session.keepalive: true
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,18 @@
 | 
			
		||||
network.host: "0.0.0.0"
 | 
			
		||||
node.name: "wazuh.indexer"
 | 
			
		||||
cluster.name: "wazuh-cluster"
 | 
			
		||||
path.data: /var/lib/wazuh-indexer
 | 
			
		||||
path.logs: /var/log/wazuh-indexer
 | 
			
		||||
discovery.type: single-node
 | 
			
		||||
http.port: 9200-9299
 | 
			
		||||
transport.tcp.port: 9300-9399
 | 
			
		||||
compatibility.override_main_response_version: true
 | 
			
		||||
plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
			
		||||
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
 | 
			
		||||
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
			
		||||
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
 | 
			
		||||
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem
 | 
			
		||||
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.key
 | 
			
		||||
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/config/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem
 | 
			
		||||
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.key
 | 
			
		||||
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/config/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.http.enabled: true
 | 
			
		||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
			
		||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
			
		||||
services:
 | 
			
		||||
  wazuh.manager:
 | 
			
		||||
    image: wazuh/wazuh-manager:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-manager:4.14.0
 | 
			
		||||
    hostname: wazuh.manager
 | 
			
		||||
    restart: always
 | 
			
		||||
    ulimits:
 | 
			
		||||
@@ -44,7 +44,7 @@ services:
 | 
			
		||||
      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
  wazuh.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.14.0
 | 
			
		||||
    hostname: wazuh.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -60,16 +60,16 @@ services:
 | 
			
		||||
        hard: 65536
 | 
			
		||||
    volumes:
 | 
			
		||||
      - wazuh-indexer-data:/var/lib/wazuh-indexer
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.key
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
 | 
			
		||||
      - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml
 | 
			
		||||
      - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml
 | 
			
		||||
 | 
			
		||||
  wazuh.dashboard:
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.14.0
 | 
			
		||||
    hostname: wazuh.dashboard
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@
 | 
			
		||||
    <os>yes</os>
 | 
			
		||||
    <network>yes</network>
 | 
			
		||||
    <packages>yes</packages>
 | 
			
		||||
    <ports all="no">yes</ports>
 | 
			
		||||
    <ports all="yes">yes</ports>
 | 
			
		||||
    <processes>yes</processes>
 | 
			
		||||
 | 
			
		||||
    <!-- Database synchronization settings -->
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,7 @@
 | 
			
		||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
			
		||||
version: '3.7'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  wazuh.agent:
 | 
			
		||||
    image: wazuh/wazuh-agent:4.13.0
 | 
			
		||||
    image: wazuh/wazuh-agent:4.14.0
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
      - WAZUH_MANAGER_SERVER=<WAZUH_MANAGER_IP>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user