mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-11-03 21:43:15 +00:00 
			
		
		
		
	Compare commits
	
		
			70 Commits
		
	
	
		
			v4.3.6
			...
			816-persis
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					9e6849086c | ||
| 
						 | 
					191cafa7d7 | ||
| 
						 | 
					8ada4445b0 | ||
| 
						 | 
					1c69a38bd8 | ||
| 
						 | 
					615d6df29c | ||
| 
						 | 
					949a465855 | ||
| 
						 | 
					f7bbac5a08 | ||
| 
						 | 
					11820b01e9 | ||
| 
						 | 
					a8de452002 | ||
| 
						 | 
					c76681b3b9 | ||
| 
						 | 
					e25635cb25 | ||
| 
						 | 
					304eedcb51 | ||
| 
						 | 
					6123ab994c | ||
| 
						 | 
					2f58da59de | ||
| 
						 | 
					3279931813 | ||
| 
						 | 
					b039567e1c | ||
| 
						 | 
					3190c4246e | ||
| 
						 | 
					271f421cd4 | ||
| 
						 | 
					910e28956b | ||
| 
						 | 
					dcf8bb8060 | ||
| 
						 | 
					be9f3d1b90 | ||
| 
						 | 
					91625f412c | ||
| 
						 | 
					4c7dcb2ebf | ||
| 
						 | 
					8febf33d58 | ||
| 
						 | 
					3d19774d7e | ||
| 
						 | 
					e11e7a10b8 | ||
| 
						 | 
					7f73635651 | ||
| 
						 | 
					e9a0be25ce | ||
| 
						 | 
					c87580cfb5 | ||
| 
						 | 
					e0cd80c105 | ||
| 
						 | 
					796751aec9 | ||
| 
						 | 
					15205ada03 | ||
| 
						 | 
					c1bfc450ba | ||
| 
						 | 
					b08fd3e384 | ||
| 
						 | 
					fd08279f32 | ||
| 
						 | 
					f42b30b71d | ||
| 
						 | 
					7555453d55 | ||
| 
						 | 
					22b77749fa | ||
| 
						 | 
					6c094d07a6 | ||
| 
						 | 
					b6959c8b15 | ||
| 
						 | 
					28e21b0282 | ||
| 
						 | 
					b83dcc087e | ||
| 
						 | 
					19c23456ec | ||
| 
						 | 
					f99721e98b | ||
| 
						 | 
					38271d7797 | ||
| 
						 | 
					c278f6a503 | ||
| 
						 | 
					d6ba8c3661 | ||
| 
						 | 
					1db718ffc8 | ||
| 
						 | 
					cf137c6703 | ||
| 
						 | 
					6f966cb01a | ||
| 
						 | 
					8bc11c48d9 | ||
| 
						 | 
					be1bc64e0f | ||
| 
						 | 
					b98d32d4ca | ||
| 
						 | 
					4c710e6c20 | ||
| 
						 | 
					f97a719304 | ||
| 
						 | 
					bf534b4143 | ||
| 
						 | 
					a82cc9ec39 | ||
| 
						 | 
					8d9ad6152a | ||
| 
						 | 
					5555c1dd06 | ||
| 
						 | 
					0dd044de68 | ||
| 
						 | 
					5d88983066 | ||
| 
						 | 
					95565df2f5 | ||
| 
						 | 
					ed5c5d70ba | ||
| 
						 | 
					97f5a6bf04 | ||
| 
						 | 
					b21c3769d3 | ||
| 
						 | 
					9cd399c2df | ||
| 
						 | 
					3e54eeb62f | ||
| 
						 | 
					a4be008028 | ||
| 
						 | 
					85e62cfd0e | ||
| 
						 | 
					84fe19e868 | 
							
								
								
									
										4
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								.env
									
									
									
									
									
								
							@@ -1,3 +1,3 @@
 | 
			
		||||
WAZUH_VERSION=4.3.6
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.3.6
 | 
			
		||||
WAZUH_VERSION=4.4.1
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.4.1
 | 
			
		||||
WAZUH_TAG_REVISION=1
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							@@ -56,7 +56,7 @@ package:
 | 
			
		||||
  wazuh-manager:
 | 
			
		||||
    installed: true
 | 
			
		||||
    versions:
 | 
			
		||||
    - 4.3.6-1
 | 
			
		||||
    - 4.4.1-1
 | 
			
		||||
port:
 | 
			
		||||
  tcp:1514:
 | 
			
		||||
    listening: true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							@@ -126,7 +126,7 @@ jobs:
 | 
			
		||||
 | 
			
		||||
    - name: Check documents into wazuh-alerts index
 | 
			
		||||
      run: |
 | 
			
		||||
       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_doc/_search" -u admin:SecretPassword -k -s | jq -r ".hits.total.value"`"
 | 
			
		||||
       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
 | 
			
		||||
       if [[ $docs -gt 100 ]]; then
 | 
			
		||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
			
		||||
       else
 | 
			
		||||
@@ -250,8 +250,8 @@ jobs:
 | 
			
		||||
 | 
			
		||||
    - name: Check documents into wazuh-alerts index
 | 
			
		||||
      run: |
 | 
			
		||||
       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_doc/_search" -u admin:SecretPassword -k -s | jq -r ".hits.total.value"`"
 | 
			
		||||
       if [[ $docs -gt 200 ]]; then
 | 
			
		||||
       docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
 | 
			
		||||
       if [[ $docs -gt 100 ]]; then
 | 
			
		||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
			
		||||
       else
 | 
			
		||||
        echo "wazuh-alerts index documents: ${docs}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -1,6 +1,38 @@
 | 
			
		||||
# Change Log
 | 
			
		||||
All notable changes to this project will be documented in this file.
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.4.1
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update Wazuh to version [4.4.1](https://github.com/wazuh/wazuh/blob/v4.4.1/CHANGELOG.md#v441)
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.4.0
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update Wazuh to version [4.4.0](https://github.com/wazuh/wazuh/blob/v4.4.0/CHANGELOG.md#v440)
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.3.10
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update Wazuh to version [4.3.10](https://github.com/wazuh/wazuh/blob/v4.3.10/CHANGELOG.md#v4310)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.3.9
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update Wazuh to version [4.3.9](https://github.com/wazuh/wazuh/blob/v4.3.9/CHANGELOG.md#v439)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.3.8
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update Wazuh to version [4.3.8](https://github.com/wazuh/wazuh/blob/v4.3.8/CHANGELOG.md#v438)
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.3.7
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update Wazuh to version [4.3.7](https://github.com/wazuh/wazuh/blob/v4.3.7/CHANGELOG.md#v437)
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v4.3.6
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.md
									
									
									
									
									
								
							@@ -36,13 +36,13 @@ Default values are included when available.
 | 
			
		||||
 | 
			
		||||
### Wazuh
 | 
			
		||||
```
 | 
			
		||||
API_USERNAME="wazuh"                                # Wazuh API username
 | 
			
		||||
API_PASSWORD="wazuh"                                # Wazuh API password - Must comply with requirements
 | 
			
		||||
API_USERNAME="wazuh-wui"                            # Wazuh API username
 | 
			
		||||
API_PASSWORD="MyS3cr37P450r.*-"                     # Wazuh API password - Must comply with requirements
 | 
			
		||||
                                                    # (8+ length, uppercase, lowercase, specials chars)
 | 
			
		||||
 | 
			
		||||
INDEXER_URL=https://wazuh.indexer:9200              # Wazuh indexer URL
 | 
			
		||||
INDEXER_USERNAME=admin                              # Wazuh indexer Username
 | 
			
		||||
INDEXER_PASSWORD=admin                              # Wazuh indexer Password
 | 
			
		||||
INDEXER_PASSWORD=SecretPassword                     # Wazuh indexer Password
 | 
			
		||||
FILEBEAT_SSL_VERIFICATION_MODE=full                 # Filebeat SSL Verification mode (full or none)
 | 
			
		||||
SSL_CERTIFICATE_AUTHORITIES=""                      # Path of Filebeat SSL CA
 | 
			
		||||
SSL_CERTIFICATE=""                                  # Path of Filebeat SSL Certificate
 | 
			
		||||
@@ -78,10 +78,12 @@ API_SELECTOR=true               Defines if the user is allowed to change the sel
 | 
			
		||||
IP_SELECTOR=true                # Defines if the user is allowed to change the selected index pattern directly from the Wazuh app top menu
 | 
			
		||||
IP_IGNORE="[]"                  # List of index patterns to be ignored
 | 
			
		||||
 | 
			
		||||
DASHBOARD_USERNAME=kibanaserver     # Custom user saved in the dashboard keystore
 | 
			
		||||
DASHBOARD_PASSWORD=kibanaserver     # Custom password saved in the dashboard keystore
 | 
			
		||||
WAZUH_MONITORING_ENABLED=true       # Custom settings to enable/disable wazuh-monitoring indices
 | 
			
		||||
WAZUH_MONITORING_FREQUENCY=900      # Custom setting to set the frequency for wazuh-monitoring indices cron task
 | 
			
		||||
WAZUH_MONITORING_SHARDS=2           # Configure wazuh-monitoring-* indices shards and replicas
 | 
			
		||||
WAZUH_MONITORING_REPLICAS=0         #
 | 
			
		||||
WAZUH_MONITORING_REPLICAS=0         ##
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Directory structure
 | 
			
		||||
@@ -193,6 +195,12 @@ WAZUH_MONITORING_REPLICAS=0         #
 | 
			
		||||
 | 
			
		||||
| Wazuh version | ODFE    | XPACK  |
 | 
			
		||||
|---------------|---------|--------|
 | 
			
		||||
| v4.4.1        |         |        |
 | 
			
		||||
| v4.4.0        |         |        |
 | 
			
		||||
| v4.3.10       |         |        |
 | 
			
		||||
| v4.3.9        |         |        |
 | 
			
		||||
| v4.3.8        |         |        |
 | 
			
		||||
| v4.3.7        |         |        |
 | 
			
		||||
| v4.3.6        |         |        |
 | 
			
		||||
| v4.3.5        |         |        |
 | 
			
		||||
| v4.3.4        |         |        |
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								VERSION
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								VERSION
									
									
									
									
									
								
							@@ -1,2 +1,2 @@
 | 
			
		||||
WAZUH-DOCKER_VERSION="4.3.6"
 | 
			
		||||
REVISION="40318"
 | 
			
		||||
WAZUH-DOCKER_VERSION="4.4.1"
 | 
			
		||||
REVISION="40406"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.3.6
 | 
			
		||||
WAZUH_IMAGE_VERSION=4.4.1
 | 
			
		||||
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')
 | 
			
		||||
 
 | 
			
		||||
@@ -9,8 +9,8 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config
 | 
			
		||||
 | 
			
		||||
## Variables
 | 
			
		||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.3/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.3/
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.4/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.4/
 | 
			
		||||
 | 
			
		||||
## 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}')
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,25 @@
 | 
			
		||||
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') && \
 | 
			
		||||
WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') && \
 | 
			
		||||
REPOSITORY="packages.wazuh.com/4.x"
 | 
			
		||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
			
		||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
			
		||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
			
		||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
			
		||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then
 | 
			
		||||
 REPOSITORY="packages.wazuh.com"
 | 
			
		||||
else 
 | 
			
		||||
 REPOSITORY="packages-dev.wazuh.com"
 | 
			
		||||
## check version to use the correct repository
 | 
			
		||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
			
		||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
			
		||||
    REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
			
		||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
			
		||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
			
		||||
      REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/base/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz
 | 
			
		||||
tar -xf wazuh-dashboard-base.tar.xz --directory  $INSTALL_DIR --strip-components=1
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,24 @@
 | 
			
		||||
## Variables
 | 
			
		||||
WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g')
 | 
			
		||||
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')
 | 
			
		||||
## If wazuh manager exists in apt dev repository, change variables, if not exit 1
 | 
			
		||||
if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then
 | 
			
		||||
  WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
			
		||||
else
 | 
			
		||||
## variables
 | 
			
		||||
WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
			
		||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
			
		||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
			
		||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
			
		||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
			
		||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
			
		||||
 | 
			
		||||
## check version to use the correct repository
 | 
			
		||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
			
		||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
			
		||||
    WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
			
		||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
			
		||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
			
		||||
      WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Install Wazuh App
 | 
			
		||||
 
 | 
			
		||||
@@ -59,14 +59,15 @@ COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/s
 | 
			
		||||
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 && \
 | 
			
		||||
    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/config && \
 | 
			
		||||
    chmod 600 /usr/share/wazuh-indexer/config/jvm.options && \
 | 
			
		||||
    chmod 600 /usr/share/wazuh-indexer/config/opensearch.yml
 | 
			
		||||
    chmod 700 /usr/share/wazuh-indexer && \
 | 
			
		||||
    chmod 600 /usr/share/wazuh-indexer/jvm.options && \
 | 
			
		||||
    chmod 600 /usr/share/wazuh-indexer/opensearch.yml
 | 
			
		||||
 | 
			
		||||
USER wazuh-indexer
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,6 @@ export DH_OPTIONS
 | 
			
		||||
 | 
			
		||||
export NAME=wazuh-indexer
 | 
			
		||||
export TARGET_DIR=${CURDIR}/debian/${NAME}
 | 
			
		||||
export 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')
 | 
			
		||||
export WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g')
 | 
			
		||||
 | 
			
		||||
# Package build options
 | 
			
		||||
export USER=${NAME}
 | 
			
		||||
@@ -15,7 +13,7 @@ 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}/config
 | 
			
		||||
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
 | 
			
		||||
@@ -23,13 +21,31 @@ export REPO_DIR=/unattended_installer
 | 
			
		||||
 | 
			
		||||
rm -rf ${INSTALLATION_DIR}/
 | 
			
		||||
 | 
			
		||||
if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then
 | 
			
		||||
 REPOSITORY="packages.wazuh.com"
 | 
			
		||||
else
 | 
			
		||||
 REPOSITORY="packages-dev.wazuh.com"
 | 
			
		||||
## variables
 | 
			
		||||
REPOSITORY="packages.wazuh.com/4.x"
 | 
			
		||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
			
		||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
			
		||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
			
		||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
			
		||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
			
		||||
 | 
			
		||||
## check version to use the correct repository
 | 
			
		||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
			
		||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
			
		||||
    REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
			
		||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
			
		||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
			
		||||
      REPOSITORY="packages-dev.wazuh.com/pre-release"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/base/${BASE_FILE}
 | 
			
		||||
 | 
			
		||||
curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/${BASE_FILE}
 | 
			
		||||
tar -xf ${INDEXER_FILE}
 | 
			
		||||
 | 
			
		||||
## TOOLS
 | 
			
		||||
@@ -37,8 +53,8 @@ tar -xf ${INDEXER_FILE}
 | 
			
		||||
## Variables
 | 
			
		||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
			
		||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.3/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.3/
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.4/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.4/
 | 
			
		||||
 | 
			
		||||
## 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}')
 | 
			
		||||
@@ -77,6 +93,7 @@ chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
 | 
			
		||||
 | 
			
		||||
# 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}
 | 
			
		||||
@@ -101,9 +118,9 @@ cp -pr ${BASE_DIR}/* ${TARGET_DIR}${INSTALLATION_DIR}
 | 
			
		||||
cp /$CERT_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/
 | 
			
		||||
cp /$PASSWORD_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/
 | 
			
		||||
# Copy Wazuh's config files for the security plugin
 | 
			
		||||
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/securityconfig/
 | 
			
		||||
cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/securityconfig/
 | 
			
		||||
cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/securityconfig/
 | 
			
		||||
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
 | 
			
		||||
cp -pr /roles.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
 | 
			
		||||
@@ -113,5 +130,9 @@ cp -pr /wazuh-certificates/root-ca.pem ${TARGET_DIR}${CONFIG_DIR}/certs/root-ca.
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
# Delete xms and xmx parameters in jvm.options
 | 
			
		||||
sed '/-Xms/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
 | 
			
		||||
sed '/-Xmx/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
 | 
			
		||||
 | 
			
		||||
chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
 | 
			
		||||
chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/*
 | 
			
		||||
@@ -6,7 +6,7 @@ umask 0002
 | 
			
		||||
 | 
			
		||||
export USER=wazuh-indexer
 | 
			
		||||
export INSTALLATION_DIR=/usr/share/wazuh-indexer
 | 
			
		||||
export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}/config
 | 
			
		||||
export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}
 | 
			
		||||
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)
 | 
			
		||||
@@ -59,7 +59,7 @@ if [[ -f bin/opensearch-users ]]; then
 | 
			
		||||
  # enabled, but we have no way of knowing which node we are yet. We'll just
 | 
			
		||||
  # honor the variable if it's present.
 | 
			
		||||
  if [[ -n "$INDEXER_PASSWORD" ]]; then
 | 
			
		||||
    [[ -f /usr/share/wazuh-indexer/config/opensearch.keystore ]] || (run_as_other_user_if_needed opensearch-keystore create)
 | 
			
		||||
    [[ -f /usr/share/wazuh-indexer/opensearch.keystore ]] || (run_as_other_user_if_needed opensearch-keystore create)
 | 
			
		||||
    if ! (run_as_other_user_if_needed opensearch-keystore has-passwd --silent) ; then
 | 
			
		||||
      # keystore is unencrypted
 | 
			
		||||
      if ! (run_as_other_user_if_needed opensearch-keystore list | grep -q '^bootstrap.password$'); then
 | 
			
		||||
@@ -84,10 +84,10 @@ if [[ "$(id -u)" == "0" ]]; then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if [[ "$DISCOVERY" == "single-node" ]] && [[ ! -f "/var/lib/wazuh-indexer/.flag" ]]; then
 | 
			
		||||
#if [[ "$DISCOVERY" == "single-node" ]] && [[ ! -f "/var/lib/wazuh-indexer/.flag" ]]; then
 | 
			
		||||
  # run securityadmin.sh for single node with CACERT, CERT and KEY parameter
 | 
			
		||||
  nohup /securityadmin.sh &
 | 
			
		||||
  touch "/var/lib/wazuh-indexer/.flag"
 | 
			
		||||
fi
 | 
			
		||||
#  nohup /securityadmin.sh &
 | 
			
		||||
#  touch "/var/lib/wazuh-indexer/.flag"
 | 
			
		||||
#fi
 | 
			
		||||
 | 
			
		||||
run_as_other_user_if_needed /usr/share/wazuh-indexer/bin/opensearch <<<"$KEYSTORE_PASSWORD"
 | 
			
		||||
@@ -4,12 +4,12 @@ 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: ${OPENSEARCH_PATH_CONF}/certs/indexer.pem
 | 
			
		||||
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer-key.pem
 | 
			
		||||
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer.pem
 | 
			
		||||
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer-key.pem
 | 
			
		||||
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
 | 
			
		||||
sleep 30
 | 
			
		||||
bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9300 -icl
 | 
			
		||||
bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9200 -icl
 | 
			
		||||
@@ -5,7 +5,7 @@ RUN rm /bin/sh && ln -s /bin/bash /bin/sh
 | 
			
		||||
 | 
			
		||||
ARG WAZUH_VERSION
 | 
			
		||||
ARG WAZUH_TAG_REVISION
 | 
			
		||||
ARG TEMPLATE_VERSION=4.3
 | 
			
		||||
ARG TEMPLATE_VERSION=4.4
 | 
			
		||||
ARG FILEBEAT_CHANNEL=filebeat-oss
 | 
			
		||||
ARG FILEBEAT_VERSION=7.10.2
 | 
			
		||||
ARG WAZUH_FILEBEAT_MODULE="wazuh-filebeat-0.2.tar.gz"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,29 @@
 | 
			
		||||
## Variables
 | 
			
		||||
WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g')
 | 
			
		||||
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')
 | 
			
		||||
## If wazuh manager exists in apt dev repository, change variables, if not exit 1
 | 
			
		||||
if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then
 | 
			
		||||
  APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
 | 
			
		||||
  REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main"
 | 
			
		||||
else
 | 
			
		||||
## variables
 | 
			
		||||
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
 | 
			
		||||
REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main"
 | 
			
		||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
 | 
			
		||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
 | 
			
		||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
 | 
			
		||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
 | 
			
		||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
 | 
			
		||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
 | 
			
		||||
 | 
			
		||||
## check version to use the correct repository
 | 
			
		||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
			
		||||
  REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
 | 
			
		||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
 | 
			
		||||
  if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
 | 
			
		||||
    APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
			
		||||
    REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
 | 
			
		||||
  elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
 | 
			
		||||
    if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
 | 
			
		||||
      APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
 | 
			
		||||
      REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
apt-key adv --fetch-keys ${APT_KEY}
 | 
			
		||||
echo ${REPOSITORY} | tee -a /etc/apt/sources.list.d/wazuh.list
 | 
			
		||||
@@ -179,6 +179,15 @@ set_rids_owner() {
 | 
			
		||||
  chown -R wazuh:wazuh /var/ossec/queue/rids
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# Change any ossec user/group to wazuh user/group 
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
set_correct_permOwner() {
 | 
			
		||||
  find / -group 997 -exec chown :101 {} +;
 | 
			
		||||
  find / -user 999 -exec chown 101 {} +;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# Main function
 | 
			
		||||
##############################################################################
 | 
			
		||||
@@ -189,6 +198,9 @@ main() {
 | 
			
		||||
 | 
			
		||||
  # Restore files stored in permanent data that are not permanent  (i.e. internal_options.conf)
 | 
			
		||||
  apply_exclusion_data
 | 
			
		||||
  
 | 
			
		||||
  # Apply correct permission and ownership
 | 
			
		||||
  set_correct_permOwner
 | 
			
		||||
 | 
			
		||||
  # Rename files stored in permanent data (i.e. queue/ossec)
 | 
			
		||||
  move_data_files
 | 
			
		||||
 
 | 
			
		||||
@@ -12,32 +12,38 @@ fi
 | 
			
		||||
 | 
			
		||||
if [ "$INDEXER_USERNAME" != "" ]; then
 | 
			
		||||
  >&2 echo "Configuring username."
 | 
			
		||||
  sed -i "s|#username:.*|username: '$INDEXER_USERNAME'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|#username:.*|username:|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|username:.*|username: '$INDEXER_USERNAME'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$INDEXER_PASSWORD" != "" ]; then
 | 
			
		||||
  >&2 echo "Configuring password."
 | 
			
		||||
  sed -i "s|#password:.*|password: '$INDEXER_PASSWORD'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|#password:.*|password:|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|password:.*|password: '$INDEXER_PASSWORD'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$FILEBEAT_SSL_VERIFICATION_MODE" != "" ]; then
 | 
			
		||||
  >&2 echo "Configuring SSL verification mode."
 | 
			
		||||
  sed -i "s|#ssl.verification_mode:.*|ssl.verification_mode: $FILEBEAT_SSL_VERIFICATION_MODE|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|#ssl.verification_mode:.*|ssl.verification_mode:|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|ssl.verification_mode:.*|ssl.verification_mode: '$FILEBEAT_SSL_VERIFICATION_MODE'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$SSL_CERTIFICATE_AUTHORITIES" != "" ]; then
 | 
			
		||||
  >&2 echo "Configuring Certificate Authorities."
 | 
			
		||||
  sed -i "s|#ssl.certificate_authorities:.*|ssl.certificate_authorities: ['$SSL_CERTIFICATE_AUTHORITIES']|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|#ssl.certificate_authorities:.*|ssl.certificate_authorities:|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|ssl.certificate_authorities:.*|ssl.certificate_authorities: ['$SSL_CERTIFICATE_AUTHORITIES']|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$SSL_CERTIFICATE" != "" ]; then
 | 
			
		||||
  >&2 echo "Configuring SSL Certificate."
 | 
			
		||||
  sed -i "s|#ssl.certificate:.*|ssl.certificate: '$SSL_CERTIFICATE'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|#ssl.certificate:.*|ssl.certificate:|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|ssl.certificate:.*|ssl.certificate: '$SSL_CERTIFICATE'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$SSL_KEY" != "" ]; then
 | 
			
		||||
  >&2 echo "Configuring SSL Key."
 | 
			
		||||
  sed -i "s|#ssl.key:.*|ssl.key: '$SSL_KEY'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|#ssl.key:.*|ssl.key:|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
  sed -i "s|ssl.key:.*|ssl.key: '$SSL_KEY'|g" /etc/filebeat/filebeat.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,8 @@
 | 
			
		||||
## Variables
 | 
			
		||||
CERT_TOOL=wazuh-certs-tool.sh
 | 
			
		||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.3/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.3/
 | 
			
		||||
PACKAGES_URL=https://packages.wazuh.com/4.4/
 | 
			
		||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.4/
 | 
			
		||||
 | 
			
		||||
## 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}')
 | 
			
		||||
@@ -54,8 +54,8 @@ cp /certificates/root-ca.key /certificates/root-ca-manager.key
 | 
			
		||||
chown 101:101 /certificates/root-ca-manager.pem
 | 
			
		||||
chown 101:101 /certificates/root-ca-manager.key
 | 
			
		||||
 | 
			
		||||
for i in ${node_names[@]}; 
 | 
			
		||||
do 
 | 
			
		||||
for i in ${node_names[@]};
 | 
			
		||||
do
 | 
			
		||||
  chown 101:101 "/certificates/${i}.pem"
 | 
			
		||||
  chown 101:101 "/certificates/${i}-key.pem"
 | 
			
		||||
done
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Opendistro data migration to Wazuh indexer on docker.
 | 
			
		||||
This procedure explains how to migrate Opendistro data from Opendistro to Wazuh indexer in docker production deployments.
 | 
			
		||||
The example is migrating from v4.2 to v4.3.
 | 
			
		||||
The example is migrating from v4.2 to v4.4.
 | 
			
		||||
 | 
			
		||||
## Procedure
 | 
			
		||||
Assuming that you have a v4.2 production deployment, perform the following steps.
 | 
			
		||||
@@ -350,9 +350,9 @@ docker container run --rm -it \
 | 
			
		||||
           alpine ash -c "cd /from ; cp -avp . /to"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**7. Start the 4.3 environment.**
 | 
			
		||||
**7. Start the 4.4 environment.**
 | 
			
		||||
```
 | 
			
		||||
git checkout 4.3
 | 
			
		||||
git checkout 4.4
 | 
			
		||||
cd multi-node
 | 
			
		||||
docker-compose -f generate-indexer-certs.yml run --rm generator
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
@@ -21,4 +21,4 @@ nodes:
 | 
			
		||||
  # Wazuh dashboard node
 | 
			
		||||
  dashboard:
 | 
			
		||||
    - name: wazuh.dashboard
 | 
			
		||||
      ip: wazuh.dashboard
 | 
			
		||||
      ip: wazuh.dashboard
 | 
			
		||||
 
 | 
			
		||||
@@ -3,5 +3,5 @@ hosts:
 | 
			
		||||
      url: "https://wazuh.master"
 | 
			
		||||
      port: 55000
 | 
			
		||||
      username: wazuh-wui
 | 
			
		||||
      password: MyS3cr37P450r.*-
 | 
			
		||||
      password: "MyS3cr37P450r.*-"
 | 
			
		||||
      run_as: false
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ version: '3.7'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  wazuh.master:
 | 
			
		||||
    image: wazuh/wazuh-manager:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-manager:4.4.1
 | 
			
		||||
    hostname: wazuh.master
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -38,7 +38,7 @@ services:
 | 
			
		||||
      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
  wazuh.worker:
 | 
			
		||||
    image: wazuh/wazuh-manager:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-manager:4.4.1
 | 
			
		||||
    hostname: wazuh.worker
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
@@ -67,7 +67,7 @@ services:
 | 
			
		||||
      - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
  wazuh1.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
			
		||||
    hostname: wazuh1.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -84,16 +84,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/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/plugins/opensearch-security/securityconfig/internal_users.yml
 | 
			
		||||
      - ./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
 | 
			
		||||
 | 
			
		||||
  wazuh2.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
			
		||||
    hostname: wazuh2.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
@@ -108,14 +108,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/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/plugins/opensearch-security/securityconfig/internal_users.yml
 | 
			
		||||
      - ./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
 | 
			
		||||
 | 
			
		||||
  wazuh3.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
			
		||||
    hostname: wazuh3.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
@@ -130,14 +130,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/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/plugins/opensearch-security/securityconfig/internal_users.yml
 | 
			
		||||
      - ./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
 | 
			
		||||
 | 
			
		||||
  wazuh.dashboard:
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.4.1
 | 
			
		||||
    hostname: wazuh.dashboard
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
 
 | 
			
		||||
@@ -13,4 +13,4 @@ nodes:
 | 
			
		||||
  # Wazuh dashboard node
 | 
			
		||||
  dashboard:
 | 
			
		||||
    - name: wazuh.dashboard
 | 
			
		||||
      ip: wazuh.dashboard
 | 
			
		||||
      ip: wazuh.dashboard
 | 
			
		||||
 
 | 
			
		||||
@@ -331,11 +331,11 @@
 | 
			
		||||
    <name>wazuh</name>
 | 
			
		||||
    <node_name>node01</node_name>
 | 
			
		||||
    <node_type>master</node_type>
 | 
			
		||||
    <key></key>
 | 
			
		||||
    <key>aa093264ef885029653eea20dfcf51ae</key>
 | 
			
		||||
    <port>1516</port>
 | 
			
		||||
    <bind_addr>0.0.0.0</bind_addr>
 | 
			
		||||
    <nodes>
 | 
			
		||||
        <node>NODE_IP</node>
 | 
			
		||||
        <node>wazuh.manager</node>
 | 
			
		||||
    </nodes>
 | 
			
		||||
    <hidden>no</hidden>
 | 
			
		||||
    <disabled>yes</disabled>
 | 
			
		||||
 
 | 
			
		||||
@@ -3,5 +3,5 @@ hosts:
 | 
			
		||||
      url: "https://wazuh.manager"
 | 
			
		||||
      port: 55000
 | 
			
		||||
      username: wazuh-wui
 | 
			
		||||
      password: MyS3cr37P450r.*-
 | 
			
		||||
      password: "MyS3cr37P450r.*-"
 | 
			
		||||
      run_as: false
 | 
			
		||||
 
 | 
			
		||||
@@ -3,13 +3,15 @@ node.name: "wazuh.indexer"
 | 
			
		||||
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: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.pem
 | 
			
		||||
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.key
 | 
			
		||||
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
			
		||||
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.pem
 | 
			
		||||
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.key
 | 
			
		||||
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
 | 
			
		||||
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.enabled: true
 | 
			
		||||
plugins.security.ssl.transport.enforce_hostname_verification: false
 | 
			
		||||
plugins.security.ssl.transport.resolve_hostname: false
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ version: '3.7'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  wazuh.manager:
 | 
			
		||||
    image: wazuh/wazuh-manager:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-manager:4.4.1
 | 
			
		||||
    hostname: wazuh.manager
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -39,7 +39,7 @@ services:
 | 
			
		||||
      - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
  wazuh.indexer:
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-indexer:4.4.1
 | 
			
		||||
    hostname: wazuh.indexer
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -55,16 +55,16 @@ services:
 | 
			
		||||
        hard: 65536
 | 
			
		||||
    volumes:
 | 
			
		||||
      - wazuh-indexer-data:/var/lib/wazuh-indexer
 | 
			
		||||
      - ./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/plugins/opensearch-security/securityconfig/internal_users.yml
 | 
			
		||||
      - ./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
 | 
			
		||||
 | 
			
		||||
  wazuh.dashboard:
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.3.6
 | 
			
		||||
    image: wazuh/wazuh-dashboard:4.4.1
 | 
			
		||||
    hostname: wazuh.dashboard
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
 
 | 
			
		||||
@@ -7,4 +7,4 @@ services:
 | 
			
		||||
    hostname: wazuh-certs-generator
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config/wazuh_indexer_ssl_certs/:/certificates/
 | 
			
		||||
      - ./config/certs.yml:/config/certs.yml
 | 
			
		||||
      - ./config/certs.yml:/config/certs.yml
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user