mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-10-31 12:03:37 +00:00 
			
		
		
		
	Compare commits
	
		
			166 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 4710105faa | ||
|  | 913dd89e27 | ||
|  | fd5034c3d5 | ||
|  | eb49d515d8 | ||
|  | 8c6a0a9319 | ||
|  | cb8a69026f | ||
|  | 46829ed9ee | ||
|  | d654b17189 | ||
|  | d46c4ef5b2 | ||
|  | 34ebf7a859 | ||
|  | 3a605b3f6a | ||
|  | babaea694e | ||
|  | c893d86b4a | ||
|  | 9882a9ca6d | ||
|  | 355daccb69 | ||
|  | 184675bab5 | ||
|  | 2df9e3a942 | ||
|  | 152a5476f7 | ||
|  | 2fccb3f4c4 | ||
|  | afb044a3b0 | ||
|  | 4c7ee8abac | ||
|  | 17d61960d5 | ||
|  | efddce0e3e | ||
|  | b400409314 | ||
|  | 05fcfd5652 | ||
|  | 0e1fa7f1c0 | ||
|  | 77323aaaee | ||
|  | 7334111f1c | ||
|  | 53a5d1a7e4 | ||
|  | 93812b3d07 | ||
|  | cb6fa28bbc | ||
|  | 782d2cfa67 | ||
|  | 84e13a51c1 | ||
|  | 3835b4c6db | ||
|  | 652a7cfe9a | ||
|  | c910773076 | ||
|  | 901f29b68f | ||
|  | 2d56895f47 | ||
|  | ccab3b6d7e | ||
|  | 44a7f8cedc | ||
|  | 57c6ac12d0 | ||
|  | 2b0575b1f9 | ||
|  | ecf80f9122 | ||
|  | e22d4a9d40 | ||
|  | 3186bc7711 | ||
|  | a5f0113c75 | ||
|  | d4371324c9 | ||
|  | 9eb188fc88 | ||
|  | 8f5aa86dff | ||
|  | e6f077bb1f | ||
|  | 35af57be29 | ||
|  | ed92382ff1 | ||
|  | 9529953842 | ||
|  | 9c58a48684 | ||
|  | a42a354c68 | ||
|  | 7a3dce5014 | ||
|  | 2d39e6a06b | ||
|  | 927fcfc3b8 | ||
|  | 58f5dadef6 | ||
|  | 87be7e6b36 | ||
|  | 180236e269 | ||
|  | 1d03c17d60 | ||
|  | ee087c7ebf | ||
|  | 75e3eb0b7e | ||
|  | 0163675682 | ||
|  | 6ef7e3acaf | ||
|  | a9c6beaecd | ||
|  | cccb4da130 | ||
|  | 434f99b182 | ||
|  | ac64909b22 | ||
|  | 63eec35a3c | ||
|  | ac126173e3 | ||
|  | 5054f26b99 | ||
|  | 3cf3c541d0 | ||
|  | 6269a55c9d | ||
|  | 8943e9ad77 | ||
|  | 649a312d3a | ||
|  | 9634a2b4af | ||
|  | 2dd0f3b7d2 | ||
|  | 7bc245ef66 | ||
|  | e0f6ab5dda | ||
|  | a990518208 | ||
|  | 9b916b1ce8 | ||
|  | 75e09fcc19 | ||
|  | 3748d61d5f | ||
|  | b2420a5946 | ||
|  | 7dc5f82bac | ||
|  | 2fdc514bb0 | ||
|  | 4ff7c4f5b0 | ||
|  | 7a7443b717 | ||
|  | 4ce722291b | ||
|  | ffe384be91 | ||
|  | 963ccf7671 | ||
|  | 55f4de8f06 | ||
|  | e4ce58c0c9 | ||
|  | ebe230fccb | ||
|  | bcb46d0926 | ||
|  | a136444ee9 | ||
|  | 0989e11d43 | ||
|  | 6c87ecf7f0 | ||
|  | 555a0e2590 | ||
|  | 54fe999414 | ||
|  | c027b3efba | ||
|  | 7bc871bde9 | ||
|  | 43d8f2b29d | ||
|  | bc4d15d1c2 | ||
|  | ee599583eb | ||
|  | 14caf8058d | ||
|  | b86ea0d6bc | ||
|  | d122b702f1 | ||
|  | fde6c509d7 | ||
|  | fb5b4488de | ||
|  | 8d0f306801 | ||
|  | 831d759cd9 | ||
|  | 2811883877 | ||
|  | 82a967c0df | ||
|  | 29190cce99 | ||
|  | beef440c3a | ||
|  | 3243306b07 | ||
|  | 81208b9abe | ||
|  | f53f1930aa | ||
|  | 85709013bc | ||
|  | c94263eacd | ||
|  | 5d5fe18d82 | ||
|  | 339500631d | ||
|  | 1057715f3d | ||
|  | 6f94d5aa65 | ||
|  | 846ae52263 | ||
|  | c129cd9835 | ||
|  | a1afcd2c40 | ||
|  | 76e3c62b9a | ||
|  | 5a1daaf4ce | ||
|  | 0222bcc9f8 | ||
|  | 23e8982c45 | ||
|  | cb6c3de364 | ||
|  | 89184e77ab | ||
|  | 191ef58a9b | ||
|  | ac7121e411 | ||
|  | 1146acb3a4 | ||
|  | a8582fdd4b | ||
|  | 7a13fa72b3 | ||
|  | dc74728c42 | ||
|  | 7fdcb0a320 | ||
|  | 5c99764d2c | ||
|  | 28f7be1f7d | ||
|  | 2d2d3ec7ca | ||
|  | 9cc135d05b | ||
|  | 60e43e2737 | ||
|  | 92bbd3395f | ||
|  | 49594251a6 | ||
|  | 8cb8437d7f | ||
|  | 5bbce9e403 | ||
|  | 8306a49967 | ||
|  | 1ae575d56f | ||
|  | fb65400657 | ||
|  | 283ca123e3 | ||
|  | 16202f2f21 | ||
|  | b99d946282 | ||
|  | a809b4b60b | ||
|  | a5eab952aa | ||
|  | 78948b164a | ||
|  | de11f97bf0 | ||
|  | f7cbdd4884 | ||
|  | 184802c3b9 | ||
|  | a5d961040a | ||
|  | bca60dd0b6 | 
							
								
								
									
										8
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								.env
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| WAZUH_VERSION=5.0.0 | ||||
| WAZUH_IMAGE_VERSION=5.0.0 | ||||
| WAZUH_VERSION=main | ||||
| WAZUH_IMAGE_VERSION=main | ||||
| WAZUH_TAG_REVISION=1 | ||||
| FILEBEAT_TEMPLATE_BRANCH=5.0.0 | ||||
| WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz | ||||
| WAZUH_UI_REVISION=1 | ||||
| WAZUH_REGISTRY=docker.io | ||||
| IMAGE_TAG=main | ||||
|   | ||||
							
								
								
									
										125
									
								
								.github/workflows/Procedure_push_docker_images.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										125
									
								
								.github/workflows/Procedure_push_docker_images.yml
									
									
									
									
										vendored
									
									
								
							| @@ -11,23 +11,14 @@ on: | ||||
|       docker_reference: | ||||
|         description: 'wazuh-docker reference' | ||||
|         required: true | ||||
|       products: | ||||
|         description: 'Comma-separated list of the image names to build and push' | ||||
|         default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent' | ||||
|         required: true | ||||
|       filebeat_module_version: | ||||
|         description: 'Filebeat module version' | ||||
|         default: '0.4' | ||||
|         required: true | ||||
|       revision: | ||||
|         description: 'Package revision' | ||||
|         default: '1' | ||||
|         required: true | ||||
|       push_images: | ||||
|         description: 'Push images' | ||||
|         type: boolean | ||||
|         default: true | ||||
|         required: true | ||||
|       reference: | ||||
|         description: 'Dev reference' | ||||
|         type: string | ||||
|         default: latest  | ||||
|       id: | ||||
|         description: "ID used to identify the workflow uniquely." | ||||
|         type: string | ||||
| @@ -48,26 +39,15 @@ on: | ||||
|         description: 'wazuh-docker reference' | ||||
|         required: false | ||||
|         type: string | ||||
|       products: | ||||
|         description: 'Comma-separated list of the image names to build and push' | ||||
|         default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent' | ||||
|         required: true | ||||
|         type: string | ||||
|       filebeat_module_version: | ||||
|         description: 'Filebeat module version' | ||||
|         default: '0.4' | ||||
|         required: true | ||||
|         type: string | ||||
|       revision: | ||||
|         description: 'Package revision' | ||||
|         default: '1' | ||||
|         required: true | ||||
|         type: string | ||||
|       push_images: | ||||
|         description: 'Push images' | ||||
|         type: boolean | ||||
|         default: true | ||||
|         required: true | ||||
|       reference: | ||||
|         description: 'Dev reference' | ||||
|         type: string | ||||
|         default: latest  | ||||
|       id: | ||||
|         description: "ID used to identify the workflow uniquely." | ||||
|         type: string | ||||
| @@ -82,6 +62,15 @@ jobs: | ||||
|   build-and-push: | ||||
|     runs-on: ubuntu-22.04 | ||||
|  | ||||
|     permissions: | ||||
|       id-token: write | ||||
|       contents: read | ||||
|  | ||||
|     env: | ||||
|       IMAGE_REGISTRY: ${{ inputs.dev && vars.IMAGE_REGISTRY_DEV || vars.IMAGE_REGISTRY_PROD }} | ||||
|       IMAGE_TAG: ${{ inputs.image_tag }} | ||||
|       REVISION: ${{ inputs.revision }} | ||||
|  | ||||
|     steps: | ||||
|     - name: Print inputs | ||||
|       run: | | ||||
| @@ -96,11 +85,10 @@ jobs: | ||||
|         echo "* id: ${{ inputs.id }}" | ||||
|         echo "* image_tag: ${{ inputs.image_tag }}" | ||||
|         echo "* docker_reference: ${{ inputs.docker_reference }}" | ||||
|         echo "* products: ${{ inputs.products }}" | ||||
|         echo "* filebeat_module_version: ${{ inputs.filebeat_module_version }}" | ||||
|         echo "* revision: ${{ inputs.revision }}" | ||||
|         echo "* push_images: ${{ inputs.push_images }}" | ||||
|         echo "* dev: ${{ inputs.dev }}" | ||||
|         echo "* dev reference: ${{ inputs.reference }}" | ||||
|         echo "---------------------------------------------" | ||||
|  | ||||
|     - name: Checkout repository | ||||
| @@ -108,18 +96,65 @@ jobs: | ||||
|       with: | ||||
|         ref: ${{ inputs.docker_reference }} | ||||
|  | ||||
|     - name: free disk space | ||||
|       uses: ./.github/free-disk-space | ||||
|      | ||||
|     - name: Set up QEMU | ||||
|       uses: docker/setup-qemu-action@v3 | ||||
|  | ||||
|     - name: Set up Docker Buildx | ||||
|       uses: docker/setup-buildx-action@v3 | ||||
|  | ||||
|     - name: Configure aws credentials | ||||
|       if: ${{ inputs.dev == true }} | ||||
|       uses: aws-actions/configure-aws-credentials@v4 | ||||
|       with: | ||||
|         role-to-assume: ${{ secrets.AWS_IAM_DOCKER_ROLE }} | ||||
|         aws-region: "${{ secrets.AWS_REGION }}" | ||||
|  | ||||
|     - name: Log in to Amazon ECR | ||||
|       if: ${{ inputs.dev == true }} | ||||
|       uses: aws-actions/amazon-ecr-login@v2 | ||||
|  | ||||
|     - name: Log in to Docker Hub | ||||
|       if: ${{ inputs.dev == false }} | ||||
|       uses: docker/login-action@v3 | ||||
|       with: | ||||
|         username: ${{ secrets.DOCKERHUB_USERNAME }} | ||||
|         password: ${{ secrets.DOCKERHUB_PASSWORD }} | ||||
|  | ||||
|     - name: Create packages_url.txt file | ||||
|       if : ${{ inputs.dev == true }} | ||||
|       run: | | ||||
|           cat << EOF > packages_url.txt | ||||
|           wazuh_manager_url_amd64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-manager_5.0.0-${{ inputs.reference }}_amd64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_manager_url_arm64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-manager_5.0.0-${{ inputs.reference }}_arm64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_manager_url_x86_64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-manager-5.0.0-${{ inputs.reference }}.x86_64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_manager_url_aarch64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-manager-5.0.0-${{ inputs.reference }}.aarch64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_indexer_url_amd64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-indexer_5.0.0-${{ inputs.reference }}_amd64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_indexer_url_arm64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-indexer_5.0.0-${{ inputs.reference }}_arm64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_indexer_url_x86_64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-indexer-5.0.0-${{ inputs.reference }}.x86_64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_indexer_url_aarch64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-indexer-5.0.0-${{ inputs.reference }}.aarch64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_dashboard_url_amd64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-dashboard_5.0.0-${{ inputs.reference }}_amd64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_dashboard_url_arm64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-dashboard_5.0.0-${{ inputs.reference }}_arm64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_dashboard_url_x86_64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-dashboard-5.0.0-${{ inputs.reference }}.x86_64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_dashboard_url_aarch64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-dashboard-5.0.0-${{ inputs.reference }}.aarch64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_amd64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent_5.0.0-${{ inputs.reference }}_amd64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_arm64_deb: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent_5.0.0-${{ inputs.reference }}_arm64.deb --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_x86_64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent-5.0.0-${{ inputs.reference }}.x86_64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_aarch64_rpm: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent-5.0.0-${{ inputs.reference }}.aarch64.rpm --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_i386_msi: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent-5.0.0-${{ inputs.reference }}.i386.msi --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_intel64_pkg: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent-5.0.0-${{ inputs.reference }}.intel64.pkg --expires-in 3600 --region us-west-1)" | ||||
|           wazuh_agent_url_arm64_pkg: "$(aws s3 presign s3://${{ vars.AWS_S3_BUCKET_DEV }}/development/wazuh/5.x/main/packages/wazuh-agent-5.0.0-${{ inputs.reference }}.arm64.pkg --expires-in 3600 --region us-west-1)" | ||||
|           EOF | ||||
|       working-directory: ./build-docker-images | ||||
|  | ||||
|     - name: Build Wazuh images | ||||
|       run: | | ||||
|         IMAGE_TAG=${{ inputs.image_tag }} | ||||
|         FILEBEAT_MODULE_VERSION=${{ inputs.filebeat_module_version }} | ||||
|         REVISION=${{ inputs.revision }} | ||||
|  | ||||
|         if [ "${{ inputs.dev }}" = true ]; then | ||||
|           IMAGE_TAG="${{ inputs.image_tag }}-${{ inputs.reference }}" | ||||
|           ./build-images.sh -v ${{ inputs.image_tag }} -r $REVISION -d "dev" -rg $IMAGE_REGISTRY -m -ref ${{ inputs.reference }} | ||||
|         else   | ||||
|           if [[ "$IMAGE_TAG" == *"-"* ]]; then | ||||
|             IFS='-' read -r -a tokens <<< "$IMAGE_TAG" | ||||
|             if [ -z "${tokens[1]}" ]; then | ||||
| @@ -128,13 +163,13 @@ jobs: | ||||
|             fi | ||||
|             DEV_STAGE=${tokens[1]} | ||||
|             WAZUH_VER=${tokens[0]} | ||||
|           ./build-docker-images/build-images.sh -v $WAZUH_VER -r $REVISION -d $DEV_STAGE -f $FILEBEAT_MODULE_VERSION | ||||
|             ./build-images.sh -v $WAZUH_VER -r $REVISION -d $DEV_STAGE -rg $IMAGE_REGISTRY -m | ||||
|           else | ||||
|           ./build-docker-images/build-images.sh -v $IMAGE_TAG -r $REVISION -f $FILEBEAT_MODULE_VERSION | ||||
|             ./build-images.sh -v $IMAGE_TAG -r $REVISION -rg $IMAGE_REGISTRY -m | ||||
|           fi | ||||
|         fi | ||||
|  | ||||
|         # Save .env file (generated by build-images.sh) contents to $GITHUB_ENV | ||||
|         ENV_FILE_PATH=".env" | ||||
|         ENV_FILE_PATH="../.env" | ||||
|  | ||||
|         if [ -f $ENV_FILE_PATH ]; then | ||||
|           while IFS= read -r line || [ -n "$line" ]; do | ||||
| @@ -144,16 +179,4 @@ jobs: | ||||
|           echo "The environment file $ENV_FILE_PATH does not exist!" | ||||
|           exit 1 | ||||
|         fi | ||||
|  | ||||
|     - name: Tag and Push Wazuh images | ||||
|       if: ${{ inputs.push_images }} | ||||
|       run: | | ||||
|         IMAGE_TAG="${{ inputs.image_tag }}$( [ "${{ inputs.dev }}" == "true" ] && echo '-dev' || true )" | ||||
|         IMAGE_NAMES=${{ inputs.products }} | ||||
|         IFS=',' read -r -a images <<< "$IMAGE_NAMES" | ||||
|         for image in "${images[@]}"; do | ||||
|           echo "Tagging and pushing wazuh/$image:${WAZUH_VERSION} to wazuh/$image:$IMAGE_TAG" | ||||
|           docker tag wazuh/$image:${WAZUH_VERSION} wazuh/$image:$IMAGE_TAG | ||||
|           echo "Pushing wazuh/$image:$IMAGE_TAG ..." | ||||
|           docker push wazuh/$image:$IMAGE_TAG | ||||
|         done | ||||
|       working-directory: ./build-docker-images | ||||
|   | ||||
							
								
								
									
										4
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							| @@ -192,7 +192,7 @@ jobs: | ||||
|       run: sed -i "s/<WAZUH_MANAGER_IP>/$(ip addr show docker0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)/g" wazuh-agent/docker-compose.yml | ||||
|  | ||||
|     - name: Start Wazuh agent | ||||
|       run: docker-compose -f wazuh-agent/docker-compose.yml up -d | ||||
|       run: docker compose -f wazuh-agent/docker-compose.yml up -d | ||||
|  | ||||
|     - name: Check Wazuh agent enrollment | ||||
|       run: | | ||||
| @@ -355,7 +355,7 @@ jobs: | ||||
|       run: sed -i "s/<WAZUH_MANAGER_IP>/$(ip addr show docker0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)/g" wazuh-agent/docker-compose.yml | ||||
|  | ||||
|     - name: Start Wazuh agent | ||||
|       run: docker-compose -f wazuh-agent/docker-compose.yml up -d | ||||
|       run: docker compose -f wazuh-agent/docker-compose.yml up -d | ||||
|  | ||||
|     - name: Check Wazuh agent enrollment | ||||
|       run: | | ||||
|   | ||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -3,3 +3,5 @@ single-node/config/wazuh_indexer_ssl_certs/*.key | ||||
| multi-node/config/wazuh_indexer_ssl_certs/*.pem | ||||
| multi-node/config/wazuh_indexer_ssl_certs/*.key | ||||
| *.log | ||||
| build-docker-images/packages_env.txt | ||||
| build-docker-images/packages_url.txt | ||||
							
								
								
									
										37
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -9,8 +9,29 @@ All notable changes to this project will be documented in this file. | ||||
|  | ||||
| ### Changed | ||||
|  | ||||
| - Modify Wazuh components install method ([#2058](https://github.com/wazuh/wazuh-puppet/issues/2058)) | ||||
| - Image builder Workflow Rebuild ([#2054](https://github.com/wazuh/wazuh-puppet/issues/2054)) | ||||
| - Wazuh server clean-up ([#2030](https://github.com/wazuh/wazuh-puppet/issues/2030)) | ||||
| - Fix OpenSearch deprecated settings ([#1366](https://github.com/wazuh/wazuh-puppet/issues/1366)) | ||||
|  | ||||
| ### Fixed | ||||
|  | ||||
| - None | ||||
|  | ||||
| ### Deleted | ||||
|  | ||||
| - None | ||||
|  | ||||
| ## [4.14.1] | ||||
|  | ||||
| ### Added | ||||
|  | ||||
| - None | ||||
|  | ||||
| ### Changed | ||||
|  | ||||
| - Wazuh cert tool generator improvements ([#2027](https://github.com/wazuh/wazuh-docker/pull/2027)) | ||||
|  | ||||
| ### Fixed | ||||
|  | ||||
| - None | ||||
| @@ -27,11 +48,19 @@ All notable changes to this project will be documented in this file. | ||||
|  | ||||
| ### Changed | ||||
|  | ||||
| - Change filebeat install method ([#2020](https://github.com/wazuh/wazuh-docker/pull/2020)) | ||||
| - Remove dashboard chat setting ([#2021](https://github.com/wazuh/wazuh-docker/pull/2021)) | ||||
| - Rollback data source setting ([#1999](https://github.com/wazuh/wazuh-docker/pull/1999)) | ||||
| - Dashboard settings added ([#1998](https://github.com/wazuh/wazuh-docker/pull/1998)) | ||||
| - Add filebeat config file in the PERMANENT_DATA_EXCP list ([#1898](https://github.com/wazuh/wazuh-docker/pull/1898)) | ||||
| - Change validation of existing certs tool in S3 buckets ([#1880](https://github.com/wazuh/wazuh-docker/pull/1880)) | ||||
|  | ||||
| ### Fixed | ||||
|  | ||||
| - None | ||||
| - Change Wazuh indexer directory owner ([#2029](https://github.com/wazuh/wazuh-docker/pull/2029)) | ||||
| - Double the amount of space consumed in Wazuh Indexer ([#1953](https://github.com/wazuh/wazuh-docker/pull/1953)) | ||||
| - Fix config directory for opensearch_security plugin work ([#1951](https://github.com/wazuh/wazuh-docker/pull/1951)) | ||||
| - Update Dockerfile to copy opensearch-security files ([#1928](https://github.com/wazuh/wazuh-docker/pull/1928)) | ||||
|  | ||||
| ### Deleted | ||||
|  | ||||
| @@ -59,6 +88,9 @@ All notable changes to this project will be documented in this file. | ||||
|  | ||||
| ### Added | ||||
|  | ||||
| - Add opensearch_dashboard.yml parameters. ([#1985](https://github.com/wazuh/wazuh-docker/pull/1985)) | ||||
| - Set right ownership for malicious-ioc files on container start ([#1926](https://github.com/wazuh/wazuh-docker/pull/1926)) | ||||
| - Delete services statement in wazuh agent deployment. ([#1925](https://github.com/wazuh/wazuh-docker/pull/1925)) | ||||
| - Add permanent_data exceptions. ([#1890](https://github.com/wazuh/wazuh-docker/pull/1890)) | ||||
| - Integrate bumper script via GitHub action. ([#1863](https://github.com/wazuh/wazuh-docker/pull/1863)) | ||||
| - Add missing malicious-ioc ruleset lists ([#1870](https://github.com/wazuh/wazuh-docker/pull/1870)) | ||||
| @@ -70,11 +102,12 @@ All notable changes to this project will be documented in this file. | ||||
|  | ||||
| ### Changed | ||||
|  | ||||
| - Syscollector configuration change ([#1994](https://github.com/wazuh/wazuh-docker/pull/1994)) | ||||
| - Modify wazuh-keystore use ([#1750](https://github.com/wazuh/wazuh-docker/pull/1750)) \- (wazuh-keystore) | ||||
|  | ||||
| ### Fixed | ||||
|  | ||||
| - None | ||||
| - Add wazuh-template.json into permanent data exception ([#1968](https://github.com/wazuh/wazuh-docker/pull/1968)) | ||||
|  | ||||
| ### Deleted | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,10 @@ | ||||
| WAZUH_IMAGE_VERSION=5.0.0 | ||||
| WAZUH_IMAGE_VERSION=main | ||||
| IMAGE_TAG=main | ||||
| WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g') | ||||
| WAZUH_TAG_REVISION=1 | ||||
| WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g') | ||||
| IMAGE_VERSION=${WAZUH_IMAGE_VERSION} | ||||
| WAZUH_REGISTRY=docker.io | ||||
|  | ||||
| # Wazuh package generator | ||||
| # Copyright (C) 2023, Wazuh Inc. | ||||
| @@ -12,10 +14,10 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION} | ||||
| # License (version 2) as published by the FSF - Free Software | ||||
| # Foundation. | ||||
|  | ||||
| WAZUH_IMAGE_VERSION="5.0.0" | ||||
| WAZUH_IMAGE_VERSION="main" | ||||
| WAZUH_TAG_REVISION="1" | ||||
| WAZUH_DEV_STAGE="" | ||||
| FILEBEAT_MODULE_VERSION="0.4" | ||||
| WAZUH_TAG_REFERENCE="" | ||||
|  | ||||
| # ----------------------------------------------------------------------------- | ||||
|  | ||||
| @@ -37,36 +39,44 @@ ctrl_c() { | ||||
| 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_MINOR_VERSION="${WAZUH_IMAGE_VERSION%.*}" | ||||
|     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 | ||||
|     # Variables | ||||
|     FILE="packages_url.txt" | ||||
|  | ||||
|     if [[ -f "$FILE" ]]; then | ||||
|         echo "$FILE exists. Using existing file." | ||||
|     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}" | ||||
|         TAG="v${WAZUH_VERSION}" | ||||
|         REPO="wazuh/wazuh-docker" | ||||
|         GH_URL="https://api.github.com/repos/${REPO}/git/refs/tags/${TAG}" | ||||
|  | ||||
|         if curl -fsSL "$GH_URL" >/dev/null 2>&1; then | ||||
|             curl -fsSL -o "$FILE" "https://packages.wazuh.com/${WAZUH_MINOR_VERSION}/packages_url.txt" | ||||
|         else | ||||
|             echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}" | ||||
|             clean 1 | ||||
|             curl -fsSL -o "$FILE" "https://packages-dev.wazuh.com/${WAZUH_MINOR_VERSION}/packages_url.txt" | ||||
|         fi | ||||
|     fi | ||||
|     awk -F':' '{name=$1; val=substr($0,length(name)+3); gsub(/[-.]/,"_",name); print name "=" val}' $FILE > packages_env.txt | ||||
|      | ||||
|     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 | ||||
|     echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > ../.env | ||||
|     echo WAZUH_IMAGE_VERSION=$WAZUH_IMAGE_VERSION >> ../.env | ||||
|     echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> ../.env | ||||
|     echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> ../.env | ||||
|     echo WAZUH_REGISTRY=$WAZUH_REGISTRY >> ../.env | ||||
|     echo IMAGE_TAG=$IMAGE_TAG >> ../.env | ||||
|  | ||||
|     docker compose -f build-docker-images/build-images.yml --env-file .env build --no-cache || clean 1 | ||||
|     set -a | ||||
|     source ../.env | ||||
|     source ./packages_env.txt | ||||
|     set +a | ||||
|  | ||||
|     if  [ "${MULTIARCH}" ];then | ||||
|         docker buildx bake --file build-images.yml --push --set *.platform=linux/amd64,linux/arm64 --no-cache|| clean 1 | ||||
|     else | ||||
|         docker buildx bake --file build-images.yml --no-cache|| clean 1 | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| @@ -76,10 +86,12 @@ 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 "    -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc2 or beta1, not used by default." | ||||
|     echo "    -r, --revision <rev>         [Optional] Package revision. By default ${WAZUH_TAG_REVISION}" | ||||
|     echo "    -ref, --reference <ref>      [Optional] Set the Wazuh reference to build development images. By default, the latest stable release." | ||||
|     echo "    -rg, --registry <reg>        [Optional] Set the Docker registry to push the images." | ||||
|     echo "    -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, ${WAZUH_IMAGE_VERSION}." | ||||
|     echo "    -m, --multiarch              [Optional] Enable multi-architecture builds." | ||||
|     echo "    -h, --help                   Show this help." | ||||
|     echo | ||||
|     exit $1 | ||||
| @@ -102,17 +114,29 @@ main() { | ||||
|                 help 1 | ||||
|             fi | ||||
|             ;; | ||||
|         "-f"|"--filebeat-module") | ||||
|         "-m"|"--multiarch") | ||||
|             MULTIARCH="true" | ||||
|                 shift | ||||
|             ;; | ||||
|         "-r"|"--revision") | ||||
|             if [ -n "${2}" ]; then | ||||
|                 FILEBEAT_MODULE_VERSION="${2}" | ||||
|                 WAZUH_TAG_REVISION="${2}" | ||||
|                 shift 2 | ||||
|             else | ||||
|                 help 1 | ||||
|             fi | ||||
|             ;; | ||||
|         "-r"|"--revision") | ||||
|         "-ref"|"--reference") | ||||
|             if [ -n "${2}" ]; then | ||||
|                 WAZUH_TAG_REVISION="${2}" | ||||
|                 WAZUH_TAG_REFERENCE="${2}" | ||||
|                 shift 2 | ||||
|             else | ||||
|                 help 1 | ||||
|             fi | ||||
|             ;; | ||||
|         "-rg"|"--registry") | ||||
|             if [ -n "${2}" ]; then | ||||
|                 WAZUH_REGISTRY="${2}" | ||||
|                 shift 2 | ||||
|             else | ||||
|                 help 1 | ||||
|   | ||||
| @@ -6,9 +6,9 @@ services: | ||||
|       args: | ||||
|         WAZUH_VERSION: ${WAZUH_VERSION} | ||||
|         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} | ||||
|         wazuh_manager_url_amd64_rpm: ${wazuh_manager_url_x86_64_rpm} | ||||
|         wazuh_manager_url_arm64_rpm: ${wazuh_manager_url_aarch64_rpm} | ||||
|     image: ${WAZUH_REGISTRY}/wazuh/wazuh-manager:${IMAGE_TAG} | ||||
|     hostname: wazuh.manager | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -20,19 +20,14 @@ services: | ||||
|       - INDEXER_URL=https://wazuh.indexer:9200 | ||||
|       - INDEXER_USERNAME=admin | ||||
|       - INDEXER_PASSWORD=admin | ||||
|       - FILEBEAT_SSL_VERIFICATION_MODE=none | ||||
|     volumes: | ||||
|       - wazuh_api_configuration:/var/ossec/api/configuration | ||||
|       - wazuh_etc:/var/ossec/etc | ||||
|       - wazuh_logs:/var/ossec/logs | ||||
|       - wazuh_queue:/var/ossec/queue | ||||
|       - wazuh_var_multigroups:/var/ossec/var/multigroups | ||||
|       - wazuh_integrations:/var/ossec/integrations | ||||
|       - wazuh_active_response:/var/ossec/active-response/bin | ||||
|       - wazuh_agentless:/var/ossec/agentless | ||||
|       - wazuh_wodles:/var/ossec/wodles | ||||
|       - filebeat_etc:/etc/filebeat | ||||
|       - filebeat_var:/var/lib/filebeat | ||||
|  | ||||
|   wazuh.agent: | ||||
|     build: | ||||
| @@ -40,7 +35,9 @@ services: | ||||
|       args: | ||||
|         WAZUH_VERSION: ${WAZUH_VERSION} | ||||
|         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} | ||||
|     image: wazuh/wazuh-agent:${WAZUH_IMAGE_VERSION} | ||||
|         wazuh_agent_url_amd64_rpm: ${wazuh_agent_url_x86_64_rpm} | ||||
|         wazuh_agent_url_arm64_rpm: ${wazuh_agent_url_aarch64_rpm} | ||||
|     image: ${WAZUH_REGISTRY}/wazuh/wazuh-agent:${IMAGE_TAG} | ||||
|     hostname: wazuh.agent | ||||
|     restart: always | ||||
|  | ||||
| @@ -50,7 +47,9 @@ services: | ||||
|       args: | ||||
|         WAZUH_VERSION: ${WAZUH_VERSION} | ||||
|         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} | ||||
|     image: wazuh/wazuh-indexer:${WAZUH_IMAGE_VERSION} | ||||
|         wazuh_indexer_url_amd64_rpm: ${wazuh_indexer_url_x86_64_rpm} | ||||
|         wazuh_indexer_url_arm64_rpm: ${wazuh_indexer_url_aarch64_rpm} | ||||
|     image: ${WAZUH_REGISTRY}/wazuh/wazuh-indexer:${IMAGE_TAG} | ||||
|     hostname: wazuh.indexer | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -72,7 +71,9 @@ services: | ||||
|         WAZUH_VERSION: ${WAZUH_VERSION} | ||||
|         WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION} | ||||
|         WAZUH_UI_REVISION: ${WAZUH_UI_REVISION} | ||||
|     image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION} | ||||
|         wazuh_dashboard_url_amd64_rpm: ${wazuh_dashboard_url_x86_64_rpm} | ||||
|         wazuh_dashboard_url_arm64_rpm: ${wazuh_dashboard_url_aarch64_rpm} | ||||
|     image: ${WAZUH_REGISTRY}/wazuh/wazuh-dashboard:${IMAGE_TAG} | ||||
|     hostname: wazuh.dashboard | ||||
|     restart: always | ||||
|     ports: | ||||
| @@ -94,9 +95,6 @@ volumes: | ||||
|   wazuh_logs: | ||||
|   wazuh_queue: | ||||
|   wazuh_var_multigroups: | ||||
|   wazuh_integrations: | ||||
|   wazuh_active_response: | ||||
|   wazuh_agentless: | ||||
|   wazuh_wodles: | ||||
|   filebeat_etc: | ||||
|   filebeat_var: | ||||
|  | ||||
|   | ||||
| @@ -10,18 +10,17 @@ ARG WAZUH_MANAGER='CHANGE_MANAGER_IP' | ||||
| ARG WAZUH_MANAGER_PORT='CHANGE_MANAGER_PORT' | ||||
| ARG WAZUH_REGISTRATION_SERVER='CHANGE_ENROLL_IP' | ||||
| ARG WAZUH_REGISTRATION_PORT='CHANGE_ENROLL_PORT' | ||||
| ARG WAZUH_AGENT_NAME='CHANGEE_AGENT_NAME' | ||||
| ARG WAZUH_AGENT_NAME='CHANGE_AGENT_NAME' | ||||
| ARG TARGETARCH | ||||
| ARG wazuh_agent_url_amd64_rpm | ||||
| ARG wazuh_agent_url_arm64_rpm | ||||
|  | ||||
| COPY config/check_repository.sh / | ||||
|  | ||||
| RUN yum install curl-minimal tar gzip procps -y &&\ | ||||
|     yum clean all | ||||
|  | ||||
| RUN chmod 775 /check_repository.sh | ||||
| RUN source /check_repository.sh | ||||
|  | ||||
| RUN yum install wazuh-agent-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \ | ||||
|     yum clean all && \ | ||||
| RUN URL_VAR="wazuh_agent_url_${TARGETARCH}_rpm" && \ | ||||
|     agent_url="${!URL_VAR}" && \ | ||||
|     dnf install curl-minimal tar gzip procps -y &&\ | ||||
|     curl -o /wazuh-agent.rpm "${agent_url}" && \ | ||||
|     dnf install /wazuh-agent.rpm -y && \ | ||||
|     dnf clean all && \ | ||||
|     sed -i '/<authorization_pass_path>/d' /var/ossec/etc/ossec.conf && \ | ||||
|     curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \ | ||||
|     -o /tmp/s6-overlay-amd64.tar.gz && \ | ||||
| @@ -31,6 +30,4 @@ RUN yum install wazuh-agent-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \ | ||||
|  | ||||
| COPY config/etc/ /etc/ | ||||
|  | ||||
| RUN rm /etc/yum.repos.d/wazuh.repo | ||||
|  | ||||
| ENTRYPOINT [ "/init" ] | ||||
|   | ||||
| @@ -1,15 +0,0 @@ | ||||
| ## variables | ||||
| APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||
| GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
| REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1" | ||||
| WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$) | ||||
|  | ||||
| ## check tag to use the correct repository | ||||
| if [[ -n "${WAZUH_TAG}" ]]; then | ||||
|   APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH | ||||
|   GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
|   REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1" | ||||
| fi | ||||
|  | ||||
| rpm --import "${APT_KEY}" | ||||
| echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo | ||||
| @@ -5,16 +5,17 @@ ARG WAZUH_VERSION | ||||
| ARG WAZUH_TAG_REVISION | ||||
| ARG WAZUH_UI_REVISION | ||||
| ARG INSTALL_DIR=/usr/share/wazuh-dashboard | ||||
| ARG TARGETARCH | ||||
| ARG wazuh_dashboard_url_amd64_rpm | ||||
| ARG wazuh_dashboard_url_arm64_rpm | ||||
|  | ||||
| # Update and install dependencies | ||||
| RUN yum install curl-minimal libcap openssl -y | ||||
|  | ||||
| COPY config/check_repository.sh / | ||||
| RUN chmod 775 /check_repository.sh && \ | ||||
|     source /check_repository.sh | ||||
|  | ||||
| RUN yum install wazuh-dashboard-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \ | ||||
|     yum clean all | ||||
| RUN URL_VAR="wazuh_dashboard_url_${TARGETARCH}_rpm" && \ | ||||
|     dashboard_url="${!URL_VAR}" && \ | ||||
|     dnf install curl-minimal libcap openssl -y && \ | ||||
|     curl -o /wazuh-dashboard.rpm "${dashboard_url}" && \ | ||||
|     dnf install /wazuh-dashboard.rpm -y && \ | ||||
|     dnf clean all | ||||
|  | ||||
| # Create and set permissions to data directories | ||||
| RUN mkdir -p $INSTALL_DIR/data/wazuh && chmod -R 775 $INSTALL_DIR/data/wazuh | ||||
| @@ -42,10 +43,8 @@ FROM amazonlinux:2023 | ||||
| ENV USER="wazuh-dashboard" \ | ||||
|     GROUP="wazuh-dashboard" \ | ||||
|     NAME="wazuh-dashboard" \ | ||||
|     INSTALL_DIR="/usr/share/wazuh-dashboard" | ||||
|  | ||||
| # Set Wazuh app variables | ||||
| ENV PATTERN="" \ | ||||
|     INSTALL_DIR="/usr/share/wazuh-dashboard" \ | ||||
|     PATTERN="" \ | ||||
|     CHECKS_PATTERN="" \ | ||||
|     CHECKS_TEMPLATE="" \ | ||||
|     CHECKS_API="" \ | ||||
| @@ -60,7 +59,7 @@ ENV PATTERN="" \ | ||||
|     WAZUH_MONITORING_REPLICAS="" | ||||
|  | ||||
| # Update and install dependencies | ||||
| RUN yum install shadow-utils -y | ||||
| RUN dnf install shadow-utils -y && dnf clean all | ||||
|  | ||||
| # Create wazuh-dashboard user and group | ||||
| RUN getent group $GROUP || groupadd -r -g 1000 $GROUP | ||||
|   | ||||
| @@ -1,15 +0,0 @@ | ||||
| ## variables | ||||
| APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||
| GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
| REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1" | ||||
| WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$) | ||||
|  | ||||
| ## check tag to use the correct repository | ||||
| if [[ -n "${WAZUH_TAG}" ]]; then | ||||
|   APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH | ||||
|   GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
|   REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/5.x/yum/\nprotect=1" | ||||
| fi | ||||
|  | ||||
| rpm --import "${APT_KEY}" | ||||
| echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo | ||||
| @@ -3,31 +3,19 @@ FROM amazonlinux:2023 AS builder | ||||
|  | ||||
| ARG WAZUH_VERSION | ||||
| ARG WAZUH_TAG_REVISION | ||||
|  | ||||
| RUN yum install curl-minimal openssl xz tar findutils shadow-utils -y | ||||
|  | ||||
| COPY config/check_repository.sh / | ||||
| RUN chmod 775 /check_repository.sh && \ | ||||
|     source /check_repository.sh | ||||
|  | ||||
| RUN yum install wazuh-indexer-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \ | ||||
|     yum clean all | ||||
|  | ||||
| COPY config/opensearch.yml / | ||||
| ARG TARGETARCH | ||||
| ARG wazuh_indexer_url_amd64_rpm | ||||
| ARG wazuh_indexer_url_arm64_rpm | ||||
|  | ||||
| COPY config/config.sh . | ||||
|  | ||||
| COPY config/config.yml / | ||||
|  | ||||
| COPY config/action_groups.yml / | ||||
|  | ||||
| COPY config/internal_users.yml / | ||||
|  | ||||
| COPY config/roles_mapping.yml / | ||||
|  | ||||
| COPY config/roles.yml / | ||||
|  | ||||
| RUN bash config.sh | ||||
| RUN URL_VAR="wazuh_indexer_url_${TARGETARCH}_rpm" && \ | ||||
|     indexer_url="${!URL_VAR}" && \ | ||||
|     dnf install curl-minimal openssl xz tar findutils shadow-utils -y &&\ | ||||
|     curl -o /wazuh-indexer.rpm "${indexer_url}" && \ | ||||
|     dnf install /wazuh-indexer.rpm -y && \ | ||||
|     dnf clean all && \ | ||||
|     bash config.sh | ||||
|  | ||||
| ################################################################################ | ||||
| # Build stage 1 (the actual Wazuh indexer image): | ||||
| @@ -62,25 +50,26 @@ COPY config/entrypoint.sh / | ||||
|  | ||||
| COPY config/securityadmin.sh / | ||||
|  | ||||
| RUN chmod 700 /entrypoint.sh && chmod 700 /securityadmin.sh | ||||
|  | ||||
| RUN chown 1000:1000 /*.sh | ||||
| RUN chmod 700 /entrypoint.sh && chmod 700 /securityadmin.sh && \ | ||||
|     mkdir -p /usr/share/wazuh-indexer && \ | ||||
|     chown 1000:1000 /usr/share/wazuh-indexer && \ | ||||
|     chown 1000:1000 /*.sh | ||||
|  | ||||
| COPY --from=builder --chown=1000:1000 /usr/share/wazuh-indexer /usr/share/wazuh-indexer | ||||
| COPY --from=builder --chown=1000:1000 /etc/wazuh-indexer /usr/share/wazuh-indexer | ||||
| COPY --from=builder --chown=1000:1000 /etc/wazuh-indexer /usr/share/wazuh-indexer/config | ||||
| COPY --from=builder --chown=1000:1000 /debian/wazuh-indexer/usr/share/wazuh-indexer /usr/share/wazuh-indexer | ||||
| COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/systemd | ||||
| COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/sysctl.d /usr/lib/sysctl.d | ||||
| COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d | ||||
|  | ||||
| RUN chown -R 1000:1000 /usr/share/wazuh-indexer | ||||
|  | ||||
| RUN mkdir -p /var/lib/wazuh-indexer && chown 1000:1000 /var/lib/wazuh-indexer && \ | ||||
|     mkdir -p /usr/share/wazuh-indexer/logs && chown 1000:1000 /usr/share/wazuh-indexer/logs && \ | ||||
|     mkdir -p /run/wazuh-indexer && chown 1000:1000 /run/wazuh-indexer && \ | ||||
|     mkdir -p /var/log/wazuh-indexer && chown 1000:1000 /var/log/wazuh-indexer && \ | ||||
|     chmod 700 /usr/share/wazuh-indexer && \ | ||||
|     chmod 600 /usr/share/wazuh-indexer/jvm.options && \ | ||||
|     chmod 600 /usr/share/wazuh-indexer/opensearch.yml | ||||
|     chmod 700 /usr/share/wazuh-indexer/config && \ | ||||
|     chmod 600 /usr/share/wazuh-indexer/config/jvm.options && \ | ||||
|     chmod 600 /usr/share/wazuh-indexer/config/opensearch.yml | ||||
|  | ||||
| USER wazuh-indexer | ||||
|  | ||||
|   | ||||
| @@ -1,15 +0,0 @@ | ||||
| ## variables | ||||
| APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||
| GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
| REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1" | ||||
| WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$) | ||||
|  | ||||
| ## check tag to use the correct repository | ||||
| if [[ -n "${WAZUH_TAG}" ]]; then | ||||
|   APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH | ||||
|   GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
|   REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/5.x/yum/\nprotect=1" | ||||
| fi | ||||
|  | ||||
| rpm --import "${APT_KEY}" | ||||
| echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo | ||||
| @@ -13,7 +13,7 @@ export LOG_DIR=/var/log/${NAME} | ||||
| export LIB_DIR=/var/lib/${NAME} | ||||
| export PID_DIR=/run/${NAME} | ||||
| export INSTALLATION_DIR=/usr/share/${NAME} | ||||
| export CONFIG_DIR=${INSTALLATION_DIR} | ||||
| export CONFIG_DIR=${INSTALLATION_DIR}/config | ||||
| export BASE_DIR=${NAME}-* | ||||
| export INDEXER_FILE=wazuh-indexer-base.tar.xz | ||||
| export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz | ||||
|   | ||||
| @@ -6,7 +6,7 @@ umask 0002 | ||||
|  | ||||
| export USER=wazuh-indexer | ||||
| export INSTALLATION_DIR=/usr/share/wazuh-indexer | ||||
| export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR} | ||||
| export OPENSEARCH_PATH_CONF=${INSTALLATION_DIR}/config | ||||
| export JAVA_HOME=${INSTALLATION_DIR}/jdk | ||||
| export DISCOVERY=$(grep -oP "(?<=discovery.type: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml) | ||||
| export CACERT=$(grep -oP "(?<=plugins.security.ssl.transport.pemtrustedcas_filepath: ).*" ${OPENSEARCH_PATH_CONF}/opensearch.yml) | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| network.host: "0.0.0.0" | ||||
| node.name: "wazuh.indexer" | ||||
| cluster.name: "wazuh-cluster" | ||||
| path.data: /var/lib/wazuh-indexer | ||||
| path.logs: /var/log/wazuh-indexer | ||||
| discovery.type: single-node | ||||
| compatibility.override_main_response_version: true | ||||
| plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/indexer.pem | ||||
| plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/indexer-key.pem | ||||
| plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem | ||||
|   | ||||
| @@ -5,27 +5,18 @@ RUN rm /bin/sh && ln -s /bin/bash /bin/sh | ||||
|  | ||||
| ARG WAZUH_VERSION | ||||
| ARG WAZUH_TAG_REVISION | ||||
| ARG FILEBEAT_TEMPLATE_BRANCH | ||||
| ARG FILEBEAT_CHANNEL=filebeat-oss | ||||
| ARG FILEBEAT_VERSION=7.10.2 | ||||
| ARG WAZUH_FILEBEAT_MODULE | ||||
| ARG S6_VERSION="v2.2.0.3" | ||||
| ARG TARGETARCH | ||||
| ARG wazuh_manager_url_amd64_rpm | ||||
| ARG wazuh_manager_url_arm64_rpm | ||||
|  | ||||
| RUN yum install curl-minimal xz gnupg tar gzip openssl findutils procps -y &&\ | ||||
|     yum clean all | ||||
|  | ||||
| COPY config/check_repository.sh / | ||||
| COPY config/filebeat_module.sh / | ||||
| COPY config/permanent_data.env config/permanent_data.sh / | ||||
|  | ||||
| RUN chmod 775 /check_repository.sh | ||||
| RUN source /check_repository.sh | ||||
|  | ||||
| RUN yum install wazuh-manager-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \ | ||||
|     yum clean all && \ | ||||
|     chmod 775 /filebeat_module.sh && \ | ||||
|     source /filebeat_module.sh && \ | ||||
|     rm /filebeat_module.sh && \ | ||||
| RUN URL_VAR="wazuh_manager_url_${TARGETARCH}_rpm" && \ | ||||
|     manager_url="${!URL_VAR}" && \ | ||||
|     dnf install curl-minimal xz gnupg tar gzip openssl findutils procps -y &&\ | ||||
|     dnf clean all && \ | ||||
|     curl -o /wazuh-manager.rpm "${manager_url}" && \ | ||||
|     dnf install /wazuh-manager.rpm -y && \ | ||||
|     dnf clean all && \ | ||||
|     curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \ | ||||
|     -o /tmp/s6-overlay-amd64.tar.gz && \ | ||||
|     tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \ | ||||
| @@ -35,24 +26,16 @@ RUN yum install wazuh-manager-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \ | ||||
| COPY config/etc/ /etc/ | ||||
| COPY --chown=root:wazuh config/create_user.py /var/ossec/framework/scripts/create_user.py | ||||
|  | ||||
| COPY config/filebeat.yml /etc/filebeat/ | ||||
|  | ||||
| RUN chmod go-w /etc/filebeat/filebeat.yml | ||||
|  | ||||
| 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 | ||||
|  | ||||
| # Prepare permanent data | ||||
| # Sync calls are due to https://github.com/docker/docker/issues/9547 | ||||
|  | ||||
| COPY config/permanent_data.env config/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 && \ | ||||
| @@ -60,8 +43,6 @@ RUN mkdir -p /var/ossec/var/multigroups && \ | ||||
|     sync && /permanent_data.sh && \ | ||||
|     sync && rm /permanent_data.sh | ||||
|  | ||||
| RUN rm /etc/yum.repos.d/wazuh.repo | ||||
|  | ||||
| # Services ports | ||||
| EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp | ||||
|  | ||||
|   | ||||
| @@ -1,15 +0,0 @@ | ||||
| ## variables | ||||
| APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH | ||||
| GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
| REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1" | ||||
| WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$) | ||||
|  | ||||
| ## check tag to use the correct repository | ||||
| if [[ -n "${WAZUH_TAG}" ]]; then | ||||
|   APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH | ||||
|   GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]" | ||||
|   REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/5.x/yum/\nprotect=1" | ||||
| fi | ||||
|  | ||||
| rpm --import "${APT_KEY}" | ||||
| echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo | ||||
| @@ -167,12 +167,13 @@ set_custom_cluster_key() { | ||||
| } | ||||
|  | ||||
| ############################################################################## | ||||
| # Modify /var/ossec/queue/rids directory owner on | ||||
| # container start. | ||||
| # Set correct ownership for Wazuh related directories | ||||
| # on container start. | ||||
| ############################################################################## | ||||
|  | ||||
| set_rids_owner() { | ||||
| configure_permissions() { | ||||
|   chown -R wazuh:wazuh /var/ossec/queue/rids | ||||
|   chown -R wazuh:wazuh /var/ossec/etc/lists | ||||
| } | ||||
|  | ||||
| ############################################################################## | ||||
| @@ -226,8 +227,8 @@ main() { | ||||
|   # Delete temporary data folder | ||||
|   rm -rf ${WAZUH_INSTALL_PATH}/data_tmp | ||||
|  | ||||
|   # Set rids directory owner | ||||
|   set_rids_owner | ||||
|   # Set correct ownership for Wazuh related directories | ||||
|   configure_permissions | ||||
| } | ||||
|  | ||||
| main | ||||
|   | ||||
| @@ -1,51 +0,0 @@ | ||||
| #!/usr/bin/with-contenv bash | ||||
| # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) | ||||
|  | ||||
| set -e | ||||
|  | ||||
| if [ "$INDEXER_URL" != "" ]; then | ||||
|   >&2 echo "Customize Elasticsearch output IP" | ||||
|   sed -i "s|hosts:.*|hosts: ['$INDEXER_URL']|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
| # Configure filebeat.yml security settings | ||||
|  | ||||
| if [ "$INDEXER_USERNAME" != "" ]; then | ||||
|   >&2 echo "Configuring username." | ||||
|   sed -i "s|#username:.*|username:|g" /etc/filebeat/filebeat.yml | ||||
|   sed -i "s|username:.*|username: '$INDEXER_USERNAME'|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
| if [ "$INDEXER_PASSWORD" != "" ]; then | ||||
|   >&2 echo "Configuring password." | ||||
|   sed -i "s|#password:.*|password:|g" /etc/filebeat/filebeat.yml | ||||
|   sed -i "s|password:.*|password: '$INDEXER_PASSWORD'|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
| if [ "$FILEBEAT_SSL_VERIFICATION_MODE" != "" ]; then | ||||
|   >&2 echo "Configuring SSL verification mode." | ||||
|   sed -i "s|#ssl.verification_mode:.*|ssl.verification_mode:|g" /etc/filebeat/filebeat.yml | ||||
|   sed -i "s|ssl.verification_mode:.*|ssl.verification_mode: '$FILEBEAT_SSL_VERIFICATION_MODE'|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
| if [ "$SSL_CERTIFICATE_AUTHORITIES" != "" ]; then | ||||
|   >&2 echo "Configuring Certificate Authorities." | ||||
|   sed -i "s|#ssl.certificate_authorities:.*|ssl.certificate_authorities:|g" /etc/filebeat/filebeat.yml | ||||
|   sed -i "s|ssl.certificate_authorities:.*|ssl.certificate_authorities: ['$SSL_CERTIFICATE_AUTHORITIES']|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
| if [ "$SSL_CERTIFICATE" != "" ]; then | ||||
|   >&2 echo "Configuring SSL Certificate." | ||||
|   sed -i "s|#ssl.certificate:.*|ssl.certificate:|g" /etc/filebeat/filebeat.yml | ||||
|   sed -i "s|ssl.certificate:.*|ssl.certificate: '$SSL_CERTIFICATE'|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
| if [ "$SSL_KEY" != "" ]; then | ||||
|   >&2 echo "Configuring SSL Key." | ||||
|   sed -i "s|#ssl.key:.*|ssl.key:|g" /etc/filebeat/filebeat.yml | ||||
|   sed -i "s|ssl.key:.*|ssl.key: '$SSL_KEY'|g" /etc/filebeat/filebeat.yml | ||||
| fi | ||||
|  | ||||
|  | ||||
| chmod go-w /etc/filebeat/filebeat.yml || true | ||||
| chown root: /etc/filebeat/filebeat.yml || true | ||||
| @@ -60,12 +60,6 @@ function_wazuh_migration(){ | ||||
|       chown wazuh:wazuh /var/ossec/etc/rules/* | ||||
|       chmod 660 /var/ossec/etc/rules/* | ||||
| 
 | ||||
|       if [ -e /wazuh-migration/data/agentless/.passlist ]; then | ||||
|         \cp -f /wazuh-migration/data/agentless/.passlist /var/ossec/agentless/.passlist | ||||
|         chown root:wazuh /var/ossec/agentless/.passlist | ||||
|         chmod 640 /var/ossec/agentless/.passlist | ||||
|       fi | ||||
| 
 | ||||
|       \cp -f /wazuh-migration/global.db /var/ossec/queue/db/global.db | ||||
|       chown wazuh:wazuh /var/ossec/queue/db/global.db | ||||
|       chmod 640 /var/ossec/queue/db/global.db | ||||
| @@ -1,6 +0,0 @@ | ||||
| #!/usr/bin/env sh | ||||
| echo >&2 "Filebeat exited. code=${1}" | ||||
|  | ||||
| # terminate other services to exit from the container | ||||
| exec s6-svscanctl -t /var/run/s6/services | ||||
|  | ||||
| @@ -1,4 +0,0 @@ | ||||
| #!/usr/bin/with-contenv sh | ||||
| echo >&2 "starting Filebeat" | ||||
|  | ||||
| exec /usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat | ||||
| @@ -1,12 +0,0 @@ | ||||
| ## variables | ||||
| REPOSITORY="packages-dev.wazuh.com/pre-release" | ||||
| WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/'  | cut -c 11- | grep ^v${WAZUH_VERSION}$) | ||||
|  | ||||
| ## check tag to use the correct repository | ||||
| if [[ -n "${WAZUH_TAG}" ]]; then | ||||
|   REPOSITORY="packages.wazuh.com/5.x" | ||||
| fi | ||||
|  | ||||
| curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\ | ||||
| yum install -y ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && \ | ||||
| curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module | ||||
| @@ -4,28 +4,15 @@ PERMANENT_DATA[((i++))]="/var/ossec/api/configuration" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/etc" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/logs" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/queue" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/agentless" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/var/multigroups" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/integrations" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/active-response/bin" | ||||
| PERMANENT_DATA[((i++))]="/var/ossec/wodles" | ||||
| PERMANENT_DATA[((i++))]="/etc/filebeat" | ||||
|  | ||||
| export PERMANENT_DATA | ||||
|  | ||||
| # Files mounted in a volume that should not be permanent | ||||
| i=0 | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/internal_options.conf" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack" | ||||
| 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.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/maltiverse" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/maltiverse.py" | ||||
| 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/firewalld-drop" | ||||
| @@ -41,18 +28,6 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/pf" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/restart-wazuh" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/restart.sh" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/route-null" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/sshlogin.exp" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_pixconfig_diff" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_asa-fwsmconfig_diff" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_integrity_check_bsd" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/main.exp" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/su.exp" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_integrity_check_linux" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/register_host.sh" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_generic_diff" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_foundry_diff" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh_nopass.exp" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh.exp" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/utils.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3.py" | ||||
| @@ -97,9 +72,6 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/exceptions.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/buckets/bucket.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/buckets/access_logs.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/pubsub/subscriber.py" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/lists/malicious-ioc/malicious-ip" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/lists/malicious-ioc/malicious-domains" | ||||
| PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/lists/malicious-ioc/malware-hashes" | ||||
| export PERMANENT_DATA_EXCP | ||||
|  | ||||
| # Files mounted in a volume that should be deleted | ||||
|   | ||||
| @@ -23,8 +23,7 @@ $ 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.4. | ||||
|     -d, --dev <ref>              [Optional] Set the development stage you want to build, example rc2 or beta1, not used by default. | ||||
|     -r, --revision <rev>         [Optional] Package revision. By default 1 | ||||
|     -v, --version <ver>          [Optional] Set the Wazuh version should be builded. By default, 5.0.0. | ||||
|     -h, --help                   Show this help. | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| ### 1. Wazuh Manager Configuration | ||||
|  | ||||
| * **`ossec.conf`**: The main configuration file for the Wazuh manager. It controls rules, decoders, agent enrollment, active responses, integrations, clustering, and more. | ||||
| * **`ossec.conf`**: The main configuration file for the Wazuh manager. It controls rules, decoders, agent enrollment, active responses, clustering, and more. | ||||
|     * **Customization**: Mount a custom `ossec.conf` or specific configuration snippets (e.g., local rules in `local_rules.xml`) into the manager container at `/wazuh-mount-point/`, which will be copied to the path `/var/ossec` (e.g., the file `/var/ossec/etc/ossec.conf` must be mounted at `/wazuh-mount-point/etc/ossec.conf`) . | ||||
|  | ||||
| ### 2. Wazuh Indexer Configuration | ||||
|   | ||||
| @@ -17,18 +17,18 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines | ||||
|  | ||||
| 3.  Run the script to generate the necessary certificates for the Wazuh Stack. This ensures secure communication between the nodes: | ||||
|     ```bash | ||||
|     docker-compose -f generate-indexer-certs.yml run --rm generator | ||||
|     docker compose -f generate-indexer-certs.yml run --rm generator | ||||
|     ``` | ||||
|  | ||||
| 4.  Start the Wazuh environment using `docker-compose`: | ||||
| 4.  Start the Wazuh environment using `docker compose`: | ||||
|  | ||||
|     * To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop): | ||||
|         ```bash | ||||
|         docker-compose up | ||||
|         docker compose up | ||||
|         ``` | ||||
|     * To run in the background (detached mode, allowing the containers to run independently of your terminal): | ||||
|         ```bash | ||||
|         docker-compose up -d | ||||
|         docker compose up -d | ||||
|         ``` | ||||
|  | ||||
| Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated. | ||||
|   | ||||
| @@ -17,18 +17,18 @@ This deployment uses the `single-node/docker-compose.yml` file, which defines a | ||||
|  | ||||
| 3.  Run the script to generate the necessary certificates for the Wazuh Stack. This ensures secure communication between the nodes: | ||||
|     ```bash | ||||
|     docker-compose -f generate-indexer-certs.yml run --rm generator | ||||
|     docker compose -f generate-indexer-certs.yml run --rm generator | ||||
|     ``` | ||||
|  | ||||
| 4.  Start the Wazuh environment using `docker-compose`: | ||||
| 4.  Start the Wazuh environment using `docker compose`: | ||||
|  | ||||
|     * To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop): | ||||
|         ```bash | ||||
|         docker-compose up | ||||
|         docker compose up | ||||
|         ``` | ||||
|     * To run in the background (detached mode, allowing the containers to run independently of your terminal): | ||||
|         ```bash | ||||
|         docker-compose up -d | ||||
|         docker compose up -d | ||||
|         ``` | ||||
|  | ||||
| Please allow some time for the environment to initialize, especially on the first run. It can take approximately a minute or two (depending on your host's resources) as the Wazuh Indexer starts up and generates the necessary indexes and index patterns. | ||||
|   | ||||
| @@ -23,14 +23,14 @@ Follow these steps to deploy the Wazuh agent using Docker. | ||||
|     ``` | ||||
|     **Note:** Replace `<YOUR_WAZUH_MANAGER_IP_OR_HOSTNAME>` with the actual IP address or hostname of your Wazuh manager. | ||||
|  | ||||
| 3.  Start the environment using `docker-compose`: | ||||
| 3.  Start the environment using `docker compose`: | ||||
|  | ||||
|     * To run in the foreground (logs will be displayed in your current terminal, and you can stop it with `Ctrl+C`): | ||||
|         ```bash | ||||
|         docker-compose up | ||||
|         docker compose up | ||||
|         ``` | ||||
|  | ||||
|     * To run in the background (detached mode, allowing the container to run independently of your terminal): | ||||
|         ```bash | ||||
|         docker-compose up -d | ||||
|         docker compose up -d | ||||
|         ``` | ||||
| @@ -1,7 +1,7 @@ | ||||
| # Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2) | ||||
| FROM ubuntu:focal | ||||
| FROM amazonlinux:2023 | ||||
|  | ||||
| RUN apt-get update && apt-get install openssl curl -y | ||||
| RUN yum update -y && yum install openssl curl-minimal -y | ||||
|  | ||||
| WORKDIR / | ||||
|  | ||||
|   | ||||
| @@ -5,5 +5,5 @@ The dockerfile hosted in this directory is used to build the image used to boot | ||||
| To create the image, the following command must be executed: | ||||
|  | ||||
| ``` | ||||
| $ docker build -t wazuh/wazuh-certs-generator:0.0.2 . | ||||
| $ docker build -t wazuh/wazuh-certs-generator:0.0.3 . | ||||
| ``` | ||||
|   | ||||
| @@ -8,20 +8,27 @@ | ||||
| ## Variables | ||||
| CERT_TOOL=wazuh-certs-tool.sh | ||||
| PASSWORD_TOOL=wazuh-passwords-tool.sh | ||||
| PACKAGES_URL=https://packages.wazuh.com/5.0/ | ||||
| PACKAGES_DEV_URL=https://packages-dev.wazuh.com/5.0/ | ||||
| PACKAGES_URL=https://packages.wazuh.com/$CERT_TOOL_VERSION/ | ||||
| PACKAGES_DEV_URL=https://packages-dev.wazuh.com/$CERT_TOOL_VERSION/ | ||||
|  | ||||
| ## Check if the cert tool exists in S3 buckets | ||||
| CERT_TOOL_PACKAGES=$(curl --silent --head --location --output /dev/null --write-out "%{http_code}" "$PACKAGES_URL$CERT_TOOL") | ||||
| CERT_TOOL_PACKAGES_DEV=$(curl --silent --head --location --output /dev/null --write-out "%{http_code}" "$PACKAGES_DEV_URL$CERT_TOOL") | ||||
| OUTPUT_FILE="/$CERT_TOOL" | ||||
|  | ||||
| ## If cert tool exists in some bucket, download it, if not exit 1 | ||||
| if [ "$CERT_TOOL_PACKAGES" = "200" ]; then | ||||
|   curl -o $CERT_TOOL $PACKAGES_URL$CERT_TOOL -s | ||||
|   echo "The tool to create the certificates exists in the in Packages bucket" | ||||
| elif [ "$CERT_TOOL_PACKAGES_DEV" = "200" ]; then | ||||
|   curl -o $CERT_TOOL $PACKAGES_DEV_URL$CERT_TOOL -s | ||||
|   echo "The tool to create the certificates exists in Packages-dev bucket" | ||||
| download_package() { | ||||
|     local url=$1 | ||||
|     echo "Checking $url$CERT_TOOL ..." | ||||
|     if curl -fsL "$url$CERT_TOOL" -o "$OUTPUT_FILE"; then | ||||
|         echo "Downloaded $CERT_TOOL from $url" | ||||
|         return 0 | ||||
|     else | ||||
|         return 1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # Try first the prod URL, if it fails try the dev URL | ||||
| if download_package "$PACKAGES_URL"; then | ||||
|     : | ||||
| elif download_package "$PACKAGES_DEV_URL"; then | ||||
|     : | ||||
| else | ||||
|     echo "The tool to create the certificates does not exist in any bucket" | ||||
|     echo "ERROR: certificates were not created" | ||||
| @@ -29,8 +36,7 @@ else | ||||
| fi | ||||
|  | ||||
| cp /config/certs.yml /config.yml | ||||
|  | ||||
| chmod 700 /$CERT_TOOL | ||||
| chmod 700 "$OUTPUT_FILE" | ||||
|  | ||||
| ############################################################################## | ||||
| # Creating Cluster certificates | ||||
|   | ||||
| @@ -80,13 +80,6 @@ docker volume create \ | ||||
|            multi-node_master-wazuh-var-multigroups | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
|            --label com.docker.compose.volume=master-wazuh-integrations \ | ||||
|            multi-node_master-wazuh-integrations | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
| @@ -94,13 +87,6 @@ docker volume create \ | ||||
|            multi-node_master-wazuh-active-response | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
|            --label com.docker.compose.volume=master-wazuh-agentless \ | ||||
|            multi-node_master-wazuh-agentless | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
| @@ -157,13 +143,6 @@ docker volume create \ | ||||
|            multi-node_worker-wazuh-var-multigroups | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
|            --label com.docker.compose.volume=worker-wazuh-integrations \ | ||||
|            multi-node_worker-wazuh-integrations | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
| @@ -171,13 +150,6 @@ docker volume create \ | ||||
|            multi-node_worker-wazuh-active-response | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
|            --label com.docker.compose.volume=worker-wazuh-agentless \ | ||||
|            multi-node_worker-wazuh-agentless | ||||
| ``` | ||||
| ``` | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=multi-node \ | ||||
|            --label com.docker.compose.version=1.25.0 \ | ||||
| @@ -248,24 +220,12 @@ docker container run --rm -it \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-integrations:/from \ | ||||
|            -v multi-node_master-wazuh-integrations:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-active-response:/from \ | ||||
|            -v multi-node_master-wazuh-active-response:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-agentless:/from \ | ||||
|            -v multi-node_master-wazuh-agentless:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-wodles:/from \ | ||||
|            -v multi-node_master-wazuh-wodles:/to \ | ||||
| @@ -314,24 +274,12 @@ docker container run --rm -it \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-integrations:/from \ | ||||
|            -v multi-node_worker-wazuh-integrations:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-active-response:/from \ | ||||
|            -v multi-node_worker-wazuh-active-response:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-agentless:/from \ | ||||
|            -v multi-node_worker-wazuh-agentless:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
| ``` | ||||
| ``` | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-wodles:/from \ | ||||
|            -v multi-node_worker-wazuh-wodles:/to \ | ||||
|   | ||||
| @@ -1,24 +1,10 @@ | ||||
| <ossec_config> | ||||
|   <global> | ||||
|     <jsonout_output>yes</jsonout_output> | ||||
|     <alerts_log>yes</alerts_log> | ||||
|     <logall>no</logall> | ||||
|     <logall_json>no</logall_json> | ||||
|     <email_notification>no</email_notification> | ||||
|     <smtp_server>smtp.example.wazuh.com</smtp_server> | ||||
|     <email_from>wazuh@example.wazuh.com</email_from> | ||||
|     <email_to>recipient@example.wazuh.com</email_to> | ||||
|     <email_maxperhour>12</email_maxperhour> | ||||
|     <email_log_source>alerts.log</email_log_source> | ||||
|     <agents_disconnection_time>10m</agents_disconnection_time> | ||||
|     <agents_disconnection_time>15m</agents_disconnection_time> | ||||
|     <agents_disconnection_alert_time>0</agents_disconnection_alert_time> | ||||
|     <update_check>yes</update_check> | ||||
|   </global> | ||||
|  | ||||
|   <alerts> | ||||
|     <log_alert_level>3</log_alert_level> | ||||
|     <email_alert_level>12</email_alert_level> | ||||
|   </alerts> | ||||
|  | ||||
|   <!-- Choose between "plain", "json", or "plain,json" for the format of internal logs --> | ||||
|   <logging> | ||||
|     <log_format>plain</log_format> | ||||
| @@ -34,8 +20,6 @@ | ||||
|   <!-- Policy monitoring --> | ||||
|   <rootcheck> | ||||
|     <disabled>no</disabled> | ||||
|     <check_files>yes</check_files> | ||||
|     <check_trojans>yes</check_trojans> | ||||
|     <check_dev>yes</check_dev> | ||||
|     <check_sys>yes</check_sys> | ||||
|     <check_pids>yes</check_pids> | ||||
| @@ -45,31 +29,12 @@ | ||||
|     <!-- Frequency that rootcheck is executed - every 12 hours --> | ||||
|     <frequency>43200</frequency> | ||||
|  | ||||
|     <rootkit_files>etc/rootcheck/rootkit_files.txt</rootkit_files> | ||||
|     <rootkit_trojans>etc/rootcheck/rootkit_trojans.txt</rootkit_trojans> | ||||
|  | ||||
|     <skip_nfs>yes</skip_nfs> | ||||
|  | ||||
|     <ignore>/var/lib/containerd</ignore> | ||||
|     <ignore>/var/lib/docker/overlay2</ignore> | ||||
|   </rootcheck> | ||||
|  | ||||
|   <wodle name="cis-cat"> | ||||
|     <disabled>yes</disabled> | ||||
|     <timeout>1800</timeout> | ||||
|     <interval>1d</interval> | ||||
|     <scan-on-start>yes</scan-on-start> | ||||
|  | ||||
|     <java_path>wodles/java</java_path> | ||||
|     <ciscat_path>wodles/ciscat</ciscat_path> | ||||
|   </wodle> | ||||
|  | ||||
|   <!-- Osquery integration --> | ||||
|   <wodle name="osquery"> | ||||
|     <disabled>yes</disabled> | ||||
|     <run_daemon>yes</run_daemon> | ||||
|     <log_path>/var/log/osquery/osqueryd.results.log</log_path> | ||||
|     <config_path>/etc/osquery/osquery.conf</config_path> | ||||
|     <add_labels>yes</add_labels> | ||||
|   </wodle> | ||||
|  | ||||
|   <!-- System inventory --> | ||||
|   <wodle name="syscollector"> | ||||
|     <disabled>no</disabled> | ||||
| @@ -79,11 +44,17 @@ | ||||
|     <os>yes</os> | ||||
|     <network>yes</network> | ||||
|     <packages>yes</packages> | ||||
|     <ports all="no">yes</ports> | ||||
|     <ports all="yes">yes</ports> | ||||
|     <processes>yes</processes> | ||||
|     <users>yes</users> | ||||
|     <groups>yes</groups> | ||||
|     <services>yes</services> | ||||
|     <browser_extensions>yes</browser_extensions> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </wodle> | ||||
| @@ -92,7 +63,13 @@ | ||||
|     <enabled>yes</enabled> | ||||
|     <scan_on_start>yes</scan_on_start> | ||||
|     <interval>12h</interval> | ||||
|     <skip_nfs>yes</skip_nfs> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </sca> | ||||
|  | ||||
|   <vulnerability-detection> | ||||
| @@ -124,8 +101,6 @@ | ||||
|     <!-- Frequency that syscheck is executed default every 12 hours --> | ||||
|     <frequency>43200</frequency> | ||||
|  | ||||
|     <scan_on_start>yes</scan_on_start> | ||||
|  | ||||
|     <!-- Generate alert when new file detected --> | ||||
|     <alert_new_files>yes</alert_new_files> | ||||
|  | ||||
| @@ -165,13 +140,12 @@ | ||||
|     <process_priority>10</process_priority> | ||||
|  | ||||
|     <!-- Maximum output throughput --> | ||||
|     <max_eps>100</max_eps> | ||||
|     <max_eps>50</max_eps> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_interval>1h</max_interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </syscheck> | ||||
| @@ -266,13 +240,6 @@ | ||||
|     <rule_dir>etc/rules</rule_dir> | ||||
|   </ruleset> | ||||
|  | ||||
|   <rule_test> | ||||
|     <enabled>yes</enabled> | ||||
|     <threads>1</threads> | ||||
|     <max_sessions>64</max_sessions> | ||||
|     <session_timeout>15m</session_timeout> | ||||
|   </rule_test> | ||||
|  | ||||
|   <!-- Configuration for wazuh-authd --> | ||||
|   <auth> | ||||
|     <disabled>no</disabled> | ||||
| @@ -305,6 +272,16 @@ | ||||
| </ossec_config> | ||||
|  | ||||
| <ossec_config> | ||||
|   <localfile> | ||||
|     <log_format>journald</log_format> | ||||
|     <location>journald</location> | ||||
|   </localfile> | ||||
|  | ||||
|   <localfile> | ||||
|     <log_format>audit</log_format> | ||||
|     <location>/var/log/audit/audit.log</location> | ||||
|   </localfile> | ||||
|  | ||||
|   <localfile> | ||||
|     <log_format>syslog</log_format> | ||||
|     <location>/var/ossec/logs/active-responses.log</location> | ||||
|   | ||||
| @@ -1,24 +1,10 @@ | ||||
| <ossec_config> | ||||
|   <global> | ||||
|     <jsonout_output>yes</jsonout_output> | ||||
|     <alerts_log>yes</alerts_log> | ||||
|     <logall>no</logall> | ||||
|     <logall_json>no</logall_json> | ||||
|     <email_notification>no</email_notification> | ||||
|     <smtp_server>smtp.example.wazuh.com</smtp_server> | ||||
|     <email_from>wazuh@example.wazuh.com</email_from> | ||||
|     <email_to>recipient@example.wazuh.com</email_to> | ||||
|     <email_maxperhour>12</email_maxperhour> | ||||
|     <email_log_source>alerts.log</email_log_source> | ||||
|     <agents_disconnection_time>10m</agents_disconnection_time> | ||||
|     <agents_disconnection_time>15m</agents_disconnection_time> | ||||
|     <agents_disconnection_alert_time>0</agents_disconnection_alert_time> | ||||
|     <update_check>yes</update_check> | ||||
|   </global> | ||||
|  | ||||
|   <alerts> | ||||
|     <log_alert_level>3</log_alert_level> | ||||
|     <email_alert_level>12</email_alert_level> | ||||
|   </alerts> | ||||
|  | ||||
|   <!-- Choose between "plain", "json", or "plain,json" for the format of internal logs --> | ||||
|   <logging> | ||||
|     <log_format>plain</log_format> | ||||
| @@ -34,8 +20,6 @@ | ||||
|   <!-- Policy monitoring --> | ||||
|   <rootcheck> | ||||
|     <disabled>no</disabled> | ||||
|     <check_files>yes</check_files> | ||||
|     <check_trojans>yes</check_trojans> | ||||
|     <check_dev>yes</check_dev> | ||||
|     <check_sys>yes</check_sys> | ||||
|     <check_pids>yes</check_pids> | ||||
| @@ -45,31 +29,12 @@ | ||||
|     <!-- Frequency that rootcheck is executed - every 12 hours --> | ||||
|     <frequency>43200</frequency> | ||||
|  | ||||
|     <rootkit_files>etc/rootcheck/rootkit_files.txt</rootkit_files> | ||||
|     <rootkit_trojans>etc/rootcheck/rootkit_trojans.txt</rootkit_trojans> | ||||
|  | ||||
|     <skip_nfs>yes</skip_nfs> | ||||
|  | ||||
|     <ignore>/var/lib/containerd</ignore> | ||||
|     <ignore>/var/lib/docker/overlay2</ignore> | ||||
|   </rootcheck> | ||||
|  | ||||
|   <wodle name="cis-cat"> | ||||
|     <disabled>yes</disabled> | ||||
|     <timeout>1800</timeout> | ||||
|     <interval>1d</interval> | ||||
|     <scan-on-start>yes</scan-on-start> | ||||
|  | ||||
|     <java_path>wodles/java</java_path> | ||||
|     <ciscat_path>wodles/ciscat</ciscat_path> | ||||
|   </wodle> | ||||
|  | ||||
|   <!-- Osquery integration --> | ||||
|   <wodle name="osquery"> | ||||
|     <disabled>yes</disabled> | ||||
|     <run_daemon>yes</run_daemon> | ||||
|     <log_path>/var/log/osquery/osqueryd.results.log</log_path> | ||||
|     <config_path>/etc/osquery/osquery.conf</config_path> | ||||
|     <add_labels>yes</add_labels> | ||||
|   </wodle> | ||||
|  | ||||
|   <!-- System inventory --> | ||||
|   <wodle name="syscollector"> | ||||
|     <disabled>no</disabled> | ||||
| @@ -79,11 +44,17 @@ | ||||
|     <os>yes</os> | ||||
|     <network>yes</network> | ||||
|     <packages>yes</packages> | ||||
|     <ports all="no">yes</ports> | ||||
|     <ports all="yes">yes</ports> | ||||
|     <processes>yes</processes> | ||||
|     <users>yes</users> | ||||
|     <groups>yes</groups> | ||||
|     <services>yes</services> | ||||
|     <browser_extensions>yes</browser_extensions> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </wodle> | ||||
| @@ -92,7 +63,13 @@ | ||||
|     <enabled>yes</enabled> | ||||
|     <scan_on_start>yes</scan_on_start> | ||||
|     <interval>12h</interval> | ||||
|     <skip_nfs>yes</skip_nfs> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </sca> | ||||
|  | ||||
|   <vulnerability-detection> | ||||
| @@ -124,8 +101,6 @@ | ||||
|     <!-- Frequency that syscheck is executed default every 12 hours --> | ||||
|     <frequency>43200</frequency> | ||||
|  | ||||
|     <scan_on_start>yes</scan_on_start> | ||||
|  | ||||
|     <!-- Generate alert when new file detected --> | ||||
|     <alert_new_files>yes</alert_new_files> | ||||
|  | ||||
| @@ -165,13 +140,12 @@ | ||||
|     <process_priority>10</process_priority> | ||||
|  | ||||
|     <!-- Maximum output throughput --> | ||||
|     <max_eps>100</max_eps> | ||||
|     <max_eps>50</max_eps> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_interval>1h</max_interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </syscheck> | ||||
| @@ -266,13 +240,6 @@ | ||||
|     <rule_dir>etc/rules</rule_dir> | ||||
|   </ruleset> | ||||
|  | ||||
|   <rule_test> | ||||
|     <enabled>yes</enabled> | ||||
|     <threads>1</threads> | ||||
|     <max_sessions>64</max_sessions> | ||||
|     <session_timeout>15m</session_timeout> | ||||
|   </rule_test> | ||||
|  | ||||
|   <!-- Configuration for wazuh-authd --> | ||||
|   <auth> | ||||
|     <disabled>no</disabled> | ||||
| @@ -305,6 +272,16 @@ | ||||
| </ossec_config> | ||||
|  | ||||
| <ossec_config> | ||||
|   <localfile> | ||||
|     <log_format>journald</log_format> | ||||
|     <location>journald</location> | ||||
|   </localfile> | ||||
|  | ||||
|   <localfile> | ||||
|     <log_format>audit</log_format> | ||||
|     <location>/var/log/audit/audit.log</location> | ||||
|   </localfile> | ||||
|  | ||||
|   <localfile> | ||||
|     <log_format>syslog</log_format> | ||||
|     <location>/var/ossec/logs/active-responses.log</location> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ server.host: 0.0.0.0 | ||||
| server.port: 5601 | ||||
| opensearch.hosts: https://wazuh1.indexer:9200 | ||||
| opensearch.ssl.verificationMode: certificate | ||||
| opensearch.requestHeadersWhitelist: ["securitytenant","Authorization"] | ||||
| opensearch.requestHeadersAllowlist: ["securitytenant","Authorization"] | ||||
| opensearch_security.multitenancy.enabled: false | ||||
| opensearch_security.readonly_mode.roles: ["kibana_read_only"] | ||||
| server.ssl.enabled: true | ||||
| @@ -10,3 +10,7 @@ server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem" | ||||
| server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem" | ||||
| opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"] | ||||
| uiSettings.overrides.defaultRoute: /app/wz-home | ||||
| # Session expiration settings | ||||
| opensearch_security.cookie.ttl: 900000 | ||||
| opensearch_security.session.ttl: 900000 | ||||
| opensearch_security.session.keepalive: true | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| network.host: wazuh1.indexer | ||||
| node.name: wazuh1.indexer | ||||
| cluster.initial_master_nodes: | ||||
| cluster.initial_cluster_manager_nodes: | ||||
|         - wazuh1.indexer | ||||
|         - wazuh2.indexer | ||||
|         - wazuh3.indexer | ||||
| @@ -35,4 +35,3 @@ plugins.security.restapi.roles_enabled: | ||||
| - "security_rest_api_access" | ||||
| plugins.security.allow_default_init_securityindex: true | ||||
| cluster.routing.allocation.disk.threshold_enabled: false | ||||
| compatibility.override_main_response_version: true | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| network.host: wazuh2.indexer | ||||
| node.name: wazuh2.indexer | ||||
| cluster.initial_master_nodes: | ||||
| cluster.initial_cluster_manager_nodes: | ||||
|         - wazuh1.indexer | ||||
|         - wazuh2.indexer | ||||
|         - wazuh3.indexer | ||||
| @@ -35,4 +35,3 @@ plugins.security.restapi.roles_enabled: | ||||
| - "security_rest_api_access" | ||||
| plugins.security.allow_default_init_securityindex: true | ||||
| cluster.routing.allocation.disk.threshold_enabled: false | ||||
| compatibility.override_main_response_version: true | ||||
| @@ -1,6 +1,6 @@ | ||||
| network.host: wazuh3.indexer | ||||
| node.name: wazuh3.indexer | ||||
| cluster.initial_master_nodes: | ||||
| cluster.initial_cluster_manager_nodes: | ||||
|         - wazuh1.indexer | ||||
|         - wazuh2.indexer | ||||
|         - wazuh3.indexer | ||||
| @@ -35,4 +35,3 @@ plugins.security.restapi.roles_enabled: | ||||
| - "security_rest_api_access" | ||||
| plugins.security.allow_default_init_securityindex: true | ||||
| cluster.routing.allocation.disk.threshold_enabled: false | ||||
| compatibility.override_main_response_version: true | ||||
| @@ -31,9 +31,7 @@ services: | ||||
|       - master-wazuh-logs:/var/ossec/logs | ||||
|       - master-wazuh-queue:/var/ossec/queue | ||||
|       - master-wazuh-var-multigroups:/var/ossec/var/multigroups | ||||
|       - master-wazuh-integrations:/var/ossec/integrations | ||||
|       - master-wazuh-active-response:/var/ossec/active-response/bin | ||||
|       - master-wazuh-agentless:/var/ossec/agentless | ||||
|       - master-wazuh-wodles:/var/ossec/wodles | ||||
|       - master-filebeat-etc:/etc/filebeat | ||||
|       - master-filebeat-var:/var/lib/filebeat | ||||
| @@ -67,9 +65,7 @@ services: | ||||
|       - worker-wazuh-logs:/var/ossec/logs | ||||
|       - worker-wazuh-queue:/var/ossec/queue | ||||
|       - worker-wazuh-var-multigroups:/var/ossec/var/multigroups | ||||
|       - worker-wazuh-integrations:/var/ossec/integrations | ||||
|       - worker-wazuh-active-response:/var/ossec/active-response/bin | ||||
|       - worker-wazuh-agentless:/var/ossec/agentless | ||||
|       - worker-wazuh-wodles:/var/ossec/wodles | ||||
|       - worker-filebeat-etc:/etc/filebeat | ||||
|       - worker-filebeat-var:/var/lib/filebeat | ||||
| @@ -96,13 +92,13 @@ services: | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - wazuh-indexer-data-1:/var/lib/wazuh-indexer | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh1.indexer.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem | ||||
|       - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh1.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh1.indexer.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem | ||||
|       - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml | ||||
|  | ||||
|   wazuh2.indexer: | ||||
|     image: wazuh/wazuh-indexer:5.0.0 | ||||
| @@ -120,11 +116,11 @@ services: | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - wazuh-indexer-data-2:/var/lib/wazuh-indexer | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh2.indexer.pem | ||||
|       - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh2.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh2.indexer.pem | ||||
|       - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml | ||||
|  | ||||
|   wazuh3.indexer: | ||||
|     image: wazuh/wazuh-indexer:5.0.0 | ||||
| @@ -142,11 +138,11 @@ services: | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - wazuh-indexer-data-3:/var/lib/wazuh-indexer | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh3.indexer.pem | ||||
|       - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh3.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh3.indexer.pem | ||||
|       - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml | ||||
|  | ||||
|   wazuh.dashboard: | ||||
|     image: wazuh/wazuh-dashboard:5.0.0 | ||||
| @@ -198,9 +194,7 @@ volumes: | ||||
|   master-wazuh-logs: | ||||
|   master-wazuh-queue: | ||||
|   master-wazuh-var-multigroups: | ||||
|   master-wazuh-integrations: | ||||
|   master-wazuh-active-response: | ||||
|   master-wazuh-agentless: | ||||
|   master-wazuh-wodles: | ||||
|   master-filebeat-etc: | ||||
|   master-filebeat-var: | ||||
| @@ -209,9 +203,7 @@ volumes: | ||||
|   worker-wazuh-logs: | ||||
|   worker-wazuh-queue: | ||||
|   worker-wazuh-var-multigroups: | ||||
|   worker-wazuh-integrations: | ||||
|   worker-wazuh-active-response: | ||||
|   worker-wazuh-agentless: | ||||
|   worker-wazuh-wodles: | ||||
|   worker-filebeat-etc: | ||||
|   worker-filebeat-var: | ||||
|   | ||||
| @@ -1,8 +1,10 @@ | ||||
| # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) | ||||
| services: | ||||
|   generator: | ||||
|     image: wazuh/wazuh-certs-generator:0.0.2 | ||||
|     image: wazuh/wazuh-certs-generator:0.0.3 | ||||
|     hostname: wazuh-certs-generator | ||||
|     environment: | ||||
|       - CERT_TOOL_VERSION=4.14 | ||||
|     volumes: | ||||
|       - ./config/wazuh_indexer_ssl_certs/:/certificates/ | ||||
|       - ./config/certs.yml:/config/certs.yml | ||||
| @@ -46,24 +46,12 @@ docker volume create \ | ||||
|            --label com.docker.compose.volume=master-wazuh-var-multigroups \ | ||||
|            $2_master-wazuh-var-multigroups | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
|            --label com.docker.compose.volume=master-wazuh-integrations \ | ||||
|            $2_master-wazuh-integrations | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
|            --label com.docker.compose.volume=master-wazuh-active-response \ | ||||
|            $2_master-wazuh-active-response | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
|            --label com.docker.compose.volume=master-wazuh-agentless \ | ||||
|            $2_master-wazuh-agentless | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
| @@ -112,24 +100,12 @@ docker volume create \ | ||||
|            --label com.docker.compose.volume=worker-wazuh-var-multigroups \ | ||||
|            $2_worker-wazuh-var-multigroups | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
|            --label com.docker.compose.volume=worker-wazuh-integrations \ | ||||
|            $2_worker-wazuh-integrations | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
|            --label com.docker.compose.volume=worker-wazuh-active-response \ | ||||
|            $2_worker-wazuh-active-response | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
|            --label com.docker.compose.volume=worker-wazuh-agentless \ | ||||
|            $2_worker-wazuh-agentless | ||||
|  | ||||
| docker volume create \ | ||||
|            --label com.docker.compose.project=$2 \ | ||||
|            --label com.docker.compose.version=$1 \ | ||||
| @@ -193,21 +169,11 @@ docker container run --rm -it \ | ||||
|            -v $2_master-wazuh-var-multigroups:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-integrations:/from \ | ||||
|            -v $2_master-wazuh-integrations:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-active-response:/from \ | ||||
|            -v $2_master-wazuh-active-response:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-agentless:/from \ | ||||
|            -v $2_master-wazuh-agentless:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_ossec-wodles:/from \ | ||||
|            -v $2_master-wazuh-wodles:/to \ | ||||
| @@ -248,21 +214,11 @@ docker container run --rm -it \ | ||||
|            -v $2_worker-wazuh-var-multigroups:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-integrations:/from \ | ||||
|            -v $2_worker-wazuh-integrations:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-active-response:/from \ | ||||
|            -v $2_worker-wazuh-active-response:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-agentless:/from \ | ||||
|            -v $2_worker-wazuh-agentless:/to \ | ||||
|            alpine ash -c "cd /from ; cp -avp . /to" | ||||
|  | ||||
| docker container run --rm -it \ | ||||
|            -v wazuh-docker_worker-ossec-wodles:/from \ | ||||
|            -v $2_worker-wazuh-wodles:/to \ | ||||
|   | ||||
| @@ -1,24 +1,10 @@ | ||||
| <ossec_config> | ||||
|   <global> | ||||
|     <jsonout_output>yes</jsonout_output> | ||||
|     <alerts_log>yes</alerts_log> | ||||
|     <logall>no</logall> | ||||
|     <logall_json>no</logall_json> | ||||
|     <email_notification>no</email_notification> | ||||
|     <smtp_server>smtp.example.wazuh.com</smtp_server> | ||||
|     <email_from>wazuh@example.wazuh.com</email_from> | ||||
|     <email_to>recipient@example.wazuh.com</email_to> | ||||
|     <email_maxperhour>12</email_maxperhour> | ||||
|     <email_log_source>alerts.log</email_log_source> | ||||
|     <agents_disconnection_time>10m</agents_disconnection_time> | ||||
|     <agents_disconnection_time>15m</agents_disconnection_time> | ||||
|     <agents_disconnection_alert_time>0</agents_disconnection_alert_time> | ||||
|     <update_check>yes</update_check> | ||||
|   </global> | ||||
|  | ||||
|   <alerts> | ||||
|     <log_alert_level>3</log_alert_level> | ||||
|     <email_alert_level>12</email_alert_level> | ||||
|   </alerts> | ||||
|  | ||||
|   <!-- Choose between "plain", "json", or "plain,json" for the format of internal logs --> | ||||
|   <logging> | ||||
|     <log_format>plain</log_format> | ||||
| @@ -34,8 +20,6 @@ | ||||
|   <!-- Policy monitoring --> | ||||
|   <rootcheck> | ||||
|     <disabled>no</disabled> | ||||
|     <check_files>yes</check_files> | ||||
|     <check_trojans>yes</check_trojans> | ||||
|     <check_dev>yes</check_dev> | ||||
|     <check_sys>yes</check_sys> | ||||
|     <check_pids>yes</check_pids> | ||||
| @@ -45,31 +29,12 @@ | ||||
|     <!-- Frequency that rootcheck is executed - every 12 hours --> | ||||
|     <frequency>43200</frequency> | ||||
|  | ||||
|     <rootkit_files>etc/rootcheck/rootkit_files.txt</rootkit_files> | ||||
|     <rootkit_trojans>etc/rootcheck/rootkit_trojans.txt</rootkit_trojans> | ||||
|  | ||||
|     <skip_nfs>yes</skip_nfs> | ||||
|  | ||||
|     <ignore>/var/lib/containerd</ignore> | ||||
|     <ignore>/var/lib/docker/overlay2</ignore> | ||||
|   </rootcheck> | ||||
|  | ||||
|   <wodle name="cis-cat"> | ||||
|     <disabled>yes</disabled> | ||||
|     <timeout>1800</timeout> | ||||
|     <interval>1d</interval> | ||||
|     <scan-on-start>yes</scan-on-start> | ||||
|  | ||||
|     <java_path>wodles/java</java_path> | ||||
|     <ciscat_path>wodles/ciscat</ciscat_path> | ||||
|   </wodle> | ||||
|  | ||||
|   <!-- Osquery integration --> | ||||
|   <wodle name="osquery"> | ||||
|     <disabled>yes</disabled> | ||||
|     <run_daemon>yes</run_daemon> | ||||
|     <log_path>/var/log/osquery/osqueryd.results.log</log_path> | ||||
|     <config_path>/etc/osquery/osquery.conf</config_path> | ||||
|     <add_labels>yes</add_labels> | ||||
|   </wodle> | ||||
|  | ||||
|   <!-- System inventory --> | ||||
|   <wodle name="syscollector"> | ||||
|     <disabled>no</disabled> | ||||
| @@ -79,11 +44,17 @@ | ||||
|     <os>yes</os> | ||||
|     <network>yes</network> | ||||
|     <packages>yes</packages> | ||||
|     <ports all="no">yes</ports> | ||||
|     <ports all="yes">yes</ports> | ||||
|     <processes>yes</processes> | ||||
|     <users>yes</users> | ||||
|     <groups>yes</groups> | ||||
|     <services>yes</services> | ||||
|     <browser_extensions>yes</browser_extensions> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </wodle> | ||||
| @@ -92,7 +63,13 @@ | ||||
|     <enabled>yes</enabled> | ||||
|     <scan_on_start>yes</scan_on_start> | ||||
|     <interval>12h</interval> | ||||
|     <skip_nfs>yes</skip_nfs> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </sca> | ||||
|  | ||||
|   <vulnerability-detection> | ||||
| @@ -122,8 +99,6 @@ | ||||
|     <!-- Frequency that syscheck is executed default every 12 hours --> | ||||
|     <frequency>43200</frequency> | ||||
|  | ||||
|     <scan_on_start>yes</scan_on_start> | ||||
|  | ||||
|     <!-- Generate alert when new file detected --> | ||||
|     <alert_new_files>yes</alert_new_files> | ||||
|  | ||||
| @@ -163,13 +138,12 @@ | ||||
|     <process_priority>10</process_priority> | ||||
|  | ||||
|     <!-- Maximum output throughput --> | ||||
|     <max_eps>100</max_eps> | ||||
|     <max_eps>50</max_eps> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|     <synchronization> | ||||
|       <enabled>yes</enabled> | ||||
|       <interval>5m</interval> | ||||
|       <max_interval>1h</max_interval> | ||||
|       <max_eps>10</max_eps> | ||||
|     </synchronization> | ||||
|   </syscheck> | ||||
| @@ -264,13 +238,6 @@ | ||||
|     <rule_dir>etc/rules</rule_dir> | ||||
|   </ruleset> | ||||
|  | ||||
|   <rule_test> | ||||
|     <enabled>yes</enabled> | ||||
|     <threads>1</threads> | ||||
|     <max_sessions>64</max_sessions> | ||||
|     <session_timeout>15m</session_timeout> | ||||
|   </rule_test> | ||||
|  | ||||
|   <!-- Configuration for wazuh-authd --> | ||||
|   <auth> | ||||
|     <disabled>no</disabled> | ||||
| @@ -303,6 +270,16 @@ | ||||
| </ossec_config> | ||||
|  | ||||
| <ossec_config> | ||||
|   <localfile> | ||||
|     <log_format>journald</log_format> | ||||
|     <location>journald</location> | ||||
|   </localfile> | ||||
|  | ||||
|   <localfile> | ||||
|     <log_format>audit</log_format> | ||||
|     <location>/var/log/audit/audit.log</location> | ||||
|   </localfile> | ||||
|  | ||||
|   <localfile> | ||||
|     <log_format>syslog</log_format> | ||||
|     <location>/var/ossec/logs/active-responses.log</location> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ server.host: 0.0.0.0 | ||||
| server.port: 5601 | ||||
| opensearch.hosts: https://wazuh.indexer:9200 | ||||
| opensearch.ssl.verificationMode: certificate | ||||
| opensearch.requestHeadersWhitelist: ["securitytenant","Authorization"] | ||||
| opensearch.requestHeadersAllowlist: ["securitytenant","Authorization"] | ||||
| opensearch_security.multitenancy.enabled: false | ||||
| opensearch_security.readonly_mode.roles: ["kibana_read_only"] | ||||
| server.ssl.enabled: true | ||||
| @@ -10,3 +10,7 @@ server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem" | ||||
| server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem" | ||||
| opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"] | ||||
| uiSettings.overrides.defaultRoute: /app/wz-home | ||||
| # Session expiration settings | ||||
| opensearch_security.cookie.ttl: 900000 | ||||
| opensearch_security.session.ttl: 900000 | ||||
| opensearch_security.session.keepalive: true | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| network.host: "0.0.0.0" | ||||
| node.name: "wazuh.indexer" | ||||
| cluster.name: "wazuh-cluster" | ||||
| path.data: /var/lib/wazuh-indexer | ||||
| path.logs: /var/log/wazuh-indexer | ||||
| discovery.type: single-node | ||||
| http.port: 9200-9299 | ||||
| transport.tcp.port: 9300-9399 | ||||
| compatibility.override_main_response_version: true | ||||
| plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem | ||||
| plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key | ||||
| plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem | ||||
|   | ||||
| @@ -32,9 +32,7 @@ services: | ||||
|       - wazuh_logs:/var/ossec/logs | ||||
|       - wazuh_queue:/var/ossec/queue | ||||
|       - wazuh_var_multigroups:/var/ossec/var/multigroups | ||||
|       - wazuh_integrations:/var/ossec/integrations | ||||
|       - wazuh_active_response:/var/ossec/active-response/bin | ||||
|       - wazuh_agentless:/var/ossec/agentless | ||||
|       - wazuh_wodles:/var/ossec/wodles | ||||
|       - filebeat_etc:/etc/filebeat | ||||
|       - filebeat_var:/var/lib/filebeat | ||||
| @@ -60,13 +58,13 @@ services: | ||||
|         hard: 65536 | ||||
|     volumes: | ||||
|       - wazuh-indexer-data:/var/lib/wazuh-indexer | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem | ||||
|       - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml | ||||
|       - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.key | ||||
|       - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem | ||||
|       - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem | ||||
|       - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml | ||||
|       - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml | ||||
|  | ||||
|   wazuh.dashboard: | ||||
|     image: wazuh/wazuh-dashboard:5.0.0 | ||||
| @@ -102,9 +100,7 @@ volumes: | ||||
|   wazuh_logs: | ||||
|   wazuh_queue: | ||||
|   wazuh_var_multigroups: | ||||
|   wazuh_integrations: | ||||
|   wazuh_active_response: | ||||
|   wazuh_agentless: | ||||
|   wazuh_wodles: | ||||
|   filebeat_etc: | ||||
|   filebeat_var: | ||||
|   | ||||
| @@ -1,8 +1,10 @@ | ||||
| # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) | ||||
| services: | ||||
|   generator: | ||||
|     image: wazuh/wazuh-certs-generator:0.0.2 | ||||
|     image: wazuh/wazuh-certs-generator:0.0.3 | ||||
|     hostname: wazuh-certs-generator | ||||
|     environment: | ||||
|       - CERT_TOOL_VERSION=4.14 | ||||
|     volumes: | ||||
|       - ./config/wazuh_indexer_ssl_certs/:/certificates/ | ||||
|       - ./config/certs.yml:/config/certs.yml | ||||
|   | ||||
| @@ -83,7 +83,7 @@ | ||||
|     <os>yes</os> | ||||
|     <network>yes</network> | ||||
|     <packages>yes</packages> | ||||
|     <ports all="no">yes</ports> | ||||
|     <ports all="yes">yes</ports> | ||||
|     <processes>yes</processes> | ||||
|  | ||||
|     <!-- Database synchronization settings --> | ||||
|   | ||||
| @@ -1,6 +1,4 @@ | ||||
| # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) | ||||
| version: '3.7' | ||||
|  | ||||
| services: | ||||
|   wazuh.agent: | ||||
|     image: wazuh/wazuh-agent:5.0.0 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user