Compare commits

...
Author SHA1 Message Date
Victor Carlos Erenu 1da1f5083d Add documentation and update changelog 2026-08-06 00:17:40 +07:00
Victor Carlos Erenu 7e9eaac2bc Add a new AI assistant key on Wazuh dashboard keystore 2026-08-05 23:54:19 +07:00
Gonzalo Acuña 6852ecae39 Merge pull request #2560 from wazuh/change/3647-changelog-format-5.0.0
Update CHANGELOG.md format (#3647)
2026-07-31 10:15:53 -03:00
jesusph04 db24a0ea2d Update CHANGELOG.md format (#3647) 2026-07-31 12:37:56 +02:00
Gonzalo Acuña 01c0d4c7c2 Merge pull request #2554 from wazuh/merge-4.14.8-into-5.0.0
Merge 4.14.8 into 5.0.0
2026-07-24 12:31:12 -03:00
Victor Carlos Erenu 544fd8e111 Resoliving conflicts 2026-07-24 22:04:33 +07:00
Victor Carlos Erenu 3c53858c5a Resoliving conflicts 2026-07-24 22:02:39 +07:00
Gonzalo Acuña 355a1a4a90 Merge pull request #2553 from wazuh/merge-4.14.7-into-4.14.8
Merge 4.14.7 into 4.14.8
2026-07-24 11:44:57 -03:00
Victor Carlos Erenu f7f2248185 Resolving conflicts 2026-07-24 21:25:08 +07:00
Wazuh CI 4f51bef735 Merge pull request #2551 from wazuh/enhancement/wqa8238-bump-5.0.0
Bump 5.0.0 branch
2026-07-22 15:58:25 +02:00
wazuhci 68f81a6f6f feat: bump 5.0.0 2026-07-22 13:58:15 +00:00
Wazuh CI fc0e170315 Merge pull request #2550 from wazuh/enhancement/wqa8232-revert-bump-5.0.0
Revert bump 5.0.0 branch
2026-07-21 14:32:17 +02:00
wazuhci 04a4cdbd1e feat: revert 5.0.0 references 2026-07-21 12:32:12 +00:00
Wazuh CI 513f4d71ad Merge pull request #2549 from wazuh/enhancement/wqa8231-bump-5.0.0
Bump 5.0.0 branch
2026-07-21 13:01:42 +02:00
wazuhci 2a8d2d963d feat: bump 5.0.0 2026-07-21 11:01:34 +00:00
Carlos Bordon 14fc1019e8 Merge pull request #2547 from wazuh/change/2537-change-admin-user
Change admin user on IndexerConnector configuration
2026-07-15 12:39:49 -03:00
Victor Carlos Erenu d2971cb198 Change fix user functionnn 2026-07-15 20:24:22 +07:00
Victor Carlos Erenu fb20a0d1ba Change admin user on IndexerConnector configuration 2026-07-15 17:42:58 +07:00
Victor Carlos Erenu 76be72bc08 Change admin user on IndexerConnector configuration 2026-07-15 17:40:17 +07:00
Julia Magán adcc5b57d2 Merge pull request #2540 from wazuh/enhancement/2536-revert-image-tag
Revert image tag for 4.14.7
2026-07-09 12:10:27 +02:00
Carlos Anguita López ecea95427b revert image tag 2026-07-09 12:03:51 +02:00
Gonzalo Acuña d83dfe5cfd Merge pull request #2539 from wazuh/change/3534-prs-revamp-changelog-check-workflow
Add new WF for changelog check
2026-07-08 14:47:35 -03:00
fcaffieri 031c66c671 Update CHANGELOG.md 2026-07-08 14:30:59 -03:00
fcaffieri 6edf9cf598 Add new WF for changelog check 2026-07-08 14:19:47 -03:00
Wazuh CI 82ada64e37 Merge pull request #2538 from wazuh/enhancement/wqa8102-bump-4.14.7
Bump 4.14.7 branch
2026-07-08 19:11:23 +02:00
wazuhci a6558e8f4a feat: bump 4.14.7 2026-07-08 17:11:16 +00:00
Gonzalo Acuña b92438499b Merge pull request #2533 from wazuh/bug/2185-fix-bumper-to5.0.0
Fix bumper workflow failure when bump produces no changes
2026-07-08 08:45:49 -03:00
Gonzalo Acuña af31c08f70 Merge pull request #2534 from wazuh/bug/2185-fix-bumper-to4.14.7
Fix bumper workflow failure when bump produces no changes
2026-07-08 08:45:42 -03:00
Gonzalo Acuña 1822f025af Merge pull request #2535 from wazuh/change/5419-update-security-policy
Update security policy
2026-07-07 12:41:03 -03:00
Vikman Fernandez-Castro daa919db58 docs(security): update security policy 2026-07-07 16:12:20 +02:00
fcaffieri d8087b2238 Merge branch 'bug/2185-fix-bumper-to5.0.0' of https://github.com/wazuh/wazuh-docker into bug/2185-fix-bumper-to5.0.0 2026-07-07 09:47:11 -03:00
fcaffieri 495b67251e Update CHANGELOG 2026-07-07 09:46:59 -03:00
fcaffieri 80807a1cf9 Update CHANGELOG 2026-07-07 09:46:37 -03:00
fcaffieri 1c8583f366 Fix bumper workflow failure when bump produces no changes 2026-07-06 22:02:19 -03:00
Federico Caffieri 63b8af98d3 Merge branch '5.0.0' into bug/2185-fix-bumper-to5.0.0 2026-07-06 22:01:40 -03:00
fcaffieri 3f2ebfac37 Fix bumper workflow failure when bump produces no changes 2026-07-06 22:00:23 -03:00
Wazuh CI 8357d2c3ad Merge pull request #2530 from wazuh/enhancement/wqa8053-bump-5.0.0
Bump 5.0.0 branch
2026-07-06 17:55:14 +02:00
wazuhci 577f2e0af7 feat: bump 5.0.0 2026-07-06 15:55:07 +00:00
Gonzalo Acuña d5dddfbbd8 Merge pull request #2528 from wazuh/change/2524-wazuh-agent-authd.pass-configuration
Wazuh agent authd.pass configuration
2026-07-03 13:50:00 -03:00
Victor Carlos Erenu e153333402 Update changelog 2026-07-03 22:43:24 +07:00
Victor Carlos Erenu ffd39b0191 Add Wazuh agent authd.pass configuration in repository documentation 2026-07-03 22:24:59 +07:00
Victor Carlos Erenu 1f2b777866 Add authd.pass file configuration on Wazuh agent container deployment 2026-07-03 22:14:56 +07:00
Wazuh CI 4d9cfab272 Merge pull request #2527 from wazuh/enhancement/wqa8041-bump-4.14.8
Bump 4.14.8 branch
2026-07-03 17:05:31 +02:00
wazuhci fb0110a1c3 feat: bump 4.14.8 2026-07-03 15:05:24 +00:00
Wazuh CI b2a559d081 Merge pull request #2523 from wazuh/enhancement/wqa8013-revert-bump-5.0.0
Revert bump 5.0.0 branch
2026-07-02 17:54:04 +02:00
wazuhci b8368a207a feat: revert 5.0.0 references 2026-07-02 15:53:58 +00:00
23 changed files with 278 additions and 139 deletions
@@ -6,7 +6,7 @@ on:
inputs: inputs:
image_tag: image_tag:
description: 'Docker image tag' description: 'Docker image tag'
default: '4.14.7' default: '4.14.8'
required: true required: true
docker_reference: docker_reference:
description: 'wazuh-docker reference' description: 'wazuh-docker reference'
@@ -38,7 +38,7 @@ on:
inputs: inputs:
image_tag: image_tag:
description: 'Docker image tag' description: 'Docker image tag'
default: '4.14.7' default: '4.14.8'
required: true required: true
type: string type: string
docker_reference: docker_reference:
+18 -5
View File
@@ -110,13 +110,21 @@ jobs:
bash ${{ env.BUMP_SCRIPT_PATH }} ${{ steps.vars.outputs.script_params }} bash ${{ env.BUMP_SCRIPT_PATH }} ${{ steps.vars.outputs.script_params }}
- name: Commit and push changes - name: Commit and push changes
id: bump_commit
run: | run: |
git add . git add .
git commit -m "feat: bump ${{ github.ref_name }}" if git diff --staged --quiet; then
git push origin ${{ steps.vars.outputs.branch_name }} echo "Nothing to bump: the repository is already at the requested version/stage. Skipping commit."
echo "has_changes=false" >> $GITHUB_OUTPUT
else
git commit -m "feat: bump ${{ github.ref_name }}"
git push origin ${{ steps.vars.outputs.branch_name }}
echo "has_changes=true" >> $GITHUB_OUTPUT
fi
- name: Create pull request - name: Create pull request
id: create_pr id: create_pr
if: steps.bump_commit.outputs.has_changes == 'true'
run: | run: |
gh auth setup-git gh auth setup-git
PR_URL=$(gh pr create \ PR_URL=$(gh pr create \
@@ -129,14 +137,19 @@ jobs:
echo "pull_request_url=${PR_URL}" >> $GITHUB_OUTPUT echo "pull_request_url=${PR_URL}" >> $GITHUB_OUTPUT
- name: Merge pull request - name: Merge pull request
if: steps.bump_commit.outputs.has_changes == 'true'
run: | run: |
# Any checks for the PR are bypassed since the branch is expected to be functional (i.e. the bump process does not introduce any bugs) # Any checks for the PR are bypassed since the branch is expected to be functional (i.e. the bump process does not introduce any bugs)
gh pr merge "${{ steps.create_pr.outputs.pull_request_url }}" --merge --admin gh pr merge "${{ steps.create_pr.outputs.pull_request_url }}" --merge --admin
- name: Show logs - name: Show logs
run: | run: |
echo "Bump complete." if [[ "${{ steps.bump_commit.outputs.has_changes }}" == "true" ]]; then
echo "Branch: ${{ steps.vars.outputs.branch_name }}" echo "Bump complete."
echo "PR: ${{ steps.create_pr.outputs.pull_request_url }}" echo "Branch: ${{ steps.vars.outputs.branch_name }}"
echo "PR: ${{ steps.create_pr.outputs.pull_request_url }}"
else
echo "Bump skipped: the repository is already at the requested version/stage."
fi
echo "Bumper scripts logs:" echo "Bumper scripts logs:"
cat ${BUMP_LOG_PATH}/repository_bumper*log cat ${BUMP_LOG_PATH}/repository_bumper*log
@@ -6,7 +6,7 @@ on:
inputs: inputs:
image_tag: image_tag:
description: 'Docker image tag' description: 'Docker image tag'
default: 'v5.0.0-beta3' default: '5.0.0'
required: true required: true
docker_reference: docker_reference:
description: 'wazuh-docker reference' description: 'wazuh-docker reference'
@@ -14,7 +14,7 @@ on:
wazuh_automation_reference: wazuh_automation_reference:
description: 'Branch or tag of the wazuh-automation repository' description: 'Branch or tag of the wazuh-automation repository'
required: false required: false
default: 'v5.0.0-beta3' default: '5.0.0'
products: products:
description: 'Comma-separated list of the image names to build and push' description: 'Comma-separated list of the image names to build and push'
default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent' default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent'
@@ -42,7 +42,7 @@ on:
inputs: inputs:
image_tag: image_tag:
description: 'Docker image tag' description: 'Docker image tag'
default: 'v5.0.0-beta3' default: '5.0.0'
required: true required: true
type: string type: string
docker_reference: docker_reference:
@@ -52,7 +52,7 @@ on:
wazuh_automation_reference: wazuh_automation_reference:
description: 'Branch or tag of the wazuh-automation repository' description: 'Branch or tag of the wazuh-automation repository'
required: false required: false
default: 'v5.0.0-beta3' default: '5.0.0'
type: string type: string
products: products:
description: 'Comma-separated list of the image names to build and push' description: 'Comma-separated list of the image names to build and push'
+18 -7
View File
@@ -144,10 +144,17 @@ jobs:
bash ${{ env.BUMP_SCRIPT_PATH }} ${{ steps.vars.outputs.script_params }} bash ${{ env.BUMP_SCRIPT_PATH }} ${{ steps.vars.outputs.script_params }}
- name: Commit changes (Bump) - name: Commit changes (Bump)
id: bump_commit
if: inputs.revert != true if: inputs.revert != true
run: | run: |
git add . git add .
git commit -m "feat: bump ${{ github.ref_name }}" if git diff --staged --quiet; then
echo "Nothing to bump: the repository is already at the requested version/stage. Skipping commit."
echo "has_changes=false" >> $GITHUB_OUTPUT
else
git commit -m "feat: bump ${{ github.ref_name }}"
echo "has_changes=true" >> $GITHUB_OUTPUT
fi
- name: Fetch full history (Revert) - name: Fetch full history (Revert)
if: inputs.revert == true if: inputs.revert == true
@@ -198,13 +205,13 @@ jobs:
fi fi
- name: Push changes - name: Push changes
if: inputs.revert != true || (inputs.revert == true && steps.revert_step.outputs.has_changes == 'true') if: (inputs.revert != true && steps.bump_commit.outputs.has_changes == 'true') || (inputs.revert == true && steps.revert_step.outputs.has_changes == 'true')
run: | run: |
git push origin ${{ steps.vars.outputs.branch_name }} git push origin ${{ steps.vars.outputs.branch_name }}
- name: Create pull request - name: Create pull request
id: create_pr id: create_pr
if: inputs.revert != true || (inputs.revert == true && steps.revert_step.outputs.has_changes == 'true') if: (inputs.revert != true && steps.bump_commit.outputs.has_changes == 'true') || (inputs.revert == true && steps.revert_step.outputs.has_changes == 'true')
run: | run: |
gh auth setup-git gh auth setup-git
PR_URL=$(gh pr create \ PR_URL=$(gh pr create \
@@ -217,7 +224,7 @@ jobs:
echo "pull_request_url=${PR_URL}" >> $GITHUB_OUTPUT echo "pull_request_url=${PR_URL}" >> $GITHUB_OUTPUT
- name: Merge pull request - name: Merge pull request
if: inputs.revert != true || (inputs.revert == true && steps.revert_step.outputs.has_changes == 'true') if: (inputs.revert != true && steps.bump_commit.outputs.has_changes == 'true') || (inputs.revert == true && steps.revert_step.outputs.has_changes == 'true')
run: | run: |
# Any checks for the PR are bypassed since the branch is expected to be functional # Any checks for the PR are bypassed since the branch is expected to be functional
gh pr merge "${{ steps.create_pr.outputs.pull_request_url }}" --merge --admin gh pr merge "${{ steps.create_pr.outputs.pull_request_url }}" --merge --admin
@@ -225,9 +232,13 @@ jobs:
- name: Show logs - name: Show logs
if: inputs.revert != true if: inputs.revert != true
run: | run: |
echo "Bump complete." if [[ "${{ steps.bump_commit.outputs.has_changes }}" == "true" ]]; then
echo "Branch: ${{ steps.vars.outputs.branch_name }}" echo "Bump complete."
echo "PR: ${{ steps.create_pr.outputs.pull_request_url }}" echo "Branch: ${{ steps.vars.outputs.branch_name }}"
echo "PR: ${{ steps.create_pr.outputs.pull_request_url }}"
else
echo "Bump skipped: the repository is already at the requested version/stage."
fi
echo "Bumper scripts logs:" echo "Bumper scripts logs:"
cat ${BUMP_LOG_PATH}/repository_bumper*log cat ${BUMP_LOG_PATH}/repository_bumper*log
+62
View File
@@ -0,0 +1,62 @@
name: 5.x Changelog check
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
jobs:
changelog_check:
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
if: ${{ github.event_name == 'pull_request' && !github.event.pull_request.draft && !contains(github.event.pull_request.labels.*.name, 'no-changelog') }}
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Validate CHANGELOG.md changes
env:
BASE_REF: ${{ github.base_ref }}
run: |
UPDATED="✅" FORMAT="—" INVALID=""
ADDED=$(git diff -U0 "origin/${BASE_REF}...HEAD" -- CHANGELOG.md | grep -E '^\+[^+]' | sed 's/^+//' || true)
if [ -z "$ADDED" ]; then
UPDATED="❌"
echo "::error::CHANGELOG.md was not updated with new entries. Add one or add the 'no-changelog' label to skip this check."
else
FORMAT="✅"
ENTRY_REGEX='^- .+ \(\[#[0-9]+\]\(https://github\.com/[^)]+/(issues|pull)/[0-9]+\)\)$'
INVALID=$(echo "$ADDED" | grep -E '^- ' | grep -vx -- '- None' | grep -vE "$ENTRY_REGEX" || true)
if [ -n "$INVALID" ]; then
FORMAT="❌"
echo "::error::Invalid CHANGELOG.md entries. Expected format: '- Description ([#123](https://github.com/<org>/<repo>/issues/123))'. Offending lines:"
echo "$INVALID"
fi
fi
{
echo "## Changelog check"
echo ""
echo "| Check | Result |"
echo "|---|---|"
echo "| CHANGELOG.md has new entries | $UPDATED |"
echo "| Entry format | $FORMAT |"
if [ -n "$INVALID" ]; then
echo ""
echo "Offending lines:"
echo '```'
echo "$INVALID"
echo '```'
fi
} >> "$GITHUB_STEP_SUMMARY"
if [ "$UPDATED" != "✅" ] || [ "$FORMAT" != "✅" ]; then
exit 1
fi
echo "CHANGELOG.md update is valid."
@@ -16,7 +16,7 @@ on:
automation_reference: automation_reference:
description: 'Branch of wazuh-automation to use' description: 'Branch of wazuh-automation to use'
required: false required: false
default: 'v5.0.0-beta3' default: '5.0.0'
type: string type: string
deployment_type: deployment_type:
description: 'Deployment type to test' description: 'Deployment type to test'
+76 -64
View File
@@ -1,78 +1,90 @@
# Change Log
All notable changes to this project will be documented in this file.
## [v5.0.0] ## [v5.0.0]
### Added ### Added
- Added bump-issue-link support for Revert Stage Bump. ([#2505](https://github.com/wazuh/wazuh-docker/pull/2505))
- Add integration test module docs ([#2491](https://github.com/wazuh/wazuh-docker/pull/2491)) | Issue | Comment |
- Implement the wazuh-docker integration testing module ([#2188](https://github.com/wazuh/wazuh-docker/issues/2188)) | - | - |
- Support Revert bump functionality in wazuh-docker ([#2320](https://github.com/wazuh/wazuh-docker/issues/2320)) | [#2524](https://github.com/wazuh/wazuh-docker/issues/2524) | Set authd password in agents installation. |
- Docker and AMI workflows failing during stage release (v5.0.0-beta1) ([#35457](https://github.com/wazuh/wazuh/issues/35457)) | [#2505](https://github.com/wazuh/wazuh-docker/pull/2505) | Added bump-issue-link support for Revert Stage Bump. |
- Add `--set-as-main` flag support to repository bumper — `wazuh-docker` ([#2276](https://github.com/wazuh/wazuh-docker/issues/2276)) | [#2491](https://github.com/wazuh/wazuh-docker/pull/2491) | Add integration test module docs |
| [#2188](https://github.com/wazuh/wazuh-docker/issues/2188) | Implement the wazuh-docker integration testing module |
| [#2320](https://github.com/wazuh/wazuh-docker/issues/2320) | Support Revert bump functionality in wazuh-docker |
| [#35457](https://github.com/wazuh/wazuh/issues/35457) | Docker and AMI workflows failing during stage release (v5.0.0-beta1) |
| [#2276](https://github.com/wazuh/wazuh-docker/issues/2276) | Add `--set-as-main` flag support to repository bumper — `wazuh-docker` |
### Changed ### Changed
- Change artifact upload and download ([#2502](https://github.com/wazuh/wazuh-docker/issues/2502))
- Change runners on repository workflows 5.x ([#2471](https://github.com/wazuh/wazuh-docker/issues/2471)) | Issue | Comment |
- PR revamp modifications 5.x ([#2446](https://github.com/wazuh/wazuh-docker/issues/2446)) | - | - |
- Forbid pr_check workflow execution in draft PRs ([#2399](https://github.com/wazuh/wazuh-docker/issues/2399)) | [#2564](https://github.com/wazuh/wazuh-docker/issues/2564) | Add default AI assistant encryption key in the post installation script |
- Unification of user UID and GID ([#2375](https://github.com/wazuh/wazuh-docker/issues/2375)) | [#2537](https://github.com/wazuh/wazuh-docker/issues/2537) | Update deployment for Wazuh Indexer 5.0.0 RBAC |
- Wazuh indexer engine requirements ([#2392](https://github.com/wazuh/wazuh-docker/issues/2392)) | [#2539](https://github.com/wazuh/wazuh-docker/pull/2539) | Add new WF for changelog check |
- Image build process update ([#2356](https://github.com/wazuh/wazuh-docker/issues/2356)) | [#2502](https://github.com/wazuh/wazuh-docker/issues/2502) | Change artifact upload and download |
- Add new path on artifact_urls file ([#2344](https://github.com/wazuh/wazuh-docker/issues/2344)) | [#2471](https://github.com/wazuh/wazuh-docker/issues/2471) | Change runners on repository workflows 5.x |
- Unable to generate single component in `Procedure_push_docker_images` ([#2341](https://github.com/wazuh/wazuh-docker/issues/2341)) | [#2446](https://github.com/wazuh/wazuh-docker/issues/2446) | PR revamp modifications 5.x |
- Adapt bumper workflows to change main branch ([#2294](https://github.com/wazuh/wazuh-docker/issues/2294)) | [#2399](https://github.com/wazuh/wazuh-docker/issues/2399) | Forbid pr_check workflow execution in draft PRs |
- Ensure default values are used for variables and passwords ([#2288](https://github.com/wazuh/wazuh-docker/issues/2288)) | [#2375](https://github.com/wazuh/wazuh-docker/issues/2375) | Unification of user UID and GID |
- Docker - Ensure correct Wazuh manager certificates ownership ([#2283](https://github.com/wazuh/wazuh-docker/issues/2283)) | [#2392](https://github.com/wazuh/wazuh-docker/issues/2392) | Wazuh indexer engine requirements |
- Docker - Standarize Artifact URL keys ([#2278](https://github.com/wazuh/wazuh-docker/issues/2278)) | [#2356](https://github.com/wazuh/wazuh-docker/issues/2356) | Image build process update |
- Modify artifact URLs file name. ([#2266](https://github.com/wazuh/wazuh-docker/issues/2266)) | [#2344](https://github.com/wazuh/wazuh-docker/issues/2344) | Add new path on artifact_urls file |
- URL presigned file - Update the Wazuh Docker image creation workflow ([#2218](https://github.com/wazuh/wazuh-docker/issues/2218)) | [#2341](https://github.com/wazuh/wazuh-docker/issues/2341) | Unable to generate single component in `Procedure_push_docker_images` |
- Updated wazuh-docker documentation config and tooling versions to meet new standards. ([#2264](https://github.com/wazuh/wazuh-docker/issues/2264)) | [#2294](https://github.com/wazuh/wazuh-docker/issues/2294) | Adapt bumper workflows to change main branch |
- Align cert generation steps with current cert-tool ip validation ([#2250](https://github.com/wazuh/wazuh-docker/issues/2250)) | [#2288](https://github.com/wazuh/wazuh-docker/issues/2288) | Ensure default values are used for variables and passwords |
- Modify Healthchecks ([#2252](https://github.com/wazuh/wazuh-docker/issues/2252)) | [#2283](https://github.com/wazuh/wazuh-docker/issues/2283) | Docker - Ensure correct Wazuh manager certificates ownership |
- Add deployment healthchecks ([#2251](https://github.com/wazuh/wazuh-docker/issues/2251)) | [#2278](https://github.com/wazuh/wazuh-docker/issues/2278) | Docker - Standarize Artifact URL keys |
- Update artifact generation jobs to use wz-linux dedicated runner group ([#2242](https://github.com/wazuh/wazuh-docker/issues/2242)) | [#2266](https://github.com/wazuh/wazuh-docker/issues/2266) | Modify artifact URLs file name. |
- Error during Wazuh manager entrypoint ([#2237](https://github.com/wazuh/wazuh-docker/issues/2237)) | [#2218](https://github.com/wazuh/wazuh-docker/issues/2218) | URL presigned file - Update the Wazuh Docker image creation workflow |
- Adapt PR test for workflow_dispatch option ([#2230](https://github.com/wazuh/wazuh-docker/issues/2230)) | [#2264](https://github.com/wazuh/wazuh-docker/issues/2264) | Updated wazuh-docker documentation config and tooling versions to meet new standards. |
- Wazuh Manager/agent Separation - Breaking changes summary ([#2227](https://github.com/wazuh/wazuh-docker/issues/2227)) | [#2250](https://github.com/wazuh/wazuh-docker/issues/2250) | Align cert generation steps with current cert-tool ip validation |
- Errors in wazuh-docker PR Test ([#2222](https://github.com/wazuh/wazuh-docker/issues/2222)) | [#2252](https://github.com/wazuh/wazuh-docker/issues/2252) | Modify Healthchecks |
- Development - Separate Agent/Manager - Docker - Adapt image build process ([#2206](https://github.com/wazuh/wazuh-docker/issues/2206)) | [#2251](https://github.com/wazuh/wazuh-docker/issues/2251) | Add deployment healthchecks |
- Remove revision input ([#2217](https://github.com/wazuh/wazuh-docker/issues/2217)) | [#2242](https://github.com/wazuh/wazuh-docker/issues/2242) | Update artifact generation jobs to use wz-linux dedicated runner group |
- Build images script improvement ([#2196](https://github.com/wazuh/wazuh-docker/issues/2196)) | [#2237](https://github.com/wazuh/wazuh-docker/issues/2237) | Error during Wazuh manager entrypoint |
- Missing documentation in the wazuh-docker repository ([#2197](https://github.com/wazuh/wazuh-docker/issues/2197)) | [#2230](https://github.com/wazuh/wazuh-docker/issues/2230) | Adapt PR test for workflow_dispatch option |
- Add Wazuh version and revision into wazuh-certs-tool and config file ([#2195](https://github.com/wazuh/wazuh-docker/issues/2195)) | [#2227](https://github.com/wazuh/wazuh-docker/issues/2227) | Wazuh Manager/agent Separation - Breaking changes summary |
- Improve S3 artifact URLs handling ([#2172](https://github.com/wazuh/wazuh-docker/issues/2172)) | [#2222](https://github.com/wazuh/wazuh-docker/issues/2222) | Errors in wazuh-docker PR Test |
- Allow building separate targets ([#2164](https://github.com/wazuh/wazuh-docker/issues/2164)) | [#2206](https://github.com/wazuh/wazuh-docker/issues/2206) | Development - Separate Agent/Manager - Docker - Adapt image build process |
- Add developement option when tag name is only version without stage ([#2179](https://github.com/wazuh/wazuh-docker/issues/2179)) | [#2217](https://github.com/wazuh/wazuh-docker/issues/2217) | Remove revision input |
- Add IMAGE_TAG stage reference ([#2178](https://github.com/wazuh/wazuh-docker/issues/2178)) | [#2196](https://github.com/wazuh/wazuh-docker/issues/2196) | Build images script improvement |
- Remove Wazuh agent configuration template ([#2171](https://github.com/wazuh/wazuh-docker/issues/2171)) | [#2197](https://github.com/wazuh/wazuh-docker/issues/2197) | Missing documentation in the wazuh-docker repository |
- Docker - Ensure `run_as` set to true for every deployment alternative ([#2156](https://github.com/wazuh/wazuh-docker/issues/2156)) | [#2195](https://github.com/wazuh/wazuh-docker/issues/2195) | Add Wazuh version and revision into wazuh-certs-tool and config file |
- Change macOS and Windows deployment documentation ([#2150](https://github.com/wazuh/wazuh-docker/issues/2150)) | [#2172](https://github.com/wazuh/wazuh-docker/issues/2172) | Improve S3 artifact URLs handling |
- Modify docker build image process ([#2131](https://github.com/wazuh/wazuh-docker/issues/2131)) | [#2164](https://github.com/wazuh/wazuh-docker/issues/2164) | Allow building separate targets |
- Update documentation for Wazuh Docker image builder and workflow usage ([#2136](https://github.com/wazuh/wazuh-docker/issues/2136)) | [#2179](https://github.com/wazuh/wazuh-docker/issues/2179) | Add developement option when tag name is only version without stage |
- Configure deployment with environment variables ([#2081](https://github.com/wazuh/wazuh-docker/issues/2081)) | [#2178](https://github.com/wazuh/wazuh-docker/issues/2178) | Add IMAGE_TAG stage reference |
- Modify Wazuh components install method ([#2058](https://github.com/wazuh/wazuh-docker/issues/2058)) | [#2171](https://github.com/wazuh/wazuh-docker/issues/2171) | Remove Wazuh agent configuration template |
- Image builder Workflow Rebuild ([#2054](https://github.com/wazuh/wazuh-docker/issues/2054)) | [#2156](https://github.com/wazuh/wazuh-docker/issues/2156) | Docker - Ensure `run_as` set to true for every deployment alternative |
- Remove Wazuh Manager deprecated daemons and CLI tools ([#1933](https://github.com/wazuh/wazuh-docker/issues/1933)) | [#2150](https://github.com/wazuh/wazuh-docker/issues/2150) | Change macOS and Windows deployment documentation |
- DevOps - Docker - OpenSearch 3.0 deprecated settings ([#1891](https://github.com/wazuh/wazuh-docker/issues/1891)) | [#2131](https://github.com/wazuh/wazuh-docker/issues/2131) | Modify docker build image process |
| [#2136](https://github.com/wazuh/wazuh-docker/issues/2136) | Update documentation for Wazuh Docker image builder and workflow usage |
| [#2081](https://github.com/wazuh/wazuh-docker/issues/2081) | Configure deployment with environment variables |
| [#2058](https://github.com/wazuh/wazuh-docker/issues/2058) | Modify Wazuh components install method |
| [#2054](https://github.com/wazuh/wazuh-docker/issues/2054) | Image builder Workflow Rebuild |
| [#1933](https://github.com/wazuh/wazuh-docker/issues/1933) | Remove Wazuh Manager deprecated daemons and CLI tools |
| [#1891](https://github.com/wazuh/wazuh-docker/issues/1891) | DevOps - Docker - OpenSearch 3.0 deprecated settings |
### Removed ### Removed
- None | Issue | Comment |
| - | - |
### Fixed ### Fixed
- Bumper script issue when the tag is set to false ([#2477](https://github.com/wazuh/wazuh-docker/issues/2477))
- Fix reported WF vulnerabilities ([#2443](https://github.com/wazuh/wazuh-docker/issues/2443))
- Adapt Wazuh manager healthcheck with local binaries ([#2422](https://github.com/wazuh/wazuh-docker/issues/2422))
- The Wazuh Docker image cannot be built during the Nightly ([#2337](https://github.com/wazuh/wazuh-docker/issues/2337))
- Docker and AMI workflows failing during stage release (v5.0.0-beta1) ([#35457](https://github.com/wazuh/wazuh/issues/35457))
- PR check issues ([#2274](https://github.com/wazuh/wazuh-docker/issues/2274))
- Wazuh manager Healthcheck ([#2271](https://github.com/wazuh/wazuh-docker/issues/2271))
- Delete WAZUH_AGENT_GROUPS of Wazuh 5.0.0 images build ([#2258](https://github.com/wazuh/wazuh-docker/issues/2258))
- Development - DevOps 5.0 adaptation - Docker - Delete lists directory references ([#2128](https://github.com/wazuh/wazuh-docker/issues/2128))
## Prior version | Issue | Comment |
- []() | - | - |
| [#2533](https://github.com/wazuh/wazuh-docker/pull/2533) | Fix bumper workflow failure when bump produces no changes |
| [#2477](https://github.com/wazuh/wazuh-docker/issues/2477) | Bumper script issue when the tag is set to false |
| [#2443](https://github.com/wazuh/wazuh-docker/issues/2443) | Fix reported WF vulnerabilities |
| [#2422](https://github.com/wazuh/wazuh-docker/issues/2422) | Adapt Wazuh manager healthcheck with local binaries |
| [#2337](https://github.com/wazuh/wazuh-docker/issues/2337) | The Wazuh Docker image cannot be built during the Nightly |
| [#35457](https://github.com/wazuh/wazuh/issues/35457) | Docker and AMI workflows failing during stage release (v5.0.0-beta1) |
| [#2274](https://github.com/wazuh/wazuh-docker/issues/2274) | PR check issues |
| [#2271](https://github.com/wazuh/wazuh-docker/issues/2271) | Wazuh manager Healthcheck |
| [#2258](https://github.com/wazuh/wazuh-docker/issues/2258) | Delete WAZUH_AGENT_GROUPS of Wazuh 5.0.0 images build |
| [#2128](https://github.com/wazuh/wazuh-docker/issues/2128) | Development - DevOps 5.0 adaptation - Docker - Delete lists directory references |
## Prior versions
- []()
+19 -8
View File
@@ -1,6 +1,6 @@
# Wazuh Open Source Project Security Policy # Wazuh Open Source Project Security Policy
Version: 2023-06-12 Version: 2026-07-06
## Introduction ## Introduction
This document outlines the Security Policy for Wazuh's open source projects. It emphasizes our commitment to maintain a secure environment for our users and contributors, and reflects our belief in the power of collaboration to identify and resolve security vulnerabilities. This document outlines the Security Policy for Wazuh's open source projects. It emphasizes our commitment to maintain a secure environment for our users and contributors, and reflects our belief in the power of collaboration to identify and resolve security vulnerabilities.
@@ -13,16 +13,27 @@ If you believe you've discovered a potential security vulnerability in one of ou
Please submit your findings as security advisories under the "Security" tab in the relevant GitHub repository. Alternatively, you may send the details of your findings to [security@wazuh.com](mailto:security@wazuh.com). Please submit your findings as security advisories under the "Security" tab in the relevant GitHub repository. Alternatively, you may send the details of your findings to [security@wazuh.com](mailto:security@wazuh.com).
## Reporting Vulnerabilities in Non-GA Versions
Wazuh publishes pre-release versions (Alphas, Betas, and Release Candidates) of its open source projects ahead of General Availability (GA) to gather community feedback. If you discover a potential security vulnerability in one of these non-GA versions, please report it following the process described above.
Upon receiving such a report, we will determine whether the vulnerability:
- **Affects only non-GA version(s)**: We will manage the report privately by opening a GitHub Security Advisory (GHSA). Since the affected code has not been part of a GA release, the vulnerability is not eligible for a CVE ID, consistent with the [CNA Operational Rules](https://www.cve.org/ResourcesSupport/AllResources/CNARules). Once resolved, the GHSA will be converted into a public issue instead of a security advisory.
- **Also affects a previously released GA version**: We will continue managing the report as a GHSA and evaluate requesting a CVE ID for the GA-affected versions, in accordance with the eligibility criteria in the CNA Operational Rules.
## Vulnerability Disclosure Policy ## Vulnerability Disclosure Policy
Upon receiving a report of a potential vulnerability, our team will initiate an investigation. If the reported issue is confirmed as a vulnerability, we will take the following steps: Upon receiving a report of a potential vulnerability, our team will initiate an investigation. If the reported issue is confirmed as a vulnerability, we will take the following steps:
1. Acknowledgment: We will acknowledge the receipt of your vulnerability report and begin our investigation. 1. **Acknowledgment**: We will acknowledge the receipt of your vulnerability report and begin our investigation.
2. Validation: We will validate the issue and work on reproducing it in our environment. 2. **Validation**: We will validate the issue and work on reproducing it in our environment.
3. Remediation: We will work on a fix and thoroughly test it 3. **Remediation**: We will develop a fix, have it reviewed, and merge it once thoroughly tested.
4. Release & Disclosure: After 90 days from the discovery of the vulnerability, or as soon as a fix is ready and thoroughly tested (whichever comes first), we will release a security update for the affected project. We will also publicly disclose the vulnerability by publishing a CVE (Common Vulnerabilities and Exposures) and acknowledging the discovering party. 4. **Release**: We will publish a security release for the affected project that includes the fix.
5. Exceptions: In order to preserve the security of the Wazuh community at large, we might extend the disclosure period to allow users to patch their deployments. 5. **Rollout**: We will confirm that the fix has been applied to environments managed by Wazuh before proceeding with disclosure.
6. **Disclosure**: Once the fix has been released and confirmed in managed environments, we will publicly disclose the vulnerability by publishing a CVE (Common Vulnerabilities and Exposures), where applicable, and acknowledging the discovering party.
7. **Exceptions**: In order to preserve the security of the Wazuh community at large, we might extend the disclosure period to allow users to patch their deployments.
This 90-day period allows for end-users to update their systems and minimizes the risk of widespread exploitation of the vulnerability. Steps 1 through 6 will be completed within 90 days from the report of the vulnerability. This period allows for end-users to update their systems and minimizes the risk of widespread exploitation of the vulnerability.
## Automatic Scanning ## Automatic Scanning
We leverage GitHub Actions to perform automated scans of our supply chain. These scans assist us in identifying vulnerabilities and outdated dependencies in a proactive and timely manner. We leverage GitHub Actions to perform automated scans of our supply chain. These scans assist us in identifying vulnerabilities and outdated dependencies in a proactive and timely manner.
@@ -42,4 +53,4 @@ We ask that all users and contributors respect this policy and the security of o
## Changes to this Security Policy ## Changes to this Security Policy
This policy may be revised from time to time. Each version of the policy will be identified at the top of the page by its effective date. This policy may be revised from time to time. Each version of the policy will be identified at the top of the page by its effective date.
If you have any questions about this Security Policy, please contact us at [security@wazuh.com](mailto:security@wazuh.com) If you have any questions about this Security Policy, please contact us at [security@wazuh.com](mailto:security@wazuh.com)
+1 -1
View File
@@ -1,4 +1,4 @@
{ {
"version": "5.0.0", "version": "5.0.0",
"stage": "beta3" "stage": "rc1"
} }
+1 -2
View File
@@ -36,8 +36,7 @@ RUN dnf install procps shadow-utils -y && \
curl -o /wazuh-agent.rpm "${agent_url}" && \ curl -o /wazuh-agent.rpm "${agent_url}" && \
dnf install /wazuh-agent.rpm -y && \ dnf install /wazuh-agent.rpm -y && \
rm -rf /wazuh-agent.rpm && \ rm -rf /wazuh-agent.rpm && \
dnf clean all && \ dnf clean all
sed -i '/<authorization_pass_path>/d' /var/ossec/etc/ossec.conf
# Download tini static binary (no external library dependencies) # Download tini static binary (no external library dependencies)
RUN curl --fail --silent -L \ RUN curl --fail --silent -L \
@@ -62,6 +62,15 @@ set_manager_conn() {
sed -i "s#<address>CHANGE_MANAGER_IP</address>#<address>$WAZUH_MANAGER_SERVER</address>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf sed -i "s#<address>CHANGE_MANAGER_IP</address>#<address>$WAZUH_MANAGER_SERVER</address>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf
sed -i "s#<manager_address>CHANGE_ENROLL_IP</manager_address>#<manager_address>$WAZUH_REGISTRATION_SERVER</manager_address>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf sed -i "s#<manager_address>CHANGE_ENROLL_IP</manager_address>#<manager_address>$WAZUH_REGISTRATION_SERVER</manager_address>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf
sed -i "s#<agent_name>CHANGE_AGENT_NAME</agent_name>#<agent_name>$WAZUH_AGENT_NAME</agent_name>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf sed -i "s#<agent_name>CHANGE_AGENT_NAME</agent_name>#<agent_name>$WAZUH_AGENT_NAME</agent_name>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf
if [ -n "$WAZUH_REGISTRATION_PASSWORD" ]; then
set +x
cat << EOF > /var/ossec/etc/authd.pass
$WAZUH_REGISTRATION_PASSWORD
EOF
set -x
else
echo "WAZUH_REGISTRATION_PASSWORD is not set; the authd.pass configuration is omitted."
fi
} }
############################################################################## ##############################################################################
@@ -44,10 +44,12 @@ RUN mkdir -p $INSTALL_DIR/data/wazuh/config && chmod -R 775 $INSTALL_DIR/data/wa
RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs
RUN setcap 'cap_net_bind_service=-ep' /usr/share/wazuh-dashboard/node/bin/node RUN setcap 'cap_net_bind_service=-ep' /usr/share/wazuh-dashboard/node/bin/node
# Delete default keystore
RUN if [ -f /etc/wazuh-dashboard/opensearch_dashboards.keystore ]; then rm -f /etc/wazuh-dashboard/opensearch_dashboards.keystore; fi
################################################################################ ################################################################################
# Build stage 1 (the current Wazuh dashboard image): # Build stage 1 (the current Wazuh dashboard image):
# # Copy wazuh-dashboard from builder
# Copy wazuh-dashboard from stage 0
# Add entrypoint # Add entrypoint
# Add wazuh_dashboard_config # Add wazuh_dashboard_config
################################################################################ ################################################################################
@@ -20,9 +20,14 @@ DASHBOARD_PASSWORD="${DASHBOARD_PASSWORD:-kibanaserver}"
# Create and configure Wazuh dashboard keystore # Create and configure Wazuh dashboard keystore
yes | $OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore create --allow-root && \
echo $DASHBOARD_USERNAME | $OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore add opensearch.username --stdin --allow-root && \ if [ ! -f "$OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.keystore" ]; then
echo $DASHBOARD_PASSWORD | $OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore add opensearch.password --stdin --allow-root echo "The keystore is not available; creating a new keystore."
"$OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore" create --allow-root
head -c 32 /dev/urandom | base64 | tr -d '\n' | "$OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore" add wazuh_ai_assistant.encryptionKey --stdin --allow-root
fi
echo $DASHBOARD_USERNAME | "$OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore" add opensearch.username --stdin --allow-root -f
echo $DASHBOARD_PASSWORD | "$OPENSEARCH_DASHBOARDS_HOME/bin/opensearch-dashboards-keystore" add opensearch.password --stdin --allow-root -f
/wazuh_dashboard_config.sh /wazuh_dashboard_config.sh
+1 -2
View File
@@ -41,8 +41,7 @@ RUN yum install curl-minimal shadow-utils findutils hostname -y && \
################################################################################ ################################################################################
# Build stage 1 (the actual Wazuh indexer image): # Build stage 1 (the actual Wazuh indexer image):
# # Copy wazuh-indexer from builder
# Copy wazuh-indexer from stage 0
# Add entrypoint # Add entrypoint
################################################################################ ################################################################################
FROM amazonlinux:2023 FROM amazonlinux:2023
@@ -252,9 +252,9 @@ configure_permissions() {
############################################################################## ##############################################################################
set_correct_permOwner() { set_correct_permOwner() {
find /var/wazuh-manager/ -group 997 -exec chown :101 {} +; find /var/wazuh-manager/ -group 997 -exec chown :101 {} +
find /var/wazuh-manager/ -group 999 -exec chown :101 {} +; find /var/wazuh-manager/ -group 999 -exec chown :101 {} +
find /var/wazuh-manager/ -user 999 -exec chown 101:{} +; find /var/wazuh-manager/ -user 999 -exec chown 101 {} +
} }
############################################################################## ##############################################################################
@@ -17,6 +17,14 @@
* **`opensearch_dashboards.yml`**: The main configuration file for OpenSearch Dashboards. Controls server host/port, OpenSearch connection URL, SSL settings, and Wazuh plugin settings. * **`opensearch_dashboards.yml`**: The main configuration file for OpenSearch Dashboards. Controls server host/port, OpenSearch connection URL, SSL settings, and Wazuh plugin settings.
* **Customization**: Mount a custom `opensearch_dashboards.yml` into the dashboard container at `/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml` and custom `wazuh.yml` into the dashboard container at `/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml` . * **Customization**: Mount a custom `opensearch_dashboards.yml` into the dashboard container at `/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml` and custom `wazuh.yml` into the dashboard container at `/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml` .
* **Wazuh Plugin Settings**: The Wazuh plugin for the dashboard has its own configuration, often within `opensearch_dashboards.yml` or managed through environment variables, specifying the Wazuh API URL and credentials. * **Wazuh Plugin Settings**: The Wazuh plugin for the dashboard has its own configuration, often within `opensearch_dashboards.yml` or managed through environment variables, specifying the Wazuh API URL and credentials.
* **`opensearch_dashboards.keystore`**: Secure storage for the dashboard secrets, located at `/usr/share/wazuh-dashboard/config/opensearch_dashboards.keystore`. The image is shipped without a keystore; the container entrypoint creates it on the first start and adds a randomly generated `wazuh_ai_assistant.encryptionKey`, which the AI assistant uses to encrypt its data. The `opensearch.username` and `opensearch.password` entries are set on every start from the `DASHBOARD_USERNAME` and `DASHBOARD_PASSWORD` environment variables.
* **Customization**: To set your own key, add it through the keystore tool inside the dashboard container and restart the service:
```bash
echo "<your-encryption-key>" | docker compose exec -T wazuh.dashboard \
/usr/share/wazuh-dashboard/bin/opensearch-dashboards-keystore add wazuh_ai_assistant.encryptionKey --stdin --allow-root -f
docker compose restart wazuh.dashboard
```
* **Important**: The keystore is created only when it does not already exist, so the encryption key stays stable across restarts as long as the `/usr/share/wazuh-dashboard/config` volume is kept. If the keystore is deleted, the entrypoint generates a new key on the next start and any data encrypted with the previous one becomes unreadable.
## Applying Configuration Changes ## Applying Configuration Changes
@@ -42,6 +50,12 @@ To persist files or directories in your Wazuh deployment, you can mount them as
> **Important**: Ensure that files exist on the host before starting the containers. If the file doesn't exist, Docker will create a directory instead, which may cause startup failures. > **Important**: Ensure that files exist on the host before starting the containers. If the file doesn't exist, Docker will create a directory instead, which may cause startup failures.
### Wazuh Dashboard keystore
The `docker-compose.yml` files mount the named volume `wazuh-dashboard-config` on `/usr/share/wazuh-dashboard/config`, which is where `opensearch_dashboards.keystore` is stored. Keeping this volume preserves the `wazuh_ai_assistant.encryptionKey` generated on the first start.
Removing the volume (for example, with `docker compose down -v`) deletes the keystore. The next start creates a new one with a different encryption key, and data encrypted by the AI assistant with the previous key can no longer be decrypted.
For more information on Docker volumes and bind mounts, refer to the official Docker documentation: For more information on Docker volumes and bind mounts, refer to the official Docker documentation:
- [Use volumes](https://docs.docker.com/storage/volumes/) - [Use volumes](https://docs.docker.com/storage/volumes/)
- [Bind mounts](https://docs.docker.com/storage/bind-mounts/) - [Bind mounts](https://docs.docker.com/storage/bind-mounts/)
@@ -21,8 +21,8 @@ The Wazuh Manager container accepts the following environment variables, which c
```yaml ```yaml
environment: environment:
- INDEXER_USERNAME=admin - INDEXER_USERNAME=wazuh-manager
- INDEXER_PASSWORD=SecretPassword - INDEXER_PASSWORD=wazuh-manager
- WAZUH_API_URL=https://wazuh.manager - WAZUH_API_URL=https://wazuh.manager
- DASHBOARD_USERNAME=kibanaserver - DASHBOARD_USERNAME=kibanaserver
- DASHBOARD_PASSWORD=kibanaserver - DASHBOARD_PASSWORD=kibanaserver
@@ -30,7 +30,7 @@ environment:
**Variable Descriptions:** **Variable Descriptions:**
- `INDEXER_USERNAME` / `INDEXER_PASSWORD`: Credentials for accessing the Wazuh Indexer with `admin` user or a user with the same permissions. - `INDEXER_USERNAME` / `INDEXER_PASSWORD`: Credentials for accessing the Wazuh Indexer with `wazuh-manager` user or a user with the same permissions.
- `WAZUH_API_URL`: URL of the Wazuh API, used by other services for communication. - `WAZUH_API_URL`: URL of the Wazuh API, used by other services for communication.
- `DASHBOARD_USERNAME` / `DASHBOARD_PASSWORD`: Credentials for the Wazuh Dashboard to authenticate with the Indexer. - `DASHBOARD_USERNAME` / `DASHBOARD_PASSWORD`: Credentials for the Wazuh Dashboard to authenticate with the Indexer.
@@ -57,8 +57,8 @@ The Wazuh Dashboard container accepts the following environment variables, which
```yaml ```yaml
environment: environment:
- INDEXER_USERNAME=admin - INDEXER_USERNAME=wazuh-manager
- INDEXER_PASSWORD=SecretPassword - INDEXER_PASSWORD=wazuh-manager
- WAZUH_API_URL=https://wazuh.manager - WAZUH_API_URL=https://wazuh.manager
- DASHBOARD_USERNAME=kibanaserver - DASHBOARD_USERNAME=kibanaserver
- DASHBOARD_PASSWORD=kibanaserver - DASHBOARD_PASSWORD=kibanaserver
@@ -19,9 +19,11 @@ Follow these steps to deploy the Wazuh agent using Docker.
# ... # ...
environment: environment:
- WAZUH_MANAGER_SERVER=<YOUR_WAZUH_MANAGER_IP_OR_HOSTNAME> - WAZUH_MANAGER_SERVER=<YOUR_WAZUH_MANAGER_IP_OR_HOSTNAME>
- WAZUH_REGISTRATION_PASSWORD=<authd.pass-PASSWORD>
# ... # ...
``` ```
**Note:** Replace `<YOUR_WAZUH_MANAGER_IP_OR_HOSTNAME>` with the actual IP address or hostname of your Wazuh manager. **Note:** Replaces `<YOUR_WAZUH_MANAGER_IP_OR_HOSTNAME>` with the actual IP address or hostname of your Wazuh manager.
**Note:** Replaces `<authd.pass-PASSWORD>` with the password configured in the `/var/wazuh-manager/etc/authd.pass` file of the Wazuh manager server where you will connect.
3. Start the environment using `docker compose`: 3. Start the environment using `docker compose`:
+1
View File
@@ -7,6 +7,7 @@ This section summarizes security recommendations for Wazuh Docker deployments (s
- Do not use default credentials. The Compose examples include placeholder values for the Wazuh API, Dashboard, and Indexer access. - Do not use default credentials. The Compose examples include placeholder values for the Wazuh API, Dashboard, and Indexer access.
- Prefer injecting secrets at runtime (for example, via your CI/CD secret store or an external secrets manager) instead of hardcoding them in `docker-compose.yml`. - Prefer injecting secrets at runtime (for example, via your CI/CD secret store or an external secrets manager) instead of hardcoding them in `docker-compose.yml`.
- Rotate credentials regularly and after any suspected exposure. - Rotate credentials regularly and after any suspected exposure.
- The Wazuh dashboard keeps its secrets in `opensearch_dashboards.keystore`, persisted in the `wazuh-dashboard-config` volume. It stores the Indexer credentials and the `wazuh_ai_assistant.encryptionKey`, generated at random on the first start and unique per deployment. Restrict access to that volume and to `docker compose exec` on the dashboard container, and do not copy the keystore between deployments.
## Certificates and TLS ## Certificates and TLS
+11 -9
View File
@@ -10,6 +10,8 @@ Below is a step-by-step example of how to perform this update:
docker-compose down docker-compose down
``` ```
> **Important**: Do not add the `-v` flag. It removes the named volumes, including `wazuh-dashboard-config`, which holds the Wazuh dashboard keystore. Losing that keystore regenerates the `wazuh_ai_assistant.encryptionKey` on the next start and makes the data previously encrypted by the AI assistant unreadable.
2. **Update the image tags**: 2. **Update the image tags**:
Edit your `docker-compose.yml` file and update the `image` field for all Wazuh services to the desired version. Edit your `docker-compose.yml` file and update the `image` field for all Wazuh services to the desired version.
@@ -24,15 +26,15 @@ Below is a step-by-step example of how to perform this update:
```yaml ```yaml
services: services:
wazuh.manager: wazuh.manager:
image: wazuh/wazuh-manager:5.0.0-beta3 image: wazuh/wazuh-manager:5.0.0
... ...
wazuh.indexer: wazuh.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
... ...
wazuh.dashboard: wazuh.dashboard:
image: wazuh/wazuh-dashboard:5.0.0-beta3 image: wazuh/wazuh-dashboard:5.0.0
... ...
``` ```
@@ -48,27 +50,27 @@ Below is a step-by-step example of how to perform this update:
```yaml ```yaml
services: services:
wazuh.master: wazuh.master:
image: wazuh/wazuh-manager:5.0.0-beta3 image: wazuh/wazuh-manager:5.0.0
... ...
wazuh.worker: wazuh.worker:
image: wazuh/wazuh-manager:5.0.0-beta3 image: wazuh/wazuh-manager:5.0.0
... ...
wazuh1.indexer: wazuh1.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
... ...
wazuh2.indexer: wazuh2.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
... ...
wazuh3.indexer: wazuh3.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
... ...
wazuh.dashboard: wazuh.dashboard:
image: wazuh/wazuh-dashboard:5.0.0-beta3 image: wazuh/wazuh-dashboard:5.0.0
... ...
``` ```
+10 -12
View File
@@ -1,7 +1,7 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services: services:
wazuh.master: wazuh.master:
image: wazuh/wazuh-manager:5.0.0-beta3 image: wazuh/wazuh-manager:5.0.0
hostname: wazuh.master hostname: wazuh.master
container_name: multi-node-wazuh.master container_name: multi-node-wazuh.master
restart: always restart: always
@@ -31,8 +31,8 @@ services:
- WAZUH_NODE_TYPE=master - WAZUH_NODE_TYPE=master
- WAZUH_CLUSTER_BIND_ADDR=0.0.0.0 - WAZUH_CLUSTER_BIND_ADDR=0.0.0.0
- WAZUH_CLUSTER_NODES=wazuh.master - WAZUH_CLUSTER_NODES=wazuh.master
- INDEXER_USERNAME=admin - INDEXER_USERNAME=wazuh-manager
- INDEXER_PASSWORD=admin - INDEXER_PASSWORD=wazuh-manager
volumes: volumes:
- master-wazuh-api-configuration:/var/wazuh-manager/api/configuration - master-wazuh-api-configuration:/var/wazuh-manager/api/configuration
- master-wazuh-etc:/var/wazuh-manager/etc - master-wazuh-etc:/var/wazuh-manager/etc
@@ -44,7 +44,7 @@ services:
- ./config/wazuh_master/certs/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem - ./config/wazuh_master/certs/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
wazuh.worker: wazuh.worker:
image: wazuh/wazuh-manager:5.0.0-beta3 image: wazuh/wazuh-manager:5.0.0
hostname: wazuh.worker hostname: wazuh.worker
container_name: multi-node-wazuh.worker container_name: multi-node-wazuh.worker
restart: always restart: always
@@ -70,8 +70,8 @@ services:
- WAZUH_NODE_TYPE=worker - WAZUH_NODE_TYPE=worker
- WAZUH_CLUSTER_BIND_ADDR=0.0.0.0 - WAZUH_CLUSTER_BIND_ADDR=0.0.0.0
- WAZUH_CLUSTER_NODES=wazuh.master - WAZUH_CLUSTER_NODES=wazuh.master
- INDEXER_USERNAME=admin - INDEXER_USERNAME=wazuh-manager
- INDEXER_PASSWORD=admin - INDEXER_PASSWORD=wazuh-manager
volumes: volumes:
- worker-wazuh-api-configuration:/var/wazuh-manager/api/configuration - worker-wazuh-api-configuration:/var/wazuh-manager/api/configuration
- worker-wazuh-etc:/var/wazuh-manager/etc - worker-wazuh-etc:/var/wazuh-manager/etc
@@ -83,7 +83,7 @@ services:
- ./config/wazuh_worker/certs/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem - ./config/wazuh_worker/certs/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
wazuh1.indexer: wazuh1.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
hostname: wazuh1.indexer hostname: wazuh1.indexer
container_name: multi-node-wazuh1.indexer container_name: multi-node-wazuh1.indexer
restart: always restart: always
@@ -121,7 +121,7 @@ services:
- ./config/wazuh1_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem - ./config/wazuh1_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
wazuh2.indexer: wazuh2.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
hostname: wazuh2.indexer hostname: wazuh2.indexer
container_name: multi-node-wazuh2.indexer container_name: multi-node-wazuh2.indexer
restart: always restart: always
@@ -159,7 +159,7 @@ services:
- ./config/wazuh2_indexer/certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem - ./config/wazuh2_indexer/certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
wazuh3.indexer: wazuh3.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
hostname: wazuh3.indexer hostname: wazuh3.indexer
container_name: multi-node-wazuh3.indexer container_name: multi-node-wazuh3.indexer
restart: always restart: always
@@ -197,7 +197,7 @@ services:
- ./config/wazuh3_indexer/certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem - ./config/wazuh3_indexer/certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
wazuh.dashboard: wazuh.dashboard:
image: wazuh/wazuh-dashboard:5.0.0-beta3 image: wazuh/wazuh-dashboard:5.0.0
hostname: wazuh.dashboard hostname: wazuh.dashboard
container_name: multi-node-wazuh.dashboard container_name: multi-node-wazuh.dashboard
restart: always restart: always
@@ -213,8 +213,6 @@ services:
- SERVER_PORT=5601 - SERVER_PORT=5601
- SERVER_HOST=0.0.0.0 - SERVER_HOST=0.0.0.0
- OPENSEARCH_HOSTS=["https://wazuh1.indexer:9200","https://wazuh2.indexer:9200","https://wazuh3.indexer:9200"] - OPENSEARCH_HOSTS=["https://wazuh1.indexer:9200","https://wazuh2.indexer:9200","https://wazuh3.indexer:9200"]
- INDEXER_USERNAME=admin
- INDEXER_PASSWORD=admin
- WAZUH_API_URL=https://wazuh.master - WAZUH_API_URL=https://wazuh.master
- DASHBOARD_USERNAME=kibanaserver - DASHBOARD_USERNAME=kibanaserver
- DASHBOARD_PASSWORD=kibanaserver - DASHBOARD_PASSWORD=kibanaserver
+5 -7
View File
@@ -1,7 +1,7 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services: services:
wazuh.manager: wazuh.manager:
image: wazuh/wazuh-manager:5.0.0-beta3 image: wazuh/wazuh-manager:5.0.0
hostname: wazuh.manager hostname: wazuh.manager
container_name: single-node-wazuh.manager container_name: single-node-wazuh.manager
restart: always restart: always
@@ -31,8 +31,8 @@ services:
- WAZUH_NODE_NAME=manager - WAZUH_NODE_NAME=manager
- WAZUH_CLUSTER_NODES=wazuh.manager - WAZUH_CLUSTER_NODES=wazuh.manager
- WAZUH_CLUSTER_BIND_ADDR=wazuh.manager - WAZUH_CLUSTER_BIND_ADDR=wazuh.manager
- INDEXER_USERNAME=admin - INDEXER_USERNAME=wazuh-manager
- INDEXER_PASSWORD=admin - INDEXER_PASSWORD=wazuh-manager
volumes: volumes:
- wazuh_api_configuration:/var/wazuh-manager/api/configuration - wazuh_api_configuration:/var/wazuh-manager/api/configuration
- wazuh_etc:/var/wazuh-manager/etc - wazuh_etc:/var/wazuh-manager/etc
@@ -44,7 +44,7 @@ services:
- ./config/wazuh_manager/certs/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem - ./config/wazuh_manager/certs/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
wazuh.indexer: wazuh.indexer:
image: wazuh/wazuh-indexer:5.0.0-beta3 image: wazuh/wazuh-indexer:5.0.0
hostname: wazuh.indexer hostname: wazuh.indexer
container_name: single-node-wazuh.indexer container_name: single-node-wazuh.indexer
restart: always restart: always
@@ -81,7 +81,7 @@ services:
- ./config/wazuh_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem - ./config/wazuh_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
wazuh.dashboard: wazuh.dashboard:
image: wazuh/wazuh-dashboard:5.0.0-beta3 image: wazuh/wazuh-dashboard:5.0.0
hostname: wazuh.dashboard hostname: wazuh.dashboard
container_name: single-node-wazuh.dashboard container_name: single-node-wazuh.dashboard
restart: always restart: always
@@ -97,8 +97,6 @@ services:
- SERVER_PORT=5601 - SERVER_PORT=5601
- SERVER_HOST=0.0.0.0 - SERVER_HOST=0.0.0.0
- OPENSEARCH_HOSTS=https://wazuh.indexer:9200 - OPENSEARCH_HOSTS=https://wazuh.indexer:9200
- INDEXER_USERNAME=admin
- INDEXER_PASSWORD=admin
- WAZUH_API_URL=https://wazuh.manager - WAZUH_API_URL=https://wazuh.manager
- DASHBOARD_USERNAME=kibanaserver - DASHBOARD_USERNAME=kibanaserver
- DASHBOARD_PASSWORD=kibanaserver - DASHBOARD_PASSWORD=kibanaserver
+2 -1
View File
@@ -1,7 +1,8 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2) # Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services: services:
wazuh.agent: wazuh.agent:
image: wazuh/wazuh-agent:5.0.0-beta3 image: wazuh/wazuh-agent:5.0.0
restart: always restart: always
environment: environment:
- WAZUH_MANAGER_SERVER=<WAZUH_MANAGER_IP> - WAZUH_MANAGER_SERVER=<WAZUH_MANAGER_IP>
- WAZUH_REGISTRATION_PASSWORD=<authd.pass-PASSWORD>