mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-10-31 03:53:32 +00:00 
			
		
		
		
	Compare commits
	
		
			177 Commits
		
	
	
		
			v4.0.0_1.1
			...
			v4.1.1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 110f30148e | ||
|  | b5db817ecc | ||
|  | 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 | ||
|  | 3f53a0c174 | ||
|  | a8c7fcc67f | ||
|  | b41c1cf290 | ||
|  | 68719ac891 | ||
|  | 5d32069193 | ||
|  | 325b588cbb | ||
|  | c6f0c888bb | ||
|  | a3945b5491 | ||
|  | db0adb9ee1 | ||
|  | 900bd57219 | ||
|  | 1138b3a7f4 | ||
|  | 752b139329 | ||
|  | fa4815e51a | ||
|  | 6e0b3703d6 | ||
|  | 47e69367e9 | ||
|  | 1d34d7db27 | ||
|  | f6c0432bc9 | ||
|  | 353c64ba24 | ||
|  | a680c955bc | ||
|  | 1b4818c078 | ||
|  | 3552e995c8 | ||
|  | ddedb606f2 | ||
|  | 6c6c13b123 | ||
|  | b76a033a97 | ||
|  | 581871d5bc | ||
|  | c3d89f89dd | ||
|  | c78520b135 | ||
|  | 3e63de99a8 | ||
|  | 37d96b5214 | ||
|  | 8c9945c111 | ||
|  | 925521d352 | ||
|  | 2028d866a1 | ||
|  | 4e098924e0 | ||
|  | 7f98075326 | ||
|  | e9fec0e497 | ||
|  | 7042854bfa | ||
|  | b63c294288 | ||
|  | 9df61de961 | ||
|  | 86ff04c0b3 | ||
|  | 0992111200 | ||
|  | a1a27922de | ||
|  | eba6bc6752 | ||
|  | 2df878f040 | ||
|  | 6f039f1de9 | ||
|  | ebd416615e | ||
|  | a00d16afcd | ||
|  | 6f2bf0cb3f | ||
|  | 4acc3b402b | ||
|  | eba4fdf8eb | ||
|  | 1f825c13be | ||
|  | 3cfa63fc2e | ||
|  | 77b163bf10 | ||
|  | 2921d67de1 | ||
|  | edb1c69294 | ||
|  | 9536ff5963 | ||
|  | 146dbff787 | ||
|  | 489bd01f36 | ||
|  | 54c5c643da | ||
|  | 63880eab51 | ||
|  | fa55036943 | ||
|  | 6dab191255 | ||
|  | 7e9abfab60 | ||
|  | 183519e2d5 | ||
|  | 75e7f3df62 | ||
|  | 99ddc15cf6 | ||
|  | c0a503bc81 | ||
|  | 966a3dcef7 | ||
|  | 9fc689206d | ||
|  | 9b329b095e | ||
|  | f0ba8c3e63 | ||
|  | edae7d3c6a | ||
|  | af5db1efac | ||
|  | 14f0d6d622 | ||
|  | cb60fc8b77 | ||
|  | 4f612e5426 | ||
|  | 90074777da | ||
|  | 320061f022 | ||
|  | 125f83e6df | ||
|  | 707fe87804 | ||
|  | c9a43bd5ff | ||
|  | 26679d46f6 | ||
|  | 627e9517d8 | ||
|  | ced83faef0 | ||
|  | 3b1814ec7b | ||
|  | 26d381b403 | ||
|  | 79f402ca2f | ||
|  | d0ba0465fe | ||
|  | 5dbfa958b7 | ||
|  | c13680e084 | ||
|  | e2559957da | ||
|  | 6afb9d0779 | ||
|  | 6412cb90f9 | ||
|  | bde4351a2a | ||
|  | 4f7ae19d81 | ||
|  | d1f1e401b1 | ||
|  | ea27c239b2 | ||
|  | e437c1a4ec | ||
|  | 1f57ad6619 | ||
|  | 61a1385462 | ||
|  | 427b87d6e1 | ||
|  | 8615cd4d21 | ||
|  | a4a64e66f4 | ||
|  | a561deeaec | ||
|  | 9f710f90c3 | ||
|  | 4b054e88ca | ||
|  | 43da69277f | ||
|  | 17865358d8 | ||
|  | 95cb2fa3aa | ||
|  | bba5b90716 | ||
|  | afb1c1fba3 | ||
|  | 95b6b70a70 | ||
|  | 44a7a9b16f | ||
|  | 49f1b476b5 | ||
|  | e83a092449 | ||
|  | 380ba92708 | ||
|  | 7e8e11bfd6 | ||
|  | 3c7d0f441d | ||
|  | 23fffddf95 | ||
|  | 88ec0fc043 | ||
|  | 774d14ee18 | ||
|  | 66f50039b0 | 
							
								
								
									
										24
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,9 +6,31 @@ jobs: | |||||||
|   build-stack: |   build-stack: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|  |  | ||||||
|     - name: Check out code |     - name: Check out code | ||||||
|       uses: actions/checkout@v2 |       uses: actions/checkout@v2 | ||||||
|  |  | ||||||
|     - name: Build the docker-compose stack |     - name: Build the docker-compose stack | ||||||
|       run: docker-compose up -d --build |       run: docker-compose -f build-from-sources.yml up -d --build | ||||||
|  |  | ||||||
|     - name: Check running containers |     - name: Check running containers | ||||||
|       run: docker ps -a |       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.1 | ||||||
|  | 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 | ||||||
							
								
								
									
										43
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,6 +1,49 @@ | |||||||
| # Change Log | # Change Log | ||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.1.1 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.1.1](https://github.com/wazuh/wazuh/blob/v4.1.1/CHANGELOG.md#v411) | ||||||
|  |  | ||||||
|  | ## 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 | ||||||
|  |  | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update to Wazuh version 4.0.3 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.0.2_1.11.0 | ||||||
|  |  | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update to Wazuh version 4.0.2 | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.0.1_1.11.0 | ||||||
|  |  | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update to Wazuh version 4.0.1 | ||||||
|  | - Opendistro 1.11.0 compatiblity | ||||||
|  | - Re-enabled dumping ossec.log to stdout | ||||||
|  |  | ||||||
| ## Wazuh Docker v4.0.0_1.10.1 | ## Wazuh Docker v4.0.0_1.10.1 | ||||||
|  |  | ||||||
| ### Added | ### Added | ||||||
|   | |||||||
							
								
								
									
										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. |  Based on work Copyright (C) 2003 - 2013 Trend Micro, Inc. | ||||||
|  |  | ||||||
|  This program is a free software; you can redistribute it and/or modify |  This program is a free software; you can redistribute it and/or modify | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								README.md
									
									
									
									
									
								
							| @@ -89,8 +89,6 @@ ADMIN_PRIVILEGES=true               # App privileges | |||||||
|  |  | ||||||
|     ├── CHANGELOG.md |     ├── CHANGELOG.md | ||||||
|     ├── docker-compose.yml |     ├── docker-compose.yml | ||||||
|     ├── elastic_conf |  | ||||||
|     │   └── elasticsearch.yml |  | ||||||
|     ├── generate-opendistro-certs.yml |     ├── generate-opendistro-certs.yml | ||||||
|     ├── kibana-odfe |     ├── kibana-odfe | ||||||
|     │   ├── config |     │   ├── config | ||||||
| @@ -150,15 +148,26 @@ ADMIN_PRIVILEGES=true               # App privileges | |||||||
|  |  | ||||||
| * `4.0` branch on correspond to the latest Wazuh-Docker stable version. | * `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. | * `master` branch contains the latest code, be aware of possible bugs on this branch. | ||||||
| * `Wazuh.Version_ElasticStack.Version` (for example 3.10.2_7.5.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 | ## Compatibility Matrix | ||||||
|  |  | ||||||
| | Wazuh version | ODFE    | | | Wazuh version | ODFE    | XPACK  | | ||||||
| |---------------|---------| | |---------------|---------|--------| | ||||||
| | v4.0.0        | 1.10.1  | | | v4.1.1        | 1.12.0  | 7.10.2 | | ||||||
|  | |---------------|---------|--------| | ||||||
|  | | 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 | ## Credits and Thank you | ||||||
|  |  | ||||||
| @@ -171,7 +180,7 @@ We thank you them and everyone else who has contributed to this project. | |||||||
|  |  | ||||||
| ## License and copyright | ## License and copyright | ||||||
|  |  | ||||||
| Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  |  | ||||||
| ## Web references | ## Web references | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								VERSION
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								VERSION
									
									
									
									
									
								
							| @@ -1,2 +1,2 @@ | |||||||
| WAZUH-DOCKER_VERSION="4.0.0_1.10.1" | WAZUH-DOCKER_VERSION="4.1.1" | ||||||
| REVISION="40000" | REVISION="41100" | ||||||
|   | |||||||
							
								
								
									
										84
									
								
								build-from-sources.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								build-from-sources.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | |||||||
|  | # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  | version: '3.7' | ||||||
|  |  | ||||||
|  | services: | ||||||
|  |   wazuh: | ||||||
|  |     build:  wazuh-odfe/ | ||||||
|  |     image: wazuh/wazuh-odfe:dev-version | ||||||
|  |     hostname: wazuh-manager | ||||||
|  |     restart: always | ||||||
|  |     ports: | ||||||
|  |       - "1514:1514" | ||||||
|  |       - "1515:1515" | ||||||
|  |       - "514:514/udp" | ||||||
|  |       - "55000:55000" | ||||||
|  |     environment: | ||||||
|  |       - ELASTICSEARCH_URL=https://elasticsearch:9200 | ||||||
|  |       - ELASTIC_USERNAME=admin | ||||||
|  |       - ELASTIC_PASSWORD=admin | ||||||
|  |       - FILEBEAT_SSL_VERIFICATION_MODE=none | ||||||
|  |     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 | ||||||
|  |  | ||||||
|  |   elasticsearch: | ||||||
|  |     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||||
|  |     hostname: elasticsearch | ||||||
|  |     restart: always | ||||||
|  |     ports: | ||||||
|  |       - "9200:9200" | ||||||
|  |     environment: | ||||||
|  |       - discovery.type=single-node | ||||||
|  |       - cluster.name=wazuh-cluster | ||||||
|  |       - network.host=0.0.0.0 | ||||||
|  |       - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | ||||||
|  |       - bootstrap.memory_lock=true | ||||||
|  |     ulimits: | ||||||
|  |       memlock: | ||||||
|  |         soft: -1 | ||||||
|  |         hard: -1 | ||||||
|  |       nofile: | ||||||
|  |         soft: 65536 | ||||||
|  |         hard: 65536 | ||||||
|  |  | ||||||
|  |   kibana: | ||||||
|  |     build: kibana-odfe/ | ||||||
|  |     image: wazuh/wazuh-kibana-odfe:dev-version | ||||||
|  |     hostname: kibana | ||||||
|  |     restart: always | ||||||
|  |     ports: | ||||||
|  |       - 443:5601 | ||||||
|  |     environment: | ||||||
|  |       - ELASTICSEARCH_USERNAME=admin | ||||||
|  |       - ELASTICSEARCH_PASSWORD=admin | ||||||
|  |       - SERVER_SSL_ENABLED=true | ||||||
|  |       - SERVER_SSL_CERTIFICATE=/usr/share/kibana/config/opendistroforelasticsearch.example.org.cert | ||||||
|  |       - SERVER_SSL_KEY=/usr/share/kibana/config/opendistroforelasticsearch.example.org.key | ||||||
|  |  | ||||||
|  |     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: | ||||||
| @@ -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' | version: '3.7' | ||||||
|  |  | ||||||
| services: | services: | ||||||
|   wazuh: |   wazuh: | ||||||
|     image: wazuh/wazuh-odfe:4.0.0_1.10.1 |     image: wazuh/wazuh-odfe:4.1.1 | ||||||
|     hostname: wazuh-manager |     hostname: wazuh-manager | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -30,7 +30,7 @@ services: | |||||||
|       - filebeat_var:/var/lib/filebeat |       - filebeat_var:/var/lib/filebeat | ||||||
|  |  | ||||||
|   elasticsearch: |   elasticsearch: | ||||||
|     image: amazon/opendistro-for-elasticsearch:1.10.1 |     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||||
|     hostname: elasticsearch |     hostname: elasticsearch | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -50,7 +50,7 @@ services: | |||||||
|         hard: 65536 |         hard: 65536 | ||||||
|  |  | ||||||
|   kibana: |   kibana: | ||||||
|     image: wazuh/wazuh-kibana-odfe:4.0.0_1.10.1 |     image: wazuh/wazuh-kibana-odfe:4.1.1 | ||||||
|     hostname: kibana |     hostname: kibana | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
|   | |||||||
| @@ -1,3 +0,0 @@ | |||||||
| cluster.name: wazuh-elastic |  | ||||||
| network.host: 0.0.0.0 |  | ||||||
|  |  | ||||||
							
								
								
									
										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' | version: '3' | ||||||
|  |  | ||||||
| services: | services: | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
| FROM amazon/opendistro-for-elasticsearch-kibana:1.10.1 | FROM amazon/opendistro-for-elasticsearch-kibana:1.12.0 | ||||||
| USER kibana | USER kibana | ||||||
| ARG ELASTIC_VERSION=7.9.1 | ARG ELASTIC_VERSION=7.10.0 | ||||||
| ARG WAZUH_VERSION=4.0.0 | ARG WAZUH_VERSION=4.1.1 | ||||||
| ARG WAZUH_APP_VERSION="${WAZUH_VERSION}_${ELASTIC_VERSION}" | ARG WAZUH_APP_VERSION="${WAZUH_VERSION}_${ELASTIC_VERSION}" | ||||||
|  |  | ||||||
| WORKDIR /usr/share/kibana | WORKDIR /usr/share/kibana | ||||||
| @@ -42,7 +42,6 @@ ENV PATTERN="" \ | |||||||
|     ADMIN_PRIVILEGES="" |     ADMIN_PRIVILEGES="" | ||||||
|  |  | ||||||
| USER kibana | USER kibana | ||||||
| RUN NODE_OPTIONS="--max-old-space-size=2048" /usr/local/bin/kibana-docker --optimize |  | ||||||
|  |  | ||||||
| COPY ./config/custom_welcome /tmp/custom_welcome | COPY ./config/custom_welcome /tmp/custom_welcome | ||||||
| COPY --chown=kibana:kibana ./config/welcome_wazuh.sh ./ | COPY --chown=kibana:kibana ./config/welcome_wazuh.sh ./ | ||||||
| @@ -50,7 +49,7 @@ RUN chmod +x ./welcome_wazuh.sh | |||||||
| ARG CHANGE_WELCOME="true" | ARG CHANGE_WELCOME="true" | ||||||
| RUN ./welcome_wazuh.sh | 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 ./ | COPY --chown=kibana:kibana ./config/wazuh_app_config.sh ./ | ||||||
| RUN chmod +x ./wazuh_app_config.sh | RUN chmod +x ./wazuh_app_config.sh | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  |  | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  |  | ||||||
| WAZUH_MAJOR=4 | WAZUH_MAJOR=4 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| --- | --- | ||||||
| # | # | ||||||
| # Wazuh app - App configuration file | # 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 | # 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 | # it under the terms of the GNU General Public License as published by | ||||||
|   | |||||||
| @@ -1,12 +1,12 @@ | |||||||
| #!/bin/bash | #!/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_url="${WAZUH_API_URL:-https://wazuh}" | ||||||
| wazuh_port="${API_PORT:-55000}" | wazuh_port="${API_PORT:-55000}" | ||||||
| api_username="${API_USERNAME:-wazuh}" | api_username="${API_USERNAME:-wazuh-wui}" | ||||||
| api_password="${API_PASSWORD:-wazuh}" | 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=( | declare -A CONFIG_MAP=( | ||||||
|   [pattern]=$PATTERN |   [pattern]=$PATTERN | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # Wazuh Docker Copyright (C) 2020 Wazuh Inc. (License GPLv2) | # Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  |  | ||||||
| if [[ $CHANGE_WELCOME == "true" ]] | if [[ $CHANGE_WELCOME == "true" ]] | ||||||
| then | then | ||||||
| @@ -8,7 +8,7 @@ then | |||||||
|  |  | ||||||
|     echo "Set custom welcome styles" |     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/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/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/optimize/bundles/ |     cp -f /tmp/custom_welcome/*svg /usr/share/kibana/src/core/server/core_app/assets/ | ||||||
| fi | 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.1 | ||||||
|  | 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' | version: '3.7' | ||||||
|  |  | ||||||
| services: | services: | ||||||
|   wazuh-master: |   wazuh-master: | ||||||
|     image: wazuh/wazuh-odfe:4.0.0_1.10.1 |     image: wazuh/wazuh-odfe:4.1.1 | ||||||
|     hostname: wazuh-master |     hostname: wazuh-master | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -38,7 +38,7 @@ services: | |||||||
|       - ./production_cluster/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf |       - ./production_cluster/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf | ||||||
|  |  | ||||||
|   wazuh-worker: |   wazuh-worker: | ||||||
|     image: wazuh/wazuh-odfe:4.0.0_1.10.1 |     image: wazuh/wazuh-odfe:4.1.1 | ||||||
|     hostname: wazuh-worker |     hostname: wazuh-worker | ||||||
|     restart: always |     restart: always | ||||||
|     environment: |     environment: | ||||||
| @@ -67,7 +67,7 @@ services: | |||||||
|       - ./production_cluster/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf |       - ./production_cluster/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf | ||||||
|  |  | ||||||
|   elasticsearch: |   elasticsearch: | ||||||
|     image: amazon/opendistro-for-elasticsearch:1.10.1 |     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||||
|     hostname: elasticsearch |     hostname: elasticsearch | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -90,7 +90,7 @@ services: | |||||||
|       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml |       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml | ||||||
|  |  | ||||||
|   elasticsearch-2: |   elasticsearch-2: | ||||||
|     image: amazon/opendistro-for-elasticsearch:1.10.1 |     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||||
|     hostname: elasticsearch-2 |     hostname: elasticsearch-2 | ||||||
|     restart: always |     restart: always | ||||||
|     environment: |     environment: | ||||||
| @@ -111,7 +111,7 @@ services: | |||||||
|       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml |       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml | ||||||
|  |  | ||||||
|   elasticsearch-3: |   elasticsearch-3: | ||||||
|     image: amazon/opendistro-for-elasticsearch:1.10.1 |     image: amazon/opendistro-for-elasticsearch:1.12.0 | ||||||
|     hostname: elasticsearch-3 |     hostname: elasticsearch-3 | ||||||
|     restart: always |     restart: always | ||||||
|     environment: |     environment: | ||||||
| @@ -132,7 +132,7 @@ services: | |||||||
|       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml |       - ./production_cluster/elastic_opendistro/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml | ||||||
|  |  | ||||||
|   kibana: |   kibana: | ||||||
|     image: wazuh/wazuh-kibana-odfe:4.0.0_1.10.1 |     image: wazuh/wazuh-kibana-odfe:4.1.1 | ||||||
|     hostname: kibana |     hostname: kibana | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     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 | FROM centos:7 | ||||||
|  |  | ||||||
| ARG FILEBEAT_VERSION=7.9.1 | ARG FILEBEAT_CHANNEL=filebeat-oss | ||||||
| ARG WAZUH_VERSION=4.0.0-1 | ARG FILEBEAT_VERSION=7.10.0 | ||||||
|  | ARG WAZUH_VERSION=4.1.1-1 | ||||||
| ARG TEMPLATE_VERSION="master" | ARG TEMPLATE_VERSION="master" | ||||||
| ARG WAZUH_FILEBEAT_MODULE="wazuh-filebeat-0.1.tar.gz" | 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 && \ |   sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo && \ | ||||||
|   yum clean all && rm -rf /var/cache/yum |   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 &&\ | RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\ | ||||||
|   rpm -i filebeat-oss-${FILEBEAT_VERSION}-x86_64.rpm && rm -f filebeat-oss-${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 | 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 \ | 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 && \ |     -o /tmp/s6-overlay-amd64.tar.gz && \ | ||||||
|     tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \ |     tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \ | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ import os | |||||||
| sys.path.append(os.path.dirname(sys.argv[0]) + "/../framework") | sys.path.append(os.path.dirname(sys.argv[0]) + "/../framework") | ||||||
|  |  | ||||||
| USER_FILE_PATH = "/var/ossec/api/configuration/admin.json" | USER_FILE_PATH = "/var/ossec/api/configuration/admin.json" | ||||||
|  | SPECIAL_CHARS = "@$!%*?&-_" | ||||||
|  |  | ||||||
|  |  | ||||||
| try: | try: | ||||||
| @@ -39,6 +40,26 @@ def db_roles(): | |||||||
|     roles_result = get_roles() |     roles_result = get_roles() | ||||||
|     return {role["name"]: role["id"] for role in roles_result.affected_items} |     return {role["name"]: role["id"] for role in roles_result.affected_items} | ||||||
|  |  | ||||||
|  | def disable_user(uid): | ||||||
|  |     random_pass = "".join( | ||||||
|  |                 random.choices( | ||||||
|  |                     string.ascii_uppercase | ||||||
|  |                     + string.ascii_lowercase | ||||||
|  |                     + string.digits | ||||||
|  |                     + SPECIAL_CHARS, | ||||||
|  |                     k=8, | ||||||
|  |                 ) | ||||||
|  |             ) | ||||||
|  |     # assure there must be at least one character from each group | ||||||
|  |     random_pass = random_pass + ''.join([random.choice(chars) for chars in [string.ascii_lowercase, string.digits, string.ascii_uppercase, SPECIAL_CHARS]]) | ||||||
|  |     random_pass = ''.join(random.sample(random_pass,len(random_pass))) | ||||||
|  |     update_user( | ||||||
|  |         user_id=[ | ||||||
|  |             str(uid), | ||||||
|  |         ], | ||||||
|  |         password=random_pass, | ||||||
|  |     ) | ||||||
|  |  | ||||||
|  |  | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|     if not os.path.exists(USER_FILE_PATH): |     if not os.path.exists(USER_FILE_PATH): | ||||||
| @@ -70,21 +91,7 @@ if __name__ == "__main__": | |||||||
|             ], |             ], | ||||||
|             password=password, |             password=password, | ||||||
|         ) |         ) | ||||||
|     # set a random password for all other users |     # disable unused default users | ||||||
|     for name, id in initial_users.items(): |     for def_user in ['wazuh', 'wazuh-wui']: | ||||||
|         if name != username: |         if def_user != username: | ||||||
|             random_pass = "".join( |             disable_user(initial_users[def_user]) | ||||||
|                 random.choices( |  | ||||||
|                     string.ascii_uppercase |  | ||||||
|                     + string.ascii_lowercase |  | ||||||
|                     + string.digits |  | ||||||
|                     + "@$!%*?&-_", |  | ||||||
|                     k=16, |  | ||||||
|                 ) |  | ||||||
|             ) |  | ||||||
|             update_user( |  | ||||||
|                 user_id=[ |  | ||||||
|                     str(id), |  | ||||||
|                 ], |  | ||||||
|                 password=random_pass, |  | ||||||
|             ) |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/usr/bin/with-contenv bash | #!/usr/bin/with-contenv bash | ||||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  |  | ||||||
| # Variables | # Variables | ||||||
| source /permanent_data.env | source /permanent_data.env | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/usr/bin/with-contenv bash | #!/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 | set -e | ||||||
|  |  | ||||||
|   | |||||||
| @@ -102,6 +102,16 @@ EOF | |||||||
|   fi |   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 | # Migrate data from /wazuh-migration volume | ||||||
| function_wazuh_migration | function_wazuh_migration | ||||||
| @@ -109,5 +119,8 @@ function_wazuh_migration | |||||||
| # create API custom user | # create API custom user | ||||||
| function_create_custom_user | function_create_custom_user | ||||||
|  |  | ||||||
|  | # run entrypoint scripts | ||||||
|  | function_entrypoint_scripts | ||||||
|  |  | ||||||
| # Start Wazuh | # Start Wazuh | ||||||
| /var/ossec/bin/ossec-control start | /var/ossec/bin/ossec-control start | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								wazuh-odfe/config/etc/services.d/ossec-logs/run
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								wazuh-odfe/config/etc/services.d/ossec-logs/run
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | #!/usr/bin/with-contenv sh | ||||||
|  |  | ||||||
|  | # dumping ossec.log to standard output | ||||||
|  | exec tail -f /var/ossec/logs/ossec.log | ||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # Wazuh App Copyright (C) 2020 Wazuh Inc. (License GPLv2) | # Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) | ||||||
|  |  | ||||||
| # Variables | # Variables | ||||||
| source /permanent_data.env | 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.1 | ||||||
|  |     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.1 | ||||||
|  |     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.1 | ||||||
|  |     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.1 | ||||||
|  |     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