Compare commits

..
354 Commits
Author SHA1 Message Date
Wazuh CI d3e0a6085a Merge pull request #2572 from wazuh/enhancement/wqa8539-bump-4.14.9
Bump 4.14.9 branch
2026-08-06 09:13:14 +02:00
wazuhci ef900cc676 feat: bump 4.14.9 2026-08-06 07:13:07 +00: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
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
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 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
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
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
Gonzalo Acuña ea6bc171b6 Merge pull request #2504 from wazuh/change/5303-change-artifact-upload-download-4.x
Change upload and download methods
2026-06-30 13:49:50 -03:00
Victor Carlos Erenu 5a9355c1ae Change upload and download methods 2026-06-30 20:38:52 +07:00
Carlos Bordon b51db5be38 Merge pull request #2498 from wazuh/merge-4.14.6-into-4.14.7
Merge 4.14.6 into 4.14.7
2026-06-26 09:42:38 -03:00
Victor Carlos Erenu 3051d11c55 Resolving conflicts 2026-06-26 19:31:28 +07:00
Carlos Anguita 499184cbeb Revert retag v4.14.6-rc2 (#2496) 2026-06-26 13:17:06 +02:00
Carlos Anguita a36afdcf36 Retag v4.14.6-rc2 (#2495) 2026-06-26 13:06:54 +02:00
Julia Magán 9d34602ce6 Merge pull request #2494 from wazuh/bug/2492-push-docker-images-fails-for-4146-rc-2
Fixed login in Docker Hub before triggering the QEMU action
2026-06-26 12:50:54 +02:00
Carlos Anguita López b24e9558bb update changelog 2026-06-26 12:38:31 +02:00
Carlos Anguita López 31b5b475fe log in docker before triggering the QEMU action 2026-06-26 12:02:36 +02:00
Victor Ereñú 8cb1db4eca Revert 4.14.6-rc2 image tags (#2487) 2026-06-25 13:23:02 +02:00
Wazuh CI 8dd3df1e20 Merge pull request #2486 from wazuh/enhancement/wqa7876-bump-4.14.6
Bump 4.14.6 branch
2026-06-25 11:32:55 +02:00
wazuhci 2b79c8d412 feat: bump 4.14.6 2026-06-25 09:32:48 +00:00
Gonzalo Acuña 704ce6dc07 Merge pull request #2478 from wazuh/merge-4.14.6-into-4.14.7
Merge 4.14.6 into 4.14.7
2026-06-23 11:17:55 -03:00
Victor Carlos Erenu 7feacc4403 Update LTS changelog 2026-06-23 21:12:27 +07:00
Victor Carlos Erenu 6e2c61d462 Merge branch '4.14.7' of github.com:wazuh/wazuh-docker into merge-4.14.6-into-4.14.7 2026-06-23 20:55:15 +07:00
Gonzalo Acuña 7899d39155 Merge pull request #2470 from wazuh/change/3493-change-runners-4.14.6
Change runners on repository workflows 4.14.6
2026-06-23 09:35:09 -03:00
Victor Carlos Erenu 0c04e23e41 Update changelog 2026-06-22 19:40:51 +07:00
Victor Carlos Erenu 67df871d7d Add docker login 2026-06-19 23:39:54 +07:00
Victor Carlos Erenu 97f687c409 Add docker login 2026-06-19 22:37:58 +07:00
Victor Carlos Erenu 95d142a9b7 Add docker login 2026-06-19 22:23:40 +07:00
Victor Carlos Erenu b6fb072693 Delete goss test 2026-06-19 20:51:53 +07:00
Victor Carlos Erenu 27287b1e19 Adapt goss run with codebuild configuration 2026-06-19 19:24:22 +07:00
Victor Carlos Erenu a185f0dc75 Change runners on repository workflows 2026-06-19 18:37:55 +07:00
Victor Carlos Erenu 92866daabb Change runners on repository workflows 2026-06-19 18:23:43 +07:00
Victor Carlos Erenu fd6e53b1e3 Change runners on repository workflows 2026-06-19 18:16:54 +07:00
Gonzalo Acuña 82027cf53f Merge pull request #2445 from wazuh/change/3418-pr-revamp-4.x
PR revamp modifications 4.x
2026-06-16 10:52:15 -03:00
Victor Carlos Erenu c6c00fa9db Change PR check name 2026-06-16 20:06:29 +07:00
Victor Carlos Erenu 70f585de4d Update changelog 2026-06-10 23:23:32 +07:00
Victor Carlos Erenu 271f6c2eb8 Add types 2026-06-10 21:14:32 +07:00
Victor Carlos Erenu 644cdba3a9 Add affected branchs 2026-06-10 21:04:49 +07:00
Victor Carlos Erenu 68faac3ac1 Move the Wazuh version of the workflow name from the end to the beginning 2026-06-10 20:16:37 +07:00
Victor Carlos Erenu e181132921 PR revamp modifications 2026-06-09 01:51:42 +07:00
Gonzalo Acuña b5ab0bb116 Merge pull request #2440 from wazuh/merge-4.14.6-into-4.14.7
Merge 4.14.6 into 4.14.7
2026-06-02 16:10:03 -03:00
Victor Carlos Erenu 7eb415ae3c Resolving conflicts 2026-06-02 22:52:41 +07:00
Gonzalo Acuña 4879dba2ce Merge pull request #2439 from wazuh/merge-LTS-changelog-into-4.14.6
Add LTS Changelog entries into 4.14.6 branch
2026-06-02 12:24:57 -03:00
Victor Carlos Erenu ad96562a5b Add LTS Changelog entries into 4.14.6 branch 2026-06-02 19:21:11 +07:00
f26185d10a Merge merge-4.14.6-into-4.14.7 into 4.14.7 [automated] (#2436)
* feat: bump 4.14.6

* Revert "Bump 4.14.6 branch"

* feat: bump 4.14.6

* Revert Image tag to 4.14.6 (#2434)

---------

Co-authored-by: Marcos Sánchez Delgado <101177239+MARCOSD4@users.noreply.github.com>
Co-authored-by: Julia Magán <80041853+juliamagan@users.noreply.github.com>
Co-authored-by: Victor Ereñú <56500015+vcerenu@users.noreply.github.com>
Co-authored-by: Enrique Araque <minixute@gmail.com>
2026-05-29 12:29:22 +02:00
Victor Ereñú ced3ac5b63 Revert Image tag to 4.14.6 (#2434) 2026-05-28 12:17:48 +02:00
Wazuh CI 5d3d85c690 Merge pull request #2433 from wazuh/enhancement/wqa7441-bump-4.14.6
Bump 4.14.6 branch
2026-05-28 11:22:54 +02:00
wazuhci 3a68597fa9 feat: bump 4.14.6 2026-05-28 09:22:46 +00:00
Julia Magán 4c1a286578 Merge pull request #2432 from wazuh/revert-2431-enhancement/wqa7441-bump-4.14.6
Revert "Bump 4.14.6 branch"
2026-05-28 11:17:35 +02:00
Marcos Sánchez Delgado 072f5f1407 Revert "Bump 4.14.6 branch" 2026-05-28 11:09:02 +02:00
Wazuh CI 6fbb0c5af5 Merge pull request #2431 from wazuh/enhancement/wqa7441-bump-4.14.6
Bump 4.14.6 branch
2026-05-28 10:56:33 +02:00
wazuhci c71ff5e51f feat: bump 4.14.6 2026-05-28 08:56:25 +00:00
Wazuh CI 9093e85c18 Merge pull request #2421 from wazuh/enhancement/wqa7360-bump-4.14.7
Bump 4.14.7 branch
2026-05-21 19:14:25 +02:00
wazuhci d60510a2ac feat: bump 4.14.7 2026-05-21 17:14:13 +00:00
Gonzalo Acuña 03c6ea62ca Merge pull request #2406 from wazuh/bug/2404-wazuh-manager4104-rc1-docker-container-fails-to-start-error-5011-in-create_userpy-4.14.6
Changed `update_user` function from `wazuh.security` to `wazuh.rbac.orm` module
2026-05-19 12:24:11 -03:00
Carlos Anguita López 61050a7dd2 update changelog 2026-05-19 17:15:23 +02:00
Carlos Anguita López b07223d1d3 change update_user used function from wazuh.security to wazuh.rbac.orm 2026-05-19 17:10:56 +02:00
Carlos Anguita López 7fe0c468e8 delete certs tests from goss.yaml 2026-05-19 17:10:09 +02:00
Gonzalo Acuña dd1b0e9afa Merge pull request #2349 from wazuh/merge-4.14.5.into-4.14.6
Merge 4.14.5 into 4.14.6
2026-04-27 09:58:19 -03:00
Victor Carlos Erenu 601adce637 Add newline 2026-04-27 19:41:40 +07:00
Victor Carlos Erenu 992a78c4a0 Resolving conflicts 2026-04-27 19:31:00 +07:00
Gonzalo Acuña 985054089d Merge pull request #2312 from wazuh/bug/2279-vulns-issue
GH issue notification fix
2026-04-16 11:49:46 -03:00
Gonzalo Acuña 1bd499f9bd Changelog update 2026-04-16 11:35:25 -03:00
Gonzalo Acuña 64a7811cf4 Push images worfklow notification improvements 2026-04-16 10:17:23 -03:00
Carlos Anguita 4161af024f Merge pull request #2311 from wazuh/enhancement/2309-change-image-tag-for-4.14.5rc1
Revert docker image tag for 4.14.5 RC1
2026-04-16 11:02:41 +02:00
Enrique Araque 6aa5015a0b Revert docker image tag for 4.14.5 RC1 2026-04-16 10:52:20 +02:00
Wazuh CI 2d1c28ca8a Merge pull request #2310 from wazuh/enhancement/wqa6598-bump-4.14.5
Bump 4.14.5 branch
2026-04-16 10:21:07 +02:00
wazuhci bab0839cea feat: bump 4.14.5 2026-04-16 08:21:00 +00:00
Gonzalo Acuña 9d56dc051e GH issue creation changes 2026-04-15 15:00:53 -03:00
Wazuh CI 90f233ea53 Merge pull request #2292 from wazuh/enhancement/wqa6473-bump-4.14.6
Bump 4.14.6 branch
2026-04-10 12:19:45 +02:00
wazuhci 460d0ff38f feat: bump 4.14.6 2026-04-10 10:19:40 +00:00
Carlos Bordon f584612eb5 Merge pull request #2290 from wazuh/change/3084-update-workflow-action-versions
Updated GitHub actions version for wazuh-docker workflows
2026-04-08 08:30:34 -03:00
Carlos Bordon ef76f33729 Updated changelog 2026-04-08 08:26:23 -03:00
Carlos Bordon 757be8713e Updated GitHub actions version for wazuh-docker workflows 2026-04-06 16:01:13 -03:00
Gonzalo Acuña c2e09a713a Merge pull request #2262 from wazuh/bug/2257-fix-WAZUH_AGENT_GROUP-variable
Fix WAZUH_AGENT_GROUP variable
2026-03-20 11:32:13 -03:00
Victor Carlos Erenu b88cac5ada Resolving cnoflicts 2026-03-20 19:47:53 +07:00
Carlos Bordon 7f43ac75a4 Merge pull request #2261 from wazuh/bug/3018-improve-bumper-early-exits-to-4.14.5
Fix bumper script
2026-03-19 16:39:44 -03:00
Victor Carlos Erenu 94f88baab2 Add changelog 2026-03-19 17:42:39 +07:00
Victor Carlos Erenu ddd2f89717 Fix CHANGE_AGENT_GROUP parameter 2026-03-19 17:26:01 +07:00
Victor Carlos Erenu 0625d0464e Fix WAZUH_AGENT_GROUP variable 2026-03-19 17:23:36 +07:00
fcaffieri 93bc4a813e Update CHANGELOG 2026-03-18 17:33:12 -03:00
fcaffieri 43c836f4a1 Fix bumper script 2026-03-18 16:41:55 -03:00
Gonzalo Acuña c72666d907 Merge pull request #2248 from wazuh/merge-4.14.4-into-4.14.5
Merge 4.14.4 into 4.14.5
2026-03-13 14:25:05 -03:00
Jesus Garcia aa28804c81 Merge branch '4.14.4' into 4.14.5 2026-03-13 12:21:22 -05:00
Carlos Anguita 7af31ddfb4 Merge pull request #2245 from wazuh/enhancement/2243-change-image-tag-for-4.14.4rc2 2026-03-13 10:19:50 +01:00
Enrique Araque 452f953fe6 revert docker image tag 2026-03-13 10:16:11 +01:00
Wazuh CI 5c18f635b1 Merge pull request #2244 from wazuh/enhancement/wqa5865-bump-4.14.4
Bump 4.14.4 branch
2026-03-13 09:32:17 +01:00
wazuhci adb9f41174 feat: bump 4.14.4 2026-03-13 08:32:13 +00:00
Carlos Anguita e9d3d7a06e Merge pull request #2235 from wazuh/enhancement/2233-revert-images-4.14.4-rc1 2026-03-06 13:05:30 +01:00
Victor Carlos Erenu b4844e89fe Revert images to 4.14.4-rc1 2026-03-06 19:00:35 +07:00
Gonzalo Acuña bafc5a4e45 Merge pull request #2234 from wazuh/enhancement/2233-bump-4.14.4-rc1
Bump images to 4.14.4-rc1
2026-03-06 08:48:30 -03:00
Victor Carlos Erenu a30314eb3d Bump images to 4.14.4-rc1 2026-03-06 18:47:32 +07:00
Victor Carlos Erenu 35ab398833 Bump images to 4.14.4-rc1 2026-03-06 18:43:07 +07:00
Carlos Bordon 3c79627767 Merge pull request #2226 from wazuh/bug/6648-fix-INDEXER_URL-subst
INDEXER_URL substitution fix
2026-02-24 14:13:06 -03:00
Victor Carlos Erenu 5b6c8ec021 Add Changelog 2026-02-24 23:26:36 +07:00
Victor Carlos Erenu 4633e9acdb Fix INDEXER_URL single_node 2026-02-24 23:22:32 +07:00
Victor Carlos Erenu 03febcb005 Fix INDEXER_URL substitution 2026-02-24 23:21:38 +07:00
Wazuh CI ff2c9bac28 Merge pull request #2219 from wazuh/enhancement/wqa5640-bump-4.14.5
Bump 4.14.5 branch
2026-02-13 18:23:37 +01:00
wazuhci 5bbc250263 feat: bump 4.14.5 2026-02-13 17:23:33 +00:00
Gonzalo Acuña 51ab4da8e4 Merge pull request #2204 from wazuh/merge-4.14.3-into-4.14.4
Merge 4.14.3 into 4.14.4
2026-02-06 12:23:31 -03:00
Victor Carlos Erenu 40d7e24b19 Resolving conflicts 2026-02-06 22:21:11 +07:00
Enrique Araque 21e9cb178c revert docker image tag for 4.14.3 rc3 (#2202) 2026-02-06 10:36:38 +01:00
Enrique Araque 1fbc6fafbd update changelog (#2201) 2026-02-06 10:29:54 +01:00
Wazuh CI 2286b87110 Merge pull request #2200 from wazuh/enhancement/wqa5570-bump-4.14.3
Bump 4.14.3 branch
2026-02-06 09:34:53 +01:00
wazuhci 97a59ed3c0 feat: bump 4.14.3 2026-02-06 08:34:44 +00:00
Gonzalo Acuña 2e62b840c4 Merge pull request #2193 from wazuh/merge-4.14.3-into-4.14.4
Merge 4.14.3 into 4.14.4
2026-01-30 13:53:14 -03:00
Gonzalo Acuña a34aa2aff7 Merge branch '4.14.4' into merge-4.14.3-into-4.14.4 2026-01-30 13:50:26 -03:00
Enrique Araque 2c1f8e1a5c remove docker image tags for 4.14.4-rc2 (#2191) 2026-01-29 13:38:11 +01:00
Wazuh CI 68936d1e51 Merge pull request #2190 from wazuh/enhancement/wqa5506-bump-4.14.3
Bump 4.14.3 branch
2026-01-29 12:31:11 +01:00
wazuhci a63e3d6e28 feat: bump 4.14.3 2026-01-29 11:31:05 +00:00
Gonzalo Acuña 65bbc83d0b Merge pull request #2184 from wazuh/enh/2164-Allow_building_separate_targets--4.14.4
Backport from 5.0.0: Allow building separate targets #2177
2026-01-27 15:28:30 -03:00
Jesus Garcia 6565cf9212 Backport from 5.0.0: Allow building separate targets #2177 2026-01-27 09:03:48 -05:00
Gonzalo AcuñaandVictor Carlos Erenu 9a9a2539e5 Merge 4.14.3 into 4.14.4 (#2181)
Co-authored-by: Victor Carlos Erenu <victor.erenu@wazuh.com>
2026-01-23 10:25:16 +01:00
Gonzalo Acuña 149b559687 Merge pull request #2176 from wazuh/enhancement/2175-IMAGE_TAG-stage-reference
Add IMAGE_TAG stage reference
2026-01-20 09:20:10 -03:00
Victor Carlos Erenu efdd97d6ab Add Changelog 2026-01-19 20:16:03 +07:00
Victor Carlos Erenu b400373b2c Add IMAGE_TAG reference 2026-01-19 19:13:36 +07:00
Wazuh CI f69599fcda Merge pull request #2174 from wazuh/enhancement/wqa5435-bump-4.14.4
Bump 4.14.4 branch
2026-01-16 15:17:07 +01:00
wazuhci 57ee45eaae feat: bump 4.14.4 2026-01-16 14:17:01 +00:00
Enrique Araque a1b816abe0 revert docker image tag for 4.14.3-rc1 (#2169) 2026-01-15 12:28:05 +01:00
Wazuh CI 0a03300e13 Merge pull request #2168 from wazuh/enhancement/wqa5413-bump-4.14.3
Bump 4.14.3 branch
2026-01-15 10:49:35 +01:00
wazuhci 9c42711c4c feat: bump 4.14.3 2026-01-15 09:49:30 +00:00
Gonzalo Acuña 8d83e83f23 Merge pull request #2165 from wazuh/merge-4.14.2-into-4.14.3
Merge 4.14.2 into 4.14.3
2026-01-14 15:14:51 -03:00
Victor Carlos Erenu e89fa28f89 Resolving conflicts 2026-01-15 01:11:42 +07:00
Gonzalo Acuña 151b203779 Merge pull request #2157 from wazuh/enhancement/2156-modify_run_as_parameter
Modify run_as parameter value - v4.14.3
2026-01-13 12:21:17 -03:00
Victor Carlos Erenu 65ee71c945 Add changelog 2026-01-13 00:21:35 +07:00
Victor Carlos Erenu 78df3b454a Add changelog 2026-01-13 00:11:38 +07:00
Victor Carlos Erenu 57c1de55b5 Modify run_as parameter value 2026-01-13 00:08:55 +07:00
Carlos Bordon 0de989cb3d Merge pull request #2153 from wazuh/revert-4.14.2-rc4-tags
Revert 4.14.2-rc4 tags
2026-01-08 10:24:33 -03:00
Gonzalo Acuña 607806b4c1 Revert stage tags 2026-01-08 09:59:13 -03:00
Wazuh CI cdab7140d9 Merge pull request #2152 from wazuh/enhancement/wqa5352-bump-4.14.2
Bump 4.14.2 branch
2026-01-08 13:11:14 +01:00
wazuhci 036224fc65 feat: bump 4.14.2 2026-01-08 12:11:06 +00:00
Gonzalo Acuña 0ee58a8b5c Merge pull request #2149 from wazuh/enh/2099-adapt-wazuh-agent-to-multiarch
Adapt Wazuh Agent Dockerfile for multi-architecture support
2026-01-05 11:05:36 -03:00
Jesus Garcia 7623439395 Add changelog 2026-01-05 08:49:32 -05:00
Jesus Garcia 5b2afd1acb Adapt Wazuh agent Dockerfile s6 overlay for multi-architecture support 2026-01-02 08:33:56 -05:00
Carlos Bordon 39758ec2f3 Merge pull request #2144 from wazuh/enhancement/2142-revert-imae-tags
Revert image tags
2025-12-26 08:48:33 -03:00
Victor Carlos Erenu cd5df2b242 Revert image tags 2025-12-26 18:38:14 +07:00
Wazuh CI 5f7253b8cd Merge pull request #2143 from wazuh/enhancement/wqa5235-bump-4.14.2
Bump 4.14.2 branch
2025-12-26 11:03:40 +01:00
wazuhci 198cd3679d feat: bump 4.14.2 2025-12-26 10:03:32 +00:00
Carlos Bordon 30ea265513 Merge pull request #2140 from wazuh/merge-4.14.2-into-4.14.3
Merge 4.14.2 into 4.14.3
2025-12-24 07:41:52 -03:00
Carlos Anguita López 7ae0a4a81c merge 4.14.2-into-4.14.3 2025-12-24 11:25:18 +01:00
Gonzalo Acuña 309f6577ae Merge pull request #2137 from wazuh/enh/2099-improve-docs
Improve documentation for Docker image building process and remove unused parameter
2025-12-22 13:31:41 -03:00
Jesus Garcia 024bb8553a Add working directory to push.yml workflow and add shebang to image build script 2025-12-22 11:03:55 -05:00
Jesus Garcia a5fc8fd88c Improve documentation for Docker image building process and remove unused reference option 2025-12-22 10:17:01 -05:00
Carlos Anguita 95e6f513eb Merge pull request #2135 from wazuh/enhancement/2133-revert-image-tag 2025-12-19 12:03:14 +01:00
Victor Carlos Erenu a95ec0dac9 Revert image tag 2025-12-19 17:58:18 +07:00
Wazuh CI e9d0b14c64 Merge pull request #2134 from wazuh/enhancement/wqa5191-bump-4.14.2
Bump 4.14.2 branch
2025-12-19 10:56:29 +01:00
wazuhci 3a5e30b888 feat: bump 4.14.2 2025-12-19 09:56:23 +00:00
Gonzalo Acuña 8caec1bd38 Merge pull request #2132 from wazuh/enhancement/2097-Docker_ARM_4.x__Adapt_to_multi-architecture_build
Update indexer-certs-gen README.md for clarity on procedure
2025-12-18 12:59:56 -03:00
Jesus Garcia dd165bf3ec Update indexer-certs-gen README.md for clarity on procedure 2025-12-18 10:16:30 -05:00
Gonzalo Acuña 3724f5196a Merge pull request #2130 from wazuh/enhancement/2097-Docker_ARM_4.x__Adapt_to_multi-architecture_build
Update certs generator image version to 0.0.4
2025-12-18 09:03:51 -03:00
Gonzalo Acuña c05e6cf16e Merge branch '4.14.3' into enhancement/2097-Docker_ARM_4.x__Adapt_to_multi-architecture_build 2025-12-18 09:03:32 -03:00
Jesus Garcia 9138f7a9f5 Update certs generator image version to 0.0.4 in multi-node and single-node configurations 2025-12-17 15:27:21 -05:00
Gonzalo Acuña 11261d380a Merge pull request #2127 from wazuh/enhancement/edr-6591-agent-group
Agent group parameter added
2025-12-17 16:45:05 -03:00
Gonzalo Acuña e493c6d113 Merge branch '4.14.3' into enhancement/edr-6591-agent-group 2025-12-17 16:18:58 -03:00
Gonzalo Acuña f7927bf238 Changelog update 2025-12-17 16:13:13 -03:00
Gonzalo Acuña a41a20774c Merge pull request #2120 from wazuh/enhancement/2097-Docker_ARM_4.x__Adapt_to_multi-architecture_build
Adapt to multi architecture build
2025-12-17 14:51:53 -03:00
Jesus Garcia f51fc2e4ae Add check (input.dev must be false) for image validation and GH issue notification in push workflow 2025-12-17 12:10:46 -05:00
Jesus Garcia 089ce24ffc Enhance script execution of build and improve docs clarity 2025-12-17 01:37:49 -05:00
Gonzalo Acuña 424559518e Merge pull request #2126 from wazuh/enh/2097-certsgen-imagebuild
Modify to build certs gen image
2025-12-17 01:37:49 -05:00
Jesus Garcia a509f0f8ea Add changelog 2025-12-17 01:37:49 -05:00
Jesus Garcia c6a427af70 Update documentation of certs-gen procedure 2025-12-17 01:37:49 -05:00
Jesus Garcia 6675465180 Adapt manager Dockerfile for multi-architecture builds 2025-12-17 01:37:49 -05:00
Jesus Garcia 08c7cbda53 Modify to build certs gen image 2025-12-17 01:37:49 -05:00
Victor Carlos Erenu 0fe3103940 Bring changes from PR #2054 2025-12-17 01:37:40 -05:00
Gonzalo Acuña b3fde321bf Agent group parameter added 2025-12-16 15:45:25 -03:00
Carlos Anguita 88c4f238d2 Merge pull request #2124 from wazuh/merge-4.14.2-into-4.14.3 2025-12-12 11:16:36 +01:00
Enrique Araque 65c04aaaeb Merge branch '4.14.2' into merge-4.14.2-into-4.14.3 2025-12-12 11:02:26 +01:00
Carlos Bordon 3df0a1b1b9 Merge pull request #2119 from wazuh/change/revert-4.14.2-rc1-tag
Reverted docker-compose files with v4.14.2-rc1 tag
2025-12-04 12:50:30 -03:00
Carlos Bordon 48893cb485 Reverted docker-compose files with v4.14.2-rc1 tag 2025-12-04 12:48:56 -03:00
Carlos Bordon ce305f8512 Merge pull request #2118 from wazuh/change/update-4.14.2-rc1-tag
Update docker-compose files with RC1 tag
2025-12-04 12:44:29 -03:00
Carlos Bordon 1815ead65f Updated wazuh agent image 2025-12-04 12:42:16 -03:00
Gonzalo Acuña 44ff6d41c4 Merge branch '4.14.2' into change/update-4.14.2-rc1-tag 2025-12-04 12:37:22 -03:00
Carlos Bordon 493ac6bd3a Update docker-compose files with RC2 tag 2025-12-04 12:34:37 -03:00
Gonzalo Acuña 8c7ec2cc77 Merge pull request #2117 from wazuh/change/revert-v4.14.2-rc1-tag
Reverted docker-compose files with v4.14.2-rc1 tag
2025-12-04 12:24:37 -03:00
Carlos Bordon 5a93114962 Reverted docker-compose files with v4.14.2-rc1 tag 2025-12-04 12:20:33 -03:00
Gonzalo Acuña c7703aa6ab Merge pull request #2116 from wazuh/change/update-v4.14.2-rc1-tag
Updated docker-compose files with v4.14.2-rc1 tag
2025-12-04 12:16:43 -03:00
Carlos Bordon c0da5ff7f5 Updated docker-compose files with v4.14.2-rc1 tag 2025-12-04 12:05:41 -03:00
Gonzalo Acuña f520744d9e Merge pull request #2115 from wazuh/change/2114-filebeat-version
Filebeat module version update
2025-12-04 11:25:59 -03:00
Gonzalo Acuña cdf10f8e69 Changelog update 2025-12-04 11:20:31 -03:00
Gonzalo Acuña d5d0229f18 Filebeat module version update 2025-12-04 11:18:59 -03:00
Carlos Anguita 3622621932 Merge pull request #2113 from wazuh/enhancement/2111-revert-image-tag-for-4.14.2-rc1 2025-12-04 11:57:33 +01:00
fcaffieri cb9ecd779e Remove docker image tag for 4.14.2-rc1 2025-12-04 07:33:18 -03:00
Wazuh CI 2444e25e69 Merge pull request #2112 from wazuh/enhancement/wqa5084-bump-4.14.2
Bump 4.14.2 branch
2025-12-04 10:30:04 +01:00
wazuhci b26615e524 feat: bump 4.14.2 2025-12-04 09:29:58 +00:00
Wazuh CI f42ec2ba7c Merge pull request #2110 from wazuh/enhancement/wqa5045-bump-4.14.3
Bump 4.14.3 branch
2025-12-03 12:55:30 +01:00
wazuhci 982d3a649e feat: bump 4.14.3 2025-12-03 11:55:26 +00:00
Gonzalo Acuña 6aa948d4da Merge pull request #2104 from wazuh/mtc/2103-Outdated_Indexer_ports_configuration
Add missing SSL ciphers and protocols and remove outdated ports parameters from opensearch.yml template
2025-12-02 09:50:56 -03:00
Jesus Garcia 81a7e11da4 Update the opensearch.yml template:
* Remove outdated parameters ('http.port' and 'transport.tcp.port')
* Add missing SSL ciphers and protocol parameters.
2025-12-01 19:59:47 -05:00
Carlos Bordon 2dc7717e81 Merge pull request #2094 from wazuh/change/6569-nokia-private-key-hardcoded-in-wazuh-manager-image-4.14.2-update
The location of the remove command for the wazuh-authd certificates has been changed.
2025-11-27 11:59:50 -03:00
Carlos Bordon 0ba67b1adf Updated changelog 2025-11-27 11:19:10 -03:00
Carlos Bordon eecec3db80 The location of the remove command for the wazuh-authd certificates has been changed. 2025-11-27 11:15:32 -03:00
Carlos Bordon f4cc1bd838 Merge pull request #2093 from wazuh/change/6569-nokia-private-key-hardcoded-in-wazuh-manager-image-4.14.2
Removed sslmanager key from the docker manager image to 4.14.2
2025-11-27 08:14:14 -03:00
Carlos Bordon 0602ce076d Updated changelog 2025-11-26 16:55:29 -03:00
Carlos Bordon 2d122e1dc9 Removed sslmanager key from the docker manager image to 4.14.2 2025-11-26 15:22:12 -03:00
Carlos Bordon 47a73bdde6 Merge pull request #2090 from wazuh/bug/2088-improvements-4.14.2
Code improvements for 4.14.2
2025-11-26 11:55:25 -03:00
Victor Carlos Erenu fb6be60afb Add changelog 2025-11-25 21:52:07 +07:00
Victor Carlos Erenu 2d6c920366 Delete opensearch-security directory creation 2025-11-25 20:57:45 +07:00
Victor Carlos Erenu d69f5c0c5d Add new path for Wazun indexer and new function for permanent_data exception 2025-11-25 01:22:11 +07:00
Gonzalo Acuña d52c076e62 Merge pull request #2078 from wazuh/change/3494-docker-notification
Artifactory vulnerabilities notification
2025-11-13 15:45:45 -03:00
Gonzalo Acuña e5d6ba55cc Changelog update 2025-11-13 14:41:53 -03:00
Gonzalo Acuña 415ddd7271 Replace secret variables 2025-11-13 14:06:39 -03:00
Gonzalo Acuña aa98d94f38 Revert test changes 2025-11-13 11:50:18 -03:00
Gonzalo Acuña af2e4589c0 GH project additional variable assignment fix 2025-11-13 11:42:16 -03:00
Gonzalo Acuña 6a8d0d6288 GH project additional variable assignment 2025-11-13 11:35:03 -03:00
Gonzalo Acuña 11b066ef25 GH project variable assignment 2025-11-13 11:24:48 -03:00
Gonzalo Acuña 11c0ae9161 GH issue creation command fix 2025-11-13 10:01:08 -03:00
Gonzalo Acuña ecb486f625 GH issue creation commands 2025-11-12 16:52:27 -03:00
Gonzalo Acuña 16de0735a9 GH notification identation fix 2025-11-12 16:21:17 -03:00
Gonzalo Acuña 5103da8dab GH notification test change 2025-11-12 14:32:45 -03:00
Gonzalo Acuña 91cda37b1f GH notification changes for image publication 2025-11-12 12:15:37 -03:00
Wazuh CI aed6d3eea2 Merge pull request #2071 from wazuh/enhancement/wqa4626-bump-4.14.2
Bump 4.14.2 branch
2025-11-10 18:16:57 +01:00
wazuhci 7adc50cf81 feat: bump 4.14.2 2025-11-10 17:16:53 +00:00
Carlos Anguita 4e99641d02 Merge pull request #2068 from wazuh/enhancement/2066-revert-image-tag-for-4.14.1rc2 2025-11-07 10:47:58 +01:00
Enrique Araque b39237b2c0 Remove docker image tag for 4.14.1-rc2 2025-11-07 10:31:22 +01:00
Wazuh CI 582e5d67ef Merge pull request #2067 from wazuh/enhancement/wqa4608-bump-4.14.1
Bump 4.14.1 branch
2025-11-07 09:45:57 +01:00
wazuhci 4dac06e335 feat: bump 4.14.1 2025-11-07 08:45:51 +00:00
Carlos Anguita f08620251d Merge pull request #2059 from wazuh/enhancement/2055-revert-image-tag-for-4.14.1rc1 2025-10-31 10:10:53 +01:00
Enrique Araque f7cebff2e9 Remove image tag for 4.14.1 rc1 2025-10-31 10:09:11 +01:00
Wazuh CI a9ef0e901a Merge pull request #2056 from wazuh/enhancement/wqa4563-bump-4.14.1
Bump 4.14.1 branch
2025-10-30 10:32:35 +01:00
wazuhci b031e317f7 feat: bump 4.14.1 2025-10-30 09:32:26 +00:00
Gonzalo Acuña 2fccb3f4c4 Merge pull request #2048 from wazuh/merge-4.14.0-into-4.14.1
Merge 4.14.0 into 4.14.1
2025-10-23 12:52:25 -03:00
Victor Carlos Erenu afb044a3b0 Resolving conflicts 2025-10-23 22:42:19 +07:00
Carlos Anguita 4c7ee8abac Merge pull request #2042 from wazuh/enhancement/2040-revert-image-tag-for-4.14.0rc2 2025-10-17 12:08:03 +02:00
Enrique Araque 17d61960d5 Revert docker image tag for 4.14.0-rc1 2025-10-17 11:58:48 +02:00
Wazuh CI efddce0e3e Merge pull request #2041 from wazuh/enhancement/wqa4467-bump-4.14.0
Bump 4.14.0 branch
2025-10-17 11:07:23 +02:00
wazuhci b400409314 feat: bump 4.14.0 2025-10-17 09:07:17 +00:00
Carlos Anguita 05fcfd5652 Merge pull request #2034 from wazuh/enhancement/2031-revert-image-tag-for-4.14.0rc1 2025-10-09 12:41:47 +02:00
Enrique Araque 0e1fa7f1c0 Revert docker image tag for 4.14.0-rc1 2025-10-09 12:38:50 +02:00
Wazuh CI 77323aaaee Merge pull request #2033 from wazuh/enhancement/wqa4387-bump-4.14.0
Bump 4.14.0 branch
2025-10-09 11:58:22 +02:00
wazuhci 7334111f1c feat: bump 4.14.0 2025-10-09 09:58:17 +00:00
Gonzalo Acuña 782d2cfa67 Merge pull request #2029 from wazuh/bug/2028-indexer-dir-owner
Change Wazuh indexer directory owner
2025-09-30 08:10:09 -03:00
vcerenu 84e13a51c1 Add changelog 2025-09-29 15:46:48 -03:00
vcerenu 3835b4c6db Change Wazuh indexer directory permissions 2025-09-29 15:14:41 -03:00
Gonzalo Acuña 652a7cfe9a Merge pull request #2027 from wazuh/enhancement/1934-wazuh-cert-tool-generator
Wazuh cert tool generator improvements
2025-09-26 16:01:19 -03:00
vcerenu c910773076 Modify readme 2025-09-26 15:52:09 -03:00
vcerenu 901f29b68f Add changelog 2025-09-26 15:37:33 -03:00
vcerenu 2d56895f47 Improve error messages 2025-09-26 15:33:42 -03:00
vcerenu ccab3b6d7e Modify Wazuh cert tool generation 2025-09-26 12:14:09 -03:00
Carlos Anguita 44a7f8cedc Merge pull request #2025 from wazuh/enhancement/2023-revert-image-tag-for-4.14.0alpha1 2025-09-26 09:54:38 +02:00
Enrique Araque 57c6ac12d0 Change docker image for 4.14.0-alpha1 2025-09-26 09:51:26 +02:00
Wazuh CI 2b0575b1f9 Merge pull request #2024 from wazuh/enhancement/wqa4084-bump-4.14.0
Bump 4.14.0 branch
2025-09-26 08:49:37 +02:00
wazuhci ecf80f9122 feat: bump 4.14.0 2025-09-26 06:49:29 +00:00
Gonzalo Acuña e22d4a9d40 Merge pull request #2020 from wazuh/enhancement/2013-filebeat-install-method
Change filebeat install method
2025-09-25 12:17:21 -03:00
Gonzalo Acuña 3186bc7711 Merge branch '4.14.0' into enhancement/2013-filebeat-install-method 2025-09-25 12:16:55 -03:00
Gonzalo Acuña a5f0113c75 Merge pull request #2021 from wazuh/change/3118-chat
Remove dashboard chat setting
2025-09-25 08:57:26 -03:00
Gonzalo Acuña d4371324c9 Changelog update 2025-09-25 08:35:11 -03:00
Gonzalo Acuña 9eb188fc88 Remove dashboard chat setting 2025-09-25 08:32:58 -03:00
vcerenu 8f5aa86dff Add changelog 2025-09-25 08:08:40 -03:00
Gonzalo Acuña ed92382ff1 Merge pull request #2018 from wazuh/merge-4.14.0-into-4.14.1
Merge 4.14.0 into 4.14.1
2025-09-24 14:50:27 -03:00
Gonzalo Acuña 9529953842 Merge pull request #2017 from wazuh/merge-4.13.1-into-4.14.0
Merge 4.13.1 into 4.14.0
2025-09-24 14:20:44 -03:00
vcerenu 9c58a48684 Resolving Conflicts 2025-09-24 14:06:30 -03:00
vcerenu a42a354c68 Change filebeat install method 2025-09-23 15:41:50 -03:00
Carlos Anguita 7a3dce5014 Merge pull request #2012 from wazuh/enhancement/2009-change-tag-references 2025-09-23 12:44:10 +02:00
vcerenu 2d39e6a06b Change image tag 2025-09-23 07:41:20 -03:00
Wazuh CI 927fcfc3b8 Merge pull request #2010 from wazuh/enhancement/wqa3963-bump-4.13.1
Bump 4.13.1 branch
2025-09-23 11:13:05 +02:00
wazuhci 58f5dadef6 feat: bump 4.13.1 2025-09-23 09:13:01 +00:00
Gonzalo Acuña 1d03c17d60 Merge pull request #2007 from wazuh/merge-4.14.0-into-4.14.1
Merge 4.14.0 into 4.14.1
2025-09-19 05:34:03 -03:00
Gonzalo Acuña ee087c7ebf Merge branch '4.14.1' into merge-4.14.0-into-4.14.1 2025-09-19 05:24:26 -03:00
Gonzalo Acuña 75e3eb0b7e Merge pull request #2006 from wazuh/merge-4.13.0-into-4.14.0
Merge 4.13.0 into 4.14.0
2025-09-18 21:53:34 -03:00
Jesus Garcia 0163675682 Merge branch '4.13.0' into 4.14.0 2025-09-18 17:20:22 -05:00
Wazuh CI 6ef7e3acaf Merge pull request #2005 from wazuh/enhancement/wqa3910-bump-4.13.1
Bump 4.13.1 branch
2025-09-18 13:15:04 +02:00
wazuhci a9c6beaecd feat: bump 4.13.1 2025-09-18 11:15:00 +00:00
Gonzalo Acuña cccb4da130 Merge pull request #1999 from wazuh/change/idr-3077-dashboard-settings-rollback
Rollback data source setting
2025-09-17 12:51:44 -03:00
Gonzalo Acuña 434f99b182 Changelog update 2025-09-17 12:23:36 -03:00
Gonzalo Acuña ac64909b22 Rollback data source setting 2025-09-17 12:22:29 -03:00
Gonzalo Acuña 63eec35a3c Merge pull request #1998 from wazuh/change/idr-3056-dashboard-settings
Dashboard settings added
2025-09-15 12:55:53 -03:00
Gonzalo Acuña ac126173e3 Changelog update 2025-09-15 12:25:42 -03:00
Gonzalo Acuña 5054f26b99 Dashboard settings added 2025-09-15 12:21:12 -03:00
Gonzalo Acuña 3cf3c541d0 Merge pull request #1997 from wazuh/1184-revert-tags
Revert tags 4.13.0-rc5
2025-09-12 07:06:52 -03:00
Gonzalo Acuña 6269a55c9d Revert tags 4.13.0-rc5 2025-09-12 07:05:12 -03:00
Wazuh CI 8943e9ad77 Merge pull request #1996 from wazuh/enhancement/wqa3802-bump-4.13.0
Bump 4.13.0 branch
2025-09-12 10:23:10 +02:00
wazuhci 649a312d3a feat: bump 4.13.0 2025-09-12 08:23:06 +00:00
Gonzalo Acuña 9634a2b4af Merge pull request #1994 from wazuh/change/2612-syscollector
Syscollector configuration change
2025-09-05 11:37:39 -03:00
Gonzalo Acuña 2dd0f3b7d2 Changelog update 2025-09-05 11:28:23 -03:00
Gonzalo Acuña 7bc245ef66 Syscollector configuration change 2025-09-05 11:26:36 -03:00
Gonzalo Acuña 9b916b1ce8 Merge pull request #1992 from wazuh/merge-4.14.0-into-4.14.1
Merge 4.14.0 into 4.14.1
2025-09-05 09:07:14 -03:00
Victor Ereñú 75e09fcc19 Merge branch '4.14.1' into merge-4.14.0-into-4.14.1 2025-09-05 09:03:44 -03:00
Carlos Bordon 3748d61d5f Merge pull request #1991 from wazuh/merge-4.13.0-into-4.14.0
Merge 4.13.0 into 4.14.0
2025-09-05 08:40:52 -03:00
vcerenu b2420a5946 Resolving conflicts 2025-09-05 08:33:11 -03:00
Enrique Araque 7dc5f82bac Merge pull request #1989 from wazuh/enhancement/1987-revert-image-tag-for-4.13.0rc4
Revert docker image tag for 4.13.0 RC4
2025-09-04 13:19:53 +02:00
Enrique Araque 2fdc514bb0 Revert docker image tag for 4.13.0 rc4 2025-09-04 13:14:42 +02:00
Wazuh CI 4ff7c4f5b0 Merge pull request #1988 from wazuh/enhancement/wqa3651-bump-4.13.0
Bump 4.13.0 branch
2025-09-04 12:16:51 +02:00
wazuhci 7a7443b717 feat: bump 4.13.0 2025-09-04 10:16:46 +00:00
Gonzalo Acuña 4ce722291b Merge pull request #1985 from wazuh/enhancement/1984-add-dashboard-parameter
Add opensearch_dashboard.yml parameters
2025-08-29 08:45:23 -03:00
vcerenu ffe384be91 Add changelog 2025-08-29 08:01:37 -03:00
vcerenu 963ccf7671 Add opensearch_dashboard.yml parameters 2025-08-27 12:34:52 -03:00
Gonzalo Acuña 55f4de8f06 Merge pull request #1981 from wazuh/enhancement/1979-revert-images-tags
Revert images tags
2025-08-22 13:39:53 -03:00
vcerenu e4ce58c0c9 Revert images tags 2025-08-22 08:23:01 -03:00
Wazuh CI ebe230fccb Merge pull request #1980 from wazuh/enhancement/wqa3471-bump-4.13.0
Bump 4.13.0 branch
2025-08-22 11:31:13 +02:00
wazuhci bcb46d0926 feat: bump 4.13.0 2025-08-22 09:31:09 +00:00
Carlos Anguita 555a0e2590 Merge pull request #1973 from wazuh/merge-4.14.0-into-4.14.1 2025-08-14 13:29:36 +02:00
vcerenu 54fe999414 Merge branch '4.14.1' of github.com:wazuh/wazuh-docker into 4.14.0 2025-08-14 08:22:00 -03:00
Carlos Anguita c027b3efba Merge pull request #1972 from wazuh/merge-4.13.0-into-4.14.0 2025-08-14 13:16:47 +02:00
vcerenu 7bc871bde9 Resolving conflicts 2025-08-14 08:09:22 -03:00
Gonzalo Acuña 43d8f2b29d Merge pull request #1968 from wazuh/bug/1966-permanent-data-excp-4.13.0
Add wazuh-template.json into permanent data exception
2025-08-13 11:10:46 -03:00
Gonzalo Acuña bc4d15d1c2 Merge pull request #1953 from wazuh/bug/2511-delete-dockerfile-line
Double the amount of space consumed in Wazuh Indexer
2025-08-13 10:18:06 -03:00
vcerenu ee599583eb Add changelog 2025-08-13 08:49:50 -03:00
vcerenu 14caf8058d Add wazuh-template.json into permanent data exception 2025-08-13 08:29:40 -03:00
Gonzalo Acuña b86ea0d6bc Merge pull request #1958 from wazuh/enhancement/1956-revert-changes
Revert rc4 changes
2025-08-07 09:08:50 -03:00
Gonzalo Acuña d122b702f1 Revert rc4 changes 2025-08-07 08:56:44 -03:00
Gonzalo Acuña fde6c509d7 Merge pull request #1957 from wazuh/merge-4.13.0-into-4.13.1
Merge 4.13.0 into 4.13.1
2025-08-07 08:41:02 -03:00
vcerenu fb5b4488de Revert version 2025-08-07 08:38:27 -03:00
vcerenu 8d0f306801 Resolving conflicts 2025-08-07 08:13:22 -03:00
vcerenu 831d759cd9 Bump rc4 stage 2025-08-07 08:09:01 -03:00
vcerenu 2811883877 Bump rc4 stage 2025-08-07 08:06:41 -03:00
vcerenu 82a967c0df Add changelog 2025-08-05 13:37:39 -03:00
vcerenu 29190cce99 Delete Dcokerfile line 2025-08-05 12:50:34 -03:00
Gonzalo Acuña beef440c3a Merge pull request #1951 from wazuh/bug/2511-security-plugin-perm-errors
Fix config directory for opensearch_security plugin work
2025-08-04 13:49:52 -03:00
vcerenu 3243306b07 Add docker-compose multi node config 2025-08-04 13:18:59 -03:00
vcerenu 81208b9abe rollback certs path 2025-08-01 14:05:37 -03:00
vcerenu f53f1930aa Add changelog 2025-08-01 13:11:48 -03:00
vcerenu 85709013bc Fix config directory for opensearch_security plugin work 2025-08-01 12:44:43 -03:00
Carlos Anguita c94263eacd Merge pull request #1950 from wazuh/enhancement/1948-revert-image-tag-for-4.13.0rc3 2025-07-30 10:44:54 +02:00
Enrique Araque 5d5fe18d82 Revert image tag for 4.13.0-rc3 2025-07-30 10:42:50 +02:00
Wazuh CI 339500631d Merge pull request #1949 from wazuh/enhancement/wqa3042-bump-4.13.0
Bump 4.13.0 branch
2025-07-30 09:42:36 +02:00
wazuhci 1057715f3d feat: bump 4.13.0 2025-07-30 07:42:30 +00:00
Wazuh CI 6f94d5aa65 Merge pull request #1947 from wazuh/enhancement/wqa3035-bump-4.14.1
Bump 4.14.1 branch
2025-07-29 18:11:15 +02:00
wazuhci 846ae52263 feat: bump 4.14.1 2025-07-29 16:11:09 +00:00
Gonzalo Acuña 76e3c62b9a Merge pull request #1944 from wazuh/merge-4.13.1-into-4.14.0
Merge 4.13.1 into 4.14.0
2025-07-25 09:58:41 -03:00
vcerenu 5a1daaf4ce Merge branch '4.14.0' of github.com:wazuh/wazuh-docker into merge-4.13.1-into-4.14.0 2025-07-25 09:54:44 -03:00
Gonzalo Acuña 0222bcc9f8 Merge pull request #1943 from wazuh/merge-4.13.0-into-4.13.1
Merge 4.13.0 into 4.13.1
2025-07-25 09:48:04 -03:00
vcerenu 23e8982c45 Fix dev stage example 2025-07-25 09:44:43 -03:00
vcerenu cb6c3de364 Fix dev stage example 2025-07-25 09:43:41 -03:00
vcerenu 89184e77ab Resolving conflicts 2025-07-25 09:27:03 -03:00
vcerenu 191ef58a9b Resolving conflicts 2025-07-25 09:22:48 -03:00
Carlos Bordon ac7121e411 Merge pull request #1938 from wazuh/enhancement/1936-revert-image-tag
Revert rc2 stage into 4.13.0 branch
2025-07-18 10:15:52 -03:00
vcerenu 1146acb3a4 Revert rc2 stage into 4.13.0 branch 2025-07-18 10:03:11 -03:00
Wazuh CI a8582fdd4b Merge pull request #1937 from wazuh/enhancement/wqa2817-bump-4.13.0
Bump 4.13.0 branch
2025-07-18 10:04:11 +02:00
wazuhci 7a13fa72b3 feat: bump 4.13.0 2025-07-18 08:04:06 +00:00
Carlos Anguita dc74728c42 Merge pull request #1932 from wazuh/enhancement/1930-revert-image-tag-for-4.13.0rc1 2025-07-14 09:58:27 +02:00
Enrique Araque 7fdcb0a320 Change docker image tag for 4.13.0-rc1 2025-07-14 09:50:19 +02:00
Wazuh CI 5c99764d2c Merge pull request #1931 from wazuh/enhancement/wqa2745-bump-4.13.0
Bump 4.13.0 branch
2025-07-14 09:20:03 +02:00
wazuhci 28f7be1f7d feat: bump 4.13.0 2025-07-14 07:19:55 +00:00
Gonzalo Acuña 2d2d3ec7ca Merge pull request #1928 from wazuh/bug/1924-add-copy-indexer-files
Update Dockerfile to copy `opensearch-security` files
2025-07-11 12:55:26 -03:00
fcaffieri 9cc135d05b Update CHANGELOG 2025-07-08 17:30:26 -03:00
fcaffieri 60e43e2737 Update Dockerfile 2025-07-08 16:25:53 -03:00
Gonzalo Acuña 92bbd3395f Merge pull request #1926 from wazuh/bug/1920-set-right-permissions-for-malicious-ioc-list-files
Set right ownership for malicious-ioc files on container start
2025-07-04 15:36:35 -03:00
Jesus Garcia 49594251a6 Set right ownership for malicious-ioc files on container start 2025-07-04 12:52:29 -05:00
Gonzalo Acuña 8cb8437d7f Merge pull request #1925 from wazuh/enhancement/1922-delete-version-statement
Delete services statement in wazuh agent deployment
2025-07-04 13:42:13 -03:00
vcerenu 5bbce9e403 Change docker-compose references 2025-07-04 12:43:41 -03:00
vcerenu 8306a49967 Add Changelog 2025-07-04 12:04:31 -03:00
vcerenu 1ae575d56f Delete services statement in wazuh agent deployment 2025-07-04 11:49:37 -03:00
Carlos Anguita fb65400657 Merge pull request #1919 from wazuh/enhancement/1917-remove-stage-from-tag 2025-07-02 12:05:20 +02:00
Enrique Araque 283ca123e3 Revert docker image for 4.13.0-beta1 2025-07-02 11:56:58 +02:00
Wazuh CI 16202f2f21 Merge pull request #1918 from wazuh/enhancement/wqa2654-bump-4.13.0
Bump 4.13.0 branch
2025-07-02 10:12:35 +02:00
wazuhci b99d946282 feat: bump 4.13.0 2025-07-02 08:12:31 +00:00
Gonzalo Acuña a5eab952aa Merge pull request #1898 from wazuh/bug/1563-filebeatconf-file-is-not-updated-if-file-already-exists-in-etcfilebeatfilebeatyml
Add filebeat config file in the `PERMANENT_DATA_EXCP` list
2025-06-23 14:25:53 -03:00
Enrique Araque a5d961040a Update changelog 2025-06-20 13:18:05 +02:00
Enrique Araque bca60dd0b6 add filebeat config file in the exclusion path 2025-06-20 11:43:37 +02:00
82 changed files with 1781 additions and 1567 deletions
+4 -4
View File
@@ -1,6 +1,6 @@
WAZUH_VERSION=6.0.0
WAZUH_IMAGE_VERSION=6.0.0
WAZUH_VERSION=4.14.9
WAZUH_IMAGE_VERSION=4.14.9
WAZUH_TAG_REVISION=1
FILEBEAT_TEMPLATE_BRANCH=6.0.0
WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz
FILEBEAT_TEMPLATE_BRANCH=4.14.9
WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.5.tar.gz
WAZUH_UI_REVISION=1
+1 -15
View File
@@ -34,20 +34,6 @@ file:
group: wazuh
filetype: file
contains: []
/var/ossec/etc/sslmanager.cert:
exists: true
mode: "0640"
owner: root
group: root
filetype: file
contains: []
/var/ossec/etc/sslmanager.key:
exists: true
mode: "0640"
owner: root
group: root
filetype: file
contains: []
package:
filebeat:
installed: true
@@ -56,7 +42,7 @@ package:
wazuh-manager:
installed: true
versions:
- 6.0.0
- 4.14.9
port:
tcp:1514:
listening: true
@@ -0,0 +1,305 @@
run-name: (4.x) Build and push images - ${{ inputs.dev && 'dev' || 'release' }} - ${{ inputs.id }}
name: (4.x) Build and push images
on:
workflow_dispatch:
inputs:
image_tag:
description: 'Docker image tag'
default: '4.14.9'
required: true
docker_reference:
description: 'wazuh-docker reference'
required: true
filebeat_module_version:
description: 'Filebeat module version'
default: '0.5'
required: true
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: false
type: string
revision:
description: 'Package revision'
default: '1'
required: true
id:
description: "ID used to identify the workflow uniquely."
type: string
required: false
dev:
description: "Add tag suffix '-dev' to the image tag ?"
type: boolean
default: true
required: false
workflow_call:
inputs:
image_tag:
description: 'Docker image tag'
default: '4.14.9'
required: true
type: string
docker_reference:
description: 'wazuh-docker reference'
required: false
type: string
filebeat_module_version:
description: 'Filebeat module version'
default: '0.5'
required: true
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: false
type: string
revision:
description: 'Package revision'
default: '1'
required: true
type: string
id:
description: "ID used to identify the workflow uniquely."
type: string
required: false
dev:
description: "Add tag suffix '-dev' to the image tag ?"
type: boolean
default: false
required: false
jobs:
setup:
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
permissions:
id-token: write
contents: read
env:
IMAGE_REGISTRY: ${{ inputs.dev && vars.IMAGE_REGISTRY_DEV || vars.IMAGE_REGISTRY_PROD }}
IMAGE_TAG: ${{ inputs.image_tag }}
FILEBEAT_MODULE_VERSION: ${{ inputs.filebeat_module_version }}
REVISION: ${{ inputs.revision }}
outputs:
WAZUH_COMPONENTS: ${{ steps.compute-outputs.outputs.WAZUH_COMPONENTS }}
ALL_PRODUCTS_SELECTED: ${{ steps.compute-outputs.outputs.ALL_PRODUCTS_SELECTED }}
steps:
- name: Print inputs
run: |
echo "---------------------------------------------"
echo "Running 4_build_and_push_images workflow"
echo "---------------------------------------------"
echo "* BRANCH: ${{ github.ref }}"
echo "* COMMIT: ${{ github.sha }}"
echo "---------------------------------------------"
echo "Inputs provided:"
echo "---------------------------------------------"
echo "* id: ${{ inputs.id }}"
echo "* image_tag: ${{ inputs.image_tag }}"
echo "* docker_reference: ${{ inputs.docker_reference }}"
echo "* filebeat_module_version: ${{ inputs.filebeat_module_version }}"
echo "* products: ${{ inputs.products }}"
echo "* revision: ${{ inputs.revision }}"
echo "* dev: ${{ inputs.dev }}"
echo "---------------------------------------------"
- name: Set up variables
id: compute-outputs
run: |
# Use the default list if products is empty
PRODUCTS="${{ inputs.products }}"
if [[ -z "$PRODUCTS" || "$PRODUCTS" == "null" ]]; then
PRODUCTS="wazuh-manager,wazuh-dashboard,wazuh-indexer,wazuh-agent"
fi
# Check if all 4 core components are present in the string
if [[ "$PRODUCTS" == *"wazuh-manager"* && "$PRODUCTS" == *"wazuh-dashboard"* && "$PRODUCTS" == *"wazuh-indexer"* && "$PRODUCTS" == *"wazuh-agent"* ]]; then
echo "ALL_PRODUCTS_SELECTED=true" >> $GITHUB_OUTPUT
else
echo "ALL_PRODUCTS_SELECTED=false" >> $GITHUB_OUTPUT
fi
# Convert to JSON for the matrix (Your existing logic)
IFS=',' read -ra COMPONENTS <<< "$PRODUCTS"
JSON_ARRAY=$(printf '%s\n' "${COMPONENTS[@]}" | jq -R . | jq -s -c .)
echo "WAZUH_COMPONENTS=$JSON_ARRAY" >> $GITHUB_OUTPUT
build-and-push:
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
permissions:
id-token: write
contents: read
needs:
- setup
strategy:
fail-fast: false # all jobs will run even if one fails
matrix:
wazuh_component: ${{ fromJson(needs.setup.outputs.WAZUH_COMPONENTS) }}
env:
IMAGE_REGISTRY: ${{ inputs.dev && vars.IMAGE_REGISTRY_DEV || vars.IMAGE_REGISTRY_PROD }}
IMAGE_TAG: ${{ inputs.image_tag }}
REVISION: ${{ inputs.revision }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
ref: ${{ inputs.docker_reference }}
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Configure aws credentials
if: ${{ inputs.dev == true }}
uses: aws-actions/configure-aws-credentials@v6
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: Build Wazuh images
run: |
IMAGE_TAG="${{ inputs.image_tag }}"
FILEBEAT_MODULE_VERSION=${{ inputs.filebeat_module_version }}
REVISION=${{ inputs.revision }}
if [[ "$IMAGE_TAG" == *"-"* ]]; then
IFS='-' read -r -a tokens <<< "$IMAGE_TAG"
if [ -z "${tokens[1]}" ]; then
echo "Invalid image tag: $IMAGE_TAG"
exit 1
fi
DEV_STAGE=${tokens[1]}
WAZUH_VER=${tokens[0]}
./build-images.sh -v $WAZUH_VER -r $REVISION -d $DEV_STAGE -f $FILEBEAT_MODULE_VERSION -rg $IMAGE_REGISTRY -m -c ${{ matrix.wazuh_component }}
else
./build-images.sh -v $IMAGE_TAG -r $REVISION -f $FILEBEAT_MODULE_VERSION -rg $IMAGE_REGISTRY -m -c ${{ matrix.wazuh_component }}
fi
# Save .env file (generated by build-images.sh) contents to $GITHUB_ENV
ENV_FILE_PATH="../.env"
if [ -f $ENV_FILE_PATH ]; then
while IFS= read -r line || [ -n "$line" ]; do
echo "$line" >> $GITHUB_ENV
done < $ENV_FILE_PATH
else
echo "The environment file $ENV_FILE_PATH does not exist!"
exit 1
fi
working-directory: ./build-docker-images
notify:
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
needs: [setup, build-and-push]
# Only run if NOT dev AND all products were selected
if: ${{ inputs.dev == false && needs.setup.outputs.ALL_PRODUCTS_SELECTED == 'true' }}
steps:
- name: Image exists validation
id: validation
run: |
IMAGE_TAG=${{ inputs.image_tag }}
IMAGE_REGISTRY="${{ vars.IMAGE_REGISTRY_PROD }}"
PURPOSE=""
if [[ "$IMAGE_TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
if docker manifest inspect $IMAGE_REGISTRY/wazuh/wazuh-manager:$IMAGE_TAG > /dev/null 2>&1; then
PURPOSE="regeneration"
echo "Image wazuh/wazuh-manager:$IMAGE_TAG exists. Setting PURPOSE to 'regeneration'"
else
PURPOSE="new release"
echo "Image wazuh/wazuh-manager:$IMAGE_TAG does NOT exist. Setting PURPOSE to 'new release'"
fi
echo "✅ Release tag: '$IMAGE_TAG'"
elif [[ "$IMAGE_TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+-(alpha|beta|rc)[0-9]+$ ]]; then
PURPOSE="new stage"
echo "✅ Stage tag: '$IMAGE_TAG'. Setting PURPOSE to 'new stage'"
else
echo "❌ No release or stage tag ('$IMAGE_TAG'), the GH issue will not be created"
fi
echo "purpose=$PURPOSE" >> $GITHUB_OUTPUT
- name: GH issue notification
if: ${{ steps.validation.outputs.purpose != '' }}
env:
GH_TOKEN: ${{ secrets.NOTIFICATION_GH_ARTIFACT_TOKEN }}
run: |
IMAGE_TAG=${{ inputs.image_tag }}
PURPOSE="${{ steps.validation.outputs.purpose }}"
GH_TITLE=""
GH_MESSAGE=""
## Setting GH issue title
GH_TITLE="Artifactory vulnerabilities update \`v$IMAGE_TAG\`"
## Setting GH issue body
GH_MESSAGE=$(cat <<- EOF | tr -d '\r' | sed 's/^[[:space:]]*//'
### Description
- [ ] Update the [Artifactory vulnerabilities](${{ secrets.NOTIFICATION_SHEET_URL }}) sheet with the \`v$IMAGE_TAG\` vulnerabilities.
**Purpose**: $PURPOSE
>[!NOTE]
>To update the \`Tentative Release\` column, follow these steps:
https://github.com/wazuh/${{ secrets.NOTIFICATION_REPO }}/issues/2049#issuecomment-2671590268
EOF
)
# Print the GH Variables content
echo "--- Variable Content ---"
echo "$GH_TITLE"
echo "------------------------"
echo "--- Variable Content ---"
echo "$GH_MESSAGE"
echo "------------------------"
## GH issue creation
ISSUE_URL=$(gh issue create \
-R wazuh/${{ secrets.NOTIFICATION_REPO }} \
--title "$GH_TITLE" \
--body "$GH_MESSAGE" \
--label "level/task" \
--label "type/maintenance" \
--label "request/operational")
## Adding the issue to the team project
PROJECT_ITEM_ID=$(gh project item-add \
${{ secrets.NOTIFICATION_PROJECT_NUMBER }} \
--url $ISSUE_URL \
--owner wazuh \
--format json \
| jq -r '.id')
## Setting Objective
gh project item-edit --id $PROJECT_ITEM_ID --project-id ${{ secrets.NOTIFICATION_PROJECT_ID }} --field-id ${{ secrets.NOTIFICATION_PROJECT_OBJECTIVE_ID }} --text "Security scans"
## Setting Priority
gh project item-edit --id $PROJECT_ITEM_ID --project-id ${{ secrets.NOTIFICATION_PROJECT_ID }} --field-id ${{ secrets.NOTIFICATION_PROJECT_PRIORITY_ID }} --single-select-option-id ${{ secrets.NOTIFICATION_PROJECT_PRIORITY_OPTION_ID }}
## Setting Size
gh project item-edit --id $PROJECT_ITEM_ID --project-id ${{ secrets.NOTIFICATION_PROJECT_ID }} --field-id ${{ secrets.NOTIFICATION_PROJECT_SIZE_ID }} --single-select-option-id ${{ secrets.NOTIFICATION_PROJECT_SIZE_OPTION_ID }}
## Setting Subteam
gh project item-edit --id $PROJECT_ITEM_ID --project-id ${{ secrets.NOTIFICATION_PROJECT_ID }} --field-id ${{ secrets.NOTIFICATION_PROJECT_SUBTEAM_ID }} --single-select-option-id ${{ secrets.NOTIFICATION_PROJECT_SUBTEAM_OPTION_ID }}
+21 -8
View File
@@ -1,4 +1,4 @@
name: Repository bumper
name: (4.x) Repository bumper
run-name: Bump ${{ github.ref_name }} (${{ inputs.id }})
on:
@@ -31,7 +31,7 @@ on:
jobs:
bump:
name: Repository bumper
runs-on: ubuntu-22.04
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
permissions:
contents: write
pull-requests: write
@@ -70,7 +70,7 @@ jobs:
export GPG_TTY=$(tty)
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
# Using workflow-specific GITHUB_TOKEN because currently CI_WAZUHCI_BUMPER_TOKEN
# doesn't have all the necessary permissions
@@ -110,13 +110,21 @@ jobs:
bash ${{ env.BUMP_SCRIPT_PATH }} ${{ steps.vars.outputs.script_params }}
- name: Commit and push changes
id: bump_commit
run: |
git add .
git commit -m "feat: bump ${{ github.ref_name }}"
git push origin ${{ steps.vars.outputs.branch_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 }}"
git push origin ${{ steps.vars.outputs.branch_name }}
echo "has_changes=true" >> $GITHUB_OUTPUT
fi
- name: Create pull request
id: create_pr
if: steps.bump_commit.outputs.has_changes == 'true'
run: |
gh auth setup-git
PR_URL=$(gh pr create \
@@ -129,14 +137,19 @@ jobs:
echo "pull_request_url=${PR_URL}" >> $GITHUB_OUTPUT
- name: Merge pull request
if: steps.bump_commit.outputs.has_changes == 'true'
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)
gh pr merge "${{ steps.create_pr.outputs.pull_request_url }}" --merge --admin
- name: Show logs
run: |
echo "Bump complete."
echo "Branch: ${{ steps.vars.outputs.branch_name }}"
echo "PR: ${{ steps.create_pr.outputs.pull_request_url }}"
if [[ "${{ steps.bump_commit.outputs.has_changes }}" == "true" ]]; then
echo "Bump complete."
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:"
cat ${BUMP_LOG_PATH}/repository_bumper*log
@@ -1,17 +1,42 @@
name: Wazuh Docker pipeline
name: (4.x) Docker PR check
on: [pull_request]
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- 4.*
paths:
- 'build-docker-images/**'
- 'multi-node/**'
- 'single-node/**'
- 'wazuh-agent/**'
- '.github/**'
env:
ARTIFACTS_LOCAL_DIR: /home/runner/work/wazuh-docker/wazuh-docker/docker-images
ARTIFACT_NAMES: |
wazuh-manager.tar
wazuh-indexer.tar
wazuh-dashboard.tar
wazuh-agent.tar
jobs:
build-docker-images:
runs-on: ubuntu-22.04
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build Wazuh images
run: build-docker-images/build-images.sh
run: ./build-images.sh
working-directory: ./build-docker-images
- name: Create enviroment variables
run: cat .env > $GITHUB_ENV
@@ -23,102 +48,54 @@ jobs:
docker save wazuh/wazuh-indexer:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
docker save wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
docker save wazuh/wazuh-agent:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-agent.tar
docker save wazuh/wazuh-cert-tool:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-cert-tool.tar
- name: Temporarily save Wazuh manager Docker image
uses: actions/upload-artifact@v4
with:
name: docker-artifact-manager
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar
retention-days: 1
- name: Temporarily save Wazuh indexer Docker image
uses: actions/upload-artifact@v4
with:
name: docker-artifact-indexer
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
retention-days: 1
- name: Temporarily save Wazuh dashboard Docker image
uses: actions/upload-artifact@v4
with:
name: docker-artifact-dashboard
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
retention-days: 1
- name: Temporarily save Wazuh agent Docker image
uses: actions/upload-artifact@v4
with:
name: docker-artifact-agent
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-agent.tar
- name: Temporarily save Wazuh Cert Tool Docker image
uses: actions/upload-artifact@v3
with:
name: docker-artifact-cert-tool
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-cert-tool.tar
retention-days: 1
- name: Install Goss
uses: e1himself/goss-installation-action@v1.0.3
with:
version: v0.3.16
- name: Execute Goss tests (wazuh-manager)
run: dgoss run wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}}
- name: Temporarily save Wazuh Docker images
env:
GOSS_SLEEP: 30
GOSS_FILE: .github/.goss.yaml
S3_ARTIFACTS_PATH: ${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/4_pr_check/${{ github.run_id }}
run: |
echo "Uploading Docker image artifacts to S3..."
while IFS= read -r artifact; do
[ -z "$artifact" ] && continue
echo " Uploading: $artifact"
aws s3 cp "${ARTIFACTS_LOCAL_DIR}/${artifact}" "${S3_ARTIFACTS_PATH}/${artifact}"
done <<< "$ARTIFACT_NAMES"
echo "All artifacts uploaded successfully."
check-single-node:
runs-on: ubuntu-22.04
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
needs: build-docker-images
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Create enviroment variables
run: cat .env > $GITHUB_ENV
- name: Retrieve saved Wazuh indexer Docker image
uses: actions/download-artifact@v4
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
name: docker-artifact-indexer
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Retrieve saved Wazuh manager Docker image
uses: actions/download-artifact@v4
with:
name: docker-artifact-manager
- name: Retrieve saved Wazuh dashboard Docker image
uses: actions/download-artifact@v4
with:
name: docker-artifact-dashboard
- name: Retrieve saved Wazuh agent Docker image
uses: actions/download-artifact@v4
with:
name: docker-artifact-agent
- name: Retrieve saved Wazuh Cert Tool Docker image
uses: actions/download-artifact@v3
with:
name: docker-artifact-cert-tool
- name: Docker load
- name: Retrieve saved Wazuh Docker images and load them into Docker
env:
S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/4_pr_check/${{ github.run_id }}
ARTIFACTS_LOCAL_DIR: /home/runner/work/wazuh-docker/wazuh-docker/docker-images
run: |
docker load --input ./wazuh-indexer.tar
docker load --input ./wazuh-dashboard.tar
docker load --input ./wazuh-manager.tar
docker load --input ./wazuh-agent.tar
mkdir -p "${ARTIFACTS_LOCAL_DIR}"
echo "Downloading and loading Docker image artifacts from S3..."
while IFS= read -r artifact; do
[ -z "$artifact" ] && continue
echo " Downloading: $artifact"
aws s3 cp "${S3_ARTIFACTS_PATH}/${artifact}" "${ARTIFACTS_LOCAL_DIR}/${artifact}"
echo " Loading into Docker: $artifact"
docker load -i "${ARTIFACTS_LOCAL_DIR}/${artifact}"
done <<< "$ARTIFACT_NAMES"
echo "All artifacts downloaded and loaded successfully."
- name: Create single node certficates
run: docker compose -f single-node/generate-certs.yml run --rm generator
docker load --input ./wazuh-cert-tool.tar
rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-cert-tool.tar
- name: Create single node certficates
run: docker-compose -f single-node/generate-certs.yml run --rm generator
run: docker compose -f single-node/generate-indexer-certs.yml run --rm generator
- name: Start single node stack
run: docker compose -f single-node/docker-compose.yml up -d
@@ -153,17 +130,6 @@ jobs:
exit 1
fi
- name: Check documents into wazuh-alerts index
run: |
sleep 120
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
if [[ $docs -gt 0 ]]; then
echo "wazuh-alerts index documents: ${docs}"
else
echo "wazuh-alerts index documents: ${docs}"
exit 1
fi
- name: Check Wazuh templates
run: |
qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics" | wc -l`"
@@ -208,7 +174,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: |
@@ -217,62 +183,55 @@ jobs:
env:
TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
- name: Check documents into wazuh-alerts index
run: |
sleep 120
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
if [[ $docs -gt 0 ]]; then
echo "wazuh-alerts index documents: ${docs}"
else
echo "wazuh-alerts index documents: ${docs}"
exit 1
fi
- name: Check errors in ossec.log for Wazuh manager
run: ./.github/single-node-log-check.sh
check-multi-node:
runs-on: ubuntu-22.04
runs-on: codebuild-github-actions-codebuild-runner-devops-amd-${{ github.run_id }}-${{ github.run_attempt }}
needs: build-docker-images
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Create enviroment variables
run: cat .env > $GITHUB_ENV
- name: free disk space
uses: ./.github/free-disk-space
- name: Retrieve saved Wazuh dashboard Docker image
uses: actions/download-artifact@v4
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
name: docker-artifact-dashboard
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Retrieve saved Wazuh manager Docker image
uses: actions/download-artifact@v4
with:
name: docker-artifact-manager
- name: Retrieve saved Wazuh indexer Docker image
uses: actions/download-artifact@v4
with:
name: docker-artifact-indexer
- name: Retrieve saved Wazuh agent Docker image
uses: actions/download-artifact@v4
with:
name: docker-artifact-agent
- name: Retrieve saved Wazuh Cert Tool Docker image
uses: actions/download-artifact@v3
with:
name: docker-artifact-cert-tool
- name: Docker load
- name: Retrieve saved Wazuh Docker images and load them into Docker
env:
S3_ARTIFACTS_PATH: s3://${{ secrets.CI_DEV_INTERNAL_S3_BUCKET }}/wazuh-docker/4_pr_check/${{ github.run_id }}
ARTIFACTS_LOCAL_DIR: /home/runner/work/wazuh-docker/wazuh-docker/docker-images
run: |
docker load --input ./wazuh-indexer.tar
docker load --input ./wazuh-dashboard.tar
docker load --input ./wazuh-agent.tar
rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-agent.tar
mkdir -p "${ARTIFACTS_LOCAL_DIR}"
echo "Downloading and loading Docker image artifacts from S3..."
while IFS= read -r artifact; do
[ -z "$artifact" ] && continue
echo " Downloading: $artifact"
aws s3 cp "${S3_ARTIFACTS_PATH}/${artifact}" "${ARTIFACTS_LOCAL_DIR}/${artifact}"
echo " Loading into Docker: $artifact"
docker load -i "${ARTIFACTS_LOCAL_DIR}/${artifact}"
done <<< "$ARTIFACT_NAMES"
echo "All artifacts downloaded and loaded successfully."
- name: Create multi node certficates
run: docker compose -f multi-node/generate-certs.yml run --rm generator
docker load --input ./wazuh-manager.tar
docker load --input ./wazuh-cert-tool.tar
rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar wazuh-cert-tool.tar
- name: Create multi node certficates
run: docker-compose -f multi-node/generate-certs.yml run --rm generator
run: docker compose -f multi-node/generate-indexer-certs.yml run --rm generator
- name: Start multi node stack
run: docker compose -f multi-node/docker-compose.yml up -d
@@ -312,23 +271,6 @@ jobs:
exit 1
fi
- name: Check documents into wazuh-alerts index
run: |
until [[ $(``curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"``) -gt 0 ]]
do
echo 'Waiting for Wazuh indexer events'
free -m
df -h
sleep 10
done
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
if [[ $docs -gt 0 ]]; then
echo "wazuh-alerts index documents: ${docs}"
else
echo "wazuh-alerts index documents: ${docs}"
exit 1
fi
- name: Check Wazuh templates
run: |
qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh" | wc -l`"
@@ -380,7 +322,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: |
@@ -389,5 +331,22 @@ jobs:
env:
TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
- name: Check documents into wazuh-alerts index
run: |
until [[ $(``curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"``) -gt 0 ]]
do
echo 'Waiting for Wazuh indexer events'
free -m
df -h
sleep 10
done
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
if [[ $docs -gt 0 ]]; then
echo "wazuh-alerts index documents: ${docs}"
else
echo "wazuh-alerts index documents: ${docs}"
exit 1
fi
- name: Check errors in ossec.log for Wazuh manager
run: ./.github/multi-node-log-check.sh
@@ -1,159 +0,0 @@
run-name: Launch Push Docker Images - ${{ inputs.id }}
name: Push Docker Images
on:
workflow_dispatch:
inputs:
image_tag:
description: 'Docker image tag'
default: '6.0.0'
required: true
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
id:
description: "ID used to identify the workflow uniquely."
type: string
required: false
dev:
description: "Add tag suffix '-dev' to the image tag ?"
type: boolean
default: true
required: false
workflow_call:
inputs:
image_tag:
description: 'Docker image tag'
default: '6.0.0'
required: true
type: string
docker_reference:
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
id:
description: "ID used to identify the workflow uniquely."
type: string
required: false
dev:
description: "Add tag suffix '-dev' to the image tag ?"
type: boolean
default: false
required: false
jobs:
build-and-push:
runs-on: ubuntu-22.04
steps:
- name: Print inputs
run: |
echo "---------------------------------------------"
echo "Running Procedure_push_docker_images workflow"
echo "---------------------------------------------"
echo "* BRANCH: ${{ github.ref }}"
echo "* COMMIT: ${{ github.sha }}"
echo "---------------------------------------------"
echo "Inputs provided:"
echo "---------------------------------------------"
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 "---------------------------------------------"
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ inputs.docker_reference }}
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build Wazuh images
run: |
IMAGE_TAG=${{ inputs.image_tag }}
FILEBEAT_MODULE_VERSION=${{ inputs.filebeat_module_version }}
REVISION=${{ inputs.revision }}
if [[ "$IMAGE_TAG" == *"-"* ]]; then
IFS='-' read -r -a tokens <<< "$IMAGE_TAG"
if [ -z "${tokens[1]}" ]; then
echo "Invalid image tag: $IMAGE_TAG"
exit 1
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
else
./build-docker-images/build-images.sh -v $IMAGE_TAG -r $REVISION -f $FILEBEAT_MODULE_VERSION
fi
# Save .env file (generated by build-images.sh) contents to $GITHUB_ENV
ENV_FILE_PATH=".env"
if [ -f $ENV_FILE_PATH ]; then
while IFS= read -r line || [ -n "$line" ]; do
echo "$line" >> $GITHUB_ENV
done < $ENV_FILE_PATH
else
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
-76
View File
@@ -1,76 +0,0 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Trivy scan Wazuh dashboard
on:
release:
types:
- published
pull_request:
branches:
- main
schedule:
- cron: '34 2 * * 1'
workflow_dispatch:
permissions:
contents: read
jobs:
build:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
name: Build images and upload Trivy results
runs-on: "ubuntu-22.04"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Installing dependencies
run: |
sudo apt-get update
sudo apt-get install -y jq
- name: Checkout latest tag
run: |
latest=$(curl -s "https://api.github.com/repos/wazuh/wazuh-docker/releases/latest" | jq -r '.tag_name')
git fetch origin
git checkout $latest
- name: Build Wazuh images
run: build-docker-images/build-images.sh
- name: Create enviroment variables
run: |
cat .env > $GITHUB_ENV
echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV
- name: Run Trivy vulnerability scanner for Wazuh dashboard
uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
with:
image-ref: 'wazuh/wazuh-dashboard:${{env.WAZUH_IMAGE_VERSION}}'
format: 'template'
template: '@/contrib/sarif.tpl'
output: 'trivy-results-dashboard.sarif'
severity: 'LOW,MEDIUM,CRITICAL,HIGH'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: 'trivy-results-dashboard.sarif'
- name: Slack notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: cicd-monitoring
SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
#SLACK_ICON: https://github.com/rtCamp.png?size=48
SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}"
SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished.
SLACK_USERNAME: github_actions
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
-76
View File
@@ -1,76 +0,0 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Trivy scan Wazuh indexer
on:
release:
types:
- published
pull_request:
branches:
- main
schedule:
- cron: '34 2 * * 1'
workflow_dispatch:
permissions:
contents: read
jobs:
build:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
name: Build images and upload Trivy results
runs-on: "ubuntu-22.04"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Installing dependencies
run: |
sudo apt-get update
sudo apt-get install -y jq
- name: Checkout latest tag
run: |
latest=$(curl -s "https://api.github.com/repos/wazuh/wazuh-docker/releases/latest" | jq -r '.tag_name')
git fetch origin
git checkout $latest
- name: Build Wazuh images
run: build-docker-images/build-images.sh
- name: Create enviroment variables
run: |
cat .env > $GITHUB_ENV
echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV
- name: Run Trivy vulnerability scanner for Wazuh indexer
uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
with:
image-ref: 'wazuh/wazuh-indexer:${{env.WAZUH_IMAGE_VERSION}}'
format: 'template'
template: '@/contrib/sarif.tpl'
output: 'trivy-results-indexer.sarif'
severity: 'LOW,MEDIUM,CRITICAL,HIGH'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: 'trivy-results-indexer.sarif'
- name: Slack notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: cicd-monitoring
SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
#SLACK_ICON: https://github.com/rtCamp.png?size=48
SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}"
SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished.
SLACK_USERNAME: github_actions
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
-76
View File
@@ -1,76 +0,0 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Trivy scan Wazuh manager
on:
release:
types:
- published
pull_request:
branches:
- main
schedule:
- cron: '34 2 * * 1'
workflow_dispatch:
permissions:
contents: read
jobs:
build:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
name: Build images and upload Trivy results
runs-on: "ubuntu-22.04"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Installing dependencies
run: |
sudo apt-get update
sudo apt-get install -y jq
- name: Checkout latest tag
run: |
latest=$(curl -s "https://api.github.com/repos/wazuh/wazuh-docker/releases/latest" | jq -r '.tag_name')
git fetch origin
git checkout $latest
- name: Build Wazuh images
run: build-docker-images/build-images.sh
- name: Create enviroment variables
run: |
cat .env > $GITHUB_ENV
echo "GITHUB_REF_NAME="${GITHUB_REF_NAME%/*} >> $GITHUB_ENV
- name: Run Trivy vulnerability scanner for Wazuh manager
uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
with:
image-ref: 'wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}}'
format: 'template'
template: '@/contrib/sarif.tpl'
output: 'trivy-results-manager.sarif'
severity: 'LOW,MEDIUM,CRITICAL,HIGH'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: 'trivy-results-manager.sarif'
- name: Slack notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: cicd-monitoring
SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
#SLACK_ICON: https://github.com/rtCamp.png?size=48
SLACK_MESSAGE: "Check the results: https://github.com/wazuh/wazuh-docker/security/code-scanning?query=is%3Aopen+branch%3A${{ env.GITHUB_REF_NAME }}"
SLACK_TITLE: Wazuh docker Trivy vulnerability scan finished.
SLACK_USERNAME: github_actions
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
+214 -7
View File
@@ -1,11 +1,11 @@
# Change Log
All notable changes to this project will be documented in this file.
## [6.0.0]
## [4.14.9]
### Added
- none
- None
### Changed
@@ -19,11 +19,11 @@ All notable changes to this project will be documented in this file.
- None
## [5.0.0]
## [4.14.8]
### Added
- none
- None
### Changed
@@ -37,7 +37,7 @@ All notable changes to this project will be documented in this file.
- None
## [4.10.2]
## [4.14.7]
### Added
@@ -45,8 +45,128 @@ All notable changes to this project will be documented in this file.
### Changed
- Change upload and download methods ([#2504](https://github.com/wazuh/wazuh-docker/pull/2504))
- PR revamp modifications 4.x ([#2445](https://github.com/wazuh/wazuh-docker/pull/2445))
### Fixed
- Fix bumper workflow failure when bump produces no changes ([#2534](https://github.com/wazuh/wazuh-docker/pull/2534))
### Deleted
- None
## [4.14.6]
### Added
- None
### Changed
- Change runners on repository workflows ([#2470](https://github.com/wazuh/wazuh-docker/pull/2470))
### Fixed
- Fixed login in Docker Hub before triggering the QEMU action ([#2494](https://github.com/wazuh/wazuh-docker/pull/2494))
- Changed update_user function from wazuh.security to wazuh.rbac.orm module ([#2406](https://github.com/wazuh/wazuh-docker/pull/2406))
- GH issue notification fix ([#2312](https://github.com/wazuh/wazuh-docker/pull/2312))
### Deleted
- None
## [4.14.5]
### Added
- None
### Changed
- Updated GitHub actions version for wazuh-docker workflows. ([#2290](https://github.com/wazuh/wazuh-docker/pull/2290))
### Fixed
- Fix WAZUH_AGENT_GROUP variable ([#2262](https://github.com/wazuh/wazuh-docker/pull/2262))
- Fix bumper script early exit ([#2261](https://github.com/wazuh/wazuh-docker/pull/2261))
### Deleted
- None
## [4.14.4]
### Added
- None
### Changed
- Backport from 5.0.0: Allow building separate targets #2177 ([#2184](https://github.com/wazuh/wazuh-docker/pull/2184))
### Fixed
- INDEXER_URL substitution fix ([#2226](https://github.com/wazuh/wazuh-docker/pull/2226))
### Deleted
- None
## [4.14.3]
### Added
- Update indexer-certs-gen README.md for clarity on procedure ([#2132](https://github.com/wazuh/wazuh-docker/pull/2132))
- Update certs generator image version to 0.0.4 ([#2130](https://github.com/wazuh/wazuh-docker/pull/2130))
### Changed
- Add IMAGE_TAG stage reference ([#2176](https://github.com/wazuh/wazuh-docker/pull/2176))
- Modify run_as parameter value - v4.14.3 ([#2157](https://github.com/wazuh/wazuh-docker/pull/2157))
- Adapt Wazuh Agent Dockerfile for multi-architecture support ([#2149](https://github.com/wazuh/wazuh-docker/pull/2149))
- Agent group parameter added ([#2127](https://github.com/wazuh/wazuh-docker/pull/2127))
- Adapt to multi architecture build ([#2120](https://github.com/wazuh/wazuh-docker/pull/2120))
### Fixed
- None
### Deleted
- None
## [4.14.2]
### Added
- Code improvements for 4.14.2 ([#2090](https://github.com/wazuh/wazuh-docker/pull/2090))
- Artifactory vulnerabilities notification ([#2078](https://github.com/wazuh/wazuh-docker/pull/2078))
### Changed
- Filebeat module version update ([#2115](https://github.com/wazuh/wazuh-docker/pull/2115))
- The location of the remove command for the wazuh-authd certificates has been changed. ([#2094](https://github.com/wazuh/wazuh-docker/pull/2094))
- Removed sslmanager key from the docker manager image to 4.14.2. ([#2093](https://github.com/wazuh/wazuh-docker/pull/2093))
### Fixed
- Add missing SSL ciphers and protocols and remove outdated ports parameters from opensearch.yml template ([#2104](https://github.com/wazuh/wazuh-docker/pull/2104))
### Deleted
- None
## [4.14.1]
### Added
- None
### Changed
- Wazuh cert tool generator improvements ([#2027](https://github.com/wazuh/wazuh-docker/pull/2027))
### Fixed
- None
@@ -63,11 +183,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
@@ -95,6 +223,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))
@@ -106,11 +237,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
@@ -190,6 +322,81 @@ All notable changes to this project will be documented in this file.
- None
## [4.10.5]
### Added
- None
### Changed
- Change runner name for Codebuild ([#2474](https://github.com/wazuh/wazuh-docker/pull/2474))
- PR revamp modifications LTS ([#2449](https://github.com/wazuh/wazuh-docker/pull/2449))
### Fixed
- None
### Deleted
- None
## [4.10.4]
### Added
- None
### Changed
- Removed sslmanager key from the docker manager image. ([#2092](https://github.com/wazuh/wazuh-docker/pull/2092))
- Backport 4.13.0 changes: Modify wazuh-keystore use ([#2036](https://github.com/wazuh/wazuh-docker/pull/2036)) \- (wazuh-keystore)
### Fixed
- Changed update_user function from wazuh.security to wazuh.rbac.orm module ([#2405](https://github.com/wazuh/wazuh-docker/pull/2405))
- Add wazuh-template.json into permanent data exception ([#1967](https://github.com/wazuh/wazuh-docker/pull/1967))
### Deleted
- None
## [4.10.3]
### Added
- None
### Changed
- None
### Fixed
- None
### Deleted
- None
## [4.10.2]
### Added
- None
### Changed
- None
### Fixed
- Updated docker/login-action module ([#1837](https://github.com/wazuh/wazuh-docker/pull/1837))
### Deleted
- None
## [4.10.1]
### Added
+1 -1
View File
@@ -18,7 +18,7 @@ The `wazuh/wazuh-docker` repository provides resources to deploy the Wazuh cyber
## Branch Convention
- `main`: Developing and testing of new features.
- `X.Y.Z`: Version-specific branches (e.g., `6.0.0`, `4.14.0`, etc.).
- `X.Y.Z`: Version-specific branches (e.g., `4.14.9`, `4.13.0`, etc.).
## Documentation
+1 -1
View File
@@ -1,4 +1,4 @@
{
"version": "6.0.0",
"version": "4.14.9",
"stage": "alpha0"
}
+22 -14
View File
@@ -1,32 +1,40 @@
# Wazuh Docker Image Builder
The creation of the images for the Wazuh stack deployment in Docker is done with the build-images.yml script
To execute the process, the following must be executed in the root of the wazuh-docker repository:
```
$ build-docker-images/build-images.sh
```
The creation of the images for the Wazuh stack deployment in Docker is done with the `build-docker-images/build-images.sh` script
This script initializes the environment variables needed to build each of the images.
The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
To execute it, make sure to be in the `build-docker-images` directory:
```bash
cd build-docker-images
```
$ build-docker-images/build-images.sh -v 6.0.0
Then execute:
```bash
./build-images.sh
```
The script also allows to build images from other versions of Wazuh by using the `-v` or `--version` argument:
```bash
./build-images.sh -v 4.14.9
```
To get all the available script options use the -h or --help option:
```
$ build-docker-images/build-images.sh -h
```bash
./build-images.sh -h
Usage: build-docker-images/build-images.sh [OPTIONS]
Usage: ./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.
-f, --filebeat-module <ref> [Optional] Set Filebeat module version. By default 0.5.
-r, --revision <rev> [Optional] Package revision. By default 1
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 6.0.0.
-rg, --registry <reg> [Optional] Set the Docker registry to push the images.
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 4.14.9.
-m, --multiarch [Optional] Enable multi-architecture builds.
-h, --help Show this help.
```
+113 -16
View File
@@ -1,8 +1,4 @@
WAZUH_IMAGE_VERSION=6.0.0
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}
#!/bin/bash
# Wazuh package generator
# Copyright (C) 2023, Wazuh Inc.
@@ -12,10 +8,14 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
# License (version 2) as published by the FSF - Free Software
# Foundation.
WAZUH_IMAGE_VERSION="6.0.0"
IMAGE_TAG=4.14.9
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
WAZUH_REGISTRY=docker.io
WAZUH_IMAGE_VERSION="4.14.9"
WAZUH_TAG_REVISION="1"
WAZUH_DEV_STAGE=""
FILEBEAT_MODULE_VERSION="0.4"
FILEBEAT_MODULE_VERSION="0.5"
# -----------------------------------------------------------------------------
@@ -43,6 +43,7 @@ build() {
if [ "${WAZUH_DEV_STAGE}" ];then
FILEBEAT_TEMPLATE_BRANCH="v${FILEBEAT_TEMPLATE_BRANCH}-${WAZUH_DEV_STAGE,,}"
IMAGE_TAG="${WAZUH_IMAGE_VERSION}-${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
@@ -50,23 +51,96 @@ build() {
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}"
IMAGE_TAG="${WAZUH_IMAGE_VERSION}"
elif curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then
FILEBEAT_TEMPLATE_BRANCH="${FILEBEAT_TEMPLATE_BRANCH}"
IMAGE_TAG="${WAZUH_IMAGE_VERSION}"
else
echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}"
clean 1
fi
fi
echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env
echo WAZUH_IMAGE_VERSION=$WAZUH_IMAGE_VERSION >> .env
echo WAZUH_TAG_REVISION=$WAZUH_TAG_REVISION >> .env
echo FILEBEAT_TEMPLATE_BRANCH=$FILEBEAT_TEMPLATE_BRANCH >> .env
echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
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_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
docker build -t wazuh/wazuh-cert-tool:$WAZUH_IMAGE_VERSION build-docker-images/cert-tool-image/
set -a
source ../.env
set +a
# Define all available components
local all_components=("wazuh-indexer" "wazuh-manager" "wazuh-dashboard" "wazuh-agent")
local components_to_build=()
# Determine which components to build
if [ -z "${WAZUH_COMPONENT}" ]; then
echo "No component specified. Building all components..."
components_to_build=("${all_components[@]}")
else
# Validate component
case "${WAZUH_COMPONENT}" in
wazuh-indexer|wazuh-manager|wazuh-dashboard|wazuh-agent)
components_to_build=("${WAZUH_COMPONENT}")
;;
*)
echo "Error: Unknown component '${WAZUH_COMPONENT}'" >&2
clean 1
;;
esac
fi
# Determine build command and base options
if [ "${MULTIARCH}" ]; then
build_cmd="docker buildx build --platform linux/amd64,linux/arm64 --push --no-cache"
else
build_cmd="docker build --no-cache"
fi
# Build each component
for component in "${components_to_build[@]}"; do
echo "Building ${component} image..."
# Build common args (used by all components)
build_args=(
-t "${WAZUH_REGISTRY}/wazuh/${component}:${IMAGE_TAG}"
--build-arg WAZUH_VERSION="${WAZUH_IMAGE_VERSION}"
--build-arg WAZUH_TAG_REVISION="${WAZUH_TAG_REVISION}"
)
# Add component-specific args
case "${component}" in
wazuh-indexer)
# No additional args for wazuh-indexer
;;
wazuh-manager)
build_args+=(
--build-arg FILEBEAT_TEMPLATE_BRANCH="${FILEBEAT_TEMPLATE_BRANCH}"
--build-arg WAZUH_FILEBEAT_MODULE="${WAZUH_FILEBEAT_MODULE}"
)
;;
wazuh-dashboard)
build_args+=(
--build-arg WAZUH_UI_REVISION="${WAZUH_UI_REVISION}"
)
;;
wazuh-agent)
# No additional args for wazuh-agent
;;
esac
# Execute build
$build_cmd "${build_args[@]}" ${component}/ || clean 1
echo "${component} image built successfully!"
done
echo ""
echo "Image build process completed!"
return 0
}
@@ -77,10 +151,13 @@ 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 " -d, --dev <ref> [Optional] Set the development stage you want to build, example rc4 or beta1, not used by default."
echo " -f, --filebeat-module <ref> [Optional] Set Filebeat module version. By default ${FILEBEAT_MODULE_VERSION}."
echo " -r, --revision <rev> [Optional] Package revision. By default ${WAZUH_TAG_REVISION}"
echo " -rg, --registry <reg> [Optional] Set the Docker registry to push the images."
echo " -c, --component <comp> [Required] Set the Wazuh component to build. Accepted values: 'wazuh-indexer', 'wazuh-manager', 'wazuh-dashboard', 'wazuh-agent'."
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
@@ -111,6 +188,10 @@ main() {
help 1
fi
;;
"-m"|"--multiarch")
MULTIARCH="true"
shift
;;
"-r"|"--revision")
if [ -n "${2}" ]; then
WAZUH_TAG_REVISION="${2}"
@@ -119,6 +200,14 @@ main() {
help 1
fi
;;
"-rg"|"--registry")
if [ -n "${2}" ]; then
WAZUH_REGISTRY="${2}"
shift 2
else
help 1
fi
;;
"-v"|"--version")
if [ -n "$2" ]; then
WAZUH_IMAGE_VERSION="$2"
@@ -127,6 +216,14 @@ main() {
help 1
fi
;;
"-c"|"--component")
if [ -n "${2}" ]; then
WAZUH_COMPONENT="${2}"
shift 2
else
help 1
fi
;;
*)
help 1
esac
+4 -4
View File
@@ -8,7 +8,7 @@ services:
WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
FILEBEAT_TEMPLATE_BRANCH: ${FILEBEAT_TEMPLATE_BRANCH}
WAZUH_FILEBEAT_MODULE: ${WAZUH_FILEBEAT_MODULE}
image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION}
image: ${WAZUH_REGISTRY}/wazuh/wazuh-manager:${IMAGE_TAG}
hostname: wazuh.manager
restart: always
ports:
@@ -40,7 +40,7 @@ services:
args:
WAZUH_VERSION: ${WAZUH_VERSION}
WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
image: wazuh/wazuh-agent:${WAZUH_IMAGE_VERSION}
image: ${WAZUH_REGISTRY}/wazuh/wazuh-agent:${IMAGE_TAG}
hostname: wazuh.agent
restart: always
@@ -50,7 +50,7 @@ services:
args:
WAZUH_VERSION: ${WAZUH_VERSION}
WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
image: wazuh/wazuh-indexer:${WAZUH_IMAGE_VERSION}
image: ${WAZUH_REGISTRY}/wazuh/wazuh-indexer:${IMAGE_TAG}
hostname: wazuh.indexer
restart: always
ports:
@@ -72,7 +72,7 @@ services:
WAZUH_VERSION: ${WAZUH_VERSION}
WAZUH_TAG_REVISION: ${WAZUH_TAG_REVISION}
WAZUH_UI_REVISION: ${WAZUH_UI_REVISION}
image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION}
image: ${WAZUH_REGISTRY}/wazuh/wazuh-dashboard:${IMAGE_TAG}
hostname: wazuh.dashboard
restart: always
ports:
+10 -6
View File
@@ -10,7 +10,9 @@ 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 WAZUH_AGENT_GROUP='CHANGE_AGENT_GROUP'
ARG TARGETARCH
COPY config/check_repository.sh /
@@ -23,11 +25,13 @@ RUN source /check_repository.sh
RUN yum install wazuh-agent-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
yum 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 && \
tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \
tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin && \
rm /tmp/s6-overlay-amd64.tar.gz
S6_ARCH="amd64" && \
if [ "${TARGETARCH}" = "arm64" ]; then S6_ARCH="aarch64"; fi && \
curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-${S6_ARCH}.tar.gz \
-o /tmp/s6-overlay-${S6_ARCH}.tar.gz && \
tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C / --exclude="./bin" && \
tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C /usr ./bin && \
rm /tmp/s6-overlay-${S6_ARCH}.tar.gz
COPY config/etc/ /etc/
@@ -9,6 +9,7 @@ WAZUH_REGISTRATION_SERVER=${WAZUH_REGISTRATION_SERVER:-$WAZUH_MANAGER_SERVER}
WAZUH_REGISTRATION_PORT=${WAZUH_REGISTRATION_PORT:-"1515"}
WAZUH_REGISTRATION_PASSWORD=$WAZUH_REGISTRATION_PASSWORD
WAZUH_AGENT_NAME=${WAZUH_AGENT_NAME:-"wazuh-agent-$HOSTNAME"}
WAZUH_AGENT_GROUP=${WAZUH_AGENT_GROUP:-"default"}
##############################################################################
# Aux functions
@@ -66,7 +67,8 @@ set_manager_conn() {
sed -i "s#<port>CHANGE_MANAGER_PORT</port>#<port>$WAZUH_MANAGER_PORT</port>#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#<port>CHANGE_ENROLL_PORT</port>#<port>$WAZUH_REGISTRATION_PORT</port>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf
sed -i "s#<agent_name>CHANGEE_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
sed -i "s#<groups>CHANGE_AGENT_GROUP</groups>#<groups>$WAZUH_AGENT_GROUP</groups>#g" ${WAZUH_INSTALL_PATH}/etc/ossec.conf
[ -n "$WAZUH_REGISTRATION_PASSWORD" ] && \
echo "$WAZUH_REGISTRATION_PASSWORD" > ${WAZUH_INSTALL_PATH}/etc/authd.pass && \
chown root:wazuh ${WAZUH_INSTALL_PATH}/etc/authd.pass && \
@@ -87,15 +87,6 @@ COPY --from=builder --chown=1000:1000 $INSTALL_DIR $INSTALL_DIR
RUN mkdir -p /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
RUN chown 1000:1000 /usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
# Set $JAVA_HOME
RUN echo "export JAVA_HOME=$INSTALL_DIR/jdk" >> /etc/profile.d/java_home.sh && \
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile.d/java_home.sh
ENV JAVA_HOME=$INSTALL_DIR/jdk
ENV PATH=$PATH:$JAVA_HOME/bin:$INSTALL_DIR/bin
# Add k-NN lib directory to library loading path variable
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL_DIR/plugins/opensearch-knn/lib"
# Set workdir and user
WORKDIR $INSTALL_DIR
USER wazuh-dashboard
@@ -104,5 +95,3 @@ USER wazuh-dashboard
EXPOSE 443
ENTRYPOINT [ "/entrypoint.sh" ]
CMD ["opensearch-dashboards"]
@@ -8,7 +8,7 @@ WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags
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"
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}"
@@ -9,8 +9,8 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config
## Variables
CERT_TOOL=wazuh-certs-tool.sh
PACKAGES_URL=https://packages.wazuh.com/6.0/
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/6.0/
PACKAGES_URL=https://packages.wazuh.com/4.14/
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.14/
## Check if the cert tool exists in S3 buckets
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
@@ -34,8 +34,8 @@ chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
mkdir -p ${CONFIG_DIR}/certs
# Copy Wazuh dashboard certs to install config dir
cp /wazuh-certificates/dashboard.pem ${CONFIG_DIR}/certs/dashboard.pem
cp /wazuh-certificates/dashboard-key.pem ${CONFIG_DIR}/certs/dashboard-key.pem
cp /wazuh-certificates/demo.dashboard.pem ${CONFIG_DIR}/certs/dashboard.pem
cp /wazuh-certificates/demo.dashboard-key.pem ${CONFIG_DIR}/certs/dashboard-key.pem
cp /wazuh-certificates/root-ca.pem ${CONFIG_DIR}/certs/root-ca.pem
chmod -R 500 ${CONFIG_DIR}/certs
@@ -1,5 +1,5 @@
nodes:
# Wazuh dashboard server nodes
dashboard:
- name: dashboard
ip: wazuh.dashboard
- name: demo.dashboard
ip: demo.dashboard
@@ -2,215 +2,6 @@
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
INSTALL_DIR=/usr/share/wazuh-dashboard
export OPENSEARCH_DASHBOARDS_HOME=$INSTALL_DIR
WAZUH_CONFIG_MOUNT=/wazuh-config-mount
opensearch_dashboards_vars=(
console.enabled
console.proxyConfig
console.proxyFilter
ops.cGroupOverrides.cpuPath
ops.cGroupOverrides.cpuAcctPath
cpu.cgroup.path.override
cpuacct.cgroup.path.override
server.basePath
server.customResponseHeaders
server.compression.enabled
server.compression.referrerWhitelist
server.cors
server.cors.origin
server.defaultRoute
server.host
server.keepAliveTimeout
server.maxPayloadBytes
server.name
server.port
csp.rules
csp.strict
csp.warnLegacyBrowsers
data.search.usageTelemetry.enabled
opensearch.customHeaders
opensearch.hosts
opensearch.logQueries
opensearch.memoryCircuitBreaker.enabled
opensearch.memoryCircuitBreaker.maxPercentage
opensearch.password
opensearch.pingTimeout
opensearch.requestHeadersWhitelist
opensearch.requestHeadersAllowlist
opensearch_security.multitenancy.enabled
opensearch_security.readonly_mode.roles
opensearch.requestTimeout
opensearch.shardTimeout
opensearch.sniffInterval
opensearch.sniffOnConnectionFault
opensearch.sniffOnStart
opensearch.ssl.alwaysPresentCertificate
opensearch.ssl.certificate
opensearch.ssl.key
opensearch.ssl.keyPassphrase
opensearch.ssl.keystore.path
opensearch.ssl.keystore.password
opensearch.ssl.truststore.path
opensearch.ssl.truststore.password
opensearch.ssl.verificationMode
opensearch.username
i18n.locale
interpreter.enableInVisualize
opensearchDashboards.autocompleteTerminateAfter
opensearchDashboards.autocompleteTimeout
opensearchDashboards.defaultAppId
opensearchDashboards.index
logging.dest
logging.json
logging.quiet
logging.rotate.enabled
logging.rotate.everyBytes
logging.rotate.keepFiles
logging.rotate.pollingInterval
logging.rotate.usePolling
logging.silent
logging.useUTC
logging.verbose
map.includeOpenSearchMapsService
map.proxyOpenSearchMapsServiceInMaps
map.regionmap
map.tilemap.options.attribution
map.tilemap.options.maxZoom
map.tilemap.options.minZoom
map.tilemap.options.subdomains
map.tilemap.url
monitoring.cluster_alerts.email_notifications.email_address
monitoring.enabled
monitoring.opensearchDashboards.collection.enabled
monitoring.opensearchDashboards.collection.interval
monitoring.ui.container.opensearch.enabled
monitoring.ui.container.logstash.enabled
monitoring.ui.opensearch.password
monitoring.ui.opensearch.pingTimeout
monitoring.ui.opensearch.hosts
monitoring.ui.opensearch.username
monitoring.ui.opensearch.logFetchCount
monitoring.ui.opensearch.ssl.certificateAuthorities
monitoring.ui.opensearch.ssl.verificationMode
monitoring.ui.enabled
monitoring.ui.max_bucket_size
monitoring.ui.min_interval_seconds
newsfeed.enabled
ops.interval
path.data
pid.file
regionmap
security.showInsecureClusterWarning
server.rewriteBasePath
server.socketTimeout
server.customResponseHeaders
server.ssl.enabled
server.ssl.key
server.ssl.keyPassphrase
server.ssl.keystore.path
server.ssl.keystore.password
server.ssl.truststore.path
server.ssl.truststore.password
server.ssl.cert
server.ssl.certificate
server.ssl.certificateAuthorities
server.ssl.cipherSuites
server.ssl.clientAuthentication
opensearch.ssl.certificateAuthorities
server.ssl.redirectHttpFromPort
server.ssl.supportedProtocols
server.xsrf.disableProtection
server.xsrf.whitelist
status.allowAnonymous
status.v6ApiFormat
tilemap.options.attribution
tilemap.options.maxZoom
tilemap.options.minZoom
tilemap.options.subdomains
tilemap.url
timeline.enabled
vega.enableExternalUrls
apm_oss.apmAgentConfigurationIndex
apm_oss.indexPattern
apm_oss.errorIndices
apm_oss.onboardingIndices
apm_oss.spanIndices
apm_oss.sourcemapIndices
apm_oss.transactionIndices
apm_oss.metricsIndices
telemetry.allowChangingOptInStatus
telemetry.enabled
telemetry.optIn
telemetry.optInStatusUrl
telemetry.sendUsageFrom
vis_builder.enabled
data_source.enabled
data_source.encryption.wrappingKeyName
data_source.encryption.wrappingKeyNamespace
data_source.encryption.wrappingKey
data_source.audit.enabled
data_source.audit.appender.kind
data_source.audit.appender.path
data_source.audit.appender.layout.kind
data_source.audit.appender.layout.highlight
data_source.audit.appender.layout.pattern
ml_commons_dashboards.enabled
assistant.chat.enabled
observability.query_assist.enabled
uiSettings.overrides.defaultRoute
)
print() {
echo -e $1
}
error_and_exit() {
echo "Error executing command: '$1'."
echo 'Exiting.'
exit 1
}
exec_cmd() {
eval $1 > /dev/null 2>&1 || error_and_exit "$1"
}
exec_cmd_stdout() {
eval $1 2>&1 || error_and_exit "$1"
}
function runOpensearchDashboards {
touch $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml
for opensearch_dashboards_var in ${opensearch_dashboards_vars[*]}; do
env_var=$(echo ${opensearch_dashboards_var^^} | tr . _)
value=${!env_var}
if [[ -n $value ]]; then
longoptfile="${opensearch_dashboards_var}: ${value}"
if grep -q $opensearch_dashboards_var $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml; then
sed -i "/${opensearch_dashboards_var}/ s|^.*$|${longoptfile}|" $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml
else
echo $longoptfile >> $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml
fi
fi
done
umask 0002
/usr/share/wazuh-dashboard/bin/opensearch-dashboards -c $OPENSEARCH_DASHBOARDS_HOME/config/opensearch_dashboards.yml \
--cpu.cgroup.path.override=/ \
--cpuacct.cgroup.path.override=/
}
mount_files() {
if [ -e $WAZUH_CONFIG_MOUNT/* ]
then
print "Identified Wazuh cdashboard onfiguration files to mount..."
exec_cmd_stdout "cp --verbose -r $WAZUH_CONFIG_MOUNT/* $INSTALL_DIR"
else
print "No Wazuh dashboard configuration files to mount..."
fi
}
DASHBOARD_USERNAME="${DASHBOARD_USERNAME:-kibanaserver}"
DASHBOARD_PASSWORD="${DASHBOARD_PASSWORD:-kibanaserver}"
@@ -226,14 +17,4 @@ echo $DASHBOARD_PASSWORD | $INSTALL_DIR/bin/opensearch-dashboards-keystore add o
/wazuh_app_config.sh $WAZUH_UI_REVISION
mount_files
if [ $# -eq 0 ] || [ "${1:0:1}" = '-' ]; then
set -- opensearch-dashboards "$@"
fi
if [ "$1" = "opensearch-dashboards" ]; then
runOpensearchDashboards "$@"
else
exec "$@"
fi
/usr/share/wazuh-dashboard/bin/opensearch-dashboards -c /usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
@@ -5,7 +5,7 @@ wazuh_url="${WAZUH_API_URL:-https://wazuh}"
wazuh_port="${API_PORT:-55000}"
api_username="${API_USERNAME:-wazuh-wui}"
api_password="${API_PASSWORD:-wazuh-wui}"
api_run_as="${RUN_AS:-false}"
api_run_as="${RUN_AS:-true}"
dashboard_config_file="/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml"
+17 -17
View File
@@ -19,6 +19,14 @@ 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
################################################################################
@@ -35,15 +43,6 @@ ENV USER="wazuh-indexer" \
NAME="wazuh-indexer" \
INSTALL_DIR="/usr/share/wazuh-indexer"
# Set $JAVA_HOME
RUN echo "export JAVA_HOME=$INSTALL_DIR/jdk" >> /etc/profile.d/java_home.sh && \
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile.d/java_home.sh
ENV JAVA_HOME="$INSTALL_DIR/jdk"
ENV PATH=$PATH:$JAVA_HOME/bin:$INSTALL_DIR/bin
# Add k-NN lib directory to library loading path variable
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL_DIR/plugins/opensearch-knn/lib"
RUN yum install curl-minimal shadow-utils findutils hostname -y
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
@@ -63,25 +62,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
@@ -0,0 +1,12 @@
---
_meta:
type: "actiongroups"
config_version: 2
# ISM API permissions group
manage_ism:
reserved: true
hidden: false
allowed_actions:
- "cluster:admin/opendistro/ism/*"
static: false
@@ -8,7 +8,7 @@ WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags
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"
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}"
@@ -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
@@ -22,8 +22,8 @@ export REPO_DIR=/unattended_installer
## Variables
CERT_TOOL=wazuh-certs-tool.sh
PASSWORD_TOOL=wazuh-passwords-tool.sh
PACKAGES_URL=https://packages.wazuh.com/6.0/
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/6.0/
PACKAGES_URL=https://packages.wazuh.com/4.14/
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.14/
## Check if the cert tool exists in S3 buckets
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
@@ -62,7 +62,6 @@ chmod 755 $CERT_TOOL && bash /$CERT_TOOL -A
# copy to target
mkdir -p ${TARGET_DIR}${INSTALLATION_DIR}
mkdir -p ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
mkdir -p ${TARGET_DIR}${CONFIG_DIR}
mkdir -p ${TARGET_DIR}${LIB_DIR}
mkdir -p ${TARGET_DIR}${LOG_DIR}
@@ -73,10 +72,10 @@ mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
# Copy Wazuh's config files for the security plugin
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
cp -pr /action_groups.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
cp -pr /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
cp -pr /roles_mapping.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
cp -pr /roles.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
cp -pr /action_groups.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
cp -pr /internal_users.yml ${TARGET_DIR}${CONFIG_DIR}/opensearch-security/
cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
# Copy Wazuh indexer's certificates
cp -pr /wazuh-certificates/demo.indexer.pem ${TARGET_DIR}${CONFIG_DIR}/certs/indexer.pem
@@ -6,273 +6,13 @@ 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)
export CERT="${OPENSEARCH_PATH_CONF}/certs/admin.pem"
export KEY="${OPENSEARCH_PATH_CONF}/certs/admin-key.pem"
opensearch_vars=(
cluster.name
node.name
node.roles
path.data
path.logs
bootstrap.memory_lock
network.host
http.port
transport.port
network.bind_host
network.publish_host
transport.tcp.port
compatibility.override_main_response_version
http.host
http.bind_host
http.publish_host
http.compression
transport.host
transport.bind_host
transport.publish_host
discovery.seed_hosts
discovery.seed_providers
discovery.type
cluster.initial_cluster_manager_nodes
cluster.initial_master_nodes
node.max_local_storage_nodes
gateway.recover_after_nodes
gateway.recover_after_data_nodes
gateway.expected_data_nodes
gateway.recover_after_time
plugins.security.nodes_dn
plugins.security.nodes_dn_dynamic_config_enabled
plugins.security.authcz.admin_dn
plugins.security.roles_mapping_resolution
plugins.security.dls.mode
plugins.security.compliance.salt
config.dynamic.http.anonymous_auth_enabled
plugins.security.restapi.roles_enabled
plugins.security.restapi.password_validation_regex
plugins.security.restapi.password_validation_error_message
plugins.security.restapi.password_min_length
plugins.security.restapi.password_score_based_validation_strength
plugins.security.unsupported.restapi.allow_securityconfig_modification
plugins.security.authcz.impersonation_dn
plugins.security.authcz.rest_impersonation_user
plugins.security.allow_default_init_securityindex
plugins.security.allow_unsafe_democertificates
plugins.security.system_indices.permission.enabled
plugins.security.config_index_name
plugins.security.cert.oid
plugins.security.cert.intercluster_request_evaluator_class
plugins.security.enable_snapshot_restore_privilege
plugins.security.check_snapshot_restore_write_privileges
plugins.security.cache.ttl_minutes
plugins.security.protected_indices.enabled
plugins.security.protected_indices.roles
plugins.security.protected_indices.indices
plugins.security.system_indices.enabled
plugins.security.system_indices.indices
plugins.security.audit.enable_rest
plugins.security.audit.enable_transport
plugins.security.audit.resolve_bulk_requests
plugins.security.audit.config.disabled_categories
plugins.security.audit.ignore_requests
plugins.security.audit.threadpool.size
plugins.security.audit.threadpool.max_queue_len
plugins.security.audit.ignore_users
plugins.security.audit.type
plugins.security.audit.config.http_endpoints
plugins.security.audit.config.index
plugins.security.audit.config.type
plugins.security.audit.config.username
plugins.security.audit.config.password
plugins.security.audit.config.enable_ssl
plugins.security.audit.config.verify_hostnames
plugins.security.audit.config.enable_ssl_client_auth
plugins.security.audit.config.cert_alias
plugins.security.audit.config.pemkey_filepath
plugins.security.audit.config.pemkey_content
plugins.security.audit.config.pemkey_password
plugins.security.audit.config.pemcert_filepath
plugins.security.audit.config.pemcert_content
plugins.security.audit.config.pemtrustedcas_filepath
plugins.security.audit.config.pemtrustedcas_content
plugins.security.audit.config.webhook.url
plugins.security.audit.config.webhook.format
plugins.security.audit.config.webhook.ssl.verify
plugins.security.audit.config.webhook.ssl.pemtrustedcas_filepath
plugins.security.audit.config.webhook.ssl.pemtrustedcas_content
plugins.security.audit.config.log4j.logger_name
plugins.security.audit.config.log4j.level
opendistro_security.audit.config.disabled_rest_categories
opendistro_security.audit.config.disabled_transport_categories
plugins.security.ssl.transport.enforce_hostname_verification
plugins.security.ssl.transport.resolve_hostname
plugins.security.ssl.http.clientauth_mode
plugins.security.ssl.http.enabled_ciphers
plugins.security.ssl.http.enabled_protocols
plugins.security.ssl.transport.enabled_ciphers
plugins.security.ssl.transport.enabled_protocols
plugins.security.ssl.transport.keystore_type
plugins.security.ssl.transport.keystore_filepath
plugins.security.ssl.transport.keystore_alias
plugins.security.ssl.transport.keystore_password
plugins.security.ssl.transport.truststore_type
plugins.security.ssl.transport.truststore_filepath
plugins.security.ssl.transport.truststore_alias
plugins.security.ssl.transport.truststore_password
plugins.security.ssl.http.enabled
plugins.security.ssl.http.keystore_type
plugins.security.ssl.http.keystore_filepath
plugins.security.ssl.http.keystore_alias
plugins.security.ssl.http.keystore_password
plugins.security.ssl.http.truststore_type
plugins.security.ssl.http.truststore_filepath
plugins.security.ssl.http.truststore_alias
plugins.security.ssl.http.truststore_password
plugins.security.ssl.transport.enable_openssl_if_available
plugins.security.ssl.http.enable_openssl_if_available
plugins.security.ssl.transport.pemkey_filepath
plugins.security.ssl.transport.pemkey_password
plugins.security.ssl.transport.pemcert_filepath
plugins.security.ssl.transport.pemtrustedcas_filepath
plugins.security.ssl.http.pemkey_filepath
plugins.security.ssl.http.pemkey_password
plugins.security.ssl.http.pemcert_filepath
plugins.security.ssl.http.pemtrustedcas_filepath
plugins.security.ssl.transport.enabled
plugins.security.ssl.transport.client.pemkey_password
plugins.security.ssl.transport.keystore_keypassword
plugins.security.ssl.transport.server.keystore_keypassword
plugins.sercurity.ssl.transport.server.keystore_alias
plugins.sercurity.ssl.transport.client.keystore_alias
plugins.sercurity.ssl.transport.server.truststore_alias
plugins.sercurity.ssl.transport.client.truststore_alias
plugins.security.ssl.client.external_context_id
plugins.secuirty.ssl.transport.principal_extractor_class
plugins.security.ssl.http.crl.file_path
plugins.security.ssl.http.crl.validate
plugins.security.ssl.http.crl.prefer_crlfile_over_ocsp
plugins.security.ssl.http.crl.check_only_end_entitites
plugins.security.ssl.http.crl.disable_ocsp
plugins.security.ssl.http.crl.disable_crldp
plugins.security.ssl.allow_client_initiated_renegotiation
indices.breaker.total.use_real_memory
indices.breaker.total.limit
indices.breaker.fielddata.limit
indices.breaker.fielddata.overhead
indices.breaker.request.limit
indices.breaker.request.overhead
network.breaker.inflight_requests.limit
network.breaker.inflight_requests.overhead
cluster.routing.allocation.enable
cluster.routing.allocation.node_concurrent_incoming_recoveries
cluster.routing.allocation.node_concurrent_outgoing_recoveries
cluster.routing.allocation.node_concurrent_recoveries
cluster.routing.allocation.node_initial_primaries_recoveries
cluster.routing.allocation.same_shard.host
cluster.routing.rebalance.enable
cluster.routing.allocation.allow_rebalance
cluster.routing.allocation.cluster_concurrent_rebalance
cluster.routing.allocation.balance.shard
cluster.routing.allocation.balance.index
cluster.routing.allocation.balance.threshold
cluster.routing.allocation.balance.prefer_primary
cluster.routing.allocation.disk.threshold_enabled
cluster.routing.allocation.disk.watermark.low
cluster.routing.allocation.disk.watermark.high
cluster.routing.allocation.disk.watermark.flood_stage
cluster.info.update.interval
cluster.routing.allocation.shard_movement_strategy
cluster.blocks.read_only
cluster.blocks.read_only_allow_delete
cluster.max_shards_per_node
cluster.persistent_tasks.allocation.enable
cluster.persistent_tasks.allocation.recheck_interval
cluster.search.request.slowlog.threshold.warn
cluster.search.request.slowlog.threshold.info
cluster.search.request.slowlog.threshold.debug
cluster.search.request.slowlog.threshold.trace
cluster.search.request.slowlog.level
cluster.fault_detection.leader_check.timeout
cluster.fault_detection.follower_check.timeout
action.auto_create_index
action.destructive_requires_name
cluster.default.index.refresh_interval
cluster.minimum.index.refresh_interval
cluster.indices.close.enable
indices.recovery.max_bytes_per_sec
indices.recovery.max_concurrent_file_chunks
indices.recovery.max_concurrent_operations
indices.recovery.max_concurrent_remote_store_streams
indices.time_series_index.default_index_merge_policy
indices.fielddata.cache.size
index.number_of_shards
index.number_of_routing_shards
index.shard.check_on_startup
index.codec
index.codec.compression_level
index.routing_partition_size
index.soft_deletes.retention_lease.period
index.load_fixed_bitset_filters_eagerly
index.hidden
index.merge.policy
index.merge_on_flush.enabled
index.merge_on_flush.max_full_flush_merge_wait_time
index.merge_on_flush.policy
index.check_pending_flush.enabled
index.number_of_replicas
index.auto_expand_replicas
index.search.idle.after
index.refresh_interval
index.max_result_window
index.max_inner_result_window
index.max_rescore_window
index.max_docvalue_fields_search
index.max_script_fields
index.max_ngram_diff
index.max_shingle_diff
index.max_refresh_listeners
index.analyze.max_token_count
index.highlight.max_analyzed_offset
index.max_terms_count
index.max_regex_length
index.query.default_field
index.query.max_nested_depth
index.routing.allocation.enable
index.routing.rebalance.enable
index.gc_deletes
index.default_pipeline
index.final_pipeline
index.optimize_doc_id_lookup.fuzzy_set.enabled
index.optimize_doc_id_lookup.fuzzy_set.false_positive_probability
search.max_buckets
search.phase_took_enabled
search.allow_expensive_queries
search.default_allow_partial_results
search.cancel_after_time_interval
search.default_search_timeout
search.default_keep_alive
search.keep_alive_interval
search.max_keep_alive
search.low_level_cancellation
search.max_open_scroll_context
search.request_stats_enabled
search.highlight.term_vector_multi_value
snapshot.max_concurrent_operations
cluster.remote_store.translog.buffer_interval
remote_store.moving_average_window_size
opensearch.notifications.core.allowed_config_types
opensearch.notifications.core.email.minimum_header_length
opensearch.notifications.core.email.size_limit
opensearch.notifications.core.http.connection_timeout
opensearch.notifications.core.http.host_deny_list
opensearch.notifications.core.http.max_connection_per_route
opensearch.notifications.core.http.max_connections
opensearch.notifications.core.http.socket_timeout
opensearch.notifications.core.tooltip_support
opensearch.notifications.general.filter_by_backend_roles
)
run_as_other_user_if_needed() {
if [[ "$(id -u)" == "0" ]]; then
# If running as root, drop to specified UID and run command
@@ -284,37 +24,6 @@ run_as_other_user_if_needed() {
fi
}
function buildOpensearchConfig {
echo "" >> $OPENSEARCH_PATH_CONF/opensearch.yml
for opensearch_var in ${opensearch_vars[*]}; do
env_var=$(echo ${opensearch_var^^} | tr . _)
value=${!env_var}
if [[ -n $value ]]; then
if grep -q $opensearch_var $OPENSEARCH_PATH_CONF/opensearch.yml; then
lineNum="$(grep -n "$opensearch_var" $OPENSEARCH_PATH_CONF/opensearch.yml | head -n 1 | cut -d: -f1)"
sed -i "${lineNum}d" $OPENSEARCH_PATH_CONF/opensearch.yml
charline=$(awk "NR == ${lineNum}" $OPENSEARCH_PATH_CONF/opensearch.yml | head -c 1)
fi
while :
do
case "$charline" in
"-"| "#" |" ") sed -i "${lineNum}d" $OPENSEARCH_PATH_CONF/opensearch.yml;;
*) break;;
esac
charline=$(awk "NR == ${lineNum}" $OPENSEARCH_PATH_CONF/opensearch.yml | head -c 1)
done
longoptfile="${opensearch_var}: ${value}"
if grep -q $opensearch_var $OPENSEARCH_PATH_CONF/opensearch.yml; then
sed -i "/${opensearch_var}/ s|^.*$|${longoptfile}|" $OPENSEARCH_PATH_CONF/opensearch.yml
else
echo $longoptfile >> $OPENSEARCH_PATH_CONF/opensearch.yml
fi
fi
done
}
buildOpensearchConfig
# Allow user specify custom CMD, maybe bin/opensearch itself
# for example to directly specify `-E` style parameters for opensearch on k8s
# or simply to run /bin/bash to check the image
@@ -375,4 +84,10 @@ if [[ "$(id -u)" == "0" ]]; then
fi
#if [[ "$DISCOVERY" == "single-node" ]] && [[ ! -f "/var/lib/wazuh-indexer/.flag" ]]; then
# run securityadmin.sh for single node with CACERT, CERT and KEY parameter
# nohup /securityadmin.sh &
# touch "/var/lib/wazuh-indexer/.flag"
#fi
run_as_other_user_if_needed /usr/share/wazuh-indexer/bin/opensearch <<<"$KEYSTORE_PASSWORD"
@@ -0,0 +1,74 @@
---
# This is the internal user database
# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Define your internal users here
## Demo users
admin:
hash: "$2a$12$VcCDgh2NDk07JGN0rjGbM.Ad41qVR/YFJcgHp0UGns5JDymv..TOG"
reserved: true
backend_roles:
- "admin"
description: "Demo admin user"
kibanaserver:
hash: "$2a$12$4AcgAt3xwOWadA5s5blL6ev39OXDNhmOesEoo33eZtrq2N0YrU3H."
reserved: true
description: "Demo kibanaserver user"
kibanaro:
hash: "$2a$12$JJSXNfTowz7Uu5ttXfeYpeYE0arACvcwlPBStB1F.MI7f0U9Z4DGC"
reserved: false
backend_roles:
- "kibanauser"
- "readall"
attributes:
attribute1: "value1"
attribute2: "value2"
attribute3: "value3"
description: "Demo kibanaro user"
logstash:
hash: "$2a$12$u1ShR4l4uBS3Uv59Pa2y5.1uQuZBrZtmNfqB3iM/.jL0XoV9sghS2"
reserved: false
backend_roles:
- "logstash"
description: "Demo logstash user"
readall:
hash: "$2a$12$ae4ycwzwvLtZxwZ82RmiEunBbIPiAmGZduBAjKN0TXdwQFtCwARz2"
reserved: false
backend_roles:
- "readall"
description: "Demo readall user"
snapshotrestore:
hash: "$2y$12$DpwmetHKwgYnorbgdvORCenv4NAK8cPUg8AI6pxLCuWf/ALc0.v7W"
reserved: false
backend_roles:
- "snapshotrestore"
description: "Demo snapshotrestore user"
wazuh_admin:
hash: "$2y$12$d2awHiOYvZjI88VfsDON.u6buoBol0gYPJEgdG1ArKVE0OMxViFfu"
reserved: true
hidden: false
backend_roles: []
attributes: {}
opendistro_security_roles: []
static: false
wazuh_user:
hash: "$2y$12$BQixeoQdRubZdVf/7sq1suHwiVRnSst1.lPI2M0.GPZms4bq2D9vO"
reserved: true
hidden: false
backend_roles: []
attributes: {}
opendistro_security_roles: []
static: false
@@ -0,0 +1,34 @@
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/config/certs/indexer.pem
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/config/certs/indexer-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/config/certs/root-ca.pem
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/config/certs/indexer.pem
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/config/certs/indexer-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/config/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.transport.resolve_hostname: false
plugins.security.ssl.http.enabled_ciphers:
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
plugins.security.ssl.http.enabled_protocols:
- "TLSv1.2"
plugins.security.authcz.admin_dn:
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.nodes_dn:
- "CN=demo.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.restapi.roles_enabled:
- "all_access"
- "security_rest_api_access"
plugins.security.system_indices.enabled: true
plugins.security.system_indices.indices: [".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]
@@ -0,0 +1,171 @@
_meta:
type: "roles"
config_version: 2
# Restrict users so they can only view visualization and dashboards on kibana
kibana_read_only:
reserved: true
# The security REST API access role is used to assign specific users access to change the security settings through the REST API.
security_rest_api_access:
reserved: true
# Allows users to view monitors, destinations and alerts
alerting_read_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/alerting/alerts/get'
- 'cluster:admin/opendistro/alerting/destination/get'
- 'cluster:admin/opendistro/alerting/monitor/get'
- 'cluster:admin/opendistro/alerting/monitor/search'
# Allows users to view and acknowledge alerts
alerting_ack_alerts:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/alerting/alerts/*'
# Allows users to use all alerting functionality
alerting_full_access:
reserved: true
cluster_permissions:
- 'cluster_monitor'
- 'cluster:admin/opendistro/alerting/*'
index_permissions:
- index_patterns:
- '*'
allowed_actions:
- 'indices_monitor'
- 'indices:admin/aliases/get'
- 'indices:admin/mappings/get'
# Allow users to read Anomaly Detection detectors and results
anomaly_read_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/ad/detector/info'
- 'cluster:admin/opendistro/ad/detector/search'
- 'cluster:admin/opendistro/ad/detectors/get'
- 'cluster:admin/opendistro/ad/result/search'
- 'cluster:admin/opendistro/ad/tasks/search'
# Allows users to use all Anomaly Detection functionality
anomaly_full_access:
reserved: true
cluster_permissions:
- 'cluster_monitor'
- 'cluster:admin/opendistro/ad/*'
index_permissions:
- index_patterns:
- '*'
allowed_actions:
- 'indices_monitor'
- 'indices:admin/aliases/get'
- 'indices:admin/mappings/get'
# Allows users to read Notebooks
notebooks_read_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/notebooks/list'
- 'cluster:admin/opendistro/notebooks/get'
# Allows users to all Notebooks functionality
notebooks_full_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/notebooks/create'
- 'cluster:admin/opendistro/notebooks/update'
- 'cluster:admin/opendistro/notebooks/delete'
- 'cluster:admin/opendistro/notebooks/get'
- 'cluster:admin/opendistro/notebooks/list'
# Allows users to read and download Reports
reports_instances_read_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/reports/instance/list'
- 'cluster:admin/opendistro/reports/instance/get'
- 'cluster:admin/opendistro/reports/menu/download'
# Allows users to read and download Reports and Report-definitions
reports_read_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/reports/definition/get'
- 'cluster:admin/opendistro/reports/definition/list'
- 'cluster:admin/opendistro/reports/instance/list'
- 'cluster:admin/opendistro/reports/instance/get'
- 'cluster:admin/opendistro/reports/menu/download'
# Allows users to all Reports functionality
reports_full_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/reports/definition/create'
- 'cluster:admin/opendistro/reports/definition/update'
- 'cluster:admin/opendistro/reports/definition/on_demand'
- 'cluster:admin/opendistro/reports/definition/delete'
- 'cluster:admin/opendistro/reports/definition/get'
- 'cluster:admin/opendistro/reports/definition/list'
- 'cluster:admin/opendistro/reports/instance/list'
- 'cluster:admin/opendistro/reports/instance/get'
- 'cluster:admin/opendistro/reports/menu/download'
# Allows users to use all asynchronous-search functionality
asynchronous_search_full_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/asynchronous_search/*'
index_permissions:
- index_patterns:
- '*'
allowed_actions:
- 'indices:data/read/search*'
# Allows users to read stored asynchronous-search results
asynchronous_search_read_access:
reserved: true
cluster_permissions:
- 'cluster:admin/opendistro/asynchronous_search/get'
wazuh_ui_user:
reserved: true
hidden: false
cluster_permissions: []
index_permissions:
- index_patterns:
- "wazuh-*"
dls: ""
fls: []
masked_fields: []
allowed_actions:
- "read"
tenant_permissions: []
static: false
wazuh_ui_admin:
reserved: true
hidden: false
cluster_permissions: []
index_permissions:
- index_patterns:
- "wazuh-*"
dls: ""
fls: []
masked_fields: []
allowed_actions:
- "read"
- "delete"
- "manage"
- "index"
tenant_permissions: []
static: false
# ISM API permissions role
manage_ism:
reserved: true
hidden: false
cluster_permissions:
- "manage_ism"
static: false
@@ -0,0 +1,78 @@
---
# In this file users, backendroles and hosts can be mapped to Wazuh indexer Security roles.
# Permissions for Wazuh indexer roles are configured in roles.yml
_meta:
type: "rolesmapping"
config_version: 2
# Define your roles mapping here
## Demo roles mapping
all_access:
reserved: false
backend_roles:
- "admin"
description: "Maps admin to all_access"
own_index:
reserved: false
users:
- "*"
description: "Allow full access to an index named like the username"
logstash:
reserved: false
backend_roles:
- "logstash"
kibana_user:
reserved: false
backend_roles:
- "kibanauser"
users:
- "wazuh_user"
- "wazuh_admin"
description: "Maps kibanauser to kibana_user"
readall:
reserved: false
backend_roles:
- "readall"
manage_snapshots:
reserved: false
backend_roles:
- "snapshotrestore"
kibana_server:
reserved: true
users:
- "kibanaserver"
wazuh_ui_admin:
reserved: true
hidden: false
backend_roles: []
hosts: []
users:
- "wazuh_admin"
- "kibanaserver"
and_backend_roles: []
wazuh_ui_user:
reserved: true
hidden: false
backend_roles: []
hosts: []
users:
- "wazuh_user"
and_backend_roles: []
# ISM API permissions role mapping
manage_ism:
reserved: true
hidden: false
users:
- "kibanaserver"
+11 -5
View File
@@ -8,8 +8,10 @@ ARG WAZUH_TAG_REVISION
ARG FILEBEAT_TEMPLATE_BRANCH
ARG FILEBEAT_CHANNEL=filebeat-oss
ARG FILEBEAT_VERSION=7.10.2
ARG FILEBEAT_REVISION=2
ARG WAZUH_FILEBEAT_MODULE
ARG S6_VERSION="v2.2.0.3"
ARG TARGETARCH
RUN yum install curl-minimal xz gnupg tar gzip openssl findutils procps -y &&\
yum clean all
@@ -26,11 +28,15 @@ RUN yum install wazuh-manager-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
chmod 775 /filebeat_module.sh && \
source /filebeat_module.sh && \
rm /filebeat_module.sh && \
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" && \
tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin && \
rm /tmp/s6-overlay-amd64.tar.gz
S6_ARCH="amd64" && \
if [ "${TARGETARCH}" = "arm64" ]; then S6_ARCH="aarch64"; fi && \
curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-${S6_ARCH}.tar.gz \
-o /tmp/s6-overlay-${S6_ARCH}.tar.gz && \
tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C / --exclude="./bin" && \
tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C /usr ./bin && \
rm /tmp/s6-overlay-${S6_ARCH}.tar.gz && \
rm -f /var/ossec/etc/sslmanager.key && \
rm -f /var/ossec/etc/sslmanager.cert
COPY config/etc/ /etc/
COPY --chown=root:wazuh config/create_user.py /var/ossec/framework/scripts/create_user.py
@@ -8,7 +8,7 @@ WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags
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"
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}"
@@ -13,13 +13,12 @@ SPECIAL_CHARS = "@$!%*?&-_"
try:
from wazuh.rbac.orm import check_database_integrity
from wazuh.rbac.orm import check_database_integrity, AuthenticationManager
from wazuh.security import (
create_user,
get_users,
get_roles,
set_user_role,
update_user,
)
except ModuleNotFoundError as e:
logging.error("No module 'wazuh' found.")
@@ -54,12 +53,11 @@ def disable_user(uid):
# assure there must be at least one character from each group
random_pass = random_pass + ''.join([random.choice(chars) for chars in [string.ascii_lowercase, string.digits, string.ascii_uppercase, SPECIAL_CHARS]])
random_pass = ''.join(random.sample(random_pass,len(random_pass)))
update_user(
user_id=[
str(uid),
],
password=random_pass,
)
with AuthenticationManager() as auth:
auth.update_user(
user_id=uid,
password=random_pass,
)
if __name__ == "__main__":
@@ -90,12 +88,11 @@ if __name__ == "__main__":
else:
# modify an existing user ("wazuh" or "wazuh-wui")
uid = initial_users[username]
update_user(
user_id=[
str(uid),
],
password=password,
)
with AuthenticationManager() as auth:
auth.update_user(
user_id=uid,
password=password,
)
# disable unused default users
for def_user in ['wazuh', 'wazuh-wui']:
if def_user != username:
@@ -6,8 +6,6 @@ source /permanent_data.env
WAZUH_INSTALL_PATH=/var/ossec
WAZUH_CONFIG_MOUNT=/wazuh-config-mount
AUTO_ENROLLMENT_ENABLED=${AUTO_ENROLLMENT_ENABLED:-true}
##############################################################################
# Aux functions
@@ -70,8 +68,17 @@ apply_exclusion_data() {
mkdir -p ${DIR}
fi
safe_cp() {
if cp -p "$1" "$2" 2>/dev/null; then
return 0
else
echo "Warning: Could not copy $1 (may be read-only)"
return 0
fi
}
print "Updating ${exclusion_file}"
exec_cmd "cp -p ${WAZUH_INSTALL_PATH}/data_tmp/exclusion/${exclusion_file} ${exclusion_file}"
exec_cmd "safe_cp ${WAZUH_INSTALL_PATH}/data_tmp/exclusion/${exclusion_file} ${exclusion_file}"
fi
done
}
@@ -167,16 +174,17 @@ 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
}
##############################################################################
# Change any ossec user/group to wazuh user/group
# Change any ossec user/group to wazuh user/group
##############################################################################
set_correct_permOwner() {
@@ -205,13 +213,10 @@ main() {
# Remove some files in permanent_data (i.e. .template.db)
remove_data_files
# Generate wazuh-authd certs if AUTO_ENROLLMENT_ENABLED is true and does not exist
if [ $AUTO_ENROLLMENT_ENABLED == true ]
# Create wazuh-authd key and cert if not present
if [ ! -e ${WAZUH_INSTALL_PATH}/etc/sslmanager.key ]
then
if [ ! -e ${WAZUH_INSTALL_PATH}/etc/sslmanager.key ]
then
create_ossec_key_cert
fi
create_ossec_key_cert
fi
# Mount selected files (WAZUH_CONFIG_MOUNT) to container
@@ -226,8 +231,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
@@ -5,7 +5,7 @@ set -e
if [ "$INDEXER_URL" != "" ]; then
>&2 echo "Customize Elasticsearch output IP"
sed -i "s|hosts:.*|hosts: ['$INDEXER_URL']|g" /etc/filebeat/filebeat.yml
sed -i "s|hosts:.*|hosts: [$INDEXER_URL]|g" /etc/filebeat/filebeat.yml
fi
# Configure filebeat.yml security settings
@@ -4,9 +4,8 @@ WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags
## check tag to use the correct repository
if [[ -n "${WAZUH_TAG}" ]]; then
REPOSITORY="packages.wazuh.com/5.x"
REPOSITORY="packages.wazuh.com/4.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 && \
yum install filebeat-${FILEBEAT_VERSION}-${FILEBEAT_REVISION} -y && \
curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module
@@ -100,6 +100,8 @@ 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"
PERMANENT_DATA_EXCP[((i++))]="/etc/filebeat/wazuh-template.json"
PERMANENT_DATA_EXCP[((i++))]="/etc/filebeat/filebeat.yml"
export PERMANENT_DATA_EXCP
# Files mounted in a volume that should be deleted
+2 -2
View File
@@ -138,7 +138,7 @@ The folder `wazuh-agent` contains a README explaining how to run a container wit
│   │   ├── wazuh2.indexer.yml
│   │   └── wazuh3.indexer.yml
│   ├── docker-compose.yml
│   ├── generate-certs.yml
│   ├── generate-indexer-certs.yml
│   ├── Migration-to-Wazuh-4.4.md
│   ├── README.md
│   └── volume-migrator.sh
@@ -157,7 +157,7 @@ The folder `wazuh-agent` contains a README explaining how to run a container wit
│   │   │   └── wazuh.indexer.yml
│   │   └── wazuh_indexer_ssl_certs [error opening dir]
│   ├── docker-compose.yml
│   ├── generate-certs.yml
│   ├── generate-indexer-certs.yml
│   └── README.md
├── VERSION.json
└── wazuh-agent
+4 -4
View File
@@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im
The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
```
$ build-docker-images/build-images.sh -v 6.0.0
$ build-docker-images/build-images.sh -v 4.14.9
```
To get all the available script options use the -h or --help option:
@@ -23,10 +23,10 @@ $ 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 rc4 or beta1, not used by default.
-f, --filebeat-module <ref> [Optional] Set Filebeat module version. By default 0.5.
-r, --revision <rev> [Optional] Package revision. By default 1
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 6.0.0.
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 4.14.9.
-h, --help Show this help.
```
+1 -1
View File
@@ -1,6 +1,6 @@
# Development Guide - Introduction
Welcome to the Development Guide for Wazuh-docker version 6.0.0 This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development.
Welcome to the Development Guide for Wazuh-docker version 4.14.9. This guide is intended for developers, contributors, and advanced users who wish to understand the development aspects of the Wazuh-Docker project, build custom Docker images, or contribute to its development.
## Purpose of This Guide
+3 -3
View File
@@ -1,6 +1,6 @@
# Development Guide - Setup Environment
This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 6.0.0). A proper setup is crucial for building images, running tests, and contributing effectively.
This section outlines the steps required to set up your local development environment for working with the Wazuh-Docker project (version 4.14.9). A proper setup is crucial for building images, running tests, and contributing effectively.
## Prerequisites
@@ -26,12 +26,12 @@ Before you begin, ensure your system meets the following requirements:
Follow these steps to prepare your development environment:
1. **Clone the Repository**:
Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `6.0.0`.
Clone the `wazuh-docker` repository from GitHub. It's important to check out the specific branch you intend to work with, in this case, `4.14.9`.
```bash
git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
cd wazuh-docker
git checkout v6.0.0
git checkout v4.14.9
```
2. **Verify Docker Installation**:
+3 -3
View File
@@ -1,6 +1,6 @@
# Reference Manual - Description
This section provides a detailed description of Wazuh-docker (version 6.0.0), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment.
This section provides a detailed description of Wazuh-docker (version 4.14.9), its components, and its architecture when deployed using Docker containers. Understanding these aspects is key to effectively deploying and managing your Wazuh environment.
## What is Wazuh?
@@ -18,7 +18,7 @@ Wazuh-docker is a project that provides Docker images and `docker compose` confi
## Core Components in Wazuh-Docker
The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 6.0.0:
The Wazuh-Docker project typically provides images for the following core Wazuh components, adapted for version 4.14.9:
1. **Wazuh Manager**:
- The central component that collects and analyzes data from deployed Wazuh agents.
@@ -28,7 +28,7 @@ The Wazuh-Docker project typically provides images for the following core Wazuh
2. **Wazuh Indexer**:
- A highly scalable, full-text search and analytics engine.
- Based on OpenSearch (or historically Elasticsearch), it stores and indexes alerts and monitoring data generated by the Wazuh manager.
- The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 6.0.0, this is typically an OpenSearch-based component.
- The Wazuh indexer container provides the data persistence layer for Wazuh alerts and events. For version 4.14.9, this is typically an OpenSearch-based component.
3. **Wazuh Dashboard**:
- A flexible visualization tool based on OpenSearch Dashboards (or historically Kibana).
+2 -2
View File
@@ -1,6 +1,6 @@
# Reference Manual - Introduction
Welcome to the Reference Manual for Wazuh-Docker, version 6.0.0. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker.
Welcome to the Reference Manual for Wazuh-Docker, version 4.14.9. This manual provides comprehensive information about deploying, configuring, and managing your Wazuh environment using Docker.
## Purpose of This Manual
@@ -44,4 +44,4 @@ This manual is structured to help you find information efficiently:
- If you need to customize your deployment, refer to the [Configuration](configuration/configuration.md) section.
- For specific terms or concepts, consult the [Glossary](glossary.md).
This manual refers to version 6.0.0 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version.
This manual refers to version 4.14.9 of Wazuh-Docker. Ensure you are using the documentation that corresponds to your deployed version.
@@ -29,4 +29,4 @@
```
Consult the official Wazuh documentation for version 6.0.0 for detailed information on all possible configuration parameters for each component.
Consult the official Wazuh documentation for version 4.14.9 for detailed information on all possible configuration parameters for each component.
+1 -1
View File
@@ -1,6 +1,6 @@
# Reference Manual - Configuration
This section details how to configure your Wazuh-Docker deployment (version 6.0.0). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment.
This section details how to configure your Wazuh-Docker deployment (version 4.14.9). Proper configuration is key to tailoring the Wazuh stack to your specific needs, managing data persistence, and integrating with your environment.
## Overview of Configuration Methods
@@ -4,11 +4,14 @@ This document outlines the environment variables applicable to the Wazuh Docker
## Table of Contents
- [Wazuh Manager](#wazuh-manager)
- [Wazuh Indexer](#wazuh-indexer)
- [Wazuh Dashboard](#wazuh-dashboard)
- [Wazuh Agent](#wazuh-agent)
- [Overriding Configuration Files with Environment Variables](#overriding-configuration-files-with-environment-variables)
- [Environment Variables in Wazuh Docker Deployment](#environment-variables-in-wazuh-docker-deployment)
- [Table of Contents](#table-of-contents)
- [Wazuh Manager](#wazuh-manager)
- [Wazuh Indexer](#wazuh-indexer)
- [Wazuh Dashboard](#wazuh-dashboard)
- [Wazuh Agent](#wazuh-agent)
- [Overriding Configuration Files with Environment Variables](#overriding-configuration-files-with-environment-variables)
- [Examples:](#examples)
---
@@ -88,6 +91,7 @@ environment:
- WAZUH_REGISTRATION_SERVER=wazuh.manager
- WAZUH_REGISTRATION_PORT=1515
- WAZUH_AGENT_NAME=my-agent
- WAZUH_AGENT_GROUP=default
- WAZUH_REGISTRATION_PASSWORD=StrongPassword
```
@@ -1,6 +1,6 @@
# Reference Manual - Deployment
This section provides detailed instructions for deploying Wazuh-Docker (version 6.0.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments.
This section provides detailed instructions for deploying Wazuh-Docker (version 4.14.9) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments.
## Overview of Deployment Options
@@ -24,11 +24,11 @@ Ensure you have:
- Met all the [System Requirements](ref/getting-started/requirements.md).
- Installed Docker and Docker Compose on your host(s).
- Cloned the `wazuh-docker` repository (version `6.0.0`) or downloaded the necessary deployment files.
- Cloned the `wazuh-docker` repository (version `4.14.9`) or downloaded the necessary deployment files.
```bash
git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
cd wazuh-docker
git checkout v6.0.0
git checkout v4.14.9
```
- Made a backup of any existing Wazuh data if you are migrating or upgrading.
@@ -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-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-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
```
+3 -3
View File
@@ -1,6 +1,6 @@
# Reference Manual - Getting Started
This section guides you through the initial steps to get your Wazuh-docker (version 6.0.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions.
This section guides you through the initial steps to get your Wazuh-docker (version 4.14.9) environment up and running. We will cover the prerequisites and point you to the deployment instructions.
## Overview
@@ -27,11 +27,11 @@ Before diving into the deployment, please ensure you have reviewed:
Verify that your host system has sufficient RAM, CPU, and disk space. Ensure Docker and Docker Compose are installed and functioning correctly.
2. **Obtain Wazuh-docker Configuration**:
You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 6.0.0.
You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.14.9.
```bash
git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
cd wazuh-docker
git checkout v6.0.0
git checkout v4.14.9
# Navigate to the specific docker-compose directory, e.g., single-node or multi-node
# cd docker-compose/single-node/ (example path)
```
+1 -1
View File
@@ -1,6 +1,6 @@
# Reference Manual - Requirements
Before deploying Wazuh-Docker (version 6.0.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment.
Before deploying Wazuh-Docker (version 4.14.9), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment.
## Host System Requirements
+3 -3
View File
@@ -1,6 +1,6 @@
# Reference Manual - Glossary
This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 6.0.0).
This glossary defines key terms and concepts related to Wazuh, Docker, and their use together in the Wazuh-Docker project (version 4.14.9).
---
@@ -22,7 +22,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their
**D**
- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 6.0.0, this is typically OpenSearch Dashboards.
- **Dashboard (Wazuh Dashboard / OpenSearch Dashboards / Kibana)**: A web-based visualization tool used to explore, analyze, and visualize data stored in the Wazuh Indexer. It provides dashboards, visualizations, and a query interface for security events and alerts. For Wazuh 4.14.9, this is typically OpenSearch Dashboards.
- **Decoder**: A component in the Wazuh Manager that parses and extracts relevant information (fields) from raw log messages or event data.
- **Docker**: An open platform for developing, shipping, and running applications inside containers.
- **Docker Compose**: A tool for defining and running multi-container Docker applications. It uses a YAML file (`docker-compose.yml`) to configure the application's services, networks, and volumes.
@@ -42,7 +42,7 @@ This glossary defines key terms and concepts related to Wazuh, Docker, and their
**I**
- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 6.0.0, this is typically OpenSearch.
- **Indexer (Wazuh Indexer / OpenSearch / Elasticsearch)**: The component responsible for storing, indexing, and making searchable the alerts and event data generated by the Wazuh Manager. For Wazuh 4.14.9, this is typically OpenSearch.
**L**
@@ -1,8 +1,7 @@
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
FROM amazonlinux:2023
RUN yum install curl-minimal openssl -y &&\
yum clean all
RUN yum update -y && yum install openssl curl-minimal -y
WORKDIR /
+27 -4
View File
@@ -1,9 +1,32 @@
# Certificate creation image build
# Certificate Creation Image Build
The dockerfile hosted in this directory is used to build the image used to boot Wazuh's single node and multi node stacks.
The dockerfile hosted in this directory is used to build the image required for generating Wazuh Docker single-node and multi-node certificate files
To create the image, the following command must be executed:
## Pre-requisites
1. Verify the Docker Buildx plugin is properly set up
2. For multi-architecture image builds:
- Ensure QEMU is installed
- Check permissions to push images to a Docker registry
Useful documentation:
- https://docs.docker.com/build/building/multi-platform/
- https://www.qemu.org/download/
## Procedure
Execute the following to run the script used to build the wazuh-certs-generator docker image
```console
cd indexer-certs-creator
```
$ docker build -t wazuh/wazuh-certs-generator:0.0.2 .
```console
./build-image.sh -v <IMAGE_TAG> [-m] [-rg <REGISTRY>]
```
- Replace <IMAGE_TAG> with the new image desired tag.
- Use the `-m` flag to build a multi-architecture image (supports both `amd64` and `arm64`)
- If multiarch build is enabled, the script will attempt to push the image to the specified registry. This image upload will only work if credentials are properly configured.
- Use the `-rg <REGISTRY>` parameter to specify a custom Docker registry (default is Docker Hub)
+107
View File
@@ -0,0 +1,107 @@
#!/bin/bash
# Wazuh package generator
# Copyright (C) 2023, Wazuh Inc.
#
# This program is a free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public
# License (version 2) as published by the FSF - Free Software
# Foundation.
WAZUH_CERTS_IMAGE_VERSION="0.0.4"
WAZUH_REGISTRY="docker.io"
# -----------------------------------------------------------------------------
trap ctrl_c INT
clean() {
exit_code=$1
exit ${exit_code}
}
ctrl_c() {
clean 1
}
# -----------------------------------------------------------------------------
build() {
IMAGE_TAG="${WAZUH_CERTS_IMAGE_VERSION}"
echo WAZUH_REGISTRY=$WAZUH_REGISTRY > .env
echo IMAGE_TAG=$IMAGE_TAG >> .env
set -a
source .env
set +a
if [ "${MULTIARCH}" ]; then
docker buildx bake \
--file build-image.yml \
--set *.platform=linux/amd64,linux/arm64 \
--push \
--no-cache || clean 1
else
docker buildx bake \
--file build-image.yml \
--load \
--no-cache || clean 1
fi
return 0
}
# -----------------------------------------------------------------------------
help() {
echo
echo "Usage: $0 [OPTIONS]"
echo
echo " -v, --version <ver> [Optional] Set the image version. By default ${WAZUH_CERTS_IMAGE_VERSION}."
echo " -rg, --registry <reg> [Optional] Set the Docker registry to push the images."
echo " -m, --multiarch [Optional] Enable multi-architecture builds."
echo " -h, --help Show this help."
echo
exit $1
}
# -----------------------------------------------------------------------------
main() {
while [ -n "${1}" ]
do
case "${1}" in
"-h"|"--help")
help 0
;;
"-m"|"--multiarch")
MULTIARCH="true"
shift
;;
"-rg"|"--registry")
if [ -n "${2}" ]; then
WAZUH_REGISTRY="${2}"
shift 2
else
help 1
fi
;;
"-v"|"--version")
if [ -n "$2" ]; then
WAZUH_CERTS_IMAGE_VERSION="$2"
shift 2
else
help 1
fi
;;
*)
help 1
esac
done
build || clean 1
clean 0
}
main "$@"
+8
View File
@@ -0,0 +1,8 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services:
wazuh.certs.generator:
build:
context: .
dockerfile: Dockerfile
image: ${WAZUH_REGISTRY}/wazuh/wazuh-certs-generator:${IMAGE_TAG}
hostname: wazuh-certs-generator
@@ -8,29 +8,35 @@
## Variables
CERT_TOOL=wazuh-certs-tool.sh
PASSWORD_TOOL=wazuh-passwords-tool.sh
PACKAGES_URL=https://packages.wazuh.com/6.0/
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/6.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"
exit 1
echo "The tool to create the certificates does not exist in any bucket"
echo "ERROR: certificates were not created"
exit 1
fi
cp /config/certs.yml /config.yml
chmod 700 /$CERT_TOOL
chmod 700 "$OUTPUT_FILE"
##############################################################################
# Creating Cluster certificates
+1 -1
View File
@@ -354,7 +354,7 @@ docker container run --rm -it \
```
git checkout 4.4
cd multi-node
docker-compose -f generate-certs.yml run --rm generator
docker-compose -f generate-indexer-certs.yml run --rm generator
docker-compose up -d
```
+1 -1
View File
@@ -8,7 +8,7 @@ $ sysctl -w vm.max_map_count=262144
```
2) Run the certificate creation script:
```
$ docker compose -f generate-certs.yml run --rm generator
$ docker compose -f generate-indexer-certs.yml run --rm generator
```
3) Start the environment with docker compose:
@@ -79,7 +79,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 -->
@@ -79,7 +79,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 -->
@@ -0,0 +1,16 @@
server.host: 0.0.0.0
server.port: 5601
opensearch.hosts: https://wazuh1.indexer:9200
opensearch.ssl.verificationMode: certificate
opensearch.requestHeadersWhitelist: ["securitytenant","Authorization"]
opensearch_security.multitenancy.enabled: false
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
server.ssl.enabled: true
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 -1
View File
@@ -4,4 +4,4 @@ hosts:
port: 55000
username: wazuh-wui
password: "MyS3cr37P450r.*-"
run_as: false
run_as: true
@@ -0,0 +1,45 @@
network.host: wazuh1.indexer
node.name: wazuh1.indexer
cluster.initial_master_nodes:
- wazuh1.indexer
- wazuh2.indexer
- wazuh3.indexer
cluster.name: "wazuh-cluster"
discovery.seed_hosts:
- wazuh1.indexer
- wazuh2.indexer
- wazuh3.indexer
node.max_local_storage_nodes: "3"
path.data: /var/lib/wazuh-indexer
path.logs: /var/log/wazuh-indexer
plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.pem
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.key
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.pem
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh1.indexer.key
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.transport.resolve_hostname: false
plugins.security.ssl.http.enabled_ciphers:
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
plugins.security.ssl.http.enabled_protocols:
- "TLSv1.2"
plugins.security.authcz.admin_dn:
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.nodes_dn:
- "CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.restapi.roles_enabled:
- "all_access"
- "security_rest_api_access"
plugins.security.allow_default_init_securityindex: true
cluster.routing.allocation.disk.threshold_enabled: false
compatibility.override_main_response_version: true
@@ -0,0 +1,45 @@
network.host: wazuh2.indexer
node.name: wazuh2.indexer
cluster.initial_master_nodes:
- wazuh1.indexer
- wazuh2.indexer
- wazuh3.indexer
cluster.name: "wazuh-cluster"
discovery.seed_hosts:
- wazuh1.indexer
- wazuh2.indexer
- wazuh3.indexer
node.max_local_storage_nodes: "3"
path.data: /var/lib/wazuh-indexer
path.logs: /var/log/wazuh-indexer
plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.pem
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.key
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.pem
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh2.indexer.key
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.transport.resolve_hostname: false
plugins.security.ssl.http.enabled_ciphers:
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
plugins.security.ssl.http.enabled_protocols:
- "TLSv1.2"
plugins.security.authcz.admin_dn:
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.nodes_dn:
- "CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.restapi.roles_enabled:
- "all_access"
- "security_rest_api_access"
plugins.security.allow_default_init_securityindex: true
cluster.routing.allocation.disk.threshold_enabled: false
compatibility.override_main_response_version: true
@@ -0,0 +1,45 @@
network.host: wazuh3.indexer
node.name: wazuh3.indexer
cluster.initial_master_nodes:
- wazuh1.indexer
- wazuh2.indexer
- wazuh3.indexer
cluster.name: "wazuh-cluster"
discovery.seed_hosts:
- wazuh1.indexer
- wazuh2.indexer
- wazuh3.indexer
node.max_local_storage_nodes: "3"
path.data: /var/lib/wazuh-indexer
path.logs: /var/log/wazuh-indexer
plugins.security.ssl.http.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.pem
plugins.security.ssl.http.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.key
plugins.security.ssl.http.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
plugins.security.ssl.transport.pemcert_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.pem
plugins.security.ssl.transport.pemkey_filepath: ${OPENSEARCH_PATH_CONF}/certs/wazuh3.indexer.key
plugins.security.ssl.transport.pemtrustedcas_filepath: ${OPENSEARCH_PATH_CONF}/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.transport.resolve_hostname: false
plugins.security.ssl.http.enabled_ciphers:
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
plugins.security.ssl.http.enabled_protocols:
- "TLSv1.2"
plugins.security.authcz.admin_dn:
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.nodes_dn:
- "CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
- "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.restapi.roles_enabled:
- "all_access"
- "security_rest_api_access"
plugins.security.allow_default_init_securityindex: true
cluster.routing.allocation.disk.threshold_enabled: false
compatibility.override_main_response_version: true
+63 -163
View File
@@ -1,7 +1,7 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services:
wazuh.master:
image: wazuh/wazuh-manager:6.0.0
image: wazuh/wazuh-manager:4.14.9
hostname: wazuh.master
restart: always
ulimits:
@@ -16,15 +16,15 @@ services:
- "514:514/udp"
- "55000:55000"
environment:
INDEXER_URL: https://wazuh1.indexer:9200
INDEXER_USERNAME: admin
INDEXER_PASSWORD: admin
FILEBEAT_SSL_VERIFICATION_MODE: full
SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
SSL_CERTIFICATE: /etc/ssl/filebeat.pem
SSL_KEY: /etc/ssl/filebeat.key
API_USERNAME: wazuh-wui
API_PASSWORD: MyS3cr37P450r.*-
- INDEXER_URL="https://wazuh1.indexer:9200","https://wazuh2.indexer:9200","https://wazuh3.indexer:9200"
- INDEXER_USERNAME=admin
- INDEXER_PASSWORD=SecretPassword
- FILEBEAT_SSL_VERIFICATION_MODE=full
- SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
- SSL_CERTIFICATE=/etc/ssl/filebeat.pem
- SSL_KEY=/etc/ssl/filebeat.key
- API_USERNAME=wazuh-wui
- API_PASSWORD=MyS3cr37P450r.*-
volumes:
- master-wazuh-api-configuration:/var/ossec/api/configuration
- master-wazuh-etc:/var/ossec/etc
@@ -43,7 +43,7 @@ services:
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
wazuh.worker:
image: wazuh/wazuh-manager:6.0.0
image: wazuh/wazuh-manager:4.14.9
hostname: wazuh.worker
restart: always
ulimits:
@@ -54,13 +54,13 @@ services:
soft: 655360
hard: 655360
environment:
INDEXER_URL: https://wazuh1.indexer:9200
INDEXER_USERNAME: admin
INDEXER_PASSWORD: admin
FILEBEAT_SSL_VERIFICATION_MODE: full
SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
SSL_CERTIFICATE: /etc/ssl/filebeat.pem
SSL_KEY: /etc/ssl/filebeat.key
- INDEXER_URL=https://wazuh1.indexer:9200
- INDEXER_USERNAME=admin
- INDEXER_PASSWORD=SecretPassword
- FILEBEAT_SSL_VERIFICATION_MODE=full
- SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
- SSL_CERTIFICATE=/etc/ssl/filebeat.pem
- SSL_KEY=/etc/ssl/filebeat.key
volumes:
- worker-wazuh-api-configuration:/var/ossec/api/configuration
- worker-wazuh-etc:/var/ossec/etc
@@ -79,62 +79,38 @@ services:
- ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
wazuh1.indexer:
image: wazuh/wazuh-indexer:6.0.0
image: wazuh/wazuh-indexer:4.14.9
hostname: wazuh1.indexer
restart: always
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9200:9200"
environment:
OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
bootstrap.memory_lock: "true"
NETWORK_HOST: wazuh1.indexer
NODE_NAME: wazuh1.indexer
CLUSTER_INITIAL_MASTER_NODES: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
CLUSTER_NAME: "wazuh-cluster"
DISCOVERY_SEED_HOSTS: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
NODE_MAX_LOCAL_STORAGE_NODES: "3"
PATH_DATA: /var/lib/wazuh-indexer
PATH_LOGS: /var/log/wazuh-indexer
PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.key
PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh1.indexer.key
PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
PLUGINS_SECURITY_NODES_DN: '["CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"]'
PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
- "bootstrap.memory_lock=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
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
# if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
# - ./config/wazuh_indexer/wazuh1.indexer.yml:/usr/share/wazuh-indexer/opensearch.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:6.0.0
image: wazuh/wazuh-indexer:4.14.9
hostname: wazuh2.indexer
restart: always
environment:
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
- "bootstrap.memory_lock=true"
ulimits:
memlock:
soft: -1
@@ -142,48 +118,21 @@ services:
nofile:
soft: 65536
hard: 65536
environment:
OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
bootstrap.memory_lock: "true"
NETWORK_HOST: wazuh2.indexer
NODE_NAME: wazuh2.indexer
CLUSTER_INITIAL_MASTER_NODES: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
CLUSTER_NAME: "wazuh-cluster"
DISCOVERY_SEED_HOSTS: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
NODE_MAX_LOCAL_STORAGE_NODES: "3"
PATH_DATA: /var/lib/wazuh-indexer
PATH_LOGS: /var/log/wazuh-indexer
PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.key
PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh2.indexer.key
PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
PLUGINS_SECURITY_NODES_DN: '["CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"]'
PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
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
# if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
# - ./config/wazuh_indexer/wazuh2.indexer.yml:/usr/share/wazuh-indexer/opensearch.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:6.0.0
image: wazuh/wazuh-indexer:4.14.9
hostname: wazuh3.indexer
restart: always
environment:
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
- "bootstrap.memory_lock=true"
ulimits:
memlock:
soft: -1
@@ -191,84 +140,35 @@ services:
nofile:
soft: 65536
hard: 65536
environment:
OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
bootstrap.memory_lock: "true"
NETWORK_HOST: wazuh3.indexer
NODE_NAME: wazuh3.indexer
CLUSTER_INITIAL_MASTER_NODES: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
CLUSTER_NAME: "wazuh-cluster"
DISCOVERY_SEED_HOSTS: '["wazuh1.indexer", "wazuh2.indexer", "wazuh3.indexer"]'
NODE_MAX_LOCAL_STORAGE_NODES: "3"
PATH_DATA: /var/lib/wazuh-indexer
PATH_LOGS: /var/log/wazuh-indexer
PLUGINS_SECURITY_SSL_HTTP_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
PLUGINS_SECURITY_SSL_HTTP_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.key
PLUGINS_SECURITY_SSL_HTTP_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh3.indexer.key
PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
PLUGINS_SECURITY_NODES_DN: '["CN=wazuh1.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh2.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=wazuh3.indexer,OU=Wazuh,O=Wazuh,L=California,C=US", "CN=filebeat,OU=Wazuh,O=Wazuh,L=California,C=US"]'
PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
COMPATIBILITY_OVERRIDE_MAIN_RESPONSE_VERSION: "true"
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
# if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
# - ./config/wazuh_indexer/wazuh3.indexer.yml:/usr/share/wazuh-indexer/opensearch.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:6.0.0
image: wazuh/wazuh-dashboard:4.14.9
hostname: wazuh.dashboard
restart: always
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- 443:5601
environment:
OPENSEARCH_HOSTS: "https://wazuh1.indexer:9200"
WAZUH_API_URL: "https://wazuh.master"
API_USERNAME: wazuh-wui
API_PASSWORD: MyS3cr37P450r.*-
DASHBOARD_USERNAME: kibanaserver
DASHBOARD_PASSWORD: kibanaserver
SERVER_HOST: "0.0.0.0"
SERVER_PORT: "5601"
OPENSEARCH_SSL_VERIFICATIONMODE: certificate
OPENSEARCH_REQUESTHEADERSALLOWLIST: '["securitytenant","Authorization"]'
OPENSEARCH_SECURITY_MULTITENANCY_ENABLED: "false"
SERVER_SSL_ENABLED: "true"
OPENSEARCH_SECURITY_READONLY_MODE_ROLES: '["kibana_read_only"]'
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
- OPENSEARCH_HOSTS="https://wazuh1.indexer:9200"
- WAZUH_API_URL="https://wazuh.master"
- API_USERNAME=wazuh-wui
- API_PASSWORD=MyS3cr37P450r.*-
- DASHBOARD_USERNAME=kibanaserver
- DASHBOARD_PASSWORD=kibanaserver
volumes:
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
- ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
- ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
- ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
- ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
- ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
# if you need mount a custom opensearch-dashboards.yml, uncomment the next line and delete the environment variables
# - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
depends_on:
- wazuh1.indexer
links:
+10
View File
@@ -0,0 +1,10 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services:
generator:
image: wazuh/wazuh-certs-generator:0.0.4
hostname: wazuh-certs-generator
environment:
- CERT_TOOL_VERSION=4.14
volumes:
- ./config/wazuh_indexer_ssl_certs/:/certificates/
- ./config/certs.yml:/config/certs.yml
+1 -1
View File
@@ -8,7 +8,7 @@ $ sysctl -w vm.max_map_count=262144
```
2) Run the certificate creation script:
```
$ docker-compose -f generate-certs.yml run --rm generator
$ docker compose -f generate-indexer-certs.yml run --rm generator
```
3) Start the environment with docker compose:
@@ -79,7 +79,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 -->
@@ -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 -1
View File
@@ -4,4 +4,4 @@ hosts:
port: 55000
username: wazuh-wui
password: "MyS3cr37P450r.*-"
run_as: false
run_as: true
@@ -1,20 +1,26 @@
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
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/certs/root-ca.pem
plugins.security.ssl.http.pemcert_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem
plugins.security.ssl.http.pemkey_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.key
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/share/wazuh-indexer/config/certs/root-ca.pem
plugins.security.ssl.transport.pemcert_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem
plugins.security.ssl.transport.pemkey_filepath: /usr/share/wazuh-indexer/config/certs/wazuh.indexer.key
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/wazuh-indexer/config/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.transport.resolve_hostname: false
plugins.security.ssl.http.enabled_ciphers:
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
plugins.security.ssl.http.enabled_protocols:
- "TLSv1.2"
plugins.security.authcz.admin_dn:
- "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
plugins.security.check_snapshot_restore_write_privileges: true
+37 -82
View File
@@ -1,7 +1,7 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services:
wazuh.manager:
image: wazuh/wazuh-manager:6.0.0
image: wazuh/wazuh-manager:4.14.9
hostname: wazuh.manager
restart: always
ulimits:
@@ -17,15 +17,15 @@ services:
- "514:514/udp"
- "55000:55000"
environment:
INDEXER_URL: https://wazuh.indexer:9200
INDEXER_USERNAME: admin
INDEXER_PASSWORD: admin
FILEBEAT_SSL_VERIFICATION_MODE: full
SSL_CERTIFICATE_AUTHORITIES: /etc/ssl/root-ca.pem
SSL_CERTIFICATE: /etc/ssl/filebeat.pem
SSL_KEY: /etc/ssl/filebeat.key
API_USERNAME: wazuh-wui
API_PASSWORD: MyS3cr37P450r.*-
- INDEXER_URL="https://wazuh.indexer:9200"
- INDEXER_USERNAME=admin
- INDEXER_PASSWORD=SecretPassword
- FILEBEAT_SSL_VERIFICATION_MODE=full
- SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
- SSL_CERTIFICATE=/etc/ssl/filebeat.pem
- SSL_KEY=/etc/ssl/filebeat.key
- API_USERNAME=wazuh-wui
- API_PASSWORD=MyS3cr37P450r.*-
volumes:
- wazuh_api_configuration:/var/ossec/api/configuration
- wazuh_etc:/var/ossec/etc
@@ -44,61 +44,13 @@ services:
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
wazuh.indexer:
image: wazuh/wazuh-indexer:6.0.0
image: wazuh/wazuh-indexer:4.14.9
hostname: wazuh.indexer
restart: always
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9200:9200"
environment:
OPENSEARCH_JAVA_OPTS: "-Xms1g -Xmx1g"
bootstrap.memory_lock: "true"
NODE_NAME: "wazuh.indexer"
CLUSTER_INITIAL_MASTER_NODES: "wazuh.indexer"
CLUSTER_NAME: "wazuh-cluster"
PATH_DATA: /var/lib/wazuh-indexer
PATH_LOGS: /var/log/wazuh-indexer
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
PLUGINS_SECURITY_SSL_TRANSPORT_PEMCERT_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem
PLUGINS_SECURITY_SSL_TRANSPORT_PEMKEY_FILEPATH: /usr/share/wazuh-indexer/certs/wazuh.indexer.key
PLUGINS_SECURITY_SSL_TRANSPORT_PEMTRUSTEDCAS_FILEPATH: /usr/share/wazuh-indexer/certs/root-ca.pem
PLUGINS_SECURITY_SSL_HTTP_ENABLED: "true"
PLUGINS_SECURITY_SSL_TRANSPORT_ENFORCE_HOSTNAME_VERIFICATION: "false"
PLUGINS_SECURITY_SSL_TRANSPORT_RESOLVE_HOSTNAME: "false"
PLUGINS_SECURITY_AUTHCZ_ADMIN_DN: "CN=admin,OU=Wazuh,O=Wazuh,L=California,C=US"
PLUGINS_SECURITY_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES: "true"
PLUGINS_SECURITY_ENABLE_SNAPSHOT_RESTORE_PRIVILEGE: "true"
PLUGINS_SECURITY_NODES_DN: "CN=wazuh.indexer,OU=Wazuh,O=Wazuh,L=California,C=US"
PLUGINS_SECURITY_RESTAPI_ROLES_ENABLED: '["all_access", "security_rest_api_access"]'
PLUGINS_SECURITY_SYSTEM_INDICES_ENABLED: "true"
PLUGINS_SECURITY_SYSTEM_INDICES_INDICES: '[".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opendistro-notifications-*", ".opendistro-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]'
PLUGINS_SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX: "true"
CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED: "false"
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
# if you need mount a custom opensearch.yml, uncomment the next line and delete the environment variables
# - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
wazuh.dashboard:
image: wazuh/wazuh-dashboard:6.0.0
hostname: wazuh.dashboard
restart: always
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
ulimits:
memlock:
soft: -1
@@ -106,35 +58,38 @@ services:
nofile:
soft: 65536
hard: 65536
volumes:
- wazuh-indexer-data:/var/lib/wazuh-indexer
- ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
- ./config/wazuh_indexer_ssl_certs/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:4.14.9
hostname: wazuh.dashboard
restart: always
ports:
- 443:5601
environment:
WAZUH_API_URL: https://wazuh.manager
DASHBOARD_USERNAME: kibanaserver
DASHBOARD_PASSWORD: kibanaserver
API_USERNAME: wazuh-wui
API_PASSWORD: MyS3cr37P450r.*-
SERVER_HOST: 0.0.0.0
SERVER_PORT: 5601
OPENSEARCH_HOSTS: https://wazuh.indexer:9200
OPENSEARCH_SSL_VERIFICATIONMODE: certificate
OPENSEARCH_REQUESTHEADERSALLOWLIST: '["securitytenant","Authorization"]'
OPENSEARCH_SECURITY_MULTITENANCY_ENABLED: "false"
SERVER_SSL_ENABLED: "true"
OPENSEARCH_SECURITY_READONLY_MODE_ROLES: '["kibana_read_only"]'
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
- INDEXER_USERNAME=admin
- INDEXER_PASSWORD=SecretPassword
- WAZUH_API_URL=https://wazuh.manager
- DASHBOARD_USERNAME=kibanaserver
- DASHBOARD_PASSWORD=kibanaserver
- API_USERNAME=wazuh-wui
- API_PASSWORD=MyS3cr37P450r.*-
volumes:
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
- ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
- ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
- ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
- ./config/wazuh_dashboard/wazuh.yml:/wazuh-config-mount/data/wazuh/config/wazuh.yml
# if you need mount a custom opensearch-dashboards.yml, uncomment the next line and delete the environment variables
# - ./config/wazuh_dashboard/opensearch_dashboards.yml:/wazuh-config-mount/config/opensearch_dashboards.yml
- ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
- ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
depends_on:
- wazuh.indexer
links:
-10
View File
@@ -1,10 +0,0 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services:
generator:
image: wazuh/wazuh-cert-tool:6.0.0
hostname: wazuh-cert-tool
container_name: wazuh-cert-tool
volumes:
- ./config/wazuh_indexer_ssl_certs/:/certificates/
- ./config/certs.yml:/config/certs.yml
@@ -1,9 +1,10 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
services:
generator:
image: wazuh/wazuh-cert-tool:6.0.0
hostname: wazuh-cert-tool
container_name: wazuh-cert-tool
image: wazuh/wazuh-certs-generator:0.0.4
hostname: wazuh-certs-generator
environment:
- CERT_TOOL_VERSION=4.14
volumes:
- ./config/wazuh_indexer_ssl_certs/:/certificates/
- ./config/certs.yml:/config/certs.yml
+1 -6
View File
@@ -78,7 +78,7 @@ update_stage_in_files() {
update_docker_images_tag() {
local NEW_TAG="$1"
local DOCKERFILES=( $(grep_command "wazuh/wazuh-[a-zA-Z0-9._-]*" "${DIR}" "--exclude="README.md" --exclude="generate-certs.yml"") )
local DOCKERFILES=( $(grep_command "wazuh/wazuh-[a-zA-Z0-9._-]*" "${DIR}" "--exclude="README.md" --exclude="generate-indexer-certs.yml"") )
for file in "${DOCKERFILES[@]}"; do
sed -i -E "s/(wazuh\/wazuh-[a-zA-Z0-9._-]*):[a-zA-Z0-9._-]+/\1:${NEW_TAG}/g" "${file}"
if [[ $(git diff --name-only "${file}") ]]; then
@@ -146,11 +146,6 @@ main() {
# Get old version and stage
get_old_version_and_stage
if [[ "${OLD_VERSION}" == "${VERSION}" && "${OLD_STAGE}" == "${STAGE}" ]]; then
echo "Version and stage are already up to date." | tee -a "${LOG_FILE}"
echo "No changes needed." | tee -a "${LOG_FILE}"
exit 0
fi
if [[ "${OLD_VERSION}" != "${VERSION}" ]]; then
echo "Updating version from ${OLD_VERSION} to ${VERSION}" | tee -a "${LOG_FILE}"
update_version_in_files "${VERSION}"
+3 -2
View File
@@ -20,8 +20,9 @@
<enabled>yes</enabled>
<manager_address>CHANGE_ENROLL_IP</manager_address>
<port>CHANGE_ENROLL_PORT</port>
<agent_name>CHANGEE_AGENT_NAME</agent_name>
<agent_name>CHANGE_AGENT_NAME</agent_name>
<authorization_pass_path>etc/authd.pass</authorization_pass_path>
<groups>CHANGE_AGENT_GROUP</groups>
</enrollment>
</client>
@@ -83,7 +84,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 -->
+2 -4
View File
@@ -1,11 +1,9 @@
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
version: '3.7'
services:
wazuh.agent:
image: wazuh/wazuh-agent:6.0.0
image: wazuh/wazuh-agent:4.14.9
restart: always
environment:
- WAZUH_MANAGER_SERVER=<WAZUH_MANAGER_IP>
volumes:
- ./config/wazuh-agent-conf:/wazuh-config-mount/etc/ossec.conf
- ./config/wazuh-agent-conf:/wazuh-config-mount/etc/ossec.conf