mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-10-31 12:03:37 +00:00 
			
		
		
		
	Compare commits
	
		
			326 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 8814200fb2 | ||
|  | 69d61278cf | ||
|  | ca8cf4f717 | ||
|  | 2c92c87b02 | ||
|  | 402c5d6fea | ||
|  | 81738baf88 | ||
|  | 4210c23a4c | ||
|  | ddf1d781eb | ||
|  | 3d58ff0049 | ||
|  | d44b87800a | ||
|  | 375d94d22f | ||
|  | eb6eae692c | ||
|  | 16681104b4 | ||
|  | 794e9a27f4 | ||
|  | dcf48426c1 | ||
|  | f8eb0b5f1d | ||
|  | 139f7a52f6 | ||
|  | 2df37520a7 | ||
|  | 423fc248ef | ||
|  | 12d45d83ad | ||
|  | f7f90941ed | ||
|  | 6c50089d53 | ||
|  | 56ccf81185 | ||
|  | 20a3f170d8 | ||
|  | 25e4c24c87 | ||
|  | 2ccd5dc431 | ||
|  | 504e1f2017 | ||
|  | 15413250e8 | ||
|  | fa956c53e7 | ||
|  | d352019385 | ||
|  | 27962e38f1 | ||
|  | f1140fc088 | ||
|  | 0ecf533cdc | ||
|  | cda712949a | ||
|  | 4a95d18b9a | ||
|  | bfae09af52 | ||
|  | 1c0b12deaa | ||
|  | 92b3395abc | ||
|  | b1d10f879c | ||
|  | 98e96a5260 | ||
|  | 84e57b9c9a | ||
|  | e13cfcf454 | ||
|  | e48255641f | ||
|  | c4d6a254cc | ||
|  | d45e2d984e | ||
|  | 781e6a4082 | ||
|  | 0c7d298eea | ||
|  | 05ef9b899b | ||
|  | c46b1c0d82 | ||
|  | 3a3218f0d4 | ||
|  | dd86d1b707 | ||
|  | 60563720f3 | ||
|  | 0cd98767c8 | ||
|  | 8aad8651d7 | ||
|  | 3c073ab5ea | ||
|  | b8ff013b36 | ||
|  | 5106715b0c | ||
|  | 523a28b20d | ||
|  | 0f1cc4b955 | ||
|  | aee83a1a2d | ||
|  | aa88dad36a | ||
|  | a424c683ae | ||
|  | 0555e4956b | ||
|  | dee2c3c8dc | ||
|  | 1e29e8fcfc | ||
|  | 25be906860 | ||
|  | c18a1eca56 | ||
|  | 14dcc8b6a6 | ||
|  | 89e0fc9604 | ||
|  | 64f083631d | ||
|  | fa2f2b2a31 | ||
|  | 8d1c239a3c | ||
|  | ded91b2f0a | ||
|  | d7e051af19 | ||
|  | b4db7f16cc | ||
|  | 61bfe58491 | ||
|  | 9d3701fa60 | ||
|  | c550c1a852 | ||
|  | 1b41068618 | ||
|  | 8ac3ea1e8a | ||
|  | 893796c4a2 | ||
|  | d6a72c6fb1 | ||
|  | 7172c818c7 | ||
|  | a2ee29bfd3 | ||
|  | e205c87d37 | ||
|  | 545ef6851b | ||
|  | 36c06dc4c8 | ||
|  | 3fd3f42389 | ||
|  | b22fa235c7 | ||
|  | c3c8ea3d02 | ||
|  | 905b4de859 | ||
|  | 23d34f6a89 | ||
|  | 8fa20abbbd | ||
|  | d9b053caf4 | ||
|  | d5dc67e9c3 | ||
|  | 93c53a712d | ||
|  | 5f3a0481ba | ||
|  | 958e466682 | ||
|  | 7d5b1c4f85 | ||
|  | a98e57bb6c | ||
|  | b3441a6b07 | ||
|  | a3e2a2d88b | ||
|  | 6407325761 | ||
|  | 7312f86235 | ||
|  | d6b73cb3dc | ||
|  | 62627e32fd | ||
|  | 149df5e492 | ||
|  | a6c22d9618 | ||
|  | d449ae7f76 | ||
|  | 8cc5c8b0bb | ||
|  | 536dd51aa7 | ||
|  | 088b855f73 | ||
|  | 5769159cf9 | ||
|  | 41515e9c49 | ||
|  | 0fbbf5aee2 | ||
|  | 37f565bb8a | ||
|  | 2ac53b9b3d | ||
|  | d1c252c6c0 | ||
|  | e9f689dbfc | ||
|  | be19c70082 | ||
|  | 0c6077c3e0 | ||
|  | de7754364d | ||
|  | 73ada94ed6 | ||
|  | 63817dfd55 | ||
|  | 17029c5510 | ||
|  | 2234517218 | ||
|  | 637110c278 | ||
|  | b18c068650 | ||
|  | 9a871dbbcb | ||
|  | 1fae0d3452 | ||
|  | 0a4c057492 | ||
|  | 2902a0ce0b | ||
|  | c0fb4172f3 | ||
|  | 8886e2347e | ||
|  | f1d8565989 | ||
|  | e5abd5d24e | ||
|  | 902b0d8e52 | ||
|  | b377a0f6eb | ||
|  | 44e9bebed0 | ||
|  | 2de4a28098 | ||
|  | 760fc8ccbf | ||
|  | 44303d3701 | ||
|  | c0d97893a4 | ||
|  | 0826f2c176 | ||
|  | d531b8dd72 | ||
|  | 41267d4ddf | ||
|  | 67f34fb8fe | ||
|  | 865f7625f4 | ||
|  | c56952eaa0 | ||
|  | cb7d8785c6 | ||
|  | f1001c2f25 | ||
|  | 17ed766228 | ||
|  | 6c91bac96d | ||
|  | 216b5a6818 | ||
|  | e19fa14013 | ||
|  | 57c7eaa5af | ||
|  | fbe073612c | ||
|  | 1dec665a97 | ||
|  | 757e5dbf05 | ||
|  | 32b1d88e36 | ||
|  | 94be842afc | ||
|  | d20bbe247c | ||
|  | e01d39e138 | ||
|  | 1eeca6267b | ||
|  | d755ffbac8 | ||
|  | 221c3ccd24 | ||
|  | 1ff589ccaf | ||
|  | d4c98491fc | ||
|  | 673c28b637 | ||
|  | 7d3bea67f7 | ||
|  | 3953986652 | ||
|  | f2dab81387 | ||
|  | da82008a75 | ||
|  | 54975ab099 | ||
|  | a9d505b316 | ||
|  | a0899a8358 | ||
|  | b27d991f0c | ||
|  | 4d0aa57ed2 | ||
|  | 1a75d4eb77 | ||
|  | 247555b1b6 | ||
|  | 442d457933 | ||
|  | 0f65448718 | ||
|  | a9533264d6 | ||
|  | ce8dd29425 | ||
|  | a433989865 | ||
|  | ff1e5f991a | ||
|  | 55ee49aff5 | ||
|  | 75f92308a1 | ||
|  | 61c37a78de | ||
|  | 39208c513c | ||
|  | 3650feeb0e | ||
|  | f4f99f17b7 | ||
|  | 3c9b5ac717 | ||
|  | 8e3b8aada8 | ||
|  | 6a98b87b8e | ||
|  | 56dbf052c9 | ||
|  | 7abaea9b4c | ||
|  | 303b64c7ae | ||
|  | 2340db4079 | ||
|  | 9159eda943 | ||
|  | d278782134 | ||
|  | 77725b7eb2 | ||
|  | 4e7c2cf72a | ||
|  | 41196a5529 | ||
|  | 8ce1f36f10 | ||
|  | e2e95a5c57 | ||
|  | 1238820b6c | ||
|  | f168bd62fe | ||
|  | 2058734154 | ||
|  | 4e34f1f7b7 | ||
|  | b259665fc6 | ||
|  | 820079f1d0 | ||
|  | efc8ab88df | ||
|  | f71616939e | ||
|  | 9a9fac6243 | ||
|  | 11d15670f4 | ||
|  | 7427eff847 | ||
|  | 5abe95a0f1 | ||
|  | fed4302744 | ||
|  | 750aa90b91 | ||
|  | aec90c2f3d | ||
|  | 84a40b9eea | ||
|  | 57c63bc60e | ||
|  | dd46f8a2c1 | ||
|  | 76a38f68b5 | ||
|  | 4caf18f12c | ||
|  | ea11d66f42 | ||
|  | 02a75a7678 | ||
|  | 7e0311e99a | ||
|  | e939010507 | ||
|  | b7bce45e82 | ||
|  | 697b7538cc | ||
|  | 2cbf64dafa | ||
|  | 638d548d74 | ||
|  | d6f19cebf5 | ||
|  | 944c6aa4c8 | ||
|  | 5e3676e125 | ||
|  | fd9c09a7e5 | ||
|  | 395b769b6a | ||
|  | ee46520701 | ||
|  | b838023509 | ||
|  | be9019a065 | ||
|  | 42193f4cfa | ||
|  | 6e7b1c2899 | ||
|  | 06a1efc094 | ||
|  | e9764b0a6a | ||
|  | 6398b66e10 | ||
|  | 70938d52d2 | ||
|  | d5932ac4a1 | ||
|  | 4b621466a0 | ||
|  | e24d17f730 | ||
|  | b33aea9ef8 | ||
|  | 3525003ef7 | ||
|  | 00a94ce5b0 | ||
|  | e826236a28 | ||
|  | 137989ddd1 | ||
|  | 0d76a85ded | ||
|  | e95455a12b | ||
|  | 887293d474 | ||
|  | ae20f302c0 | ||
|  | 08314f9e2e | ||
|  | c6f1f31d57 | ||
|  | 312466704d | ||
|  | d00fc0ccf6 | ||
|  | 42ea26b3bd | ||
|  | fe75f8fb4e | ||
|  | 8b1ed497ab | ||
|  | 195b34c259 | ||
|  | 08c9b95455 | ||
|  | 028b5f6034 | ||
|  | cd7dc4c7cf | ||
|  | 40faad148d | ||
|  | 02aaf45e9d | ||
|  | cd9f211eb3 | ||
|  | 20c8000fec | ||
|  | 095d878b04 | ||
|  | 53903126cf | ||
|  | 63ceab20b0 | ||
|  | 8ada4445b0 | ||
|  | 1c69a38bd8 | ||
|  | 615d6df29c | ||
|  | 949a465855 | ||
|  | f7bbac5a08 | ||
|  | 11820b01e9 | ||
|  | a8de452002 | ||
|  | c76681b3b9 | ||
|  | e25635cb25 | ||
|  | 304eedcb51 | ||
|  | 6123ab994c | ||
|  | 2f58da59de | ||
|  | 3279931813 | ||
|  | b039567e1c | ||
|  | 3190c4246e | ||
|  | 271f421cd4 | ||
|  | 5fb369f9e8 | ||
|  | 6ddaecd7b5 | ||
|  | 910e28956b | ||
|  | dcf8bb8060 | ||
|  | be9f3d1b90 | ||
|  | 91625f412c | ||
|  | 4c7dcb2ebf | ||
|  | 8febf33d58 | ||
|  | 3d19774d7e | ||
|  | e11e7a10b8 | ||
|  | 7f73635651 | ||
|  | e9a0be25ce | ||
|  | 6c094d07a6 | ||
|  | b6959c8b15 | ||
|  | b98d32d4ca | ||
|  | 4c710e6c20 | ||
|  | f97a719304 | ||
|  | bf534b4143 | ||
|  | a82cc9ec39 | ||
|  | 8d9ad6152a | ||
|  | 5555c1dd06 | ||
|  | 0dd044de68 | ||
|  | 5d88983066 | ||
|  | 95565df2f5 | ||
|  | ed5c5d70ba | ||
|  | 97f5a6bf04 | ||
|  | b21c3769d3 | ||
|  | 9cd399c2df | ||
|  | 3e54eeb62f | ||
|  | a4be008028 | ||
|  | 85e62cfd0e | ||
|  | 84fe19e868 | 
							
								
								
									
										4
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								.env
									
									
									
									
									
								
							| @@ -1,3 +1,3 @@ | |||||||
| WAZUH_VERSION=4.3.10 | WAZUH_VERSION=4.7.2 | ||||||
| WAZUH_IMAGE_VERSION=4.3.10 | WAZUH_IMAGE_VERSION=4.7.2 | ||||||
| WAZUH_TAG_REVISION=1 | WAZUH_TAG_REVISION=1 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/.goss.yaml
									
									
									
									
										vendored
									
									
								
							| @@ -56,7 +56,7 @@ package: | |||||||
|   wazuh-manager: |   wazuh-manager: | ||||||
|     installed: true |     installed: true | ||||||
|     versions: |     versions: | ||||||
|     - 4.3.10-1 |     - 4.7.2-1 | ||||||
| port: | port: | ||||||
|   tcp:1514: |   tcp:1514: | ||||||
|     listening: true |     listening: true | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							| @@ -126,7 +126,7 @@ jobs: | |||||||
|  |  | ||||||
|     - name: Check documents into wazuh-alerts index |     - name: Check documents into wazuh-alerts index | ||||||
|       run: | |       run: | | ||||||
|        docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_doc/_search" -u admin:SecretPassword -k -s | jq -r ".hits.total.value"`" |        docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`" | ||||||
|        if [[ $docs -gt 100 ]]; then |        if [[ $docs -gt 100 ]]; then | ||||||
|         echo "wazuh-alerts index documents: ${docs}" |         echo "wazuh-alerts index documents: ${docs}" | ||||||
|        else |        else | ||||||
| @@ -250,8 +250,8 @@ jobs: | |||||||
|  |  | ||||||
|     - name: Check documents into wazuh-alerts index |     - name: Check documents into wazuh-alerts index | ||||||
|       run: | |       run: | | ||||||
|        docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_doc/_search" -u admin:SecretPassword -k -s | jq -r ".hits.total.value"`" |        docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`" | ||||||
|        if [[ $docs -gt 200 ]]; then |        if [[ $docs -gt 100 ]]; then | ||||||
|         echo "wazuh-alerts index documents: ${docs}" |         echo "wazuh-alerts index documents: ${docs}" | ||||||
|        else |        else | ||||||
|         echo "wazuh-alerts index documents: ${docs}" |         echo "wazuh-alerts index documents: ${docs}" | ||||||
|   | |||||||
							
								
								
									
										71
									
								
								.github/workflows/trivy-dashboard-4-4.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								.github/workflows/trivy-dashboard-4-4.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | |||||||
|  | # This workflow uses actions that are not certified by GitHub. | ||||||
|  | # They are provided by a third-party and are governed by | ||||||
|  | # separate terms of service, privacy policy, and support | ||||||
|  | # documentation. | ||||||
|  |  | ||||||
|  | name: Trivy scan Wazuh dashboard | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   release: | ||||||
|  |     types: | ||||||
|  |     - published | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - master | ||||||
|  |       - stable | ||||||
|  |   schedule: | ||||||
|  |     - cron: '34 2 * * 1' | ||||||
|  |   workflow_dispatch: | ||||||
|  |  | ||||||
|  | permissions: | ||||||
|  |   contents: read | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     permissions: | ||||||
|  |       contents: read # for actions/checkout to fetch code | ||||||
|  |       security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | ||||||
|  |  | ||||||
|  |     name: Build images and upload Trivy results | ||||||
|  |     runs-on: "ubuntu-latest" | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout code | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |         with: { ref: 4.4 } | ||||||
|  |  | ||||||
|  |       - name: Installing dependencies | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get update | ||||||
|  |           sudo apt-get install -y jq | ||||||
|  |       - name: Build Wazuh images | ||||||
|  |         run: build-docker-images/build-images.sh | ||||||
|  |  | ||||||
|  |       - name: Create enviroment variables | ||||||
|  |         run: | | ||||||
|  |           cat .env > $GITHUB_ENV | ||||||
|  |           echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV | ||||||
|  |  | ||||||
|  |       - name: Run Trivy vulnerability scanner for Wazuh dashboard | ||||||
|  |         uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2 | ||||||
|  |         with: | ||||||
|  |           image-ref: 'wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}}' | ||||||
|  |           format: 'template' | ||||||
|  |           template: '@/contrib/sarif.tpl' | ||||||
|  |           output: 'trivy-results-dashboard.sarif' | ||||||
|  |           severity: 'LOW,MEDIUM,CRITICAL,HIGH' | ||||||
|  |  | ||||||
|  |       - name: Upload Trivy scan results to GitHub Security tab | ||||||
|  |         uses: github/codeql-action/upload-sarif@v2 | ||||||
|  |         with: | ||||||
|  |           sarif_file: 'trivy-results-dashboard.sarif' | ||||||
|  |  | ||||||
|  |       - name: Slack notification | ||||||
|  |         uses: rtCamp/action-slack-notify@v2 | ||||||
|  |         env: | ||||||
|  |           SLACK_CHANNEL: cicd-monitoring | ||||||
|  |           SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff' | ||||||
|  |           #SLACK_ICON: https://github.com/rtCamp.png?size=48 | ||||||
|  |           SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}" | ||||||
|  |           SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished. | ||||||
|  |           SLACK_USERNAME: github_actions | ||||||
|  |           SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | ||||||
							
								
								
									
										71
									
								
								.github/workflows/trivy-indexer-4-4.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								.github/workflows/trivy-indexer-4-4.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | |||||||
|  | # This workflow uses actions that are not certified by GitHub. | ||||||
|  | # They are provided by a third-party and are governed by | ||||||
|  | # separate terms of service, privacy policy, and support | ||||||
|  | # documentation. | ||||||
|  |  | ||||||
|  | name: Trivy scan Wazuh indexer | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   release: | ||||||
|  |     types: | ||||||
|  |     - published | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - master | ||||||
|  |       - stable | ||||||
|  |   schedule: | ||||||
|  |     - cron: '34 2 * * 1' | ||||||
|  |   workflow_dispatch: | ||||||
|  |  | ||||||
|  | permissions: | ||||||
|  |   contents: read | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     permissions: | ||||||
|  |       contents: read # for actions/checkout to fetch code | ||||||
|  |       security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | ||||||
|  |  | ||||||
|  |     name: Build images and upload Trivy results | ||||||
|  |     runs-on: "ubuntu-latest" | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout code | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |         with: { ref: 4.4 } | ||||||
|  |  | ||||||
|  |       - name: Installing dependencies | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get update | ||||||
|  |           sudo apt-get install -y jq | ||||||
|  |       - name: Build Wazuh images | ||||||
|  |         run: build-docker-images/build-images.sh | ||||||
|  |  | ||||||
|  |       - name: Create enviroment variables | ||||||
|  |         run: | | ||||||
|  |           cat .env > $GITHUB_ENV | ||||||
|  |           echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV | ||||||
|  |  | ||||||
|  |       - name: Run Trivy vulnerability scanner for Wazuh indexer | ||||||
|  |         uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2 | ||||||
|  |         with: | ||||||
|  |           image-ref: 'wazuh/wazuh-indexer:${{env.WAZUH_IMAGE_VERSION}}' | ||||||
|  |           format: 'template' | ||||||
|  |           template: '@/contrib/sarif.tpl' | ||||||
|  |           output: 'trivy-results-indexer.sarif' | ||||||
|  |           severity: 'LOW,MEDIUM,CRITICAL,HIGH' | ||||||
|  |  | ||||||
|  |       - name: Upload Trivy scan results to GitHub Security tab | ||||||
|  |         uses: github/codeql-action/upload-sarif@v2 | ||||||
|  |         with: | ||||||
|  |           sarif_file: 'trivy-results-indexer.sarif' | ||||||
|  |  | ||||||
|  |       - name: Slack notification | ||||||
|  |         uses: rtCamp/action-slack-notify@v2 | ||||||
|  |         env: | ||||||
|  |           SLACK_CHANNEL: cicd-monitoring | ||||||
|  |           SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff' | ||||||
|  |           #SLACK_ICON: https://github.com/rtCamp.png?size=48 | ||||||
|  |           SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}" | ||||||
|  |           SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished. | ||||||
|  |           SLACK_USERNAME: github_actions | ||||||
|  |           SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | ||||||
							
								
								
									
										71
									
								
								.github/workflows/trivy-manager-4-4.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								.github/workflows/trivy-manager-4-4.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | |||||||
|  | # This workflow uses actions that are not certified by GitHub. | ||||||
|  | # They are provided by a third-party and are governed by | ||||||
|  | # separate terms of service, privacy policy, and support | ||||||
|  | # documentation. | ||||||
|  |  | ||||||
|  | name: Trivy scan Wazuh manager | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   release: | ||||||
|  |     types: | ||||||
|  |     - published | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - master | ||||||
|  |       - stable | ||||||
|  |   schedule: | ||||||
|  |     - cron: '34 2 * * 1' | ||||||
|  |   workflow_dispatch: | ||||||
|  |  | ||||||
|  | permissions: | ||||||
|  |   contents: read | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     permissions: | ||||||
|  |       contents: read # for actions/checkout to fetch code | ||||||
|  |       security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | ||||||
|  |  | ||||||
|  |     name: Build images and upload Trivy results | ||||||
|  |     runs-on: "ubuntu-latest" | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout code | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |         with: { ref: 4.4 } | ||||||
|  |  | ||||||
|  |       - name: Installing dependencies | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get update | ||||||
|  |           sudo apt-get install -y jq | ||||||
|  |       - name: Build Wazuh images | ||||||
|  |         run: build-docker-images/build-images.sh | ||||||
|  |  | ||||||
|  |       - name: Create enviroment variables | ||||||
|  |         run: | | ||||||
|  |           cat .env > $GITHUB_ENV | ||||||
|  |           echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV | ||||||
|  |  | ||||||
|  |       - name: Run Trivy vulnerability scanner for Wazuh manager | ||||||
|  |         uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2 | ||||||
|  |         with: | ||||||
|  |           image-ref: 'wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}}' | ||||||
|  |           format: 'template' | ||||||
|  |           template: '@/contrib/sarif.tpl' | ||||||
|  |           output: 'trivy-results-manager.sarif' | ||||||
|  |           severity: 'LOW,MEDIUM,CRITICAL,HIGH' | ||||||
|  |  | ||||||
|  |       - name: Upload Trivy scan results to GitHub Security tab | ||||||
|  |         uses: github/codeql-action/upload-sarif@v2 | ||||||
|  |         with: | ||||||
|  |           sarif_file: 'trivy-results-manager.sarif' | ||||||
|  |  | ||||||
|  |       - name: Slack notification | ||||||
|  |         uses: rtCamp/action-slack-notify@v2 | ||||||
|  |         env: | ||||||
|  |           SLACK_CHANNEL: cicd-monitoring | ||||||
|  |           SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff' | ||||||
|  |           #SLACK_ICON: https://github.com/rtCamp.png?size=48 | ||||||
|  |           SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}" | ||||||
|  |           SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished. | ||||||
|  |           SLACK_USERNAME: github_actions | ||||||
|  |           SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | ||||||
							
								
								
									
										80
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,6 +1,86 @@ | |||||||
| # 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.7.2 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.7.2](https://github.com/wazuh/wazuh/blob/v4.7.2/CHANGELOG.md#v472) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.7.1 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.7.1](https://github.com/wazuh/wazuh/blob/v4.7.1/CHANGELOG.md#v471) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.7.0 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.7.0](https://github.com/wazuh/wazuh/blob/v4.7.0/CHANGELOG.md#v470) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.6.0 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.6.0](https://github.com/wazuh/wazuh/blob/v4.6.0/CHANGELOG.md#v460) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.5.4 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.5.4](https://github.com/wazuh/wazuh/blob/v4.5.4/CHANGELOG.md#v454) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.5.3 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.5.3](https://github.com/wazuh/wazuh/blob/v4.5.3/CHANGELOG.md#v453) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.5.2 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.5.2](https://github.com/wazuh/wazuh/blob/v4.5.2/CHANGELOG.md#v452) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.5.1 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.5.1](https://github.com/wazuh/wazuh/blob/v4.5.1/CHANGELOG.md#v451) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.5.0 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.5.0](https://github.com/wazuh/wazuh/blob/v4.5.0/CHANGELOG.md#v450) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.4.5 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.4.5](https://github.com/wazuh/wazuh/blob/v4.4.5/CHANGELOG.md#v445) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.4.4 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.4.4](https://github.com/wazuh/wazuh/blob/v4.4.4/CHANGELOG.md#v444) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.4.3 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.4.3](https://github.com/wazuh/wazuh/blob/v4.4.3/CHANGELOG.md#v443) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.4.2 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.4.2](https://github.com/wazuh/wazuh/blob/v4.4.2/CHANGELOG.md#v442) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.4.1 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.4.1](https://github.com/wazuh/wazuh/blob/v4.4.1/CHANGELOG.md#v441) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.4.0 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.4.0](https://github.com/wazuh/wazuh/blob/v4.4.0/CHANGELOG.md#v440) | ||||||
|  |  | ||||||
|  | ## Wazuh Docker v4.3.11 | ||||||
|  | ### Added | ||||||
|  |  | ||||||
|  | - Update Wazuh to version [4.3.11](https://github.com/wazuh/wazuh/blob/v4.3.11/CHANGELOG.md#v4311) | ||||||
|  |  | ||||||
| ## Wazuh Docker v4.3.10 | ## Wazuh Docker v4.3.10 | ||||||
| ### Added | ### Added | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								README.md
									
									
									
									
									
								
							| @@ -42,7 +42,7 @@ API_PASSWORD="MyS3cr37P450r.*-"                     # Wazuh API password - Must | |||||||
|  |  | ||||||
| INDEXER_URL=https://wazuh.indexer:9200              # Wazuh indexer URL | INDEXER_URL=https://wazuh.indexer:9200              # Wazuh indexer URL | ||||||
| INDEXER_USERNAME=admin                              # Wazuh indexer Username | INDEXER_USERNAME=admin                              # Wazuh indexer Username | ||||||
| INDEXER_PASSWORD=admin                              # Wazuh indexer Password | INDEXER_PASSWORD=SecretPassword                     # Wazuh indexer Password | ||||||
| FILEBEAT_SSL_VERIFICATION_MODE=full                 # Filebeat SSL Verification mode (full or none) | FILEBEAT_SSL_VERIFICATION_MODE=full                 # Filebeat SSL Verification mode (full or none) | ||||||
| SSL_CERTIFICATE_AUTHORITIES=""                      # Path of Filebeat SSL CA | SSL_CERTIFICATE_AUTHORITIES=""                      # Path of Filebeat SSL CA | ||||||
| SSL_CERTIFICATE=""                                  # Path of Filebeat SSL Certificate | SSL_CERTIFICATE=""                                  # Path of Filebeat SSL Certificate | ||||||
| @@ -195,6 +195,22 @@ WAZUH_MONITORING_REPLICAS=0         ## | |||||||
|  |  | ||||||
| | Wazuh version | ODFE    | XPACK  | | | Wazuh version | ODFE    | XPACK  | | ||||||
| |---------------|---------|--------| | |---------------|---------|--------| | ||||||
|  | | v4.7.2        |         |        | | ||||||
|  | | v4.7.1        |         |        | | ||||||
|  | | v4.7.0        |         |        | | ||||||
|  | | v4.6.0        |         |        | | ||||||
|  | | v4.5.4        |         |        | | ||||||
|  | | v4.5.3        |         |        | | ||||||
|  | | v4.5.2        |         |        | | ||||||
|  | | v4.5.1        |         |        | | ||||||
|  | | v4.5.0        |         |        | | ||||||
|  | | v4.4.5        |         |        | | ||||||
|  | | v4.4.4        |         |        | | ||||||
|  | | v4.4.3        |         |        | | ||||||
|  | | v4.4.2        |         |        | | ||||||
|  | | v4.4.1        |         |        | | ||||||
|  | | v4.4.0        |         |        | | ||||||
|  | | v4.3.11       |         |        | | ||||||
| | v4.3.10       |         |        | | | v4.3.10       |         |        | | ||||||
| | v4.3.9        |         |        | | | v4.3.9        |         |        | | ||||||
| | v4.3.8        |         |        | | | v4.3.8        |         |        | | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								VERSION
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								VERSION
									
									
									
									
									
								
							| @@ -1,2 +1,2 @@ | |||||||
| WAZUH-DOCKER_VERSION="4.3.10" | WAZUH-DOCKER_VERSION="4.7.2" | ||||||
| REVISION="40323" | REVISION="40710" | ||||||
|   | |||||||
| @@ -9,3 +9,24 @@ $ build-docker-images/build-images.sh | |||||||
| ``` | ``` | ||||||
|  |  | ||||||
| This script initializes the environment variables needed to build each of the images. | This script initializes the environment variables needed to build each of the images. | ||||||
|  |  | ||||||
|  | The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument: | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | $ build-docker-images/build-images.sh -v 4.5.2 | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | To get all the available script options use the -h or --help option: | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | $ build-docker-images/build-images.sh -h | ||||||
|  |  | ||||||
|  | Usage: build-docker-images/build-images.sh [OPTIONS] | ||||||
|  |  | ||||||
|  |     -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default. | ||||||
|  |     -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default 0.3. | ||||||
|  |     -r, --revision <rev>         [Optional] Package revision. By default 1 | ||||||
|  |     -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 4.7.2. | ||||||
|  |     -h, --help                   Show this help. | ||||||
|  |  | ||||||
|  | ``` | ||||||
| @@ -1,17 +1,144 @@ | |||||||
| WAZUH_IMAGE_VERSION=4.3.10 | WAZUH_IMAGE_VERSION=4.7.2 | ||||||
| WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g') | WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g') | ||||||
| WAZUH_TAG_REVISION=1 | WAZUH_TAG_REVISION=1 | ||||||
| WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') | WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') | ||||||
|  | IMAGE_VERSION=${WAZUH_IMAGE_VERSION} | ||||||
|  |  | ||||||
| ## If wazuh manager exists in apt dev repository, change variables, if not, exit 1 | # Wazuh package generator | ||||||
| if [ "$WAZUH_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then | # Copyright (C) 2023, Wazuh Inc. | ||||||
|   IMAGE_VERSION=${WAZUH_IMAGE_VERSION} | # | ||||||
| else | # This program is a free software; you can redistribute it | ||||||
|   IMAGE_VERSION=${WAZUH_IMAGE_VERSION} | # and/or modify it under the terms of the GNU General Public | ||||||
| fi | # License (version 2) as published by the FSF - Free Software | ||||||
|  | # Foundation. | ||||||
|  |  | ||||||
| echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env | WAZUH_IMAGE_VERSION="4.7.2" | ||||||
| echo WAZUH_IMAGE_VERSION=$IMAGE_VERSION >> .env | WAZUH_TAG_REVISION="1" | ||||||
| echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> .env | WAZUH_DEV_STAGE="" | ||||||
|  | FILEBEAT_MODULE_VERSION="0.3" | ||||||
|  |  | ||||||
| docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache | # ----------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | trap ctrl_c INT | ||||||
|  |  | ||||||
|  | clean() { | ||||||
|  |     exit_code=$1 | ||||||
|  |  | ||||||
|  |     exit ${exit_code} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ctrl_c() { | ||||||
|  |     clean 1 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # ----------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | build() { | ||||||
|  |  | ||||||
|  |     WAZUH_VERSION="$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')" | ||||||
|  |     FILEBEAT_TEMPLATE_BRANCH="${WAZUH_IMAGE_VERSION}" | ||||||
|  |     WAZUH_FILEBEAT_MODULE="wazuh-filebeat-${FILEBEAT_MODULE_VERSION}.tar.gz" | ||||||
|  |     WAZUH_UI_REVISION="${WAZUH_TAG_REVISION}" | ||||||
|  |  | ||||||
|  |     if  [ "${WAZUH_DEV_STAGE}" ];then | ||||||
|  |         FILEBEAT_TEMPLATE_BRANCH="v${FILEBEAT_TEMPLATE_BRANCH}-${WAZUH_DEV_STAGE,,}" | ||||||
|  |         if ! curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then | ||||||
|  |             echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}" | ||||||
|  |             clean 1 | ||||||
|  |         fi | ||||||
|  |     else | ||||||
|  |         if curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/v${FILEBEAT_TEMPLATE_BRANCH}"; then | ||||||
|  |             FILEBEAT_TEMPLATE_BRANCH="v${FILEBEAT_TEMPLATE_BRANCH}" | ||||||
|  |         elif curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then | ||||||
|  |             FILEBEAT_TEMPLATE_BRANCH="${FILEBEAT_TEMPLATE_BRANCH}" | ||||||
|  |         else | ||||||
|  |             WAZUH_MASTER_VERSION="$(curl -s https://raw.githubusercontent.com/wazuh/wazuh/master/src/VERSION | sed -e 's/v//g')" | ||||||
|  |             if [ "${FILEBEAT_TEMPLATE_BRANCH}" == "${WAZUH_MASTER_VERSION}" ]; then | ||||||
|  |                 FILEBEAT_TEMPLATE_BRANCH="master" | ||||||
|  |             else | ||||||
|  |                 echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}" | ||||||
|  |                 clean 1 | ||||||
|  |             fi | ||||||
|  |         fi | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  |     echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env | ||||||
|  |     echo WAZUH_IMAGE_VERSION=$WAZUH_IMAGE_VERSION >> .env | ||||||
|  |     echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> .env | ||||||
|  |     echo FILEBEAT_TEMPLATE_BRANCH=$FILEBEAT_TEMPLATE_BRANCH >> .env | ||||||
|  |     echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env | ||||||
|  |     echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env | ||||||
|  |  | ||||||
|  |     docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache | ||||||
|  |  | ||||||
|  |     return 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # ----------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | help() { | ||||||
|  |     echo | ||||||
|  |     echo "Usage: $0 [OPTIONS]" | ||||||
|  |     echo | ||||||
|  |     echo "    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default." | ||||||
|  |     echo "    -f, --filebeat-module <ref>  [Optional] Set Filebeat module version. By default ${FILEBEAT_MODULE_VERSION}." | ||||||
|  |     echo "    -r, --revision <rev>         [Optional] Package revision. By default ${WAZUH_TAG_REVISION}" | ||||||
|  |     echo "    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, ${WAZUH_IMAGE_VERSION}." | ||||||
|  |     echo "    -h, --help                   Show this help." | ||||||
|  |     echo | ||||||
|  |     exit $1 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # ----------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | main() { | ||||||
|  |     while [ -n "${1}" ] | ||||||
|  |     do | ||||||
|  |         case "${1}" in | ||||||
|  |         "-h"|"--help") | ||||||
|  |             help 0 | ||||||
|  |             ;; | ||||||
|  |         "-d"|"--dev") | ||||||
|  |             if [ -n "${2}" ]; then | ||||||
|  |                 WAZUH_DEV_STAGE="${2}" | ||||||
|  |                 shift 2 | ||||||
|  |             else | ||||||
|  |                 help 1 | ||||||
|  |             fi | ||||||
|  |             ;; | ||||||
|  |         "-f"|"--filebeat-module") | ||||||
|  |             if [ -n "${2}" ]; then | ||||||
|  |                 FILEBEAT_MODULE_VERSION="${2}" | ||||||
|  |                 shift 2 | ||||||
|  |             else | ||||||
|  |                 help 1 | ||||||
|  |             fi | ||||||
|  |             ;; | ||||||
|  |         "-r"|"--revision") | ||||||
|  |             if [ -n "${2}" ]; then | ||||||
|  |                 WAZUH_TAG_REVISION="${2}" | ||||||
|  |                 shift 2 | ||||||
|  |             else | ||||||
|  |                 help 1 | ||||||
|  |             fi | ||||||
|  |             ;; | ||||||
|  |         "-v"|"--version") | ||||||
|  |             if [ -n "$2" ]; then | ||||||
|  |                 WAZUH_IMAGE_VERSION="$2" | ||||||
|  |                 shift 2 | ||||||
|  |             else | ||||||
|  |                 help 1 | ||||||
|  |             fi | ||||||
|  |             ;; | ||||||
|  |         *) | ||||||
|  |             help 1 | ||||||
|  |         esac | ||||||
|  |     done | ||||||
|  |  | ||||||
|  |     build || clean 1 | ||||||
|  |  | ||||||
|  |     clean 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | main "$@" | ||||||
|   | |||||||
| @@ -8,6 +8,8 @@ services: | |||||||
|       args: |       args: | ||||||
|         WAZUH_VERSION: ${WAZUH_VERSION} |         WAZUH_VERSION: ${WAZUH_VERSION} | ||||||
|         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} |         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} | ||||||
|  |         FILEBEAT_TEMPLATE_BRANCH: ${FILEBEAT_TEMPLATE_BRANCH} | ||||||
|  |         WAZUH_FILEBEAT_MODULE: ${WAZUH_FILEBEAT_MODULE} | ||||||
|     image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION} |     image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION} | ||||||
|     hostname: wazuh.manager |     hostname: wazuh.manager | ||||||
|     restart: always |     restart: always | ||||||
| @@ -61,6 +63,7 @@ services: | |||||||
|       args: |       args: | ||||||
|         WAZUH_VERSION: ${WAZUH_VERSION} |         WAZUH_VERSION: ${WAZUH_VERSION} | ||||||
|         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} |         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} | ||||||
|  |         WAZUH_UI_REVISION: ${WAZUH_UI_REVISION} | ||||||
|     image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION} |     image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION} | ||||||
|     hostname: wazuh.dashboard |     hostname: wazuh.dashboard | ||||||
|     restart: always |     restart: always | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ubuntu:focal AS builder | |||||||
| ARG WAZUH_VERSION | ARG WAZUH_VERSION | ||||||
| ARG WAZUH_TAG_REVISION | ARG WAZUH_TAG_REVISION | ||||||
| ARG INSTALL_DIR=/usr/share/wazuh-dashboard | ARG INSTALL_DIR=/usr/share/wazuh-dashboard | ||||||
| ARG WAZUH_UI_REVISION=1 | ARG WAZUH_UI_REVISION | ||||||
|  |  | ||||||
| # Update and install dependencies | # Update and install dependencies | ||||||
| RUN apt-get update && apt install curl libcap2-bin xz-utils -y | RUN apt-get update && apt install curl libcap2-bin xz-utils -y | ||||||
| @@ -66,6 +66,8 @@ ENV PATTERN="" \ | |||||||
|     EXTENSIONS_CISCAT="" \ |     EXTENSIONS_CISCAT="" \ | ||||||
|     EXTENSIONS_AWS="" \ |     EXTENSIONS_AWS="" \ | ||||||
|     EXTENSIONS_GCP="" \ |     EXTENSIONS_GCP="" \ | ||||||
|  |     EXTENSIONS_GITHUB=""\ | ||||||
|  |     EXTENSIONS_OFFICE=""\ | ||||||
|     EXTENSIONS_VIRUSTOTAL="" \ |     EXTENSIONS_VIRUSTOTAL="" \ | ||||||
|     EXTENSIONS_OSQUERY="" \ |     EXTENSIONS_OSQUERY="" \ | ||||||
|     EXTENSIONS_DOCKER="" \ |     EXTENSIONS_DOCKER="" \ | ||||||
| @@ -78,9 +80,6 @@ ENV PATTERN="" \ | |||||||
|     WAZUH_MONITORING_SHARDS="" \ |     WAZUH_MONITORING_SHARDS="" \ | ||||||
|     WAZUH_MONITORING_REPLICAS="" |     WAZUH_MONITORING_REPLICAS="" | ||||||
|  |  | ||||||
| # Install dependencies |  | ||||||
| RUN apt update && apt install -y libnss3-dev fonts-liberation libfontconfig1 |  | ||||||
|  |  | ||||||
| # Create wazuh-dashboard user and group | # Create wazuh-dashboard user and group | ||||||
| RUN getent group $GROUP || groupadd -r -g 1000 $GROUP | RUN getent group $GROUP || groupadd -r -g 1000 $GROUP | ||||||
| RUN useradd --system \ | RUN useradd --system \ | ||||||
| @@ -102,6 +101,10 @@ RUN chown 1000:1000 /*.sh | |||||||
| # Copy Install dir from builder to current image | # Copy Install dir from builder to current image | ||||||
| COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR | COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR | ||||||
|  |  | ||||||
|  | # Create custom directory | ||||||
|  | RUN mkdir -p /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom | ||||||
|  | RUN chown 1000:1000 /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom | ||||||
|  |  | ||||||
| # Set workdir and user | # Set workdir and user | ||||||
| WORKDIR $INSTALL_DIR | WORKDIR $INSTALL_DIR | ||||||
| USER wazuh-dashboard | USER wazuh-dashboard | ||||||
|   | |||||||
| @@ -9,8 +9,8 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config | |||||||
|  |  | ||||||
| ## Variables | ## Variables | ||||||
| CERT_TOOL=wazuh-certs-tool.sh | CERT_TOOL=wazuh-certs-tool.sh | ||||||
| PACKAGES_URL=https://packages.wazuh.com/4.3/ | PACKAGES_URL=https://packages.wazuh.com/4.7/ | ||||||
| PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.3/ | PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.7/ | ||||||
|  |  | ||||||
| ## Check if the cert tool exists in S3 buckets | ## Check if the cert tool exists in S3 buckets | ||||||
| CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}') | CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}') | ||||||
|   | |||||||
| @@ -1,12 +1,25 @@ | |||||||
| WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') && \ | REPOSITORY="packages.wazuh.com/4.x" | ||||||
| WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') && \ | WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-) | ||||||
|  | MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1) | ||||||
|  | MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2) | ||||||
|  | MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3) | ||||||
|  | MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1) | ||||||
|  | MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2) | ||||||
|  | MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3) | ||||||
|  |  | ||||||
|  | ## check version to use the correct repository | ||||||
| if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then | if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then | ||||||
|  REPOSITORY="packages.wazuh.com" |   REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
| else  | elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then | ||||||
|  REPOSITORY="packages-dev.wazuh.com" |   if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then | ||||||
|  |     REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  |   elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then | ||||||
|  |     if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then | ||||||
|  |       REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
| fi | fi | ||||||
|   |  | ||||||
| curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/base/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz |  | ||||||
|  | curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz | ||||||
| tar -xf wazuh-dashboard-base.tar.xz --directory  $INSTALL_DIR --strip-components=1 | tar -xf wazuh-dashboard-base.tar.xz --directory  $INSTALL_DIR --strip-components=1 | ||||||
|   | |||||||
| @@ -1,11 +1,24 @@ | |||||||
| ## Variables | ## variables | ||||||
| WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') | WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip | ||||||
| WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') | WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-) | ||||||
| ## If wazuh manager exists in apt dev repository, change variables, if not exit 1 | MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1) | ||||||
| if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then | MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2) | ||||||
|   WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip | MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3) | ||||||
| else | MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1) | ||||||
|  | MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2) | ||||||
|  | MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3) | ||||||
|  |  | ||||||
|  | ## check version to use the correct repository | ||||||
|  | if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then | ||||||
|   WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip |   WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip | ||||||
|  | elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then | ||||||
|  |   if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then | ||||||
|  |     WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip | ||||||
|  |   elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then | ||||||
|  |     if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then | ||||||
|  |       WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
| # Install Wazuh App | # Install Wazuh App | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
| # https://documentation.wazuh.com/current/installation-guide/index.html | # https://documentation.wazuh.com/current/installation-guide/index.html | ||||||
| # | # | ||||||
| # Also, you can check our repository: | # Also, you can check our repository: | ||||||
| # https://github.com/wazuh/wazuh-kibana-app | # https://github.com/wazuh/wazuh-dashboard-plugins | ||||||
| # | # | ||||||
| # ------------------------------- Index patterns ------------------------------- | # ------------------------------- Index patterns ------------------------------- | ||||||
| # | # | ||||||
|   | |||||||
| @@ -25,6 +25,8 @@ declare -A CONFIG_MAP=( | |||||||
|   [extensions.ciscat]=$EXTENSIONS_CISCAT |   [extensions.ciscat]=$EXTENSIONS_CISCAT | ||||||
|   [extensions.aws]=$EXTENSIONS_AWS |   [extensions.aws]=$EXTENSIONS_AWS | ||||||
|   [extensions.gcp]=$EXTENSIONS_GCP |   [extensions.gcp]=$EXTENSIONS_GCP | ||||||
|  |   [extensions.github]=$EXTENSIONS_GITHUB | ||||||
|  |   [extensions.office]=$EXTENSIONS_OFFICE | ||||||
|   [extensions.virustotal]=$EXTENSIONS_VIRUSTOTAL |   [extensions.virustotal]=$EXTENSIONS_VIRUSTOTAL | ||||||
|   [extensions.osquery]=$EXTENSIONS_OSQUERY |   [extensions.osquery]=$EXTENSIONS_OSQUERY | ||||||
|   [extensions.docker]=$EXTENSIONS_DOCKER |   [extensions.docker]=$EXTENSIONS_DOCKER | ||||||
|   | |||||||
| @@ -59,14 +59,15 @@ COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/s | |||||||
| COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/sysctl.d /usr/lib/sysctl.d | COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/sysctl.d /usr/lib/sysctl.d | ||||||
| COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d | COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d | ||||||
|  |  | ||||||
|  | RUN chown -R 1000:1000 /usr/share/wazuh-indexer | ||||||
|  |  | ||||||
| RUN mkdir -p /var/lib/wazuh-indexer && chown 1000:1000 /var/lib/wazuh-indexer && \ | RUN mkdir -p /var/lib/wazuh-indexer && chown 1000:1000 /var/lib/wazuh-indexer && \ | ||||||
|     mkdir -p /usr/share/wazuh-indexer/logs && chown 1000:1000 /usr/share/wazuh-indexer/logs && \ |     mkdir -p /usr/share/wazuh-indexer/logs && chown 1000:1000 /usr/share/wazuh-indexer/logs && \ | ||||||
|     mkdir -p /run/wazuh-indexer && chown 1000:1000 /run/wazuh-indexer && \ |     mkdir -p /run/wazuh-indexer && chown 1000:1000 /run/wazuh-indexer && \ | ||||||
|     mkdir -p /var/log/wazuh-indexer && chown 1000:1000 /var/log/wazuh-indexer && \ |     mkdir -p /var/log/wazuh-indexer && chown 1000:1000 /var/log/wazuh-indexer && \ | ||||||
|     chmod 700 /usr/share/wazuh-indexer/config && \ |     chmod 700 /usr/share/wazuh-indexer && \ | ||||||
|     chmod 600 /usr/share/wazuh-indexer/config/jvm.options && \ |     chmod 600 /usr/share/wazuh-indexer/jvm.options && \ | ||||||
|     chmod 600 /usr/share/wazuh-indexer/config/opensearch.yml |     chmod 600 /usr/share/wazuh-indexer/opensearch.yml | ||||||
|  |  | ||||||
| USER wazuh-indexer | USER wazuh-indexer | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,8 +4,6 @@ export DH_OPTIONS | |||||||
|  |  | ||||||
| export NAME=wazuh-indexer | export NAME=wazuh-indexer | ||||||
| export TARGET_DIR=${CURDIR}/debian/${NAME} | export TARGET_DIR=${CURDIR}/debian/${NAME} | ||||||
| export WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') |  | ||||||
| export WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') |  | ||||||
|  |  | ||||||
| # Package build options | # Package build options | ||||||
| export USER=${NAME} | export USER=${NAME} | ||||||
| @@ -15,7 +13,7 @@ export LOG_DIR=/var/log/${NAME} | |||||||
| export LIB_DIR=/var/lib/${NAME} | export LIB_DIR=/var/lib/${NAME} | ||||||
| export PID_DIR=/run/${NAME} | export PID_DIR=/run/${NAME} | ||||||
| export INSTALLATION_DIR=/usr/share/${NAME} | export INSTALLATION_DIR=/usr/share/${NAME} | ||||||
| export CONFIG_DIR=${INSTALLATION_DIR}/config | export CONFIG_DIR=${INSTALLATION_DIR} | ||||||
| export BASE_DIR=${NAME}-* | export BASE_DIR=${NAME}-* | ||||||
| export INDEXER_FILE=wazuh-indexer-base.tar.xz | export INDEXER_FILE=wazuh-indexer-base.tar.xz | ||||||
| export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz | export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz | ||||||
| @@ -23,13 +21,31 @@ export REPO_DIR=/unattended_installer | |||||||
|  |  | ||||||
| rm -rf ${INSTALLATION_DIR}/ | rm -rf ${INSTALLATION_DIR}/ | ||||||
|  |  | ||||||
| if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then | ## variables | ||||||
|  REPOSITORY="packages.wazuh.com" | REPOSITORY="packages.wazuh.com/4.x" | ||||||
| else | WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-) | ||||||
|  REPOSITORY="packages-dev.wazuh.com" | MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1) | ||||||
|  | MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2) | ||||||
|  | MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3) | ||||||
|  | MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1) | ||||||
|  | MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2) | ||||||
|  | MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3) | ||||||
|  |  | ||||||
|  | ## check version to use the correct repository | ||||||
|  | if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then | ||||||
|  |   REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  | elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then | ||||||
|  |   if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then | ||||||
|  |     REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  |   elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then | ||||||
|  |     if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then | ||||||
|  |       REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
| curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/base/${BASE_FILE} |  | ||||||
|  | curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/${BASE_FILE} | ||||||
| tar -xf ${INDEXER_FILE} | tar -xf ${INDEXER_FILE} | ||||||
|  |  | ||||||
| ## TOOLS | ## TOOLS | ||||||
| @@ -37,8 +53,8 @@ tar -xf ${INDEXER_FILE} | |||||||
| ## Variables | ## Variables | ||||||
| CERT_TOOL=wazuh-certs-tool.sh | CERT_TOOL=wazuh-certs-tool.sh | ||||||
| PASSWORD_TOOL=wazuh-passwords-tool.sh | PASSWORD_TOOL=wazuh-passwords-tool.sh | ||||||
| PACKAGES_URL=https://packages.wazuh.com/4.3/ | PACKAGES_URL=https://packages.wazuh.com/4.7/ | ||||||
| PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.3/ | PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.7/ | ||||||
|  |  | ||||||
| ## Check if the cert tool exists in S3 buckets | ## Check if the cert tool exists in S3 buckets | ||||||
| CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}') | CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}') | ||||||
| @@ -77,6 +93,7 @@ chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A | |||||||
|  |  | ||||||
| # copy to target | # copy to target | ||||||
| mkdir -p ${TARGET_DIR}${INSTALLATION_DIR} | mkdir -p ${TARGET_DIR}${INSTALLATION_DIR} | ||||||
|  | mkdir -p ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/ | ||||||
| mkdir -p ${TARGET_DIR}${CONFIG_DIR} | mkdir -p ${TARGET_DIR}${CONFIG_DIR} | ||||||
| mkdir -p ${TARGET_DIR}${LIB_DIR} | mkdir -p ${TARGET_DIR}${LIB_DIR} | ||||||
| mkdir -p ${TARGET_DIR}${LOG_DIR} | mkdir -p ${TARGET_DIR}${LOG_DIR} | ||||||
| @@ -101,9 +118,9 @@ cp -pr ${BASE_DIR}/* ${TARGET_DIR}${INSTALLATION_DIR} | |||||||
| cp /$CERT_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/ | cp /$CERT_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/ | ||||||
| cp /$PASSWORD_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/ | cp /$PASSWORD_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/ | ||||||
| # Copy Wazuh's config files for the security plugin | # Copy Wazuh's config files for the security plugin | ||||||
| cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/securityconfig/ | cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/ | ||||||
| cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/securityconfig/ | cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/ | ||||||
| cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/securityconfig/ | cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/ | ||||||
| cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR} | cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR} | ||||||
| # Copy Wazuh indexer's certificates | # Copy Wazuh indexer's certificates | ||||||
| cp -pr /wazuh-certificates/demo.indexer.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer.pem | cp -pr /wazuh-certificates/demo.indexer.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer.pem | ||||||
| @@ -116,6 +133,14 @@ cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin- | |||||||
| # Delete xms and xmx parameters in jvm.options | # Delete xms and xmx parameters in jvm.options | ||||||
| sed '/-Xms/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options | sed '/-Xms/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options | ||||||
| sed '/-Xmx/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options | sed '/-Xmx/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options | ||||||
|  | sed -i 's/-Djava.security.policy=file:\/\/\/etc\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/-Djava.security.policy=file:\/\/\/usr\/share\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/g' ${TARGET_DIR}${CONFIG_DIR}/jvm.options | ||||||
|  |  | ||||||
|  |  | ||||||
| chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs | chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs | ||||||
| chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/* | chmod -R 400 ${TARGET_DIR}${CONFIG_DIR}/certs/* | ||||||
|  |  | ||||||
|  | find ${TARGET_DIR} -type d -exec chmod 750 {} \; | ||||||
|  | find ${TARGET_DIR} -type f -perm 644 -exec chmod 640 {} \; | ||||||
|  | find ${TARGET_DIR} -type f -perm 664 -exec chmod 660 {} \; | ||||||
|  | find ${TARGET_DIR} -type f -perm 755 -exec chmod 750 {} \; | ||||||
|  | find ${TARGET_DIR} -type f -perm 744 -exec chmod 740 {} \; | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ umask 0002 | |||||||
|  |  | ||||||
| export USER=wazuh-indexer | export USER=wazuh-indexer | ||||||
| export INSTALLATION_DIR=/usr/share/wazuh-indexer | export INSTALLATION_DIR=/usr/share/wazuh-indexer | ||||||
| export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}/config | export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR} | ||||||
| export JAVA_HOME=${INSTALLATION_DIR}/jdk | export JAVA_HOME=${INSTALLATION_DIR}/jdk | ||||||
| export DISCOVERY=$(grep -oP "(?<=discovery.type: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml) | export DISCOVERY=$(grep -oP "(?<=discovery.type: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml) | ||||||
| export CACERT=$(grep -oP "(?<=plugins.security.ssl.transport.pemtrustedcas_filepath: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml) | export CACERT=$(grep -oP "(?<=plugins.security.ssl.transport.pemtrustedcas_filepath: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml) | ||||||
| @@ -59,7 +59,7 @@ if [[ -f bin/opensearch-users ]]; then | |||||||
|   # enabled, but we have no way of knowing which node we are yet. We'll just |   # enabled, but we have no way of knowing which node we are yet. We'll just | ||||||
|   # honor the variable if it's present. |   # honor the variable if it's present. | ||||||
|   if [[ -n "$INDEXER_PASSWORD" ]]; then |   if [[ -n "$INDEXER_PASSWORD" ]]; then | ||||||
|     [[ -f /usr/share/wazuh-indexer/config/opensearch.keystore ]] || (run_as_other_user_if_needed opensearch-keystore create) |     [[ -f /usr/share/wazuh-indexer/opensearch.keystore ]] || (run_as_other_user_if_needed opensearch-keystore create) | ||||||
|     if ! (run_as_other_user_if_needed opensearch-keystore has-passwd --silent) ; then |     if ! (run_as_other_user_if_needed opensearch-keystore has-passwd --silent) ; then | ||||||
|       # keystore is unencrypted |       # keystore is unencrypted | ||||||
|       if ! (run_as_other_user_if_needed opensearch-keystore list | grep -q '^bootstrap.password$'); then |       if ! (run_as_other_user_if_needed opensearch-keystore list | grep -q '^bootstrap.password$'); then | ||||||
| @@ -84,10 +84,10 @@ if [[ "$(id -u)" == "0" ]]; then | |||||||
| fi | fi | ||||||
|  |  | ||||||
|  |  | ||||||
| if [[ "$DISCOVERY" == "single-node" ]] && [[ ! -f "/var/lib/wazuh-indexer/.flag" ]]; then | #if [[ "$DISCOVERY" == "single-node" ]] && [[ ! -f "/var/lib/wazuh-indexer/.flag" ]]; then | ||||||
|   # run securityadmin.sh for single node with CACERT, CERT and KEY parameter |   # run securityadmin.sh for single node with CACERT, CERT and KEY parameter | ||||||
|   nohup /securityadmin.sh & | #  nohup /securityadmin.sh & | ||||||
|   touch "/var/lib/wazuh-indexer/.flag" | #  touch "/var/lib/wazuh-indexer/.flag" | ||||||
| fi | #fi | ||||||
|  |  | ||||||
| run_as_other_user_if_needed /usr/share/wazuh-indexer/bin/opensearch <<<"$KEYSTORE_PASSWORD" | run_as_other_user_if_needed /usr/share/wazuh-indexer/bin/opensearch <<<"$KEYSTORE_PASSWORD" | ||||||
| @@ -4,12 +4,12 @@ path.data: /var/lib/wazuh-indexer | |||||||
| path.logs: /var/log/wazuh-indexer | path.logs: /var/log/wazuh-indexer | ||||||
| discovery.type: single-node | discovery.type: single-node | ||||||
| compatibility.override_main_response_version: true | compatibility.override_main_response_version: true | ||||||
| plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer.pem | plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem | ||||||
| plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer-key.pem | plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem | ||||||
| plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem | plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
| plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer.pem | plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem | ||||||
| plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/indexer-key.pem | plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem | ||||||
| plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem | plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
| plugins.security.ssl.http.enabled: true | plugins.security.ssl.http.enabled: true | ||||||
| plugins.security.ssl.transport.enforce_hostname_verification: false | plugins.security.ssl.transport.enforce_hostname_verification: false | ||||||
| plugins.security.ssl.transport.resolve_hostname: false | plugins.security.ssl.transport.resolve_hostname: false | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| # Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2) | # Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2) | ||||||
| sleep 30 | sleep 30 | ||||||
| bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9300 -icl | bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert  $CACERT -cert $CERT -key $KEY -p 9200 -icl | ||||||
| @@ -5,26 +5,23 @@ RUN rm /bin/sh && ln -s /bin/bash /bin/sh | |||||||
|  |  | ||||||
| ARG WAZUH_VERSION | ARG WAZUH_VERSION | ||||||
| ARG WAZUH_TAG_REVISION | ARG WAZUH_TAG_REVISION | ||||||
| ARG TEMPLATE_VERSION=4.3 | ARG FILEBEAT_TEMPLATE_BRANCH | ||||||
| ARG FILEBEAT_CHANNEL=filebeat-oss | ARG FILEBEAT_CHANNEL=filebeat-oss | ||||||
| ARG FILEBEAT_VERSION=7.10.2 | ARG FILEBEAT_VERSION=7.10.2 | ||||||
| ARG WAZUH_FILEBEAT_MODULE="wazuh-filebeat-0.2.tar.gz" | ARG WAZUH_FILEBEAT_MODULE | ||||||
|  |  | ||||||
| RUN apt-get update && apt install curl apt-transport-https lsb-release gnupg -y | RUN apt-get update && apt install curl apt-transport-https lsb-release gnupg -y | ||||||
|  |  | ||||||
| COPY config/check_repository.sh / | COPY config/check_repository.sh / | ||||||
|  |  | ||||||
| RUN chmod 775 /check_repository.sh | RUN chmod 775 /check_repository.sh | ||||||
| RUN source /check_repository.sh | RUN source /check_repository.sh | ||||||
|  |  | ||||||
| RUN apt-get update && \ | RUN apt-get update && \ | ||||||
|     apt-get install wazuh-manager=${WAZUH_VERSION}-${WAZUH_TAG_REVISION} |     apt-get install wazuh-manager=${WAZUH_VERSION}-${WAZUH_TAG_REVISION} | ||||||
|  |  | ||||||
| RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb &&\ | COPY config/filebeat_module.sh / | ||||||
|     dpkg -i ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && \ | RUN chmod 775 /filebeat_module.sh | ||||||
|     curl -s https://packages.wazuh.com/4.x/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module | RUN source /filebeat_module.sh | ||||||
|  |  | ||||||
| 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" | 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 \ | ||||||
| @@ -40,7 +37,7 @@ COPY config/filebeat.yml /etc/filebeat/ | |||||||
|  |  | ||||||
| RUN chmod go-w /etc/filebeat/filebeat.yml | RUN chmod go-w /etc/filebeat/filebeat.yml | ||||||
|  |  | ||||||
| ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/elasticsearch/7.x/wazuh-template.json /etc/filebeat | ADD https://raw.githubusercontent.com/wazuh/wazuh/$FILEBEAT_TEMPLATE_BRANCH/extensions/elasticsearch/7.x/wazuh-template.json /etc/filebeat | ||||||
| RUN chmod go-w /etc/filebeat/wazuh-template.json | RUN chmod go-w /etc/filebeat/wazuh-template.json | ||||||
|  |  | ||||||
| # Prepare permanent data | # Prepare permanent data | ||||||
| @@ -51,7 +48,19 @@ RUN chmod 755 /permanent_data.sh && \ | |||||||
|     sync && /permanent_data.sh && \ |     sync && /permanent_data.sh && \ | ||||||
|     sync && rm /permanent_data.sh |     sync && rm /permanent_data.sh | ||||||
|  |  | ||||||
|  | #Make mount directories for keep permissions | ||||||
|  |  | ||||||
|  | RUN mkdir -p /var/ossec/var/multigroups && \ | ||||||
|  |     chown root:wazuh /var/ossec/var/multigroups && \ | ||||||
|  |     chmod 770 /var/ossec/var/multigroups && \ | ||||||
|  |     mkdir -p /var/ossec/agentless && \ | ||||||
|  |     chown root:wazuh /var/ossec/agentless && \ | ||||||
|  |     chmod 770 /var/ossec/agentless && \ | ||||||
|  |     mkdir -p /var/ossec/active-response/bin && \ | ||||||
|  |     chown root:wazuh /var/ossec/active-response/bin && \ | ||||||
|  |     chmod 770 /var/ossec/active-response/bin | ||||||
|  |  | ||||||
| # Services ports | # Services ports | ||||||
| EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp | EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp | ||||||
|  |  | ||||||
| ENTRYPOINT [ "/init" ] | ENTRYPOINT [ "/init" ] | ||||||
|   | |||||||
| @@ -1,13 +1,29 @@ | |||||||
| ## Variables | ## variables | ||||||
| WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g') | APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH | ||||||
| WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') | REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main" | ||||||
| ## If wazuh manager exists in apt dev repository, change variables, if not exit 1 | WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-) | ||||||
| if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_CURRENT_VERSION" ]; then | MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1) | ||||||
|   APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH | MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2) | ||||||
|   REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main" | MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3) | ||||||
| else | MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1) | ||||||
|  | MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2) | ||||||
|  | MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3) | ||||||
|  |  | ||||||
|  | ## check version to use the correct repository | ||||||
|  | if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then | ||||||
|   APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH |   APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||||
|   REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main" |   REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main" | ||||||
|  | elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then | ||||||
|  |   if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then | ||||||
|  |     APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||||
|  |     REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main" | ||||||
|  |   elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then | ||||||
|  |     if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then | ||||||
|  |       APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||||
|  |       REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main" | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
| apt-key adv --fetch-keys ${APT_KEY} | apt-key adv --fetch-keys ${APT_KEY} | ||||||
| echo ${REPOSITORY} | tee -a /etc/apt/sources.list.d/wazuh.list | echo ${REPOSITORY} | tee -a /etc/apt/sources.list.d/wazuh.list | ||||||
| @@ -13,7 +13,7 @@ SPECIAL_CHARS = "@$!%*?&-_" | |||||||
|  |  | ||||||
|  |  | ||||||
| try: | try: | ||||||
|     from wazuh.rbac.orm import create_rbac_db |     from wazuh.rbac.orm import check_database_integrity | ||||||
|     from wazuh.security import ( |     from wazuh.security import ( | ||||||
|         create_user, |         create_user, | ||||||
|         get_users, |         get_users, | ||||||
| @@ -69,7 +69,7 @@ if __name__ == "__main__": | |||||||
|     username, password = read_user_file() |     username, password = read_user_file() | ||||||
|  |  | ||||||
|     # create RBAC database |     # create RBAC database | ||||||
|     create_rbac_db() |     check_database_integrity() | ||||||
|  |  | ||||||
|     initial_users = db_users() |     initial_users = db_users() | ||||||
|     if username not in initial_users: |     if username not in initial_users: | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								build-docker-images/wazuh-manager/config/filebeat_module.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								build-docker-images/wazuh-manager/config/filebeat_module.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | REPOSITORY="packages.wazuh.com/4.x" | ||||||
|  | WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-) | ||||||
|  | MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1) | ||||||
|  | MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2) | ||||||
|  | MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3) | ||||||
|  | MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1) | ||||||
|  | MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2) | ||||||
|  | MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3) | ||||||
|  |  | ||||||
|  | ## check version to use the correct repository | ||||||
|  | if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then | ||||||
|  |   REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  | elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then | ||||||
|  |   if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then | ||||||
|  |     REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  |   elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then | ||||||
|  |     if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then | ||||||
|  |       REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb &&\ | ||||||
|  | dpkg -i ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && \ | ||||||
|  | curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module | ||||||
| @@ -21,6 +21,8 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack" | |||||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack.py" | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack.py" | ||||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal" | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal" | ||||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal.py" | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal.py" | ||||||
|  | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle" | ||||||
|  | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle.py" | ||||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/default-firewall-drop" | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/default-firewall-drop" | ||||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/disable-account" | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/disable-account" | ||||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/firewalld-drop" | PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/firewalld-drop" | ||||||
|   | |||||||
| @@ -8,8 +8,8 @@ | |||||||
| ## Variables | ## Variables | ||||||
| CERT_TOOL=wazuh-certs-tool.sh | CERT_TOOL=wazuh-certs-tool.sh | ||||||
| PASSWORD_TOOL=wazuh-passwords-tool.sh | PASSWORD_TOOL=wazuh-passwords-tool.sh | ||||||
| PACKAGES_URL=https://packages.wazuh.com/4.3/ | PACKAGES_URL=https://packages.wazuh.com/4.7/ | ||||||
| PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.3/ | PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.7/ | ||||||
|  |  | ||||||
| ## Check if the cert tool exists in S3 buckets | ## Check if the cert tool exists in S3 buckets | ||||||
| CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}') | CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk  '{print $2}') | ||||||
| @@ -17,13 +17,13 @@ CERT_TOOL_PACKAGES_DEV=$(curl --silent -I $PACKAGES_DEV_URL$CERT_TOOL | grep -E | |||||||
|  |  | ||||||
| ## If cert tool exists in some bucket, download it, if not exit 1 | ## If cert tool exists in some bucket, download it, if not exit 1 | ||||||
| if [ "$CERT_TOOL_PACKAGES" = "200" ]; then | if [ "$CERT_TOOL_PACKAGES" = "200" ]; then | ||||||
|   curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL |   curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL -s | ||||||
|   echo "Cert tool exists in Packages bucket" |   echo "The tool to create the certificates exists in the in Packages bucket" | ||||||
| elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then | elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then | ||||||
|   curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL |   curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL -s | ||||||
|   echo "Cert tool exists in Packages-dev bucket" |   echo "The tool to create the certificates exists in Packages-dev bucket" | ||||||
| else | else | ||||||
|   echo "Cert tool does not exist in any bucket" |   echo "The tool to create the certificates does not exist in any bucket" | ||||||
|   echo "ERROR: certificates were not created" |   echo "ERROR: certificates were not created" | ||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
| @@ -41,9 +41,9 @@ source /$CERT_TOOL -A | |||||||
| nodes_server=$( cert_parseYaml /config.yml | grep nodes_server__name | sed 's/nodes_server__name=//' ) | nodes_server=$( cert_parseYaml /config.yml | grep nodes_server__name | sed 's/nodes_server__name=//' ) | ||||||
| node_names=($nodes_server) | node_names=($nodes_server) | ||||||
|  |  | ||||||
| echo "Moving created certificates to destination directory" | echo "Moving created certificates to the destination directory" | ||||||
| cp /wazuh-certificates/* /certificates/ | cp /wazuh-certificates/* /certificates/ | ||||||
| echo "changing certificate permissions" | echo "Changing certificate permissions" | ||||||
| chmod -R 500 /certificates | chmod -R 500 /certificates | ||||||
| chmod -R 400 /certificates/* | chmod -R 400 /certificates/* | ||||||
| echo "Setting UID indexer and dashboard" | echo "Setting UID indexer and dashboard" | ||||||
| @@ -54,8 +54,8 @@ cp /certificates/root-ca.key /certificates/root-ca-manager.key | |||||||
| chown 101:101 /certificates/root-ca-manager.pem | chown 101:101 /certificates/root-ca-manager.pem | ||||||
| chown 101:101 /certificates/root-ca-manager.key | chown 101:101 /certificates/root-ca-manager.key | ||||||
|  |  | ||||||
| for i in ${node_names[@]};  | for i in ${node_names[@]}; | ||||||
| do  | do | ||||||
|   chown 101:101 "/certificates/${i}.pem" |   chown 101:101 "/certificates/${i}.pem" | ||||||
|   chown 101:101 "/certificates/${i}-key.pem" |   chown 101:101 "/certificates/${i}-key.pem" | ||||||
| done | done | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| # Opendistro data migration to Wazuh indexer on docker. | # Opendistro data migration to Wazuh indexer on docker. | ||||||
| This procedure explains how to migrate Opendistro data from Opendistro to Wazuh indexer in docker production deployments. | This procedure explains how to migrate Opendistro data from Opendistro to Wazuh indexer in docker production deployments. | ||||||
| The example is migrating from v4.2 to v4.3. | The example is migrating from v4.2 to v4.4. | ||||||
| 
 | 
 | ||||||
| ## Procedure | ## Procedure | ||||||
| Assuming that you have a v4.2 production deployment, perform the following steps. | Assuming that you have a v4.2 production deployment, perform the following steps. | ||||||
| @@ -350,9 +350,9 @@ docker container run --rm -it \ | |||||||
|            alpine ash -c "cd /from ; cp -avp . /to" |            alpine ash -c "cd /from ; cp -avp . /to" | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| **7. Start the 4.3 environment.** | **7. Start the 4.4 environment.** | ||||||
| ``` | ``` | ||||||
| git checkout 4.3 | git checkout 4.4 | ||||||
| cd multi-node | cd multi-node | ||||||
| docker-compose -f generate-indexer-certs.yml run --rm generator | docker-compose -f generate-indexer-certs.yml run --rm generator | ||||||
| docker-compose up -d | docker-compose up -d | ||||||
| @@ -21,4 +21,4 @@ nodes: | |||||||
|   # Wazuh dashboard node |   # Wazuh dashboard node | ||||||
|   dashboard: |   dashboard: | ||||||
|     - name: wazuh.dashboard |     - name: wazuh.dashboard | ||||||
|       ip: wazuh.dashboard |       ip: wazuh.dashboard | ||||||
|   | |||||||
| @@ -108,15 +108,16 @@ | |||||||
|       <os>xenial</os> |       <os>xenial</os> | ||||||
|       <os>bionic</os> |       <os>bionic</os> | ||||||
|       <os>focal</os> |       <os>focal</os> | ||||||
|  |       <os>jammy</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
|     <!-- Debian OS vulnerabilities --> |     <!-- Debian OS vulnerabilities --> | ||||||
|     <provider name="debian"> |     <provider name="debian"> | ||||||
|       <enabled>no</enabled> |       <enabled>no</enabled> | ||||||
|       <os>stretch</os> |  | ||||||
|       <os>buster</os> |       <os>buster</os> | ||||||
|       <os>bullseye</os> |       <os>bullseye</os> | ||||||
|  |       <os>bookworm</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -127,6 +128,7 @@ | |||||||
|       <os>6</os> |       <os>6</os> | ||||||
|       <os>7</os> |       <os>7</os> | ||||||
|       <os>8</os> |       <os>8</os> | ||||||
|  |       <os>9</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -135,6 +137,19 @@ | |||||||
|       <enabled>no</enabled> |       <enabled>no</enabled> | ||||||
|       <os>amazon-linux</os> |       <os>amazon-linux</os> | ||||||
|       <os>amazon-linux-2</os> |       <os>amazon-linux-2</os> | ||||||
|  |       <os>amazon-linux-2023</os> | ||||||
|  |       <update_interval>1h</update_interval> | ||||||
|  |     </provider> | ||||||
|  |  | ||||||
|  |     <!-- SUSE Linux Enterprise OS vulnerabilities --> | ||||||
|  |     <provider name="suse"> | ||||||
|  |       <enabled>no</enabled> | ||||||
|  |       <os>11-server</os> | ||||||
|  |       <os>11-desktop</os> | ||||||
|  |       <os>12-server</os> | ||||||
|  |       <os>12-desktop</os> | ||||||
|  |       <os>15-server</os> | ||||||
|  |       <os>15-desktop</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -150,10 +165,17 @@ | |||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
|  |     <!-- Alma Linux OS vulnerabilities --> | ||||||
|  |     <provider name="almalinux"> | ||||||
|  |       <enabled>no</enabled> | ||||||
|  |       <os>8</os> | ||||||
|  |       <os>9</os> | ||||||
|  |       <update_interval>1h</update_interval> | ||||||
|  |     </provider> | ||||||
|  |  | ||||||
|     <!-- Aggregate vulnerabilities --> |     <!-- Aggregate vulnerabilities --> | ||||||
|     <provider name="nvd"> |     <provider name="nvd"> | ||||||
|       <enabled>yes</enabled> |       <enabled>yes</enabled> | ||||||
|       <update_from_year>2010</update_from_year> |  | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -354,4 +376,4 @@ | |||||||
|     <location>/var/log/dpkg.log</location> |     <location>/var/log/dpkg.log</location> | ||||||
|   </localfile> |   </localfile> | ||||||
|  |  | ||||||
| </ossec_config> | </ossec_config> | ||||||
|   | |||||||
| @@ -108,15 +108,16 @@ | |||||||
|       <os>xenial</os> |       <os>xenial</os> | ||||||
|       <os>bionic</os> |       <os>bionic</os> | ||||||
|       <os>focal</os> |       <os>focal</os> | ||||||
|  |       <os>jammy</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
|     <!-- Debian OS vulnerabilities --> |     <!-- Debian OS vulnerabilities --> | ||||||
|     <provider name="debian"> |     <provider name="debian"> | ||||||
|       <enabled>no</enabled> |       <enabled>no</enabled> | ||||||
|       <os>stretch</os> |  | ||||||
|       <os>buster</os> |       <os>buster</os> | ||||||
|       <os>bullseye</os> |       <os>bullseye</os> | ||||||
|  |       <os>bookworm</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -127,6 +128,7 @@ | |||||||
|       <os>6</os> |       <os>6</os> | ||||||
|       <os>7</os> |       <os>7</os> | ||||||
|       <os>8</os> |       <os>8</os> | ||||||
|  |       <os>9</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -135,6 +137,19 @@ | |||||||
|       <enabled>no</enabled> |       <enabled>no</enabled> | ||||||
|       <os>amazon-linux</os> |       <os>amazon-linux</os> | ||||||
|       <os>amazon-linux-2</os> |       <os>amazon-linux-2</os> | ||||||
|  |       <os>amazon-linux-2023</os> | ||||||
|  |       <update_interval>1h</update_interval> | ||||||
|  |     </provider> | ||||||
|  |  | ||||||
|  |     <!-- SUSE Linux Enterprise OS vulnerabilities --> | ||||||
|  |     <provider name="suse"> | ||||||
|  |       <enabled>no</enabled> | ||||||
|  |       <os>11-server</os> | ||||||
|  |       <os>11-desktop</os> | ||||||
|  |       <os>12-server</os> | ||||||
|  |       <os>12-desktop</os> | ||||||
|  |       <os>15-server</os> | ||||||
|  |       <os>15-desktop</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -144,6 +159,14 @@ | |||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
|  |     <!-- Alma Linux OS vulnerabilities --> | ||||||
|  |     <provider name="almalinux"> | ||||||
|  |       <enabled>no</enabled> | ||||||
|  |       <os>8</os> | ||||||
|  |       <os>9</os> | ||||||
|  |       <update_interval>1h</update_interval> | ||||||
|  |     </provider> | ||||||
|  |  | ||||||
|     <!-- Windows OS vulnerabilities --> |     <!-- Windows OS vulnerabilities --> | ||||||
|     <provider name="msu"> |     <provider name="msu"> | ||||||
|       <enabled>yes</enabled> |       <enabled>yes</enabled> | ||||||
| @@ -153,7 +176,6 @@ | |||||||
|     <!-- Aggregate vulnerabilities --> |     <!-- Aggregate vulnerabilities --> | ||||||
|     <provider name="nvd"> |     <provider name="nvd"> | ||||||
|       <enabled>yes</enabled> |       <enabled>yes</enabled> | ||||||
|       <update_from_year>2010</update_from_year> |  | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -354,4 +376,4 @@ | |||||||
|     <location>/var/log/dpkg.log</location> |     <location>/var/log/dpkg.log</location> | ||||||
|   </localfile> |   </localfile> | ||||||
|  |  | ||||||
| </ossec_config> | </ossec_config> | ||||||
|   | |||||||
| @@ -3,9 +3,16 @@ version: '3.7' | |||||||
|  |  | ||||||
| services: | services: | ||||||
|   wazuh.master: |   wazuh.master: | ||||||
|     image: wazuh/wazuh-manager:4.3.10 |     image: wazuh/wazuh-manager:4.7.2 | ||||||
|     hostname: wazuh.master |     hostname: wazuh.master | ||||||
|     restart: always |     restart: always | ||||||
|  |     ulimits: | ||||||
|  |       memlock: | ||||||
|  |         soft: -1 | ||||||
|  |         hard: -1 | ||||||
|  |       nofile: | ||||||
|  |         soft: 655360 | ||||||
|  |         hard: 655360 | ||||||
|     ports: |     ports: | ||||||
|       - "1515:1515" |       - "1515:1515" | ||||||
|       - "514:514/udp" |       - "514:514/udp" | ||||||
| @@ -38,9 +45,16 @@ services: | |||||||
|       - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf |       - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf | ||||||
|  |  | ||||||
|   wazuh.worker: |   wazuh.worker: | ||||||
|     image: wazuh/wazuh-manager:4.3.10 |     image: wazuh/wazuh-manager:4.7.2 | ||||||
|     hostname: wazuh.worker |     hostname: wazuh.worker | ||||||
|     restart: always |     restart: always | ||||||
|  |     ulimits: | ||||||
|  |       memlock: | ||||||
|  |         soft: -1 | ||||||
|  |         hard: -1 | ||||||
|  |       nofile: | ||||||
|  |         soft: 655360 | ||||||
|  |         hard: 655360 | ||||||
|     environment: |     environment: | ||||||
|       - INDEXER_URL=https://wazuh1.indexer:9200 |       - INDEXER_URL=https://wazuh1.indexer:9200 | ||||||
|       - INDEXER_USERNAME=admin |       - INDEXER_USERNAME=admin | ||||||
| @@ -67,7 +81,7 @@ services: | |||||||
|       - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf |       - ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf | ||||||
|  |  | ||||||
|   wazuh1.indexer: |   wazuh1.indexer: | ||||||
|     image: wazuh/wazuh-indexer:4.3.10 |     image: wazuh/wazuh-indexer:4.7.2 | ||||||
|     hostname: wazuh1.indexer |     hostname: wazuh1.indexer | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -84,16 +98,16 @@ services: | |||||||
|         hard: 65536 |         hard: 65536 | ||||||
|     volumes: |     volumes: | ||||||
|       - wazuh-indexer-data-1:/var/lib/wazuh-indexer |       - wazuh-indexer-data-1:/var/lib/wazuh-indexer | ||||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem |       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh1.indexer.key |       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.key | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh1.indexer.pem |       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem |       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem |       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem | ||||||
|       - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml |       - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/internal_users.yml |       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||||
|  |  | ||||||
|   wazuh2.indexer: |   wazuh2.indexer: | ||||||
|     image: wazuh/wazuh-indexer:4.3.10 |     image: wazuh/wazuh-indexer:4.7.2 | ||||||
|     hostname: wazuh2.indexer |     hostname: wazuh2.indexer | ||||||
|     restart: always |     restart: always | ||||||
|     environment: |     environment: | ||||||
| @@ -108,14 +122,14 @@ services: | |||||||
|         hard: 65536 |         hard: 65536 | ||||||
|     volumes: |     volumes: | ||||||
|       - wazuh-indexer-data-2:/var/lib/wazuh-indexer |       - wazuh-indexer-data-2:/var/lib/wazuh-indexer | ||||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem |       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh2.indexer.key |       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.key | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh2.indexer.pem |       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.pem | ||||||
|       - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml |       - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/internal_users.yml |       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||||
|  |  | ||||||
|   wazuh3.indexer: |   wazuh3.indexer: | ||||||
|     image: wazuh/wazuh-indexer:4.3.10 |     image: wazuh/wazuh-indexer:4.7.2 | ||||||
|     hostname: wazuh3.indexer |     hostname: wazuh3.indexer | ||||||
|     restart: always |     restart: always | ||||||
|     environment: |     environment: | ||||||
| @@ -130,14 +144,14 @@ services: | |||||||
|         hard: 65536 |         hard: 65536 | ||||||
|     volumes: |     volumes: | ||||||
|       - wazuh-indexer-data-3:/var/lib/wazuh-indexer |       - wazuh-indexer-data-3:/var/lib/wazuh-indexer | ||||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem |       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh3.indexer.key |       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.key | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh3.indexer.pem |       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.pem | ||||||
|       - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml |       - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/internal_users.yml |       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||||
|  |  | ||||||
|   wazuh.dashboard: |   wazuh.dashboard: | ||||||
|     image: wazuh/wazuh-dashboard:4.3.10 |     image: wazuh/wazuh-dashboard:4.7.2 | ||||||
|     hostname: wazuh.dashboard |     hostname: wazuh.dashboard | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -147,12 +161,16 @@ services: | |||||||
|       - WAZUH_API_URL="https://wazuh.master" |       - WAZUH_API_URL="https://wazuh.master" | ||||||
|       - API_USERNAME=wazuh-wui |       - API_USERNAME=wazuh-wui | ||||||
|       - API_PASSWORD=MyS3cr37P450r.*- |       - API_PASSWORD=MyS3cr37P450r.*- | ||||||
|  |       - DASHBOARD_USERNAME=kibanaserver | ||||||
|  |       - DASHBOARD_PASSWORD=kibanaserver | ||||||
|     volumes: |     volumes: | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem |       - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem |       - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem |       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem | ||||||
|       - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml |       - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml | ||||||
|       - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml |       - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml | ||||||
|  |       - wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config | ||||||
|  |       - wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom | ||||||
|     depends_on: |     depends_on: | ||||||
|       - wazuh1.indexer |       - wazuh1.indexer | ||||||
|     links: |     links: | ||||||
| @@ -202,3 +220,5 @@ volumes: | |||||||
|   wazuh-indexer-data-1: |   wazuh-indexer-data-1: | ||||||
|   wazuh-indexer-data-2: |   wazuh-indexer-data-2: | ||||||
|   wazuh-indexer-data-3: |   wazuh-indexer-data-3: | ||||||
|  |   wazuh-dashboard-config: | ||||||
|  |   wazuh-dashboard-custom: | ||||||
|   | |||||||
| @@ -13,4 +13,4 @@ nodes: | |||||||
|   # Wazuh dashboard node |   # Wazuh dashboard node | ||||||
|   dashboard: |   dashboard: | ||||||
|     - name: wazuh.dashboard |     - name: wazuh.dashboard | ||||||
|       ip: wazuh.dashboard |       ip: wazuh.dashboard | ||||||
|   | |||||||
| @@ -108,15 +108,16 @@ | |||||||
|       <os>xenial</os> |       <os>xenial</os> | ||||||
|       <os>bionic</os> |       <os>bionic</os> | ||||||
|       <os>focal</os> |       <os>focal</os> | ||||||
|  |       <os>jammy</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
|     <!-- Debian OS vulnerabilities --> |     <!-- Debian OS vulnerabilities --> | ||||||
|     <provider name="debian"> |     <provider name="debian"> | ||||||
|       <enabled>no</enabled> |       <enabled>no</enabled> | ||||||
|       <os>stretch</os> |  | ||||||
|       <os>buster</os> |       <os>buster</os> | ||||||
|       <os>bullseye</os> |       <os>bullseye</os> | ||||||
|  |       <os>bookworm</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -127,6 +128,7 @@ | |||||||
|       <os>6</os> |       <os>6</os> | ||||||
|       <os>7</os> |       <os>7</os> | ||||||
|       <os>8</os> |       <os>8</os> | ||||||
|  |       <os>9</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -135,6 +137,19 @@ | |||||||
|       <enabled>no</enabled> |       <enabled>no</enabled> | ||||||
|       <os>amazon-linux</os> |       <os>amazon-linux</os> | ||||||
|       <os>amazon-linux-2</os> |       <os>amazon-linux-2</os> | ||||||
|  |       <os>amazon-linux-2023</os> | ||||||
|  |       <update_interval>1h</update_interval> | ||||||
|  |     </provider> | ||||||
|  |  | ||||||
|  |     <!-- SUSE Linux Enterprise OS vulnerabilities --> | ||||||
|  |     <provider name="suse"> | ||||||
|  |       <enabled>no</enabled> | ||||||
|  |       <os>11-server</os> | ||||||
|  |       <os>11-desktop</os> | ||||||
|  |       <os>12-server</os> | ||||||
|  |       <os>12-desktop</os> | ||||||
|  |       <os>15-server</os> | ||||||
|  |       <os>15-desktop</os> | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -144,6 +159,14 @@ | |||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
|  |     <!-- Alma Linux OS vulnerabilities --> | ||||||
|  |     <provider name="almalinux"> | ||||||
|  |       <enabled>no</enabled> | ||||||
|  |       <os>8</os> | ||||||
|  |       <os>9</os> | ||||||
|  |       <update_interval>1h</update_interval> | ||||||
|  |     </provider> | ||||||
|  |  | ||||||
|     <!-- Windows OS vulnerabilities --> |     <!-- Windows OS vulnerabilities --> | ||||||
|     <provider name="msu"> |     <provider name="msu"> | ||||||
|       <enabled>yes</enabled> |       <enabled>yes</enabled> | ||||||
| @@ -153,7 +176,6 @@ | |||||||
|     <!-- Aggregate vulnerabilities --> |     <!-- Aggregate vulnerabilities --> | ||||||
|     <provider name="nvd"> |     <provider name="nvd"> | ||||||
|       <enabled>yes</enabled> |       <enabled>yes</enabled> | ||||||
|       <update_from_year>2010</update_from_year> |  | ||||||
|       <update_interval>1h</update_interval> |       <update_interval>1h</update_interval> | ||||||
|     </provider> |     </provider> | ||||||
|  |  | ||||||
| @@ -331,11 +353,11 @@ | |||||||
|     <name>wazuh</name> |     <name>wazuh</name> | ||||||
|     <node_name>node01</node_name> |     <node_name>node01</node_name> | ||||||
|     <node_type>master</node_type> |     <node_type>master</node_type> | ||||||
|     <key></key> |     <key>aa093264ef885029653eea20dfcf51ae</key> | ||||||
|     <port>1516</port> |     <port>1516</port> | ||||||
|     <bind_addr>0.0.0.0</bind_addr> |     <bind_addr>0.0.0.0</bind_addr> | ||||||
|     <nodes> |     <nodes> | ||||||
|         <node>NODE_IP</node> |         <node>wazuh.manager</node> | ||||||
|     </nodes> |     </nodes> | ||||||
|     <hidden>no</hidden> |     <hidden>no</hidden> | ||||||
|     <disabled>yes</disabled> |     <disabled>yes</disabled> | ||||||
|   | |||||||
| @@ -3,13 +3,15 @@ node.name: "wazuh.indexer" | |||||||
| path.data: /var/lib/wazuh-indexer | path.data: /var/lib/wazuh-indexer | ||||||
| path.logs: /var/log/wazuh-indexer | path.logs: /var/log/wazuh-indexer | ||||||
| discovery.type: single-node | discovery.type: single-node | ||||||
|  | http.port: 9200-9299 | ||||||
|  | transport.tcp.port: 9300-9399 | ||||||
| compatibility.override_main_response_version: true | compatibility.override_main_response_version: true | ||||||
| plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.pem | plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem | ||||||
| plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.key | plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key | ||||||
| plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem | plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
| plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.pem | plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem | ||||||
| plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh.indexer.key | plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key | ||||||
| plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem | plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
| plugins.security.ssl.http.enabled: true | plugins.security.ssl.http.enabled: true | ||||||
| plugins.security.ssl.transport.enforce_hostname_verification: false | plugins.security.ssl.transport.enforce_hostname_verification: false | ||||||
| plugins.security.ssl.transport.resolve_hostname: false | plugins.security.ssl.transport.resolve_hostname: false | ||||||
|   | |||||||
| @@ -3,9 +3,16 @@ version: '3.7' | |||||||
|  |  | ||||||
| services: | services: | ||||||
|   wazuh.manager: |   wazuh.manager: | ||||||
|     image: wazuh/wazuh-manager:4.3.10 |     image: wazuh/wazuh-manager:4.7.2 | ||||||
|     hostname: wazuh.manager |     hostname: wazuh.manager | ||||||
|     restart: always |     restart: always | ||||||
|  |     ulimits: | ||||||
|  |       memlock: | ||||||
|  |         soft: -1 | ||||||
|  |         hard: -1 | ||||||
|  |       nofile: | ||||||
|  |         soft: 655360 | ||||||
|  |         hard: 655360 | ||||||
|     ports: |     ports: | ||||||
|       - "1514:1514" |       - "1514:1514" | ||||||
|       - "1515:1515" |       - "1515:1515" | ||||||
| @@ -39,7 +46,7 @@ services: | |||||||
|       - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf |       - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf | ||||||
|  |  | ||||||
|   wazuh.indexer: |   wazuh.indexer: | ||||||
|     image: wazuh/wazuh-indexer:4.3.10 |     image: wazuh/wazuh-indexer:4.7.2 | ||||||
|     hostname: wazuh.indexer |     hostname: wazuh.indexer | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -55,16 +62,16 @@ services: | |||||||
|         hard: 65536 |         hard: 65536 | ||||||
|     volumes: |     volumes: | ||||||
|       - wazuh-indexer-data:/var/lib/wazuh-indexer |       - wazuh-indexer-data:/var/lib/wazuh-indexer | ||||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem |       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.key |       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.key | ||||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem |       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem |       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem | ||||||
|       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem |       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem | ||||||
|       - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml |       - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/internal_users.yml |       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||||
|  |  | ||||||
|   wazuh.dashboard: |   wazuh.dashboard: | ||||||
|     image: wazuh/wazuh-dashboard:4.3.10 |     image: wazuh/wazuh-dashboard:4.7.2 | ||||||
|     hostname: wazuh.dashboard |     hostname: wazuh.dashboard | ||||||
|     restart: always |     restart: always | ||||||
|     ports: |     ports: | ||||||
| @@ -73,6 +80,8 @@ services: | |||||||
|       - INDEXER_USERNAME=admin |       - INDEXER_USERNAME=admin | ||||||
|       - INDEXER_PASSWORD=SecretPassword |       - INDEXER_PASSWORD=SecretPassword | ||||||
|       - WAZUH_API_URL=https://wazuh.manager |       - WAZUH_API_URL=https://wazuh.manager | ||||||
|  |       - DASHBOARD_USERNAME=kibanaserver | ||||||
|  |       - DASHBOARD_PASSWORD=kibanaserver | ||||||
|       - API_USERNAME=wazuh-wui |       - API_USERNAME=wazuh-wui | ||||||
|       - API_PASSWORD=MyS3cr37P450r.*- |       - API_PASSWORD=MyS3cr37P450r.*- | ||||||
|     volumes: |     volumes: | ||||||
| @@ -81,6 +90,8 @@ services: | |||||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem |       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem | ||||||
|       - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml |       - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml | ||||||
|       - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml |       - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml | ||||||
|  |       - wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config | ||||||
|  |       - wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom | ||||||
|     depends_on: |     depends_on: | ||||||
|       - wazuh.indexer |       - wazuh.indexer | ||||||
|     links: |     links: | ||||||
| @@ -100,3 +111,5 @@ volumes: | |||||||
|   filebeat_etc: |   filebeat_etc: | ||||||
|   filebeat_var: |   filebeat_var: | ||||||
|   wazuh-indexer-data: |   wazuh-indexer-data: | ||||||
|  |   wazuh-dashboard-config: | ||||||
|  |   wazuh-dashboard-custom: | ||||||
|   | |||||||
| @@ -7,4 +7,4 @@ services: | |||||||
|     hostname: wazuh-certs-generator |     hostname: wazuh-certs-generator | ||||||
|     volumes: |     volumes: | ||||||
|       - ./config/wazuh_indexer_ssl_certs/:/certificates/ |       - ./config/wazuh_indexer_ssl_certs/:/certificates/ | ||||||
|       - ./config/certs.yml:/config/certs.yml |       - ./config/certs.yml:/config/certs.yml | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user