mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-10-31 03:53:32 +00:00 
			
		
		
		
	Compare commits
	
		
			54 Commits
		
	
	
		
			v4.0.3_1.1
			...
			v4.1.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | b36f24a128 | ||
|  | 5da9c5dd1f | ||
|  | 4eb80c83b0 | ||
|  | 68c41bd64c | ||
|  | 41f2397725 | ||
|  | 5673a9115c | ||
|  | f019658c86 | ||
|  | eb944445be | ||
|  | fe3b9335c1 | ||
|  | 771e4e3988 | ||
|  | 6f60a87b46 | ||
|  | 201e750f2c | ||
|  | 7e75b29a0f | ||
|  | 1c512ae437 | ||
|  | 7cc89ffdb1 | ||
|  | e3d1aa16d0 | ||
|  | b7afcf7646 | ||
|  | b290efb376 | ||
|  | 8dd9bc0421 | ||
|  | 64db5f9067 | ||
|  | 5313c60a06 | ||
|  | ca11769d4f | ||
|  | 1cc88b3097 | ||
|  | e20fb6e728 | ||
|  | d84631761a | ||
|  | 08ac53fee9 | ||
|  | f4c484e887 | ||
|  | 7a99967144 | ||
|  | cd7d882261 | ||
|  | 217be9a075 | ||
|  | e683a68cb4 | ||
|  | 59b55c6d5c | ||
|  | 0d5d167a5d | ||
|  | 13ad837787 | ||
|  | 0ce9aa9991 | ||
|  | d2c91ff90a | ||
|  | c3943a1523 | ||
|  | 6c9506aa9a | ||
|  | 68256252c7 | ||
|  | c8184b9145 | ||
|  | e2e96c5ba1 | ||
|  | 3a5500e3ff | ||
|  | 8dea8fb25b | ||
|  | cfb11720ea | ||
|  | f41d0f876f | ||
|  | 56d8c4eaf3 | ||
|  | 9dc8e256c6 | ||
|  | 3a028ae547 | ||
|  | 309fa27bc2 | ||
|  | a0e7553aa5 | ||
|  | 5e5f13c1ff | ||
|  | 4955c0d5bc | ||
|  | 0ed25bab2d | ||
|  | dfa19bc348 | 
							
								
								
									
										22
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,9 +6,31 @@ jobs: | ||||
|   build-stack: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|  | ||||
|     - name: Check out code | ||||
|       uses: actions/checkout@v2 | ||||
|  | ||||
|     - name: Build the docker-compose stack | ||||
|       run: docker-compose -f build-from-sources.yml up -d --build | ||||
|  | ||||
|     - name: Check running containers | ||||
|       run: docker ps -a | ||||
|  | ||||
|     - name: Shutdown the stack | ||||
|       run: docker-compose -f build-from-sources.yml kill | ||||
|  | ||||
|     - name: Install Goss | ||||
|       uses: e1himself/goss-installation-action@v1.0.3 | ||||
|       with: | ||||
|         version: v0.3.16 | ||||
|  | ||||
|     - name: Execute Goss tests (wazuh-odfe) | ||||
|       run: dgoss run wazuh/wazuh-odfe:dev-version | ||||
|       env: | ||||
|         GOSS_SLEEP: 30 | ||||
|         GOSS_FILE: .goss.yaml | ||||
|  | ||||
|     - name: Execute Goss tests (wazuh-kibana-odfe) | ||||
|       run: dgoss run wazuh/wazuh-kibana-odfe:dev-version | ||||
|       env: | ||||
|         GOSS_FILE: .goss.kibana.yaml | ||||
|   | ||||
							
								
								
									
										53
									
								
								.goss.kibana.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								.goss.kibana.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| file: | ||||
|   /usr/share/kibana/config/kibana.yml: | ||||
|     exists: true | ||||
|     mode: "0664" | ||||
|     owner: kibana | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /usr/share/kibana/src/core/server/core_app/assets/legacy_light_theme.css: | ||||
|     exists: true | ||||
|     mode: "0664" | ||||
|     owner: kibana | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /usr/share/kibana/src/core/server/core_app/assets/wazuh_logo_circle.svg: | ||||
|     exists: true | ||||
|     mode: "0644" | ||||
|     owner: kibana | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /usr/share/kibana/src/core/server/core_app/assets/wazuh_wazuh_bg.svg: | ||||
|     exists: true | ||||
|     mode: "0644" | ||||
|     owner: kibana | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /usr/share/kibana/data/wazuh/config/wazuh.yml: | ||||
|     exists: true | ||||
|     mode: "0644" | ||||
|     owner: kibana | ||||
|     group: kibana | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /usr/share/kibana/src/legacy/ui/ui_render/bootstrap/template.js.hbs: | ||||
|     exists: true | ||||
|     mode: "0664" | ||||
|     owner: kibana | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
| user: | ||||
|   kibana: | ||||
|     exists: true | ||||
|     groups: | ||||
|     - kibana | ||||
|     home: /usr/share/kibana | ||||
|     shell: /bin/bash | ||||
| group: | ||||
|   kibana: | ||||
|     exists: true | ||||
							
								
								
									
										115
									
								
								.goss.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								.goss.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,115 @@ | ||||
| file: | ||||
|   /etc/filebeat/filebeat.yml: | ||||
|     exists: true | ||||
|     mode: "0644" | ||||
|     owner: root | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /var/ossec/bin/ossec-control: | ||||
|     exists: true | ||||
|     mode: "0750" | ||||
|     owner: root | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /var/ossec/etc/lists/audit-keys: | ||||
|     exists: true | ||||
|     mode: "0660" | ||||
|     owner: ossec | ||||
|     group: ossec | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /var/ossec/etc/ossec.conf: | ||||
|     exists: true | ||||
|     mode: "0660" | ||||
|     owner: root | ||||
|     group: ossec | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /var/ossec/etc/rules/local_rules.xml: | ||||
|     exists: true | ||||
|     mode: "0660" | ||||
|     owner: ossec | ||||
|     group: ossec | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /var/ossec/etc/sslmanager.cert: | ||||
|     exists: true | ||||
|     mode: "0640" | ||||
|     owner: root | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
|   /var/ossec/etc/sslmanager.key: | ||||
|     exists: true | ||||
|     mode: "0640" | ||||
|     owner: root | ||||
|     group: root | ||||
|     filetype: file | ||||
|     contains: [] | ||||
| package: | ||||
|   filebeat: | ||||
|     installed: true | ||||
|     versions: | ||||
|     - 7.10.0 | ||||
|   wazuh-manager: | ||||
|     installed: true | ||||
|     versions: | ||||
|     - 4.1.0 | ||||
| port: | ||||
|   tcp:1514: | ||||
|     listening: true | ||||
|     ip: | ||||
|     - 0.0.0.0 | ||||
|   tcp:1515: | ||||
|     listening: true | ||||
|     ip: | ||||
|     - 0.0.0.0 | ||||
|   tcp:55000: | ||||
|     listening: true | ||||
|     ip: | ||||
|     - 0.0.0.0 | ||||
| user: | ||||
|   ossec: | ||||
|     exists: true | ||||
|     groups: | ||||
|     - ossec | ||||
|     home: /var/ossec | ||||
|     shell: /sbin/nologin | ||||
|   ossecm: | ||||
|     exists: true | ||||
|     groups: | ||||
|     - ossec | ||||
|     home: /var/ossec | ||||
|     shell: /sbin/nologin | ||||
|   ossecr: | ||||
|     exists: true | ||||
|     groups: | ||||
|     - ossec | ||||
|     home: /var/ossec | ||||
|     shell: /sbin/nologin | ||||
| group: | ||||
|   ossec: | ||||
|     exists: true | ||||
| process: | ||||
|   filebeat: | ||||
|     running: true | ||||
|   ossec-analysisd: | ||||
|     running: true | ||||
|   ossec-authd: | ||||
|     running: true | ||||
|   ossec-execd: | ||||
|     running: true | ||||
|   ossec-monitord: | ||||
|     running: true | ||||
|   ossec-remoted: | ||||
|     running: true | ||||
|   ossec-syscheckd: | ||||
|     running: true | ||||
|   s6-supervise: | ||||
|     running: true | ||||
|   wazuh-db: | ||||
|     running: true | ||||
|   wazuh-modulesd: | ||||
|     running: true | ||||
							
								
								
									
										16
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,5 +1,21 @@ | ||||
| # Change Log | ||||
| All notable changes to this project will be documented in this file. | ||||
| ## Wazuh Docker v4.1.0 | ||||
| ### Added | ||||
|  | ||||
| - Update Wazuh to version [4.1.0](https://github.com/wazuh/wazuh/blob/v4.1.0/CHANGELOG.md#v410) | ||||
| - Update ODFE compatibility to version 1.12.0 | ||||
| - Add support for Elasticsearch (xpack) images once again (7.10.2)  ([@xr09](https://github.com/xr09)) [#409](https://github.com/wazuh/wazuh-docker/pull/409) | ||||
| - Re-enable entrypoint scripts  ([@xr09](https://github.com/xr09)) [#435](https://github.com/wazuh/wazuh-docker/pull/435) | ||||
| - Add Goss binary for healthchecks ([@xr09](https://github.com/xr09)) [$441](https://github.com/wazuh/wazuh-docker/pull/441) | ||||
| - Update s6-overlay to latest version | ||||
|  | ||||
| ## Wazuh Docker v4.0.4_1.11.0 | ||||
|  | ||||
| ### Added | ||||
|  | ||||
| - Update to Wazuh version [4.0.4](https://github.com/wazuh/wazuh/blob/v4.0.4/CHANGELOG.md#v404) | ||||
|  | ||||
|  | ||||
| ## Wazuh Docker v4.0.3_1.11.0 | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
|  | ||||
|  Portions Copyright (C) 2020 Wazuh, Inc. | ||||
|  Portions Copyright (C) 2021 Wazuh, Inc. | ||||
|  Based on work Copyright (C) 2003 - 2013 Trend Micro, Inc. | ||||
|  | ||||
|  This program is a free software; you can redistribute it and/or modify | ||||
|   | ||||
							
								
								
									
										26
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								README.md
									
									
									
									
									
								
							| @@ -148,20 +148,24 @@ ADMIN_PRIVILEGES=true               # App privileges | ||||
|  | ||||
| * `4.0` branch on correspond to the latest Wazuh-Docker stable version. | ||||
| * `master` branch contains the latest code, be aware of possible bugs on this branch. | ||||
| * `Wazuh.Version_ElasticStack.Version` (for example 3.13.1_7.8.0) branch. This branch contains the current release referenced in Docker Hub. The container images are installed under the current version of this branch. | ||||
| * `Wazuh.Version` (for example 3.13.1_7.8.0 or 4.1.0) branch. This branch contains the current release referenced in Docker Hub. The container images are installed under the current version of this branch. | ||||
|  | ||||
|  | ||||
| ## Compatibility Matrix | ||||
|  | ||||
| | Wazuh version | ODFE    | | ||||
| |---------------|---------| | ||||
| | v4.0.3        | 1.11.0  | | ||||
| |---------------|---------| | ||||
| | v4.0.2        | 1.11.0  | | ||||
| |---------------|---------| | ||||
| | v4.0.1        | 1.11.0  | | ||||
| |---------------|---------| | ||||
| | v4.0.0        | 1.10.1  | | ||||
| | Wazuh version | ODFE    | XPACK  | | ||||
| |---------------|---------|--------| | ||||
| | v4.1.0        | 1.12.0  | 7.10.2 | | ||||
| |---------------|---------|--------| | ||||
| | v4.0.4        | 1.11.0  |        | | ||||
| |---------------|---------|--------| | ||||
| | v4.0.3        | 1.11.0  |        | | ||||
| |---------------|---------|--------| | ||||
| | v4.0.2        | 1.11.0  |        | | ||||
| |---------------|---------|--------| | ||||
| | v4.0.1        | 1.11.0  |        | | ||||
| |---------------|---------|--------| | ||||
| | v4.0.0        | 1.10.1  |        | | ||||
|  | ||||
| ## Credits and Thank you | ||||
|  | ||||
| @@ -174,7 +178,7 @@ We thank you them and everyone else who has contributed to this project. | ||||
|  | ||||
| ## License and copyright | ||||
|  | ||||
| Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| ## Web references | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								VERSION
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								VERSION
									
									
									
									
									
								
							| @@ -1,2 +1,2 @@ | ||||
| WAZUH-DOCKER_VERSION="4.0.3_1.11.0" | ||||
| REVISION="40300" | ||||
| WAZUH-DOCKER_VERSION="4.1.0" | ||||
| REVISION="41000" | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| version: '3.7' | ||||
|  | ||||
| services: | ||||
| @@ -31,7 +31,7 @@ services: | ||||
|       - filebeat_var:/var/lib/filebeat | ||||
|  | ||||
|   elasticsearch: | ||||
|     image: amazon/opendistro-for-elasticsearch:1.11.0 | ||||
|     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||
|     hostname: elasticsearch | ||||
|     restart: always | ||||
|     ports: | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| version: '3.7' | ||||
|  | ||||
| services: | ||||
|   wazuh: | ||||
|     image: wazuh/wazuh-odfe:4.0.3_1.11.0 | ||||
|     image: wazuh/wazuh-odfe:4.1.0 | ||||
|     hostname: wazuh-manager | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -30,7 +30,7 @@ services: | ||||
|       - filebeat_var:/var/lib/filebeat | ||||
|  | ||||
|   elasticsearch: | ||||
|     image: amazon/opendistro-for-elasticsearch:1.11.0 | ||||
|     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||
|     hostname: elasticsearch | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -50,7 +50,7 @@ services: | ||||
|         hard: 65536 | ||||
|  | ||||
|   kibana: | ||||
|     image: wazuh/wazuh-kibana-odfe:4.0.3_1.11.0 | ||||
|     image: wazuh/wazuh-kibana-odfe:4.1.0 | ||||
|     hostname: kibana | ||||
|     restart: always | ||||
|     ports: | ||||
|   | ||||
							
								
								
									
										17
									
								
								generate-elasticsearch-certs.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								generate-elasticsearch-certs.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| version: '2.2' | ||||
|  | ||||
| services: | ||||
|   generator: | ||||
|     container_name: generator | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     command: > | ||||
|       bash -c ' | ||||
|         if [[ ! -f config/certificates/bundle.zip ]]; then | ||||
|           bin/elasticsearch-certutil cert --silent --pem --in config/certificates/instances.yml -out config/certificates/bundle.zip; | ||||
|           unzip config/certificates/bundle.zip -d config/certificates/; | ||||
|         fi; | ||||
|         chown -R 1000:0 /certs | ||||
|       ' | ||||
|     user: "0" | ||||
|     working_dir: /usr/share/elasticsearch | ||||
|     volumes: ['./xpack:/usr/share/elasticsearch/config/certificates'] | ||||
| @@ -1,4 +1,4 @@ | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| version: '3' | ||||
|  | ||||
| services: | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| FROM amazon/opendistro-for-elasticsearch-kibana:1.11.0 | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| FROM amazon/opendistro-for-elasticsearch-kibana:1.12.0 | ||||
| USER kibana | ||||
| ARG ELASTIC_VERSION=7.9.1 | ||||
| ARG WAZUH_VERSION=4.0.3 | ||||
| ARG ELASTIC_VERSION=7.10.0 | ||||
| ARG WAZUH_VERSION=4.1.0 | ||||
| ARG WAZUH_APP_VERSION="${WAZUH_VERSION}_${ELASTIC_VERSION}" | ||||
|  | ||||
| WORKDIR /usr/share/kibana | ||||
| @@ -42,7 +42,6 @@ ENV PATTERN="" \ | ||||
|     ADMIN_PRIVILEGES="" | ||||
|  | ||||
| USER kibana | ||||
| RUN NODE_OPTIONS="--max-old-space-size=2048" /usr/local/bin/kibana-docker --optimize | ||||
|  | ||||
| COPY ./config/custom_welcome /tmp/custom_welcome | ||||
| COPY --chown=kibana:kibana ./config/welcome_wazuh.sh ./ | ||||
| @@ -50,7 +49,7 @@ RUN chmod +x ./welcome_wazuh.sh | ||||
| ARG CHANGE_WELCOME="true" | ||||
| RUN ./welcome_wazuh.sh | ||||
|  | ||||
| COPY --chown=kibana:kibana ./config/wazuh.yml /usr/share/kibana/optimize/wazuh/config/wazuh.yml | ||||
| COPY --chown=kibana:kibana ./config/wazuh.yml /usr/share/kibana/data/wazuh/config/wazuh.yml | ||||
| COPY --chown=kibana:kibana ./config/wazuh_app_config.sh ./ | ||||
| RUN chmod +x ./wazuh_app_config.sh | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| set -e | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| WAZUH_MAJOR=4 | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| --- | ||||
| # | ||||
| # Wazuh app - App configuration file | ||||
| # Copyright (C) 2015-2020 Wazuh, Inc. | ||||
| # Copyright (C) 2015-2021 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 | ||||
|   | ||||
| @@ -1,12 +1,12 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| wazuh_url="${WAZUH_API_URL:-https://wazuh}" | ||||
| wazuh_port="${API_PORT:-55000}" | ||||
| api_username="${API_USERNAME:-wazuh-wui}" | ||||
| api_password="${API_PASSWORD:-wazuh-wui}" | ||||
|  | ||||
| kibana_config_file="/usr/share/kibana/optimize/wazuh/config/wazuh.yml" | ||||
| kibana_config_file="/usr/share/kibana/data/wazuh/config/wazuh.yml" | ||||
|  | ||||
| declare -A CONFIG_MAP=( | ||||
|   [pattern]=$PATTERN | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| if [[ $CHANGE_WELCOME == "true" ]] | ||||
| then | ||||
| @@ -8,7 +8,7 @@ then | ||||
|  | ||||
|     echo "Set custom welcome styles" | ||||
|     cp -f /tmp/custom_welcome/template.js.hbs /usr/share/kibana/src/legacy/ui/ui_render/bootstrap/template.js.hbs | ||||
|     cp -f /tmp/custom_welcome/light_theme.style.css /usr/share/kibana/optimize/bundles/light_theme.style.css | ||||
|     cp -f /tmp/custom_welcome/*svg /usr/share/kibana/optimize/bundles/ | ||||
|     cp -f /tmp/custom_welcome/light_theme.style.css /usr/share/kibana/src/core/server/core_app/assets/legacy_light_theme.css | ||||
|     cp -f /tmp/custom_welcome/*svg /usr/share/kibana/src/core/server/core_app/assets/ | ||||
| fi | ||||
|  | ||||
|   | ||||
							
								
								
									
										64
									
								
								kibana/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								kibana/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| FROM docker.elastic.co/kibana/kibana:7.10.2 | ||||
| USER kibana | ||||
| ARG ELASTIC_VERSION=7.10.2 | ||||
| ARG WAZUH_VERSION=4.1.0 | ||||
| ARG WAZUH_APP_VERSION="${WAZUH_VERSION}_${ELASTIC_VERSION}" | ||||
|  | ||||
| WORKDIR /usr/share/kibana | ||||
| RUN ./bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-${WAZUH_APP_VERSION}-1.zip | ||||
|  | ||||
| ENV PATTERN="" \ | ||||
|     CHECKS_PATTERN="" \ | ||||
|     CHECKS_TEMPLATE="" \ | ||||
|     CHECKS_API="" \ | ||||
|     CHECKS_SETUP="" \ | ||||
|     EXTENSIONS_PCI="" \ | ||||
|     EXTENSIONS_GDPR="" \ | ||||
|     EXTENSIONS_HIPAA="" \ | ||||
|     EXTENSIONS_NIST="" \ | ||||
|     EXTENSIONS_TSC="" \ | ||||
|     EXTENSIONS_AUDIT="" \ | ||||
|     EXTENSIONS_OSCAP="" \ | ||||
|     EXTENSIONS_CISCAT="" \ | ||||
|     EXTENSIONS_AWS="" \ | ||||
|     EXTENSIONS_GCP="" \ | ||||
|     EXTENSIONS_VIRUSTOTAL="" \ | ||||
|     EXTENSIONS_OSQUERY="" \ | ||||
|     EXTENSIONS_DOCKER="" \ | ||||
|     APP_TIMEOUT="" \ | ||||
|     API_SELECTOR="" \ | ||||
|     IP_SELECTOR="" \ | ||||
|     IP_IGNORE="" \ | ||||
|     WAZUH_MONITORING_ENABLED="" \ | ||||
|     WAZUH_MONITORING_FREQUENCY="" \ | ||||
|     WAZUH_MONITORING_SHARDS="" \ | ||||
|     WAZUH_MONITORING_REPLICAS="" \ | ||||
|     ADMIN_PRIVILEGES="" \ | ||||
|     XPACK_CANVAS="true" \ | ||||
|     XPACK_LOGS="true"   \ | ||||
|     XPACK_INFRA="true"  \ | ||||
|     XPACK_ML="true" \ | ||||
|     XPACK_DEVTOOLS="true"   \ | ||||
|     XPACK_MONITORING="true" \ | ||||
|     XPACK_APM="true" | ||||
|  | ||||
| WORKDIR / | ||||
| USER kibana | ||||
|  | ||||
| COPY --chown=kibana:kibana config/entrypoint.sh ./entrypoint.sh | ||||
| RUN chmod 755 ./entrypoint.sh | ||||
|  | ||||
| RUN printf "\nserver.defaultRoute: /app/wazuh\n" >> /usr/share/kibana/config/kibana.yml | ||||
|  | ||||
| COPY --chown=kibana:kibana ./config/wazuh.yml /usr/share/kibana/data/wazuh/config/wazuh.yml | ||||
| COPY --chown=kibana:kibana ./config/wazuh_app_config.sh ./ | ||||
| RUN chmod +x ./wazuh_app_config.sh | ||||
|  | ||||
| COPY --chown=kibana:kibana ./config/kibana_settings.sh ./ | ||||
| RUN chmod +x ./kibana_settings.sh | ||||
|  | ||||
| COPY --chown=kibana:kibana ./config/xpack_config.sh ./ | ||||
| RUN chmod +x ./xpack_config.sh | ||||
|  | ||||
| ENTRYPOINT ./entrypoint.sh | ||||
							
								
								
									
										60
									
								
								kibana/config/entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								kibana/config/entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| set -e | ||||
|  | ||||
| ############################################################################## | ||||
| # Waiting for elasticsearch | ||||
| ############################################################################## | ||||
|  | ||||
| if [ "x${ELASTICSEARCH_URL}" = "x" ]; then | ||||
|   export el_url="http://elasticsearch:9200" | ||||
| else | ||||
|   export el_url="${ELASTICSEARCH_URL}" | ||||
| fi | ||||
|  | ||||
| if [[ ${ENABLED_SECURITY} == "false" || "x${ELASTICSEARCH_USERNAME}" = "x" || "x${ELASTICSEARCH_PASSWORD}" = "x" ]]; then | ||||
|   export auth="" | ||||
| else | ||||
|   export auth="--user ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD} -k" | ||||
| fi | ||||
|  | ||||
| until curl -XGET $el_url ${auth}; do | ||||
|   >&2 echo "Elastic is unavailable - sleeping" | ||||
|   sleep 5 | ||||
| done | ||||
|  | ||||
| sleep 2 | ||||
|  | ||||
| >&2 echo "Elasticsearch is up." | ||||
|  | ||||
|  | ||||
| ############################################################################## | ||||
| # Waiting for wazuh alerts template | ||||
| ############################################################################## | ||||
|  | ||||
| strlen=0 | ||||
|  | ||||
| while [[ $strlen -eq 0 ]] | ||||
| do | ||||
|   template=$(curl ${auth} $el_url/_cat/templates/wazuh -s) | ||||
|   strlen=${#template} | ||||
|   >&2 echo "Wazuh alerts template not loaded - sleeping." | ||||
|   sleep 2 | ||||
| done | ||||
|  | ||||
| sleep 2 | ||||
|  | ||||
| >&2 echo "Wazuh alerts template is loaded." | ||||
|  | ||||
| ./xpack_config.sh | ||||
|  | ||||
| ./wazuh_app_config.sh | ||||
|  | ||||
| sleep 5 | ||||
|  | ||||
| ./kibana_settings.sh & | ||||
|  | ||||
| sleep 2 | ||||
|  | ||||
| /usr/local/bin/kibana-docker | ||||
							
								
								
									
										79
									
								
								kibana/config/kibana_settings.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								kibana/config/kibana_settings.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| WAZUH_MAJOR=4 | ||||
|  | ||||
| ############################################################################## | ||||
| # Wait for the Kibana API to start. It is necessary to do it in this container | ||||
| # because the others are running Elastic Stack and we can not interrupt them. | ||||
| # | ||||
| # The following actions are performed: | ||||
| # | ||||
| # Add the wazuh alerts index as default. | ||||
| # Set the Discover time interval to 24 hours instead of 15 minutes. | ||||
| # Do not ask user to help providing usage statistics to Elastic. | ||||
| ############################################################################## | ||||
|  | ||||
| ############################################################################## | ||||
| # Customize elasticsearch ip | ||||
| ############################################################################## | ||||
| sed -i "s|elasticsearch.hosts:.*|elasticsearch.hosts: $el_url|g" /usr/share/kibana/config/kibana.yml | ||||
|  | ||||
| # If KIBANA_INDEX was set, then change the default index in kibana.yml configuration file. If there was an index, then delete it and recreate. | ||||
| if [ "$KIBANA_INDEX" != "" ]; then | ||||
|   if grep -q 'kibana.index' /usr/share/kibana/config/kibana.yml; then | ||||
|     sed -i '/kibana.index/d' /usr/share/kibana/config/kibana.yml | ||||
|   fi | ||||
|     echo "kibana.index: $KIBANA_INDEX" >> /usr/share/kibana/config/kibana.yml | ||||
| fi | ||||
|  | ||||
| kibana_proto="http" | ||||
|  | ||||
| if [ "$XPACK_SECURITY_ENABLED" != "" ]; then | ||||
|   kibana_proto="https" | ||||
|   if grep -q 'xpack.security.enabled' /usr/share/kibana/config/kibana.yml; then | ||||
|     sed -i '/xpack.security.enabled/d' /usr/share/kibana/config/kibana.yml | ||||
|   fi | ||||
|     echo "xpack.security.enabled: $XPACK_SECURITY_ENABLED" >> /usr/share/kibana/config/kibana.yml | ||||
| fi | ||||
|  | ||||
| # Add auth headers if required | ||||
| if [ "$ELASTICSEARCH_USERNAME" != "" ] && [ "$ELASTICSEARCH_PASSWORD" != "" ]; then | ||||
|     curl_auth="-u $ELASTICSEARCH_USERNAME:$ELASTICSEARCH_PASSWORD" | ||||
| fi | ||||
|  | ||||
| while [[ "$(curl $curl_auth -XGET -I  -s -o /dev/null -w ''%{http_code}'' -k $kibana_proto://127.0.0.1:5601/status)" != "200" ]]; do | ||||
|   echo "Waiting for Kibana API. Sleeping 5 seconds" | ||||
|   sleep 5 | ||||
| done | ||||
|  | ||||
|  | ||||
|  | ||||
| # Prepare index selection. | ||||
| echo "Kibana API is running" | ||||
|  | ||||
| default_index="/tmp/default_index.json" | ||||
|  | ||||
| cat > ${default_index} << EOF | ||||
| { | ||||
|   "changes": { | ||||
|     "defaultIndex": "wazuh-alerts-${WAZUH_MAJOR}.x-*" | ||||
|   } | ||||
| } | ||||
| EOF | ||||
|  | ||||
| sleep 5 | ||||
| # Add the wazuh alerts index as default. | ||||
| curl ${auth} -POST -k "$kibana_proto://127.0.0.1:5601/api/kibana/settings" -H "Content-Type: application/json" -H "kbn-xsrf: true" -d@${default_index} | ||||
| rm -f ${default_index} | ||||
|  | ||||
| sleep 5 | ||||
| # Configuring Kibana TimePicker. | ||||
| curl ${auth} -POST -k "$kibana_proto://127.0.0.1:5601/api/kibana/settings" -H "Content-Type: application/json" -H "kbn-xsrf: true" -d \ | ||||
| '{"changes":{"timepicker:timeDefaults":"{\n  \"from\": \"now-12h\",\n  \"to\": \"now\",\n  \"mode\": \"quick\"}"}}' | ||||
|  | ||||
| sleep 5 | ||||
| # Do not ask user to help providing usage statistics to Elastic | ||||
| curl ${auth} -POST -k "$kibana_proto://127.0.0.1:5601/api/telemetry/v2/optIn" -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"enabled":false}' | ||||
|  | ||||
| echo "End settings" | ||||
							
								
								
									
										162
									
								
								kibana/config/wazuh.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								kibana/config/wazuh.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,162 @@ | ||||
| --- | ||||
| # | ||||
| # Wazuh app - App configuration file | ||||
| # Copyright (C) 2015-2021 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-kibana-app | ||||
| # | ||||
| # ------------------------------- 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: [] | ||||
| # | ||||
| # -------------------------------- X-Pack RBAC --------------------------------- | ||||
| # | ||||
| # Custom setting to enable/disable built-in X-Pack RBAC security capabilities. | ||||
| # Default: enabled | ||||
| #xpack.rbac.enabled: true | ||||
| # | ||||
| # ------------------------------ 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> | ||||
|  | ||||
							
								
								
									
										64
									
								
								kibana/config/wazuh_app_config.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								kibana/config/wazuh_app_config.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| wazuh_url="${WAZUH_API_URL:-https://wazuh}" | ||||
| wazuh_port="${API_PORT:-55000}" | ||||
| api_username="${API_USERNAME:-wazuh-wui}" | ||||
| api_password="${API_PASSWORD:-wazuh-wui}" | ||||
|  | ||||
| kibana_config_file="/usr/share/kibana/data/wazuh/config/wazuh.yml" | ||||
|  | ||||
| declare -A CONFIG_MAP=( | ||||
|   [pattern]=$PATTERN | ||||
|   [checks.pattern]=$CHECKS_PATTERN | ||||
|   [checks.template]=$CHECKS_TEMPLATE | ||||
|   [checks.api]=$CHECKS_API | ||||
|   [checks.setup]=$CHECKS_SETUP | ||||
|   [extensions.pci]=$EXTENSIONS_PCI | ||||
|   [extensions.gdpr]=$EXTENSIONS_GDPR | ||||
|   [extensions.hipaa]=$EXTENSIONS_HIPAA | ||||
|   [extensions.nist]=$EXTENSIONS_NIST | ||||
|   [extensions.tsc]=$EXTENSIONS_TSC | ||||
|   [extensions.audit]=$EXTENSIONS_AUDIT | ||||
|   [extensions.oscap]=$EXTENSIONS_OSCAP | ||||
|   [extensions.ciscat]=$EXTENSIONS_CISCAT | ||||
|   [extensions.aws]=$EXTENSIONS_AWS | ||||
|   [extensions.gcp]=$EXTENSIONS_GCP | ||||
|   [extensions.virustotal]=$EXTENSIONS_VIRUSTOTAL | ||||
|   [extensions.osquery]=$EXTENSIONS_OSQUERY | ||||
|   [extensions.docker]=$EXTENSIONS_DOCKER | ||||
|   [timeout]=$APP_TIMEOUT | ||||
|   [api.selector]=$API_SELECTOR | ||||
|   [ip.selector]=$IP_SELECTOR | ||||
|   [ip.ignore]=$IP_IGNORE | ||||
|   [wazuh.monitoring.enabled]=$WAZUH_MONITORING_ENABLED | ||||
|   [wazuh.monitoring.frequency]=$WAZUH_MONITORING_FREQUENCY | ||||
|   [wazuh.monitoring.shards]=$WAZUH_MONITORING_SHARDS | ||||
|   [wazuh.monitoring.replicas]=$WAZUH_MONITORING_REPLICAS | ||||
|   [admin]=$ADMIN_PRIVILEGES | ||||
| ) | ||||
|  | ||||
| for i in "${!CONFIG_MAP[@]}" | ||||
| do | ||||
|     if [ "${CONFIG_MAP[$i]}" != "" ]; then | ||||
|         sed -i 's/.*#'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $kibana_config_file | ||||
|     fi | ||||
| done | ||||
|  | ||||
| CONFIG_CODE=$(curl ${auth} -s -o /dev/null -w "%{http_code}" -XGET $el_url/.wazuh/_doc/1513629884013) | ||||
|  | ||||
| grep -q 1513629884013 $kibana_config_file | ||||
| _config_exists=$? | ||||
|  | ||||
| if [[ "x$CONFIG_CODE" != "x200" && $_config_exists -ne 0 ]]; then | ||||
| cat << EOF >> $kibana_config_file | ||||
| hosts: | ||||
|   - 1513629884013: | ||||
|       url: $wazuh_url | ||||
|       port: $wazuh_port | ||||
|       username: $api_username | ||||
|       password: $api_password | ||||
| EOF | ||||
| else | ||||
|   echo "Wazuh APP already configured" | ||||
| fi | ||||
							
								
								
									
										35
									
								
								kibana/config/xpack_config.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								kibana/config/xpack_config.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| kibana_config_file="/usr/share/kibana/config/kibana.yml" | ||||
| if grep -Fq  "#xpack features" "$kibana_config_file"; | ||||
| then | ||||
|   declare -A CONFIG_MAP=( | ||||
|     [xpack.apm.ui.enabled]=$XPACK_APM | ||||
|     [xpack.grokdebugger.enabled]=$XPACK_DEVTOOLS | ||||
|     [xpack.searchprofiler.enabled]=$XPACK_DEVTOOLS | ||||
|     [xpack.ml.enabled]=$XPACK_ML | ||||
|     [xpack.canvas.enabled]=$XPACK_CANVAS | ||||
|     [xpack.infra.enabled]=$XPACK_INFRA | ||||
|     [xpack.monitoring.enabled]=$XPACK_MONITORING | ||||
|     [console.enabled]=$XPACK_DEVTOOLS | ||||
|   ) | ||||
|   for i in "${!CONFIG_MAP[@]}" | ||||
|   do | ||||
|     if [ "${CONFIG_MAP[$i]}" != "" ]; then | ||||
|       sed -i 's/.'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $kibana_config_file | ||||
|     fi | ||||
|   done | ||||
| else | ||||
|   echo " | ||||
| #xpack features | ||||
| xpack.apm.ui.enabled: $XPACK_APM | ||||
| xpack.grokdebugger.enabled: $XPACK_DEVTOOLS | ||||
| xpack.searchprofiler.enabled: $XPACK_DEVTOOLS | ||||
| xpack.ml.enabled: $XPACK_ML | ||||
| xpack.canvas.enabled: $XPACK_CANVAS | ||||
| xpack.infra.enabled: $XPACK_INFRA | ||||
| xpack.monitoring.enabled: $XPACK_MONITORING | ||||
| console.enabled: $XPACK_DEVTOOLS | ||||
| " >> $kibana_config_file | ||||
| fi | ||||
| @@ -1,9 +1,9 @@ | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| version: '3.7' | ||||
|  | ||||
| services: | ||||
|   wazuh-master: | ||||
|     image: wazuh/wazuh-odfe:4.0.3_1.11.0 | ||||
|     image: wazuh/wazuh-odfe:4.1.0 | ||||
|     hostname: wazuh-master | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -38,7 +38,7 @@ services: | ||||
|       - ./production_cluster/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf | ||||
|  | ||||
|   wazuh-worker: | ||||
|     image: wazuh/wazuh-odfe:4.0.3_1.11.0 | ||||
|     image: wazuh/wazuh-odfe:4.1.0 | ||||
|     hostname: wazuh-worker | ||||
|     restart: always | ||||
|     environment: | ||||
| @@ -67,7 +67,7 @@ services: | ||||
|       - ./production_cluster/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf | ||||
|  | ||||
|   elasticsearch: | ||||
|     image: amazon/opendistro-for-elasticsearch:1.11.0 | ||||
|     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||
|     hostname: elasticsearch | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -90,7 +90,7 @@ services: | ||||
|       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml | ||||
|  | ||||
|   elasticsearch-2: | ||||
|     image: amazon/opendistro-for-elasticsearch:1.11.0 | ||||
|     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||
|     hostname: elasticsearch-2 | ||||
|     restart: always | ||||
|     environment: | ||||
| @@ -111,7 +111,7 @@ services: | ||||
|       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml | ||||
|  | ||||
|   elasticsearch-3: | ||||
|     image: amazon/opendistro-for-elasticsearch:1.11.0 | ||||
|     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||
|     hostname: elasticsearch-3 | ||||
|     restart: always | ||||
|     environment: | ||||
| @@ -132,7 +132,7 @@ services: | ||||
|       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml | ||||
|  | ||||
|   kibana: | ||||
|     image: wazuh/wazuh-kibana-odfe:4.0.3_1.11.0 | ||||
|     image: wazuh/wazuh-kibana-odfe:4.1.0 | ||||
|     hostname: kibana | ||||
|     restart: always | ||||
|     ports: | ||||
|   | ||||
| @@ -1,8 +1,9 @@ | ||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| FROM centos:7 | ||||
|  | ||||
| ARG FILEBEAT_VERSION=7.9.1 | ||||
| ARG WAZUH_VERSION=4.0.3-1 | ||||
| ARG FILEBEAT_CHANNEL=filebeat-oss | ||||
| ARG FILEBEAT_VERSION=7.10.0 | ||||
| ARG WAZUH_VERSION=4.1.0-1 | ||||
| ARG TEMPLATE_VERSION="master" | ||||
| ARG WAZUH_FILEBEAT_MODULE="wazuh-filebeat-0.1.tar.gz" | ||||
|  | ||||
| @@ -16,12 +17,14 @@ RUN yum --enablerepo=updates clean metadata && \ | ||||
|   sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo && \ | ||||
|   yum clean all && rm -rf /var/cache/yum | ||||
|  | ||||
| RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-${FILEBEAT_VERSION}-x86_64.rpm &&\ | ||||
|   rpm -i filebeat-oss-${FILEBEAT_VERSION}-x86_64.rpm && rm -f filebeat-oss-${FILEBEAT_VERSION}-x86_64.rpm | ||||
| RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\ | ||||
|   rpm -i ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm | ||||
|  | ||||
| RUN curl -s https://packages.wazuh.com/4.x/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module | ||||
|  | ||||
| ARG S6_VERSION="v2.1.0.2" | ||||
| RUN curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss && chmod +rx /usr/local/bin/goss | ||||
|  | ||||
| ARG S6_VERSION="v2.2.0.3" | ||||
| RUN curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \ | ||||
|     -o /tmp/s6-overlay-amd64.tar.gz && \ | ||||
|     tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \ | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/with-contenv bash | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| # Variables | ||||
| source /permanent_data.env | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/with-contenv bash | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| set -e | ||||
|  | ||||
|   | ||||
| @@ -102,6 +102,16 @@ EOF | ||||
|   fi | ||||
| } | ||||
|  | ||||
| function_entrypoint_scripts() { | ||||
|   # It will run every .sh script located in entrypoint-scripts folder in lexicographical order | ||||
|   if [ -d "/entrypoint-scripts/" ] | ||||
|   then | ||||
|     for script in `ls /entrypoint-scripts/*.sh | sort -n`; do | ||||
|       bash "$script" | ||||
|     done | ||||
|   fi | ||||
| } | ||||
|  | ||||
|  | ||||
| # Migrate data from /wazuh-migration volume | ||||
| function_wazuh_migration | ||||
| @@ -109,5 +119,8 @@ function_wazuh_migration | ||||
| # create API custom user | ||||
| function_create_custom_user | ||||
|  | ||||
| # run entrypoint scripts | ||||
| function_entrypoint_scripts | ||||
|  | ||||
| # Start Wazuh | ||||
| /var/ossec/bin/ossec-control start | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/bin/bash | ||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| # Variables | ||||
| source /permanent_data.env | ||||
|   | ||||
							
								
								
									
										186
									
								
								xpack-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								xpack-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,186 @@ | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| version: '3.7' | ||||
|  | ||||
| services: | ||||
|   wazuh: | ||||
|     image: wazuh/wazuh:4.1.0 | ||||
|     hostname: wazuh-manager | ||||
|     restart: always | ||||
|     ports: | ||||
|       - "1514:1514" | ||||
|       - "1515:1515" | ||||
|       - "514:514/udp" | ||||
|       - "55000:55000" | ||||
|     environment: | ||||
|       - ELASTICSEARCH_URL=https://elasticsearch:9200 | ||||
|       - ELASTIC_USERNAME=elastic | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - FILEBEAT_SSL_VERIFICATION_MODE=none | ||||
|       - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/ca.crt | ||||
|       - SSL_CERTIFICATE=/etc/ssl/wazuh.crt | ||||
|       - SSL_KEY=/etc/ssl/wazuh.key | ||||
|     volumes: | ||||
|       - ossec_api_configuration:/var/ossec/api/configuration | ||||
|       - ossec_etc:/var/ossec/etc | ||||
|       - ossec_logs:/var/ossec/logs | ||||
|       - ossec_queue:/var/ossec/queue | ||||
|       - ossec_var_multigroups:/var/ossec/var/multigroups | ||||
|       - ossec_integrations:/var/ossec/integrations | ||||
|       - ossec_active_response:/var/ossec/active-response/bin | ||||
|       - ossec_agentless:/var/ossec/agentless | ||||
|       - ossec_wodles:/var/ossec/wodles | ||||
|       - filebeat_etc:/etc/filebeat | ||||
|       - filebeat_var:/var/lib/filebeat | ||||
|       - ./xpack/ca/ca.crt:/etc/ssl/ca.crt | ||||
|       - ./xpack/wazuh/wazuh.crt:/etc/ssl/wazuh.crt | ||||
|       - ./xpack/wazuh/wazuh.key:/etc/ssl/wazuh.key | ||||
|  | ||||
|  | ||||
|   elasticsearch: | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     hostname: elasticsearch | ||||
|     restart: always | ||||
|     ports: | ||||
|       - "9200:9200" | ||||
|     environment: | ||||
|       - cluster.name=wazuh-cluster | ||||
|       - node.name=elasticsearch | ||||
|       - discovery.seed_hosts=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - cluster.initial_master_nodes=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.license.self_generated.type=basic | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.http.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|       nofile: | ||||
|         soft: 65536 | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/elasticsearch/config/ca.crt | ||||
|       - ./xpack/elasticsearch/elasticsearch.key:/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - ./xpack/elasticsearch/elasticsearch.crt:/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|  | ||||
|   elasticsearch2: | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     hostname: elasticsearch2 | ||||
|     restart: always | ||||
|     environment: | ||||
|       - cluster.name=wazuh-cluster | ||||
|       - node.name=elasticsearch2 | ||||
|       - discovery.seed_hosts=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - cluster.initial_master_nodes=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.license.self_generated.type=basic | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.http.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|       nofile: | ||||
|         soft: 65536 | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/elasticsearch/config/ca.crt | ||||
|       - ./xpack/elasticsearch2/elasticsearch2.key:/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - ./xpack/elasticsearch2/elasticsearch2.crt:/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|  | ||||
|   elasticsearch3: | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     hostname: elasticsearch3 | ||||
|     restart: always | ||||
|     environment: | ||||
|       - cluster.name=wazuh-cluster | ||||
|       - node.name=elasticsearch3 | ||||
|       - discovery.seed_hosts=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - cluster.initial_master_nodes=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.license.self_generated.type=basic | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.http.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|       nofile: | ||||
|         soft: 65536 | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/elasticsearch/config/ca.crt | ||||
|       - ./xpack/elasticsearch3/elasticsearch3.key:/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - ./xpack/elasticsearch3/elasticsearch3.crt:/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|  | ||||
|  | ||||
|  | ||||
|   kibana: | ||||
|     image: wazuh/wazuh-kibana:4.1.0 | ||||
|     hostname: kibana | ||||
|     restart: always | ||||
|     ports: | ||||
|       - 443:5601 | ||||
|     environment: | ||||
|       - SERVERNAME=localhost | ||||
|       - ELASTICSEARCH_USERNAME=elastic | ||||
|       - ELASTICSEARCH_PASSWORD=SecretPassword | ||||
|       - ELASTICSEARCH_URL=https://elasticsearch:9200 | ||||
|       - ELASTICSEARCH_HOSTS=https://elasticsearch:9200 | ||||
|       - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/kibana/config/ca.crt | ||||
|       - SERVER_SSL_ENABLED=true | ||||
|       - XPACK_SECURITY_ENABLED=true | ||||
|       - SERVER_SSL_KEY=/usr/share/kibana/config/kibana.key | ||||
|       - SERVER_SSL_CERTIFICATE=/usr/share/kibana/config/kibana.crt | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/kibana/config/ca.crt | ||||
|       - ./xpack/kibana/kibana.key:/usr/share/kibana/config/kibana.key | ||||
|       - ./xpack/kibana/kibana.crt:/usr/share/kibana/config/kibana.crt | ||||
|     depends_on: | ||||
|       - elasticsearch | ||||
|     links: | ||||
|       - elasticsearch:elasticsearch | ||||
|       - wazuh:wazuh | ||||
|  | ||||
| volumes: | ||||
|   ossec_api_configuration: | ||||
|   ossec_etc: | ||||
|   ossec_logs: | ||||
|   ossec_queue: | ||||
|   ossec_var_multigroups: | ||||
|   ossec_integrations: | ||||
|   ossec_active_response: | ||||
|   ossec_agentless: | ||||
|   ossec_wodles: | ||||
|   filebeat_etc: | ||||
|   filebeat_var: | ||||
							
								
								
									
										192
									
								
								xpack-from-sources.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								xpack-from-sources.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,192 @@ | ||||
| # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||
| version: '3.7' | ||||
|  | ||||
| services: | ||||
|   wazuh: | ||||
|     build: | ||||
|       context: wazuh-odfe/ | ||||
|       args: | ||||
|         - FILEBEAT_CHANNEL=filebeat | ||||
|         - FILEBEAT_VERSION=7.10.2 | ||||
|     image: wazuh/wazuh:4.1.0 | ||||
|     hostname: wazuh-manager | ||||
|     restart: always | ||||
|     ports: | ||||
|       - "1514:1514" | ||||
|       - "1515:1515" | ||||
|       - "514:514/udp" | ||||
|       - "55000:55000" | ||||
|     environment: | ||||
|       - ELASTICSEARCH_URL=https://elasticsearch:9200 | ||||
|       - ELASTIC_USERNAME=elastic | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - FILEBEAT_SSL_VERIFICATION_MODE=none | ||||
|       - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/ca.crt | ||||
|       - SSL_CERTIFICATE=/etc/ssl/wazuh.crt | ||||
|       - SSL_KEY=/etc/ssl/wazuh.key | ||||
|     volumes: | ||||
|       - ossec_api_configuration:/var/ossec/api/configuration | ||||
|       - ossec_etc:/var/ossec/etc | ||||
|       - ossec_logs:/var/ossec/logs | ||||
|       - ossec_queue:/var/ossec/queue | ||||
|       - ossec_var_multigroups:/var/ossec/var/multigroups | ||||
|       - ossec_integrations:/var/ossec/integrations | ||||
|       - ossec_active_response:/var/ossec/active-response/bin | ||||
|       - ossec_agentless:/var/ossec/agentless | ||||
|       - ossec_wodles:/var/ossec/wodles | ||||
|       - filebeat_etc:/etc/filebeat | ||||
|       - filebeat_var:/var/lib/filebeat | ||||
|       - ./xpack/ca/ca.crt:/etc/ssl/ca.crt | ||||
|       - ./xpack/wazuh/wazuh.crt:/etc/ssl/wazuh.crt | ||||
|       - ./xpack/wazuh/wazuh.key:/etc/ssl/wazuh.key | ||||
|  | ||||
|  | ||||
|   elasticsearch: | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     hostname: elasticsearch | ||||
|     restart: always | ||||
|     ports: | ||||
|       - "9200:9200" | ||||
|     environment: | ||||
|       - cluster.name=wazuh-cluster | ||||
|       - node.name=elasticsearch | ||||
|       - discovery.seed_hosts=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - cluster.initial_master_nodes=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.license.self_generated.type=basic | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.http.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|       nofile: | ||||
|         soft: 65536 | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/elasticsearch/config/ca.crt | ||||
|       - ./xpack/elasticsearch/elasticsearch.key:/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - ./xpack/elasticsearch/elasticsearch.crt:/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|  | ||||
|   elasticsearch2: | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     hostname: elasticsearch2 | ||||
|     restart: always | ||||
|     environment: | ||||
|       - cluster.name=wazuh-cluster | ||||
|       - node.name=elasticsearch2 | ||||
|       - discovery.seed_hosts=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - cluster.initial_master_nodes=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.license.self_generated.type=basic | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.http.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|       nofile: | ||||
|         soft: 65536 | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/elasticsearch/config/ca.crt | ||||
|       - ./xpack/elasticsearch2/elasticsearch2.key:/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - ./xpack/elasticsearch2/elasticsearch2.crt:/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|  | ||||
|   elasticsearch3: | ||||
|     image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 | ||||
|     hostname: elasticsearch3 | ||||
|     restart: always | ||||
|     environment: | ||||
|       - cluster.name=wazuh-cluster | ||||
|       - node.name=elasticsearch3 | ||||
|       - discovery.seed_hosts=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - cluster.initial_master_nodes=elasticsearch,elasticsearch2,elasticsearch3 | ||||
|       - ELASTIC_PASSWORD=SecretPassword | ||||
|       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.license.self_generated.type=basic | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.http.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/ca.crt | ||||
|       - xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|       nofile: | ||||
|         soft: 65536 | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/elasticsearch/config/ca.crt | ||||
|       - ./xpack/elasticsearch3/elasticsearch3.key:/usr/share/elasticsearch/config/elasticsearch.key | ||||
|       - ./xpack/elasticsearch3/elasticsearch3.crt:/usr/share/elasticsearch/config/elasticsearch.crt | ||||
|  | ||||
|  | ||||
|  | ||||
|   kibana: | ||||
|     build: kibana/ | ||||
|     image: wazuh/wazuh-kibana:4.1.0 | ||||
|     hostname: kibana | ||||
|     restart: always | ||||
|     ports: | ||||
|       - 443:5601 | ||||
|     environment: | ||||
|       - SERVERNAME=localhost | ||||
|       - ELASTICSEARCH_USERNAME=elastic | ||||
|       - ELASTICSEARCH_PASSWORD=SecretPassword | ||||
|       - ELASTICSEARCH_URL=https://elasticsearch:9200 | ||||
|       - ELASTICSEARCH_HOSTS=https://elasticsearch:9200 | ||||
|       - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/kibana/config/ca.crt | ||||
|       - SERVER_SSL_ENABLED=true | ||||
|       - XPACK_SECURITY_ENABLED=true | ||||
|       - SERVER_SSL_KEY=/usr/share/kibana/config/kibana.key | ||||
|       - SERVER_SSL_CERTIFICATE=/usr/share/kibana/config/kibana.crt | ||||
|     volumes: | ||||
|       - ./xpack/ca/ca.crt:/usr/share/kibana/config/ca.crt | ||||
|       - ./xpack/kibana/kibana.key:/usr/share/kibana/config/kibana.key | ||||
|       - ./xpack/kibana/kibana.crt:/usr/share/kibana/config/kibana.crt | ||||
|     depends_on: | ||||
|       - elasticsearch | ||||
|     links: | ||||
|       - elasticsearch:elasticsearch | ||||
|       - wazuh:wazuh | ||||
|  | ||||
| volumes: | ||||
|   ossec_api_configuration: | ||||
|   ossec_etc: | ||||
|   ossec_logs: | ||||
|   ossec_queue: | ||||
|   ossec_var_multigroups: | ||||
|   ossec_integrations: | ||||
|   ossec_active_response: | ||||
|   ossec_agentless: | ||||
|   ossec_wodles: | ||||
|   filebeat_etc: | ||||
|   filebeat_var: | ||||
							
								
								
									
										35
									
								
								xpack/instances.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								xpack/instances.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| instances: | ||||
|   - name: elasticsearch | ||||
|     dns: | ||||
|       - elasticsearch | ||||
|       - localhost | ||||
|     ip: | ||||
|       - 127.0.0.1 | ||||
|  | ||||
|   - name: elasticsearch2 | ||||
|     dns: | ||||
|       - elasticsearch2 | ||||
|       - localhost | ||||
|     ip: | ||||
|       - 127.0.0.1 | ||||
|  | ||||
|   - name: elasticsearch3 | ||||
|     dns: | ||||
|       - elasticsearch3 | ||||
|       - localhost | ||||
|     ip: | ||||
|       - 127.0.0.1 | ||||
|  | ||||
|   - name: kibana | ||||
|     dns: | ||||
|       - kibana | ||||
|       - localhost | ||||
|     ip: | ||||
|       - 127.0.0.1 | ||||
|  | ||||
|   - name: wazuh | ||||
|     dns: | ||||
|       - wazuh | ||||
|       - localhost | ||||
|     ip: | ||||
|       - 127.0.0.1 | ||||
		Reference in New Issue
	
	Block a user