mirror of
https://github.com/wazuh/wazuh-docker.git
synced 2025-10-23 16:13:42 +00:00
Compare commits
600 Commits
v4.7.5
...
test-arm-b
Author | SHA1 | Date | |
---|---|---|---|
|
0f15acb783 | ||
|
118c7805e3 | ||
|
7245dfb0ef | ||
|
b82b0efdd8 | ||
|
8e78fdfeec | ||
|
3fe18c0f53 | ||
|
34de7307f6 | ||
|
cea3caee44 | ||
|
1e28240ceb | ||
|
c17b22c13b | ||
|
1da9ce981c | ||
|
938a3df846 | ||
|
3672c99a31 | ||
|
4a9f83ddee | ||
|
65b0d659d0 | ||
|
34b3c00596 | ||
|
c1fd8e2380 | ||
|
d306f942f7 | ||
|
abde776e1b | ||
|
b6f628f3c1 | ||
|
06a5ba5297 | ||
|
85992aea95 | ||
|
5057d0f083 | ||
|
562eb60e0f | ||
|
58d6ec2953 | ||
|
300c1bbcdd | ||
|
1fe7647b47 | ||
|
bd5e95a2b8 | ||
|
f002f7e7b0 | ||
|
72c0b196d0 | ||
|
ce53f0f05e | ||
|
aa69278c44 | ||
|
546f3cef9b | ||
|
754c4b331e | ||
|
4433476038 | ||
|
e60c07a18f | ||
|
fe0f76bd7b | ||
|
e4fec103ca | ||
|
28acd68e6e | ||
|
fc8a8d6869 | ||
|
288630a722 | ||
|
5c1d43c702 | ||
|
ff7c511f3b | ||
|
5f689b8802 | ||
|
f73a819ee4 | ||
|
ebf8379373 | ||
|
d024c37fc5 | ||
|
87f3dccb0f | ||
|
29e679363d | ||
|
6195484a82 | ||
|
3d9981d9fa | ||
|
06821f172f | ||
|
660e472b7c | ||
|
af33c2dd7c | ||
|
331fb1969e | ||
|
b88d852b9f | ||
|
281cde7292 | ||
|
c9bbf912b0 | ||
|
7a189605eb | ||
|
ae32e0111d | ||
|
e29dd1195b | ||
|
dafe93039f | ||
|
0adf702f70 | ||
|
7be457e3ff | ||
|
6e432a133d | ||
|
f49bba385c | ||
|
a7bb241f8a | ||
|
6e0311a330 | ||
|
bc6ab77773 | ||
|
e4f782f55d | ||
|
b29bd6b936 | ||
|
2bed6e2d95 | ||
|
73253898a2 | ||
|
2b30318a08 | ||
|
49fb35633c | ||
|
052bce7ae1 | ||
|
5fb9a0b6b1 | ||
|
34d25df8ad | ||
|
c4bef8df3e | ||
|
31440d4a54 | ||
|
06e259714c | ||
|
d2bb16a493 | ||
|
a0c1fd8bf5 | ||
|
c548f3e096 | ||
|
69b4169fd5 | ||
|
1ee604e4b1 | ||
|
5b3f46142e | ||
|
845f7e59ec | ||
|
633c50bce6 | ||
|
347187c411 | ||
|
af11b8cbbb | ||
|
77ef56ada7 | ||
|
081436be42 | ||
|
a7cc8ef16e | ||
|
79ead0cf55 | ||
|
7b415dc700 | ||
|
f2a5901fd6 | ||
|
2f3f00fc51 | ||
|
98675f00fc | ||
|
26e94102ce | ||
|
fc896872e2 | ||
|
e17302f280 | ||
|
010642113b | ||
|
90f1d446c1 | ||
|
23848dc8bf | ||
|
9e6defa9d1 | ||
|
6a3b470f3c | ||
|
91295a4b39 | ||
|
8885425b7f | ||
|
2060e2103b | ||
|
39768a397a | ||
|
66a1533425 | ||
|
1f7eae1247 | ||
|
2c2388ce4a | ||
|
be82d2c41d | ||
|
ff54368593 | ||
|
7b03b99022 | ||
|
8a925f010f | ||
|
8468687b0c | ||
|
da64bb47d5 | ||
|
f3b4631bb0 | ||
|
2c6704652c | ||
|
7cfda0550d | ||
|
77e548485a | ||
|
79ad691772 | ||
|
0980cf0257 | ||
|
d9a2ebf090 | ||
|
240f22b19c | ||
|
8022d3a7fc | ||
|
12fab33f52 | ||
|
71dac1f51b | ||
|
d31228306c | ||
|
d37474e7c9 | ||
|
3b91ae3668 | ||
|
edf7aef3cc | ||
|
25e21e71da | ||
|
475d29db39 | ||
|
bc102ace7f | ||
|
08de09cd08 | ||
|
15995ac5db | ||
|
63f965d0fd | ||
|
bfa6dfb3b3 | ||
|
521711bf63 | ||
|
347132b589 | ||
|
53275bebb9 | ||
|
7ca2862ad3 | ||
|
5a13dd99a7 | ||
|
a9f2263da8 | ||
|
f6928b62e6 | ||
|
a13406a029 | ||
|
b9a52df0ff | ||
|
5252ce6c53 | ||
|
5ef484647a | ||
|
f9adac8c56 | ||
|
8bb96f3d69 | ||
|
22f34ccb40 | ||
|
369560f59f | ||
|
574c7b05c7 | ||
|
fc563acdaa | ||
|
0778474353 | ||
|
6038fce076 | ||
|
3b7fa8d000 | ||
|
4116634ddd | ||
|
fbaee58767 | ||
|
8b18fb613c | ||
|
45366e121f | ||
|
93ea37158d | ||
|
1f58526256 | ||
|
041cea8a9a | ||
|
53db9379b8 | ||
|
02074c678e | ||
|
f809a1ebbb | ||
|
a5c313843e | ||
|
ea0e679c27 | ||
|
7ca14b9fc8 | ||
|
42977e3131 | ||
|
f4e7d1938d | ||
|
691694a38d | ||
|
19f4aaea4d | ||
|
5bbacebe89 | ||
|
f9c5215c8b | ||
|
564e2b3ec4 | ||
|
c5970f2922 | ||
|
276c8a2e6c | ||
|
b1f0a1f46a | ||
|
5795fa154d | ||
|
424846ae40 | ||
|
db4133d7a8 | ||
|
50769ef689 | ||
|
dbb776690d | ||
|
60746362ac | ||
|
f61af29c6b | ||
|
1aa149933b | ||
|
06a797d793 | ||
|
8695a087d5 | ||
|
61b3f5f6ed | ||
|
868c371c31 | ||
|
bd7aedc0dd | ||
|
4177d1095c | ||
|
97e4dde53d | ||
|
884151b322 | ||
|
447c0bdaf8 | ||
|
e6c5e82a32 | ||
|
d237faa5ab | ||
|
92d0582201 | ||
|
cc206659cc | ||
|
8bafe1295b | ||
|
027b26047f | ||
|
af023a9b44 | ||
|
0ec38df1c7 | ||
|
be0ac01c4a | ||
|
62ae93eee9 | ||
|
e292957740 | ||
|
eb4efb3458 | ||
|
46d6dc8fe5 | ||
|
08ba82d16d | ||
|
9d882fcd67 | ||
|
9e1c33245d | ||
|
6dfa4a2e32 | ||
|
8ab3018e62 | ||
|
e08a3d85db | ||
|
42db717668 | ||
|
7b1d2836fa | ||
|
301ea9e21a | ||
|
0b3e9ba8e7 | ||
|
189e875939 | ||
|
a335684a27 | ||
|
9d851e6399 | ||
|
c28d104022 | ||
|
3859ca38ec | ||
|
e06d5ae2e4 | ||
|
4ea8fc266e | ||
|
5771c49f0d | ||
|
471aedae5b | ||
|
82955c06ee | ||
|
84280fae08 | ||
|
b38b3c7e59 | ||
|
9c33d34254 | ||
|
cd3e8b8b30 | ||
|
f0253ba984 | ||
|
8e7b2cd390 | ||
|
d43f85312a | ||
|
ae9d06ed35 | ||
|
b84a49db92 | ||
|
73fffcf52d | ||
|
999d01f48a | ||
|
bd758935e7 | ||
|
0e284a2309 | ||
|
b597e1cecc | ||
|
247a6b0375 | ||
|
879a10cc9f | ||
|
0fef2182eb | ||
|
7b00fb8f73 | ||
|
cdbc5485b4 | ||
|
6249cb8f30 | ||
|
7fe9ba2e19 | ||
|
996c593242 | ||
|
6eb3f60684 | ||
|
bbc4529088 | ||
|
60e5304cd6 | ||
|
28f2320c6e | ||
|
819880d1cf | ||
|
f08c39ed6d | ||
|
1916f4166a | ||
|
36bdb5fedb | ||
|
15a856dc32 | ||
|
1486b5942c | ||
|
25319ee004 | ||
|
f47ca7fbc0 | ||
|
5ef94b819c | ||
|
e77ceb6ad6 | ||
|
127e74296a | ||
|
0aa63db271 | ||
|
583f75176d | ||
|
11d2c84203 | ||
|
2e52ebd7b7 | ||
|
4223b44f3f | ||
|
3fc48bec11 | ||
|
56750a07f2 | ||
|
b362e0774b | ||
|
d11e421cdd | ||
|
99c163f4e5 | ||
|
acc3c22bed | ||
|
6eb435a82f | ||
|
ac760dbb14 | ||
|
2adb0cc46d | ||
|
ca6cc555f2 | ||
|
eca65a8538 | ||
|
a063b27592 | ||
|
bc2a446c17 | ||
|
80b7c047ec | ||
|
4b0818bc2c | ||
|
28c051a05e | ||
|
1f0f98ddaa | ||
|
bc35a25b3b | ||
|
0399e7b16a | ||
|
e8f5fd25f2 | ||
|
125053f6d5 | ||
|
f38bc64415 | ||
|
2ee7cfa515 | ||
|
701fdc33bb | ||
|
719d4c2b05 | ||
|
78cb2fc571 | ||
|
6f49d17696 | ||
|
f0c56d6da2 | ||
|
e86fbd6791 | ||
|
3e120aee77 | ||
|
e10fd22fcc | ||
|
4c3a6696f6 | ||
|
5ed2095854 | ||
|
f3474a392e | ||
|
62fc011c2c | ||
|
bdce114251 | ||
|
0a440c0433 | ||
|
311ffc72d8 | ||
|
65fe95472b | ||
|
21e1943cab | ||
|
4a2d9b54d3 | ||
|
3f320be95d | ||
|
5712d37a7a | ||
|
5d5cc9d30a | ||
|
956d42e932 | ||
|
1e70aad5f8 | ||
|
09841ba9e4 | ||
|
c014ea77f4 | ||
|
12d8e8f122 | ||
|
fe327f10a3 | ||
|
5063213d39 | ||
|
dca7f9382e | ||
|
577e533958 | ||
|
98930a6708 | ||
|
f08a3cf64d | ||
|
8cf7909bc0 | ||
|
0c57402b94 | ||
|
1e261c165e | ||
|
b60e875962 | ||
|
693b9d9c23 | ||
|
a275a08cfe | ||
|
e74db2ad83 | ||
|
2709a8e457 | ||
|
0682effeca | ||
|
c248592d39 | ||
|
6049aec381 | ||
|
ad6a08c2b0 | ||
|
a583069698 | ||
|
a67c407bfe | ||
|
6138516ad9 | ||
|
665f6fd84a | ||
|
9c36a8a13b | ||
|
2487a5481e | ||
|
8cb7da82df | ||
|
91513bda93 | ||
|
6b62f1c738 | ||
|
7257ddc0aa | ||
|
bdd919fc48 | ||
|
3112eb2bd5 | ||
|
e9ed0d1d31 | ||
|
ed9b2f0d39 | ||
|
24f12a72d7 | ||
|
faddbe4af4 | ||
|
f4596dc833 | ||
|
78006fc5bd | ||
|
956be62183 | ||
|
60d6fb8b98 | ||
|
2b10eff949 | ||
|
94b8b655cd | ||
|
8019e386bc | ||
|
3398c9f2b3 | ||
|
0763499562 | ||
|
88842eede8 | ||
|
ef4f28a0c1 | ||
|
79cdec2032 | ||
|
829e43511e | ||
|
e759449ca2 | ||
|
86845841c7 | ||
|
b9c6d1b0dc | ||
|
7974ed0e04 | ||
|
d7d12521d2 | ||
|
ec68bd1049 | ||
|
0650c53e47 | ||
|
3dfb3505a2 | ||
|
f8b2399347 | ||
|
9d710e182d | ||
|
d59ee1bd35 | ||
|
53d1ad8e3e | ||
|
f63c34d73b | ||
|
cfa0a220d6 | ||
|
2125b08544 | ||
|
98c0431498 | ||
|
e95dd33a89 | ||
|
817e864977 | ||
|
78048b6a65 | ||
|
169d24af64 | ||
|
042d0bf075 | ||
|
824265943f | ||
|
de2f3995ec | ||
|
52eae12790 | ||
|
efa179698e | ||
|
5963054220 | ||
|
902b165719 | ||
|
7d2d8fe1c9 | ||
|
317643eabf | ||
|
d57ce6b432 | ||
|
ef98a5dd83 | ||
|
c00960f7b4 | ||
|
097af398df | ||
|
b022f9f5c1 | ||
|
390a71ebea | ||
|
7063480f1f | ||
|
4c74ebfc80 | ||
|
1e7d1c62ec | ||
|
72421d608a | ||
|
a9efe64d33 | ||
|
650d2936c4 | ||
|
c9cf940a19 | ||
|
353ea5976a | ||
|
b62a1d5c94 | ||
|
92d6f87091 | ||
|
74e30e89f8 | ||
|
cbeb18c13f | ||
|
6afcc00ba7 | ||
|
b13aef91d1 | ||
|
b61953cc35 | ||
|
4b98b24999 | ||
|
1fea52d4d0 | ||
|
97ba114f8e | ||
|
fc1bc7796a | ||
|
cbdc152dda | ||
|
12653111bd | ||
|
e866a8d013 | ||
|
e03cfde3bc | ||
|
866ee48871 | ||
|
654d1dbf36 | ||
|
219843dbb8 | ||
|
b1fec6690b | ||
|
a8754c54bc | ||
|
b0c5fb3559 | ||
|
02ee94f312 | ||
|
69f9ab8de2 | ||
|
89f3b0d600 | ||
|
51e17d2dac | ||
|
031db43568 | ||
|
387727d496 | ||
|
781fa76384 | ||
|
73650d79b3 | ||
|
b4af946000 | ||
|
a733046471 | ||
|
92eef99c13 | ||
|
f5b237458a | ||
|
04c64e78bc | ||
|
8d9d04adc5 | ||
|
1e8db5cfbd | ||
|
59e0ec54bd | ||
|
a826212051 | ||
|
6e7e8525bb | ||
|
8f3478361d | ||
|
6a242a36ce | ||
|
1564b2d4cd | ||
|
96048c7bf3 | ||
|
401673e743 | ||
|
d8780f0e37 | ||
|
520291162f | ||
|
63217770f7 | ||
|
8c44d566df | ||
|
d0b02cf15c | ||
|
b274806f60 | ||
|
2e8c7f99b5 | ||
|
992fa82f6d | ||
|
0de952d1b3 | ||
|
8a574da9ec | ||
|
6b35c9d4bc | ||
|
f7e7a5a5fb | ||
|
7835e6a678 | ||
|
23900dbcc1 | ||
|
0bb7a00125 | ||
|
467a405754 | ||
|
1046a3a13e | ||
|
6fef542ee2 | ||
|
55f9fe3ded | ||
|
d538e47eef | ||
|
0d628f20cc | ||
|
53b9d71c23 | ||
|
1b3251852c | ||
|
4ba6e124b1 | ||
|
33a55344d3 | ||
|
a4a9207dec | ||
|
98037bf25c | ||
|
ec9076261f | ||
|
d6cefe7288 | ||
|
0296f59f8c | ||
|
057752d7bc | ||
|
91a56eb429 | ||
|
c99985f479 | ||
|
a6d0a1ffeb | ||
|
f746e96b74 | ||
|
db7596ca03 | ||
|
174ae3d14c | ||
|
52a9479e48 | ||
|
ec63264545 | ||
|
114d6edff2 | ||
|
eb894d868d | ||
|
adba797c54 | ||
|
43ecb7f623 | ||
|
0567dd1632 | ||
|
6ef6883b8a | ||
|
41b25fe60f | ||
|
a89eddb135 | ||
|
284b945cd8 | ||
|
d820c63982 | ||
|
b2ef887f66 | ||
|
d98ef7a8be | ||
|
f1978f4b88 | ||
|
b6ebf179db | ||
|
086b24c490 | ||
|
4e8569009e | ||
|
daa122f14b | ||
|
297cf50c27 | ||
|
caddf2893a | ||
|
892822fe29 | ||
|
99e708c1a9 | ||
|
32809c9c52 | ||
|
64ab19be1a | ||
|
27888e0b83 | ||
|
d744287776 | ||
|
5791218f83 | ||
|
cc05d1a251 | ||
|
81b0172b37 | ||
|
b2e30894da | ||
|
4c82d16144 | ||
|
eba8b9172f | ||
|
9b1ba35383 | ||
|
2258605ec2 | ||
|
74546d0cab | ||
|
09aeb68b14 | ||
|
10008a792b | ||
|
e756c20053 | ||
|
0ef3428788 | ||
|
52ddc7607f | ||
|
957de01c8f | ||
|
86dd284368 | ||
|
94c6a1b446 | ||
|
45ca9a1b37 | ||
|
8002f2d402 | ||
|
717a897c11 | ||
|
37d38ecf92 | ||
|
573090edcb | ||
|
c38a25224c | ||
|
351c6b319c | ||
|
9f58e6f21f | ||
|
dc167c2316 | ||
|
6b910bc636 | ||
|
95bd43c7e5 | ||
|
ff5e59982b | ||
|
ed136c994e | ||
|
b55cfaa9a0 | ||
|
6591e7e4a1 | ||
|
a97c14e807 | ||
|
a68da465d3 | ||
|
486c41e3f9 | ||
|
49bc23682f | ||
|
4863d54c99 | ||
|
122acb404d | ||
|
efac96b011 | ||
|
7c814de638 | ||
|
1ee77e40ce | ||
|
ee9fdc383a | ||
|
2cd1ca79e6 | ||
|
4c2582952f | ||
|
103c7e66df | ||
|
40618586a9 | ||
|
274c0bc692 | ||
|
8aef2921d9 | ||
|
0d66cfbd5a | ||
|
7474e836b6 | ||
|
acb3688346 | ||
|
4d153f6705 | ||
|
85ba8cb9b0 | ||
|
5aaeb0d944 | ||
|
6b89644918 | ||
|
69868c0c70 | ||
|
d8f7fd6767 | ||
|
8fbda5afd3 | ||
|
b40e90d19c | ||
|
dcef9834b4 | ||
|
9253127ce8 | ||
|
77c18adce5 | ||
|
3434070c06 | ||
|
8169e95107 | ||
|
1d8332725f | ||
|
a2f50192b6 | ||
|
bd513e80cc | ||
|
6a4dc3c3eb | ||
|
8b8a28167e | ||
|
d0eaae482c | ||
|
e67b7eae70 | ||
|
2cd9262bab | ||
|
7db3d0d278 | ||
|
fc4cef1072 | ||
|
5b23d48e46 | ||
|
919500bd74 |
7
.env
7
.env
@@ -1,3 +1,6 @@
|
|||||||
WAZUH_VERSION=4.7.5
|
WAZUH_VERSION=4.12.0
|
||||||
WAZUH_IMAGE_VERSION=4.7.5
|
WAZUH_IMAGE_VERSION=4.12.0
|
||||||
WAZUH_TAG_REVISION=1
|
WAZUH_TAG_REVISION=1
|
||||||
|
FILEBEAT_TEMPLATE_BRANCH=4.12.0
|
||||||
|
WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.4.tar.gz
|
||||||
|
WAZUH_UI_REVISION=1
|
||||||
|
2
.github/.goss.yaml
vendored
2
.github/.goss.yaml
vendored
@@ -56,7 +56,7 @@ package:
|
|||||||
wazuh-manager:
|
wazuh-manager:
|
||||||
installed: true
|
installed: true
|
||||||
versions:
|
versions:
|
||||||
- 4.7.5-1
|
- 4.12.0
|
||||||
port:
|
port:
|
||||||
tcp:1514:
|
tcp:1514:
|
||||||
listening: true
|
listening: true
|
||||||
|
245
.github/free-disk-space/action.yml
vendored
Normal file
245
.github/free-disk-space/action.yml
vendored
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
name: "Free Disk Space (Ubuntu)"
|
||||||
|
description: "A configurable GitHub Action to free up disk space on an Ubuntu GitHub Actions runner."
|
||||||
|
|
||||||
|
# Thanks @jlumbroso for the action code https://github.com/jlumbroso/free-disk-space/
|
||||||
|
# See: https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#branding
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
android:
|
||||||
|
description: "Remove Android runtime"
|
||||||
|
required: false
|
||||||
|
default: "true"
|
||||||
|
dotnet:
|
||||||
|
description: "Remove .NET runtime"
|
||||||
|
required: false
|
||||||
|
default: "true"
|
||||||
|
haskell:
|
||||||
|
description: "Remove Haskell runtime"
|
||||||
|
required: false
|
||||||
|
default: "true"
|
||||||
|
|
||||||
|
# option inspired by:
|
||||||
|
# https://github.com/apache/flink/blob/master/tools/azure-pipelines/free_disk_space.sh
|
||||||
|
large-packages:
|
||||||
|
description: "Remove large packages"
|
||||||
|
required: false
|
||||||
|
default: "true"
|
||||||
|
|
||||||
|
docker-images:
|
||||||
|
description: "Remove Docker images"
|
||||||
|
required: false
|
||||||
|
default: "true"
|
||||||
|
|
||||||
|
# option inspired by:
|
||||||
|
# https://github.com/actions/virtual-environments/issues/2875#issuecomment-1163392159
|
||||||
|
tool-cache:
|
||||||
|
description: "Remove image tool cache"
|
||||||
|
required: false
|
||||||
|
default: "false"
|
||||||
|
|
||||||
|
swap-storage:
|
||||||
|
description: "Remove swap storage"
|
||||||
|
required: false
|
||||||
|
default: "true"
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- shell: bash
|
||||||
|
run: |
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# MACROS
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# macro to print a line of equals
|
||||||
|
# (silly but works)
|
||||||
|
printSeparationLine() {
|
||||||
|
str=${1:=}
|
||||||
|
num=${2:-80}
|
||||||
|
counter=1
|
||||||
|
output=""
|
||||||
|
while [ $counter -le $num ]
|
||||||
|
do
|
||||||
|
output="${output}${str}"
|
||||||
|
counter=$((counter+1))
|
||||||
|
done
|
||||||
|
echo "${output}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# macro to compute available space
|
||||||
|
# REF: https://unix.stackexchange.com/a/42049/60849
|
||||||
|
# REF: https://stackoverflow.com/a/450821/408734
|
||||||
|
getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
|
||||||
|
|
||||||
|
# macro to make Kb human readable (assume the input is Kb)
|
||||||
|
# REF: https://unix.stackexchange.com/a/44087/60849
|
||||||
|
formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
|
||||||
|
|
||||||
|
# macro to output saved space
|
||||||
|
printSavedSpace() {
|
||||||
|
saved=${1}
|
||||||
|
title=${2:-}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
printSeparationLine '*' 80
|
||||||
|
if [ ! -z "${title}" ]; then
|
||||||
|
echo "=> ${title}: Saved $(formatByteCount $saved)"
|
||||||
|
else
|
||||||
|
echo "=> Saved $(formatByteCount $saved)"
|
||||||
|
fi
|
||||||
|
printSeparationLine '*' 80
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
# macro to print output of dh with caption
|
||||||
|
printDH() {
|
||||||
|
caption=${1:-}
|
||||||
|
|
||||||
|
printSeparationLine '=' 80
|
||||||
|
echo "${caption}"
|
||||||
|
echo ""
|
||||||
|
echo "$ dh -h /"
|
||||||
|
echo ""
|
||||||
|
df -h /
|
||||||
|
echo "$ dh -a /"
|
||||||
|
echo ""
|
||||||
|
df -a /
|
||||||
|
echo "$ dh -a"
|
||||||
|
echo ""
|
||||||
|
df -a
|
||||||
|
printSeparationLine '=' 80
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ======
|
||||||
|
# SCRIPT
|
||||||
|
# ======
|
||||||
|
|
||||||
|
# Display initial disk space stats
|
||||||
|
|
||||||
|
AVAILABLE_INITIAL=$(getAvailableSpace)
|
||||||
|
AVAILABLE_ROOT_INITIAL=$(getAvailableSpace '/')
|
||||||
|
|
||||||
|
printDH "BEFORE CLEAN-UP:"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
# Option: Remove Android library
|
||||||
|
|
||||||
|
if [[ ${{ inputs.android }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
sudo rm -rf /usr/local/lib/android || true
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED "Android library"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Option: Remove .NET runtime
|
||||||
|
|
||||||
|
if [[ ${{ inputs.dotnet }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
# https://github.community/t/bigger-github-hosted-runners-disk-space/17267/11
|
||||||
|
sudo rm -rf /usr/share/dotnet || true
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED ".NET runtime"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Option: Remove Haskell runtime
|
||||||
|
|
||||||
|
if [[ ${{ inputs.haskell }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
sudo rm -rf /opt/ghc || true
|
||||||
|
sudo rm -rf /usr/local/.ghcup || true
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED "Haskell runtime"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Option: Remove large packages
|
||||||
|
# REF: https://github.com/apache/flink/blob/master/tools/azure-pipelines/free_disk_space.sh
|
||||||
|
|
||||||
|
if [[ ${{ inputs.large-packages }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
sudo apt-get remove -y '^aspnetcore-.*' || echo "::warning::The command [sudo apt-get remove -y '^aspnetcore-.*'] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y '^dotnet-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^dotnet-.*' --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y '^llvm-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^llvm-.*' --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y 'php.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y 'php.*' --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y '^mongodb-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mongodb-.*' --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y '^mysql-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mysql-.*' --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri --fix-missing || echo "::warning::The command [sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y google-cloud-sdk --fix-missing || echo "::debug::The command [sudo apt-get remove -y google-cloud-sdk --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get remove -y google-cloud-cli --fix-missing || echo "::debug::The command [sudo apt-get remove -y google-cloud-cli --fix-missing] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get autoremove -y || echo "::warning::The command [sudo apt-get autoremove -y] failed to complete successfully. Proceeding..."
|
||||||
|
sudo apt-get clean || echo "::warning::The command [sudo apt-get clean] failed to complete successfully. Proceeding..."
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED "Large misc. packages"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Option: Remove Docker images
|
||||||
|
|
||||||
|
if [[ ${{ inputs.docker-images }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
sudo docker image prune --all --force || true
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED "Docker images"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Option: Remove tool cache
|
||||||
|
# REF: https://github.com/actions/virtual-environments/issues/2875#issuecomment-1163392159
|
||||||
|
|
||||||
|
if [[ ${{ inputs.tool-cache }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED "Tool cache"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Option: Remove Swap storage
|
||||||
|
|
||||||
|
if [[ ${{ inputs.swap-storage }} == 'true' ]]; then
|
||||||
|
BEFORE=$(getAvailableSpace)
|
||||||
|
|
||||||
|
sudo swapoff -a || true
|
||||||
|
sudo rm -f /mnt/swapfile || true
|
||||||
|
free -h
|
||||||
|
|
||||||
|
AFTER=$(getAvailableSpace)
|
||||||
|
SAVED=$((AFTER-BEFORE))
|
||||||
|
printSavedSpace $SAVED "Swap storage"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Output saved space statistic
|
||||||
|
|
||||||
|
AVAILABLE_END=$(getAvailableSpace)
|
||||||
|
AVAILABLE_ROOT_END=$(getAvailableSpace '/')
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
printDH "AFTER CLEAN-UP:"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "/dev/root:"
|
||||||
|
printSavedSpace $((AVAILABLE_ROOT_END - AVAILABLE_ROOT_INITIAL))
|
||||||
|
echo "overall:"
|
||||||
|
printSavedSpace $((AVAILABLE_END - AVAILABLE_INITIAL))
|
167
.github/workflows/Procedure_push_docker_images.yml
vendored
Normal file
167
.github/workflows/Procedure_push_docker_images.yml
vendored
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
run-name: Launch Push Docker Images - ${{ inputs.id }}
|
||||||
|
name: Push Docker Images
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
image_tag:
|
||||||
|
description: 'Docker image tag'
|
||||||
|
default: '4.12.0'
|
||||||
|
required: true
|
||||||
|
docker_reference:
|
||||||
|
description: 'wazuh-docker reference'
|
||||||
|
default: 'v4.12.0'
|
||||||
|
required: true
|
||||||
|
products:
|
||||||
|
description: 'Comma-separated list of the image names to build and push'
|
||||||
|
default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer'
|
||||||
|
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: '4.12.0'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
docker_reference:
|
||||||
|
description: 'wazuh-docker reference'
|
||||||
|
default: 'v4.12.0'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
products:
|
||||||
|
description: 'Comma-separated list of the image names to build and push'
|
||||||
|
default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer'
|
||||||
|
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: Install Docker Compose
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y docker-compose
|
||||||
|
echo "Installed Docker Compose version: $(docker-compose --version)"
|
||||||
|
|
||||||
|
- 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
|
84
.github/workflows/push.yml
vendored
84
.github/workflows/push.yml
vendored
@@ -4,12 +4,17 @@ on: [pull_request]
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-docker-images:
|
build-docker-images:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install docker-compose
|
||||||
|
run: |
|
||||||
|
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
- name: Build Wazuh images
|
- name: Build Wazuh images
|
||||||
run: build-docker-images/build-images.sh
|
run: build-docker-images/build-images.sh
|
||||||
|
|
||||||
@@ -24,21 +29,21 @@ jobs:
|
|||||||
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-dashboard:${{env.WAZUH_IMAGE_VERSION}} -o /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
|
||||||
|
|
||||||
- name: Temporarily save Wazuh manager Docker image
|
- name: Temporarily save Wazuh manager Docker image
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-manager
|
name: docker-artifact-manager
|
||||||
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar
|
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
- name: Temporarily save Wazuh indexer Docker image
|
- name: Temporarily save Wazuh indexer Docker image
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-indexer
|
name: docker-artifact-indexer
|
||||||
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
|
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
- name: Temporarily save Wazuh dashboard Docker image
|
- name: Temporarily save Wazuh dashboard Docker image
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-dashboard
|
name: docker-artifact-dashboard
|
||||||
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
|
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
|
||||||
@@ -56,28 +61,33 @@ jobs:
|
|||||||
GOSS_FILE: .github/.goss.yaml
|
GOSS_FILE: .github/.goss.yaml
|
||||||
|
|
||||||
check-single-node:
|
check-single-node:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
needs: build-docker-images
|
needs: build-docker-images
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install docker-compose
|
||||||
|
run: |
|
||||||
|
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
- name: Create enviroment variables
|
- name: Create enviroment variables
|
||||||
run: cat .env > $GITHUB_ENV
|
run: cat .env > $GITHUB_ENV
|
||||||
|
|
||||||
- name: Retrieve saved Wazuh indexer Docker image
|
- name: Retrieve saved Wazuh indexer Docker image
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-indexer
|
name: docker-artifact-indexer
|
||||||
|
|
||||||
- name: Retrieve saved Wazuh manager Docker image
|
- name: Retrieve saved Wazuh manager Docker image
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-manager
|
name: docker-artifact-manager
|
||||||
|
|
||||||
- name: Retrieve saved Wazuh dashboard Docker image
|
- name: Retrieve saved Wazuh dashboard Docker image
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-dashboard
|
name: docker-artifact-dashboard
|
||||||
|
|
||||||
@@ -126,8 +136,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Check documents into wazuh-alerts index
|
- name: Check documents into wazuh-alerts index
|
||||||
run: |
|
run: |
|
||||||
|
sleep 120
|
||||||
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
|
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
|
||||||
if [[ $docs -gt 100 ]]; then
|
if [[ $docs -gt 0 ]]; then
|
||||||
echo "wazuh-alerts index documents: ${docs}"
|
echo "wazuh-alerts index documents: ${docs}"
|
||||||
else
|
else
|
||||||
echo "wazuh-alerts index documents: ${docs}"
|
echo "wazuh-alerts index documents: ${docs}"
|
||||||
@@ -138,7 +149,7 @@ jobs:
|
|||||||
run: |
|
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`"
|
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`"
|
||||||
templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics"`"
|
templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -P "wazuh|wazuh-agent|wazuh-statistics"`"
|
||||||
if [[ $qty_templates -eq 3 ]]; then
|
if [[ $qty_templates -gt 3 ]]; then
|
||||||
echo "wazuh templates:"
|
echo "wazuh templates:"
|
||||||
echo "${templates}"
|
echo "${templates}"
|
||||||
else
|
else
|
||||||
@@ -161,10 +172,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
|
TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
|
||||||
|
|
||||||
- name: Check errors in ossec.log
|
|
||||||
run: ./.github/single-node-log-check.sh
|
|
||||||
|
|
||||||
|
|
||||||
- name: Check filebeat output
|
- name: Check filebeat output
|
||||||
run: ./.github/single-node-filebeat-check.sh
|
run: ./.github/single-node-filebeat-check.sh
|
||||||
|
|
||||||
@@ -178,32 +185,40 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Stop single node stack
|
- name: Check errors in ossec.log
|
||||||
run: docker-compose -f single-node/docker-compose.yml down
|
run: ./.github/single-node-log-check.sh
|
||||||
|
|
||||||
check-multi-node:
|
check-multi-node:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
needs: build-docker-images
|
needs: build-docker-images
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install docker-compose
|
||||||
|
run: |
|
||||||
|
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
- name: Create enviroment variables
|
- name: Create enviroment variables
|
||||||
run: cat .env > $GITHUB_ENV
|
run: cat .env > $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: free disk space
|
||||||
|
uses: ./.github/free-disk-space
|
||||||
|
|
||||||
- name: Retrieve saved Wazuh dashboard Docker image
|
- name: Retrieve saved Wazuh dashboard Docker image
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-dashboard
|
name: docker-artifact-dashboard
|
||||||
|
|
||||||
- name: Retrieve saved Wazuh manager Docker image
|
- name: Retrieve saved Wazuh manager Docker image
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-manager
|
name: docker-artifact-manager
|
||||||
|
|
||||||
- name: Retrieve saved Wazuh indexer Docker image
|
- name: Retrieve saved Wazuh indexer Docker image
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: docker-artifact-indexer
|
name: docker-artifact-indexer
|
||||||
|
|
||||||
@@ -212,6 +227,7 @@ jobs:
|
|||||||
docker load --input ./wazuh-manager.tar
|
docker load --input ./wazuh-manager.tar
|
||||||
docker load --input ./wazuh-indexer.tar
|
docker load --input ./wazuh-indexer.tar
|
||||||
docker load --input ./wazuh-dashboard.tar
|
docker load --input ./wazuh-dashboard.tar
|
||||||
|
rm -rf wazuh-manager.tar wazuh-indexer.tar wazuh-dashboard.tar
|
||||||
|
|
||||||
- name: Create multi node certficates
|
- name: Create multi node certficates
|
||||||
run: docker-compose -f multi-node/generate-indexer-certs.yml run --rm generator
|
run: docker-compose -f multi-node/generate-indexer-certs.yml run --rm generator
|
||||||
@@ -221,7 +237,13 @@ jobs:
|
|||||||
|
|
||||||
- name: Check Wazuh indexer start
|
- name: Check Wazuh indexer start
|
||||||
run: |
|
run: |
|
||||||
sleep 120
|
until [[ `curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s | grep green | wc -l` -eq 1 ]]
|
||||||
|
do
|
||||||
|
echo 'Waiting for Wazuh indexer start'
|
||||||
|
free -m
|
||||||
|
df -h
|
||||||
|
sleep 120
|
||||||
|
done
|
||||||
status_green="`curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s | grep green | wc -l`"
|
status_green="`curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s | grep green | wc -l`"
|
||||||
if [[ $status_green -eq 1 ]]; then
|
if [[ $status_green -eq 1 ]]; then
|
||||||
curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
|
curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
|
||||||
@@ -250,8 +272,15 @@ jobs:
|
|||||||
|
|
||||||
- name: Check documents into wazuh-alerts index
|
- name: Check documents into wazuh-alerts index
|
||||||
run: |
|
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"`"
|
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_count" -u admin:SecretPassword -k -s | jq -r ".count"`"
|
||||||
if [[ $docs -gt 100 ]]; then
|
if [[ $docs -gt 0 ]]; then
|
||||||
echo "wazuh-alerts index documents: ${docs}"
|
echo "wazuh-alerts index documents: ${docs}"
|
||||||
else
|
else
|
||||||
echo "wazuh-alerts index documents: ${docs}"
|
echo "wazuh-alerts index documents: ${docs}"
|
||||||
@@ -262,7 +291,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh" | wc -l`"
|
qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh" | wc -l`"
|
||||||
templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh"`"
|
templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh"`"
|
||||||
if [[ $qty_templates -eq 3 ]]; then
|
if [[ $qty_templates -gt 3 ]]; then
|
||||||
echo "wazuh templates:"
|
echo "wazuh templates:"
|
||||||
echo "${templates}"
|
echo "${templates}"
|
||||||
else
|
else
|
||||||
@@ -292,10 +321,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
|
TOKEN: $(curl -s -u wazuh-wui:MyS3cr37P450r.*- -k -X GET "https://0.0.0.0:55000/security/user/authenticate?raw=true")
|
||||||
|
|
||||||
- name: Check errors in ossec.log
|
|
||||||
run: ./.github/multi-node-log-check.sh
|
|
||||||
|
|
||||||
|
|
||||||
- name: Check filebeat output
|
- name: Check filebeat output
|
||||||
run: ./.github/multi-node-filebeat-check.sh
|
run: ./.github/multi-node-filebeat-check.sh
|
||||||
|
|
||||||
@@ -307,4 +332,7 @@ jobs:
|
|||||||
else
|
else
|
||||||
echo "Wazuh dashboard status: ${status}"
|
echo "Wazuh dashboard status: ${status}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Check errors in ossec.log
|
||||||
|
run: ./.github/multi-node-log-check.sh
|
@@ -27,16 +27,22 @@ jobs:
|
|||||||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
||||||
|
|
||||||
name: Build images and upload Trivy results
|
name: Build images and upload Trivy results
|
||||||
runs-on: "ubuntu-latest"
|
runs-on: "ubuntu-22.04"
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with: { ref: 4.4 }
|
|
||||||
|
|
||||||
- name: Installing dependencies
|
- name: Installing dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y jq
|
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
|
- name: Build Wazuh images
|
||||||
run: build-docker-images/build-images.sh
|
run: build-docker-images/build-images.sh
|
||||||
|
|
@@ -27,16 +27,22 @@ jobs:
|
|||||||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
||||||
|
|
||||||
name: Build images and upload Trivy results
|
name: Build images and upload Trivy results
|
||||||
runs-on: "ubuntu-latest"
|
runs-on: "ubuntu-22.04"
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with: { ref: 4.4 }
|
|
||||||
|
|
||||||
- name: Installing dependencies
|
- name: Installing dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y jq
|
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
|
- name: Build Wazuh images
|
||||||
run: build-docker-images/build-images.sh
|
run: build-docker-images/build-images.sh
|
||||||
|
|
@@ -27,16 +27,22 @@ jobs:
|
|||||||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
||||||
|
|
||||||
name: Build images and upload Trivy results
|
name: Build images and upload Trivy results
|
||||||
runs-on: "ubuntu-latest"
|
runs-on: "ubuntu-22.04"
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with: { ref: 4.4 }
|
|
||||||
|
|
||||||
- name: Installing dependencies
|
- name: Installing dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y jq
|
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
|
- name: Build Wazuh images
|
||||||
run: build-docker-images/build-images.sh
|
run: build-docker-images/build-images.sh
|
||||||
|
|
158
CHANGELOG.md
158
CHANGELOG.md
@@ -1,6 +1,164 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [4.12.0]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Change VERSION file format ([#1728](https://github.com/wazuh/wazuh-docker/pull/1728)) \- (VERSION file)
|
||||||
|
- Change Ubuntu version used in workflows ([#1662](https://github.com/wazuh/wazuh-docker/pull/1662)) \- (Docker workflows)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix permanent data scripts ([#1603](https://github.com/wazuh/wazuh-docker/pull/1603))
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## [4.11.2]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## [4.11.1]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## [4.11.0]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Change the cleaning disk step ([#1663](https://github.com/wazuh/wazuh-docker/pull/1663))
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## [4.10.1]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## [4.10.0]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Improve the push docker images workflow ([#1551](https://github.com/wazuh/wazuh-docker/pull/1551))
|
||||||
|
- Update the Procedure push docker images workflow file ([#1524](https://github.com/wazuh/wazuh-docker/pull/1524))
|
||||||
|
- Add the push_docker_images procedure workflow file ([#1518](https://github.com/wazuh/wazuh-docker/pull/1518))
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Add unset capabilities. ([#1619](https://github.com/wazuh/wazuh-docker/pull/1619))
|
||||||
|
- Removed references to module enabling because they are now enabled by default. ([#1416](https://github.com/wazuh/wazuh-docker/pull/1416))
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
## [4.9.2]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update Wazuh to version [4.9.2](https://github.com/wazuh/wazuh/blob/v4.9.2/CHANGELOG.md#v492)
|
||||||
|
|
||||||
|
## [4.9.1]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix typos into Wazuh manager entrypoint ([#1569](https://github.com/wazuh/wazuh-docker/pull/1569))
|
||||||
|
|
||||||
|
### Deleted
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
|
||||||
|
## Wazuh Docker v4.9.0
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update Wazuh to version [4.9.0](https://github.com/wazuh/wazuh/blob/v4.9.0/CHANGELOG.md#v490)
|
||||||
|
|
||||||
|
## Wazuh Docker v4.8.2
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update Wazuh to version [4.8.2](https://github.com/wazuh/wazuh/blob/v4.8.2/CHANGELOG.md#v482)
|
||||||
|
|
||||||
|
## Wazuh Docker v4.8.1
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update Wazuh to version [4.8.1](https://github.com/wazuh/wazuh/blob/v4.8.1/CHANGELOG.md#v481)
|
||||||
|
|
||||||
|
## Wazuh Docker v4.8.0
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update Wazuh to version [4.8.0](https://github.com/wazuh/wazuh/blob/v4.8.0/CHANGELOG.md#v480)
|
||||||
|
|
||||||
## Wazuh Docker v4.7.5
|
## Wazuh Docker v4.7.5
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
95
README.md
95
README.md
@@ -8,19 +8,19 @@
|
|||||||
In this repository you will find the containers to run:
|
In this repository you will find the containers to run:
|
||||||
|
|
||||||
* Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS
|
* Wazuh manager: it runs the Wazuh manager, Wazuh API and Filebeat OSS
|
||||||
* Wazuh dashboard: provides a web user interface to browse through alerts data and allows you to visualize agents configuration and status.
|
* Wazuh dashboard: provides a web user interface to browse through alert data and allows you to visualize the agents configuration and status.
|
||||||
* Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).**
|
* Wazuh indexer: Wazuh indexer container (working as a single-node cluster or as a multi-node cluster). **Be aware to increase the `vm.max_map_count` setting, as it's detailed in the [Wazuh documentation](https://documentation.wazuh.com/current/docker/wazuh-container.html#increase-max-map-count-on-your-host-linux).**
|
||||||
|
|
||||||
The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets.
|
The folder `build-docker-images` contains a README explaining how to build the Wazuh images and the necessary assets.
|
||||||
The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets.
|
The folder `indexer-certs-creator` contains a README explaining how to create the certificates creator tool and the necessary assets.
|
||||||
The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard.
|
The folder `single-node` contains a README explaining how to run a Wazuh environment with one Wazuh manager, one Wazuh indexer, and one Wazuh dashboard.
|
||||||
The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexer, and one Wazuh dashboard.
|
The folder `multi-node` contains a README explaining how to run a Wazuh environment with two Wazuh managers, three Wazuh indexers, and one Wazuh dashboard.
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
* [Wazuh full documentation](http://documentation.wazuh.com)
|
* [Wazuh full documentation](http://documentation.wazuh.com)
|
||||||
* [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html)
|
* [Wazuh documentation for Docker](https://documentation.wazuh.com/current/docker/index.html)
|
||||||
* [Docker hub](https://hub.docker.com/u/wazuh)
|
* [Docker Hub](https://hub.docker.com/u/wazuh)
|
||||||
|
|
||||||
|
|
||||||
### Setup SSL certificate
|
### Setup SSL certificate
|
||||||
@@ -38,7 +38,7 @@ Default values are included when available.
|
|||||||
```
|
```
|
||||||
API_USERNAME="wazuh-wui" # Wazuh API username
|
API_USERNAME="wazuh-wui" # Wazuh API username
|
||||||
API_PASSWORD="MyS3cr37P450r.*-" # Wazuh API password - Must comply with requirements
|
API_PASSWORD="MyS3cr37P450r.*-" # Wazuh API password - Must comply with requirements
|
||||||
# (8+ length, uppercase, lowercase, specials chars)
|
# (8+ length, uppercase, lowercase, special chars)
|
||||||
|
|
||||||
INDEXER_URL=https://wazuh.indexer:9200 # Wazuh indexer URL
|
INDEXER_URL=https://wazuh.indexer:9200 # Wazuh indexer URL
|
||||||
INDEXER_USERNAME=admin # Wazuh indexer Username
|
INDEXER_USERNAME=admin # Wazuh indexer Username
|
||||||
@@ -53,25 +53,11 @@ SSL_KEY="" # Path of Filebeat SSL Key
|
|||||||
```
|
```
|
||||||
PATTERN="wazuh-alerts-*" # Default index pattern to use
|
PATTERN="wazuh-alerts-*" # Default index pattern to use
|
||||||
|
|
||||||
CHECKS_PATTERN=true # Defines which checks must to be consider by the healthcheck
|
CHECKS_PATTERN=true # Defines which checks must be considered by the healthcheck
|
||||||
CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must to be true or false
|
CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must be true or false
|
||||||
CHECKS_API=true
|
CHECKS_API=true
|
||||||
CHECKS_SETUP=true
|
CHECKS_SETUP=true
|
||||||
|
|
||||||
EXTENSIONS_PCI=true # Enable PCI Extension
|
|
||||||
EXTENSIONS_GDPR=true # Enable GDPR Extension
|
|
||||||
EXTENSIONS_HIPAA=true # Enable HIPAA Extension
|
|
||||||
EXTENSIONS_NIST=true # Enable NIST Extension
|
|
||||||
EXTENSIONS_TSC=true # Enable TSC Extension
|
|
||||||
EXTENSIONS_AUDIT=true # Enable Audit Extension
|
|
||||||
EXTENSIONS_OSCAP=false # Enable OpenSCAP Extension
|
|
||||||
EXTENSIONS_CISCAT=false # Enable CISCAT Extension
|
|
||||||
EXTENSIONS_AWS=false # Enable AWS Extension
|
|
||||||
EXTENSIONS_GCP=false # Enable GCP Extension
|
|
||||||
EXTENSIONS_VIRUSTOTAL=false # Enable Virustotal Extension
|
|
||||||
EXTENSIONS_OSQUERY=false # Enable OSQuery Extension
|
|
||||||
EXTENSIONS_DOCKER=false # Enable Docker Extension
|
|
||||||
|
|
||||||
APP_TIMEOUT=20000 # Defines maximum timeout to be used on the Wazuh app requests
|
APP_TIMEOUT=20000 # Defines maximum timeout to be used on the Wazuh app requests
|
||||||
|
|
||||||
API_SELECTOR=true Defines if the user is allowed to change the selected API directly from the Wazuh app top menu
|
API_SELECTOR=true Defines if the user is allowed to change the selected API directly from the Wazuh app top menu
|
||||||
@@ -89,18 +75,23 @@ WAZUH_MONITORING_REPLICAS=0 ##
|
|||||||
## Directory structure
|
## Directory structure
|
||||||
|
|
||||||
├── build-docker-images
|
├── build-docker-images
|
||||||
│ ├── docker-compose.yml
|
│ ├── build-images.sh
|
||||||
|
│ ├── build-images.yml
|
||||||
|
│ ├── README.md
|
||||||
│ ├── wazuh-dashboard
|
│ ├── wazuh-dashboard
|
||||||
│ │ ├── config
|
│ │ ├── config
|
||||||
│ │ │ ├── config.sh
|
│ │ │ ├── config.sh
|
||||||
│ │ │ ├── config.yml
|
│ │ │ ├── config.yml
|
||||||
|
│ │ │ ├── dl_base.sh
|
||||||
│ │ │ ├── entrypoint.sh
|
│ │ │ ├── entrypoint.sh
|
||||||
|
│ │ │ ├── install_wazuh_app.sh
|
||||||
│ │ │ ├── opensearch_dashboards.yml
|
│ │ │ ├── opensearch_dashboards.yml
|
||||||
│ │ │ ├── wazuh_app_config.sh
|
│ │ │ ├── wazuh_app_config.sh
|
||||||
│ │ │ └── wazuh.yml
|
│ │ │ └── wazuh.yml
|
||||||
│ │ └── Dockerfile
|
│ │ └── Dockerfile
|
||||||
│ ├── wazuh-indexer
|
│ ├── wazuh-indexer
|
||||||
│ │ ├── config
|
│ │ ├── config
|
||||||
|
│ │ │ ├── action_groups.yml
|
||||||
│ │ │ ├── config.sh
|
│ │ │ ├── config.sh
|
||||||
│ │ │ ├── config.yml
|
│ │ │ ├── config.yml
|
||||||
│ │ │ ├── entrypoint.sh
|
│ │ │ ├── entrypoint.sh
|
||||||
@@ -112,6 +103,7 @@ WAZUH_MONITORING_REPLICAS=0 ##
|
|||||||
│ │ └── Dockerfile
|
│ │ └── Dockerfile
|
||||||
│ └── wazuh-manager
|
│ └── wazuh-manager
|
||||||
│ ├── config
|
│ ├── config
|
||||||
|
│ │ ├── check_repository.sh
|
||||||
│ │ ├── create_user.py
|
│ │ ├── create_user.py
|
||||||
│ │ ├── etc
|
│ │ ├── etc
|
||||||
│ │ │ ├── cont-init.d
|
│ │ │ ├── cont-init.d
|
||||||
@@ -124,19 +116,21 @@ WAZUH_MONITORING_REPLICAS=0 ##
|
|||||||
│ │ │ │ └── run
|
│ │ │ │ └── run
|
||||||
│ │ │ └── ossec-logs
|
│ │ │ └── ossec-logs
|
||||||
│ │ │ └── run
|
│ │ │ └── run
|
||||||
|
│ │ ├── filebeat_module.sh
|
||||||
│ │ ├── filebeat.yml
|
│ │ ├── filebeat.yml
|
||||||
│ │ ├── permanent_data.env
|
│ │ ├── permanent_data.env
|
||||||
│ │ ├── permanent_data.sh
|
│ │ └── permanent_data.sh
|
||||||
│ │ └── wazuh.repo
|
|
||||||
│ └── Dockerfile
|
│ └── Dockerfile
|
||||||
├── CHANGELOG.md
|
├── CHANGELOG.md
|
||||||
├── indexer-certs-creator
|
├── indexer-certs-creator
|
||||||
│ ├── config
|
│ ├── config
|
||||||
│ │ └── entrypoint.sh
|
│ │ └── entrypoint.sh
|
||||||
│ └── Dockerfile
|
│ ├── Dockerfile
|
||||||
|
│ └── README.md
|
||||||
├── LICENSE
|
├── LICENSE
|
||||||
├── multi-node
|
├── multi-node
|
||||||
│ ├── config
|
│ ├── config
|
||||||
|
│ │ ├── certs.yml
|
||||||
│ │ ├── nginx
|
│ │ ├── nginx
|
||||||
│ │ │ └── nginx.conf
|
│ │ │ └── nginx.conf
|
||||||
│ │ ├── wazuh_cluster
|
│ │ ├── wazuh_cluster
|
||||||
@@ -145,56 +139,57 @@ WAZUH_MONITORING_REPLICAS=0 ##
|
|||||||
│ │ ├── wazuh_dashboard
|
│ │ ├── wazuh_dashboard
|
||||||
│ │ │ ├── opensearch_dashboards.yml
|
│ │ │ ├── opensearch_dashboards.yml
|
||||||
│ │ │ └── wazuh.yml
|
│ │ │ └── wazuh.yml
|
||||||
│ │ ├── wazuh_indexer
|
│ │ └── wazuh_indexer
|
||||||
│ │ │ ├── internal_users.yml
|
│ │ ├── internal_users.yml
|
||||||
│ │ │ ├── wazuh1.indexer.yml
|
│ │ ├── wazuh1.indexer.yml
|
||||||
│ │ │ ├── wazuh2.indexer.yml
|
│ │ ├── wazuh2.indexer.yml
|
||||||
│ │ │ └── wazuh3.indexer.yml
|
│ │ └── wazuh3.indexer.yml
|
||||||
│ │ └── wazuh_indexer_ssl_certs
|
|
||||||
│ │ └── certs.yml
|
|
||||||
│ ├── docker-compose.yml
|
│ ├── docker-compose.yml
|
||||||
│ ├── generate-indexer-certs.yml
|
│ ├── generate-indexer-certs.yml
|
||||||
│ ├── Migration-to-Wazuh-4.3.md
|
│ ├── Migration-to-Wazuh-4.4.md
|
||||||
|
│ ├── README.md
|
||||||
│ └── volume-migrator.sh
|
│ └── volume-migrator.sh
|
||||||
├── README.md
|
├── README.md
|
||||||
|
├── SECURITY.md
|
||||||
├── single-node
|
├── single-node
|
||||||
│ ├── config
|
│ ├── config
|
||||||
|
│ │ ├── certs.yml
|
||||||
│ │ ├── wazuh_cluster
|
│ │ ├── wazuh_cluster
|
||||||
│ │ │ └── wazuh_manager.conf
|
│ │ │ └── wazuh_manager.conf
|
||||||
│ │ ├── wazuh_dashboard
|
│ │ ├── wazuh_dashboard
|
||||||
│ │ │ ├── opensearch_dashboards.yml
|
│ │ │ ├── opensearch_dashboards.yml
|
||||||
│ │ │ └── wazuh.yml
|
│ │ │ └── wazuh.yml
|
||||||
│ │ ├── wazuh_indexer
|
│ │ └── wazuh_indexer
|
||||||
│ │ │ ├── internal_users.yml
|
│ │ ├── internal_users.yml
|
||||||
│ │ │ └── wazuh.indexer.yml
|
│ │ └── wazuh.indexer.yml
|
||||||
│ │ └── wazuh_indexer_ssl_certs
|
|
||||||
│ │ ├── admin-key.pem
|
|
||||||
│ │ ├── admin.pem
|
|
||||||
│ │ ├── certs.yml
|
|
||||||
│ │ ├── root-ca.key
|
|
||||||
│ │ ├── root-ca.pem
|
|
||||||
│ │ ├── wazuh.dashboard-key.pem
|
|
||||||
│ │ ├── wazuh.dashboard.pem
|
|
||||||
│ │ ├── wazuh.indexer-key.pem
|
|
||||||
│ │ ├── wazuh.indexer.pem
|
|
||||||
│ │ ├── wazuh.manager-key.pem
|
|
||||||
│ │ └── wazuh.manager.pem
|
|
||||||
│ ├── docker-compose.yml
|
│ ├── docker-compose.yml
|
||||||
│ ├── generate-indexer-certs.yml
|
│ ├── generate-indexer-certs.yml
|
||||||
│ └── README.md
|
│ └── README.md
|
||||||
└── VERSION
|
└── VERSION.json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Branches
|
## Branches
|
||||||
|
|
||||||
* `master` branch contains the latest code, be aware of possible bugs on this branch.
|
* `master` branch contains the latest code, be aware of possible bugs on this branch.
|
||||||
* `stable` branch on correspond to the last Wazuh stable version.
|
* `stable` branch corresponds to the last Wazuh stable version.
|
||||||
|
|
||||||
## Compatibility Matrix
|
## Compatibility Matrix
|
||||||
|
|
||||||
| Wazuh version | ODFE | XPACK |
|
| Wazuh version | ODFE | XPACK |
|
||||||
|---------------|---------|--------|
|
|---------------|---------|--------|
|
||||||
|
| v4.12.0 | | |
|
||||||
|
| v4.11.2 | | |
|
||||||
|
| v4.11.1 | | |
|
||||||
|
| v4.11.0 | | |
|
||||||
|
| v4.10.1 | | |
|
||||||
|
| v4.10.0 | | |
|
||||||
|
| v4.9.2 | | |
|
||||||
|
| v4.9.1 | | |
|
||||||
|
| v4.9.0 | | |
|
||||||
|
| v4.8.2 | | |
|
||||||
|
| v4.8.1 | | |
|
||||||
|
| v4.8.0 | | |
|
||||||
| v4.7.5 | | |
|
| v4.7.5 | | |
|
||||||
| v4.7.4 | | |
|
| v4.7.4 | | |
|
||||||
| v4.7.3 | | |
|
| v4.7.3 | | |
|
||||||
@@ -252,7 +247,7 @@ These Docker containers are based on:
|
|||||||
* "deviantony" dockerfiles which can be found at [https://github.com/deviantony/docker-elk](https://github.com/deviantony/docker-elk)
|
* "deviantony" dockerfiles which can be found at [https://github.com/deviantony/docker-elk](https://github.com/deviantony/docker-elk)
|
||||||
* "xetus-oss" dockerfiles, which can be found at [https://github.com/xetus-oss/docker-ossec-server](https://github.com/xetus-oss/docker-ossec-server)
|
* "xetus-oss" dockerfiles, which can be found at [https://github.com/xetus-oss/docker-ossec-server](https://github.com/xetus-oss/docker-ossec-server)
|
||||||
|
|
||||||
We thank you them and everyone else who has contributed to this project.
|
We thank them and everyone else who has contributed to this project.
|
||||||
|
|
||||||
## License and copyright
|
## License and copyright
|
||||||
|
|
||||||
|
45
SECURITY.md
Normal file
45
SECURITY.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Wazuh Open Source Project Security Policy
|
||||||
|
|
||||||
|
Version: 2023-06-12
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
This document outlines the Security Policy for Wazuh's open source projects. It emphasizes our commitment to maintain a secure environment for our users and contributors, and reflects our belief in the power of collaboration to identify and resolve security vulnerabilities.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
This policy applies to all open source projects developed, maintained, or hosted by Wazuh.
|
||||||
|
|
||||||
|
## Reporting Security Vulnerabilities
|
||||||
|
If you believe you've discovered a potential security vulnerability in one of our open source projects, we strongly encourage you to report it to us responsibly.
|
||||||
|
|
||||||
|
Please submit your findings as security advisories under the "Security" tab in the relevant GitHub repository. Alternatively, you may send the details of your findings to [security@wazuh.com](mailto:security@wazuh.com).
|
||||||
|
|
||||||
|
## Vulnerability Disclosure Policy
|
||||||
|
Upon receiving a report of a potential vulnerability, our team will initiate an investigation. If the reported issue is confirmed as a vulnerability, we will take the following steps:
|
||||||
|
|
||||||
|
1. Acknowledgment: We will acknowledge the receipt of your vulnerability report and begin our investigation.
|
||||||
|
2. Validation: We will validate the issue and work on reproducing it in our environment.
|
||||||
|
3. Remediation: We will work on a fix and thoroughly test it
|
||||||
|
4. Release & Disclosure: After 90 days from the discovery of the vulnerability, or as soon as a fix is ready and thoroughly tested (whichever comes first), we will release a security update for the affected project. We will also publicly disclose the vulnerability by publishing a CVE (Common Vulnerabilities and Exposures) and acknowledging the discovering party.
|
||||||
|
5. Exceptions: In order to preserve the security of the Wazuh community at large, we might extend the disclosure period to allow users to patch their deployments.
|
||||||
|
|
||||||
|
This 90-day period allows for end-users to update their systems and minimizes the risk of widespread exploitation of the vulnerability.
|
||||||
|
|
||||||
|
## Automatic Scanning
|
||||||
|
We leverage GitHub Actions to perform automated scans of our supply chain. These scans assist us in identifying vulnerabilities and outdated dependencies in a proactive and timely manner.
|
||||||
|
|
||||||
|
## Credit
|
||||||
|
We believe in giving credit where credit is due. If you report a security vulnerability to us, and we determine that it is a valid vulnerability, we will publicly credit you for the discovery when we disclose the vulnerability. If you wish to remain anonymous, please indicate so in your initial report.
|
||||||
|
|
||||||
|
We do appreciate and encourage feedback from our community, but currently we do not have a bounty program. We might start bounty programs in the future.
|
||||||
|
|
||||||
|
## Compliance with this Policy
|
||||||
|
We consider the discovery and reporting of security vulnerabilities an important public service. We encourage responsible reporting of any vulnerabilities that may be found in our site or applications.
|
||||||
|
|
||||||
|
Furthermore, we will not take legal action against or suspend or terminate access to the site or services of those who discover and report security vulnerabilities in accordance with this policy because of the fact.
|
||||||
|
|
||||||
|
We ask that all users and contributors respect this policy and the security of our community's users by disclosing vulnerabilities to us in accordance with this policy.
|
||||||
|
|
||||||
|
## Changes to this Security Policy
|
||||||
|
This policy may be revised from time to time. Each version of the policy will be identified at the top of the page by its effective date.
|
||||||
|
|
||||||
|
If you have any questions about this Security Policy, please contact us at [security@wazuh.com](mailto:security@wazuh.com)
|
4
VERSION.json
Normal file
4
VERSION.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"version": "4.12.0",
|
||||||
|
"stage": "rc1"
|
||||||
|
}
|
@@ -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:
|
The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ build-docker-images/build-images.sh -v 4.5.2
|
$ build-docker-images/build-images.sh -v 4.12.0
|
||||||
```
|
```
|
||||||
|
|
||||||
To get all the available script options use the -h or --help option:
|
To get all the available script options use the -h or --help option:
|
||||||
@@ -24,9 +24,9 @@ $ build-docker-images/build-images.sh -h
|
|||||||
Usage: build-docker-images/build-images.sh [OPTIONS]
|
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.
|
-d, --dev <ref> [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default.
|
||||||
-f, --filebeat-module <ref> [Optional] Set Filebeat module version. By default 0.3.
|
-f, --filebeat-module <ref> [Optional] Set Filebeat module version. By default 0.4.
|
||||||
-r, --revision <rev> [Optional] Package revision. By default 1
|
-r, --revision <rev> [Optional] Package revision. By default 1
|
||||||
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 4.7.5.
|
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 4.12.0.
|
||||||
-h, --help Show this help.
|
-h, --help Show this help.
|
||||||
|
|
||||||
```
|
```
|
@@ -1,7 +1,7 @@
|
|||||||
WAZUH_IMAGE_VERSION=4.7.5
|
WAZUH_IMAGE_VERSION=4.12.0
|
||||||
WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
|
WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
|
||||||
WAZUH_TAG_REVISION=1
|
WAZUH_TAG_REVISION=1
|
||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
|
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
|
||||||
IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
|
IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
|
||||||
|
|
||||||
# Wazuh package generator
|
# Wazuh package generator
|
||||||
@@ -12,10 +12,10 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
|
|||||||
# License (version 2) as published by the FSF - Free Software
|
# License (version 2) as published by the FSF - Free Software
|
||||||
# Foundation.
|
# Foundation.
|
||||||
|
|
||||||
WAZUH_IMAGE_VERSION="4.7.5"
|
WAZUH_IMAGE_VERSION="4.12.0"
|
||||||
WAZUH_TAG_REVISION="1"
|
WAZUH_TAG_REVISION="1"
|
||||||
WAZUH_DEV_STAGE=""
|
WAZUH_DEV_STAGE=""
|
||||||
FILEBEAT_MODULE_VERSION="0.3"
|
FILEBEAT_MODULE_VERSION="0.4"
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -53,13 +53,8 @@ build() {
|
|||||||
elif curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then
|
elif curl --output /dev/null --silent --head --fail "https://github.com/wazuh/wazuh/tree/${FILEBEAT_TEMPLATE_BRANCH}"; then
|
||||||
FILEBEAT_TEMPLATE_BRANCH="${FILEBEAT_TEMPLATE_BRANCH}"
|
FILEBEAT_TEMPLATE_BRANCH="${FILEBEAT_TEMPLATE_BRANCH}"
|
||||||
else
|
else
|
||||||
WAZUH_MASTER_VERSION="$(curl -s https://raw.githubusercontent.com/wazuh/wazuh/master/src/VERSION | sed -e 's/v//g')"
|
echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}"
|
||||||
if [ "${FILEBEAT_TEMPLATE_BRANCH}" == "${WAZUH_MASTER_VERSION}" ]; then
|
clean 1
|
||||||
FILEBEAT_TEMPLATE_BRANCH="master"
|
|
||||||
else
|
|
||||||
echo "The indicated branch does not exist in the wazuh/wazuh repository: ${FILEBEAT_TEMPLATE_BRANCH}"
|
|
||||||
clean 1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -70,7 +65,7 @@ build() {
|
|||||||
echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
|
echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
|
||||||
echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
|
echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
|
||||||
|
|
||||||
docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache
|
docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache || clean 1
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@@ -1,40 +1,34 @@
|
|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
||||||
FROM ubuntu:focal AS builder
|
FROM amazonlinux:2023 AS builder
|
||||||
|
|
||||||
ARG WAZUH_VERSION
|
ARG WAZUH_VERSION
|
||||||
ARG WAZUH_TAG_REVISION
|
ARG WAZUH_TAG_REVISION
|
||||||
ARG INSTALL_DIR=/usr/share/wazuh-dashboard
|
|
||||||
ARG WAZUH_UI_REVISION
|
ARG WAZUH_UI_REVISION
|
||||||
|
ARG INSTALL_DIR=/usr/share/wazuh-dashboard
|
||||||
|
|
||||||
# Update and install dependencies
|
# Update and install dependencies
|
||||||
RUN apt-get update && apt install curl libcap2-bin xz-utils -y
|
RUN yum install curl-minimal libcap openssl -y
|
||||||
|
|
||||||
# Create Install dir
|
COPY config/check_repository.sh /
|
||||||
RUN mkdir -p $INSTALL_DIR
|
RUN chmod 775 /check_repository.sh && \
|
||||||
|
source /check_repository.sh
|
||||||
|
|
||||||
# Download and extract Wazuh dashboard base
|
RUN yum install wazuh-dashboard-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
|
||||||
COPY config/dl_base.sh .
|
yum clean all
|
||||||
RUN bash dl_base.sh
|
|
||||||
|
# Create and set permissions to data directories
|
||||||
|
RUN mkdir -p $INSTALL_DIR/data/wazuh && chmod -R 775 $INSTALL_DIR/data/wazuh
|
||||||
|
RUN mkdir -p $INSTALL_DIR/data/wazuh/config && chmod -R 775 $INSTALL_DIR/data/wazuh/config
|
||||||
|
RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs
|
||||||
|
COPY config/wazuh.yml $INSTALL_DIR/data/wazuh/config/
|
||||||
|
RUN setcap 'cap_net_bind_service=-ep' /usr/share/wazuh-dashboard/node/bin/node
|
||||||
|
RUN setcap 'cap_net_bind_service=-ep' /usr/share/wazuh-dashboard/node/fallback/bin/node
|
||||||
|
|
||||||
# Generate certificates
|
# Generate certificates
|
||||||
COPY config/config.sh .
|
COPY config/config.sh .
|
||||||
COPY config/config.yml /
|
COPY config/config.yml /
|
||||||
RUN bash config.sh
|
RUN bash config.sh
|
||||||
|
|
||||||
COPY config/install_wazuh_app.sh /
|
|
||||||
RUN chmod 775 /install_wazuh_app.sh
|
|
||||||
RUN bash /install_wazuh_app.sh
|
|
||||||
|
|
||||||
# Copy and set permissions to config files
|
|
||||||
COPY config/opensearch_dashboards.yml $INSTALL_DIR/config/
|
|
||||||
COPY config/wazuh.yml $INSTALL_DIR/data/wazuh/config/
|
|
||||||
RUN chown 101:101 $INSTALL_DIR/config/opensearch_dashboards.yml && chmod 664 $INSTALL_DIR/config/opensearch_dashboards.yml
|
|
||||||
|
|
||||||
# Create and set permissions to data directories
|
|
||||||
RUN mkdir -p $INSTALL_DIR/data/wazuh && chown -R 101:101 $INSTALL_DIR/data/wazuh && chmod -R 775 $INSTALL_DIR/data/wazuh
|
|
||||||
RUN mkdir -p $INSTALL_DIR/data/wazuh/config && chown -R 101:101 $INSTALL_DIR/data/wazuh/config && chmod -R 775 $INSTALL_DIR/data/wazuh/config
|
|
||||||
RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chown -R 101:101 $INSTALL_DIR/data/wazuh/logs && chmod -R 775 $INSTALL_DIR/data/wazuh/logs
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Build stage 1 (the current Wazuh dashboard image):
|
# Build stage 1 (the current Wazuh dashboard image):
|
||||||
#
|
#
|
||||||
@@ -42,7 +36,7 @@ RUN mkdir -p $INSTALL_DIR/data/wazuh/logs && chown -R 101:101 $INSTALL_DIR/data/
|
|||||||
# Add entrypoint
|
# Add entrypoint
|
||||||
# Add wazuh_app_config
|
# Add wazuh_app_config
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM ubuntu:focal
|
FROM amazonlinux:2023
|
||||||
|
|
||||||
# Set environment variables
|
# Set environment variables
|
||||||
ENV USER="wazuh-dashboard" \
|
ENV USER="wazuh-dashboard" \
|
||||||
@@ -56,21 +50,6 @@ ENV PATTERN="" \
|
|||||||
CHECKS_TEMPLATE="" \
|
CHECKS_TEMPLATE="" \
|
||||||
CHECKS_API="" \
|
CHECKS_API="" \
|
||||||
CHECKS_SETUP="" \
|
CHECKS_SETUP="" \
|
||||||
EXTENSIONS_PCI="" \
|
|
||||||
EXTENSIONS_GDPR="" \
|
|
||||||
EXTENSIONS_HIPAA="" \
|
|
||||||
EXTENSIONS_NIST="" \
|
|
||||||
EXTENSIONS_TSC="" \
|
|
||||||
EXTENSIONS_AUDIT="" \
|
|
||||||
EXTENSIONS_OSCAP="" \
|
|
||||||
EXTENSIONS_CISCAT="" \
|
|
||||||
EXTENSIONS_AWS="" \
|
|
||||||
EXTENSIONS_GCP="" \
|
|
||||||
EXTENSIONS_GITHUB=""\
|
|
||||||
EXTENSIONS_OFFICE=""\
|
|
||||||
EXTENSIONS_VIRUSTOTAL="" \
|
|
||||||
EXTENSIONS_OSQUERY="" \
|
|
||||||
EXTENSIONS_DOCKER="" \
|
|
||||||
APP_TIMEOUT="" \
|
APP_TIMEOUT="" \
|
||||||
API_SELECTOR="" \
|
API_SELECTOR="" \
|
||||||
IP_SELECTOR="" \
|
IP_SELECTOR="" \
|
||||||
@@ -80,6 +59,9 @@ ENV PATTERN="" \
|
|||||||
WAZUH_MONITORING_SHARDS="" \
|
WAZUH_MONITORING_SHARDS="" \
|
||||||
WAZUH_MONITORING_REPLICAS=""
|
WAZUH_MONITORING_REPLICAS=""
|
||||||
|
|
||||||
|
# Update and install dependencies
|
||||||
|
RUN yum install shadow-utils -y
|
||||||
|
|
||||||
# Create wazuh-dashboard user and group
|
# Create wazuh-dashboard user and group
|
||||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
|
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
|
||||||
RUN useradd --system \
|
RUN useradd --system \
|
||||||
|
@@ -0,0 +1,15 @@
|
|||||||
|
## variables
|
||||||
|
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
||||||
|
GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
|
||||||
|
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
|
||||||
|
WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 11- | grep ^v${WAZUH_VERSION}$)
|
||||||
|
|
||||||
|
## check tag to use the correct repository
|
||||||
|
if [[ -n "${WAZUH_TAG}" ]]; then
|
||||||
|
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
|
||||||
|
GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
|
||||||
|
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rpm --import "${APT_KEY}"
|
||||||
|
echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo
|
@@ -9,8 +9,8 @@ export CONFIG_DIR=${INSTALLATION_DIR}/config
|
|||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
CERT_TOOL=wazuh-certs-tool.sh
|
CERT_TOOL=wazuh-certs-tool.sh
|
||||||
PACKAGES_URL=https://packages.wazuh.com/4.7/
|
PACKAGES_URL=https://packages.wazuh.com/4.12/
|
||||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.7/
|
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.12/
|
||||||
|
|
||||||
## Check if the cert tool exists in S3 buckets
|
## Check if the cert tool exists in S3 buckets
|
||||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
|
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
REPOSITORY="packages.wazuh.com/4.x"
|
|
||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
|
|
||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
|
|
||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
|
|
||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
|
|
||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
|
|
||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
|
|
||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
|
|
||||||
|
|
||||||
## check version to use the correct repository
|
|
||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
|
|
||||||
if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
|
|
||||||
if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
curl -o wazuh-dashboard-base.tar.xz https://${REPOSITORY}/stack/dashboard/wazuh-dashboard-base-${WAZUH_VERSION}-${WAZUH_TAG_REVISION}-linux-x64.tar.xz
|
|
||||||
tar -xf wazuh-dashboard-base.tar.xz --directory $INSTALL_DIR --strip-components=1
|
|
@@ -1,25 +0,0 @@
|
|||||||
## variables
|
|
||||||
WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
|
||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
|
|
||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
|
|
||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
|
|
||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
|
|
||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
|
|
||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
|
|
||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
|
|
||||||
|
|
||||||
## check version to use the correct repository
|
|
||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
|
|
||||||
WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
|
||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
|
|
||||||
if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
|
|
||||||
WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
|
||||||
elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
|
|
||||||
if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
|
|
||||||
WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install Wazuh App
|
|
||||||
$INSTALL_DIR/bin/opensearch-dashboards-plugin install $WAZUH_APP --allow-root
|
|
@@ -1,13 +0,0 @@
|
|||||||
server.host: 0.0.0.0
|
|
||||||
server.port: 5601
|
|
||||||
opensearch.hosts: https://wazuh.indexer:9200
|
|
||||||
opensearch.ssl.verificationMode: none
|
|
||||||
opensearch.requestHeadersWhitelist: [ authorization,securitytenant ]
|
|
||||||
opensearch_security.multitenancy.enabled: false
|
|
||||||
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
|
|
||||||
server.ssl.enabled: true
|
|
||||||
server.ssl.key: "/usr/share/wazuh-dashboard/config/certs/dashboard-key.pem"
|
|
||||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/config/certs/dashboard.pem"
|
|
||||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/config/certs/root-ca.pem"]
|
|
||||||
uiSettings.overrides.defaultRoute: /app/wazuh
|
|
||||||
|
|
@@ -15,21 +15,6 @@ declare -A CONFIG_MAP=(
|
|||||||
[checks.template]=$CHECKS_TEMPLATE
|
[checks.template]=$CHECKS_TEMPLATE
|
||||||
[checks.api]=$CHECKS_API
|
[checks.api]=$CHECKS_API
|
||||||
[checks.setup]=$CHECKS_SETUP
|
[checks.setup]=$CHECKS_SETUP
|
||||||
[extensions.pci]=$EXTENSIONS_PCI
|
|
||||||
[extensions.gdpr]=$EXTENSIONS_GDPR
|
|
||||||
[extensions.hipaa]=$EXTENSIONS_HIPAA
|
|
||||||
[extensions.nist]=$EXTENSIONS_NIST
|
|
||||||
[extensions.tsc]=$EXTENSIONS_TSC
|
|
||||||
[extensions.audit]=$EXTENSIONS_AUDIT
|
|
||||||
[extensions.oscap]=$EXTENSIONS_OSCAP
|
|
||||||
[extensions.ciscat]=$EXTENSIONS_CISCAT
|
|
||||||
[extensions.aws]=$EXTENSIONS_AWS
|
|
||||||
[extensions.gcp]=$EXTENSIONS_GCP
|
|
||||||
[extensions.github]=$EXTENSIONS_GITHUB
|
|
||||||
[extensions.office]=$EXTENSIONS_OFFICE
|
|
||||||
[extensions.virustotal]=$EXTENSIONS_VIRUSTOTAL
|
|
||||||
[extensions.osquery]=$EXTENSIONS_OSQUERY
|
|
||||||
[extensions.docker]=$EXTENSIONS_DOCKER
|
|
||||||
[timeout]=$APP_TIMEOUT
|
[timeout]=$APP_TIMEOUT
|
||||||
[api.selector]=$API_SELECTOR
|
[api.selector]=$API_SELECTOR
|
||||||
[ip.selector]=$IP_SELECTOR
|
[ip.selector]=$IP_SELECTOR
|
||||||
|
@@ -1,10 +1,17 @@
|
|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
||||||
FROM ubuntu:focal AS builder
|
FROM amazonlinux:2023 AS builder
|
||||||
|
|
||||||
ARG WAZUH_VERSION
|
ARG WAZUH_VERSION
|
||||||
ARG WAZUH_TAG_REVISION
|
ARG WAZUH_TAG_REVISION
|
||||||
|
|
||||||
RUN apt-get update -y && apt-get install curl openssl xz-utils -y
|
RUN yum install curl-minimal openssl xz tar findutils shadow-utils -y
|
||||||
|
|
||||||
|
COPY config/check_repository.sh /
|
||||||
|
RUN chmod 775 /check_repository.sh && \
|
||||||
|
source /check_repository.sh
|
||||||
|
|
||||||
|
RUN yum install wazuh-indexer-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
|
||||||
|
yum clean all
|
||||||
|
|
||||||
COPY config/opensearch.yml /
|
COPY config/opensearch.yml /
|
||||||
|
|
||||||
@@ -12,6 +19,8 @@ COPY config/config.sh .
|
|||||||
|
|
||||||
COPY config/config.yml /
|
COPY config/config.yml /
|
||||||
|
|
||||||
|
COPY config/action_groups.yml /
|
||||||
|
|
||||||
COPY config/internal_users.yml /
|
COPY config/internal_users.yml /
|
||||||
|
|
||||||
COPY config/roles_mapping.yml /
|
COPY config/roles_mapping.yml /
|
||||||
@@ -25,14 +34,17 @@ RUN bash config.sh
|
|||||||
#
|
#
|
||||||
# Copy wazuh-indexer from stage 0
|
# Copy wazuh-indexer from stage 0
|
||||||
# Add entrypoint
|
# Add entrypoint
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM ubuntu:focal
|
FROM amazonlinux:2023
|
||||||
|
|
||||||
ENV USER="wazuh-indexer" \
|
ENV USER="wazuh-indexer" \
|
||||||
GROUP="wazuh-indexer" \
|
GROUP="wazuh-indexer" \
|
||||||
NAME="wazuh-indexer" \
|
NAME="wazuh-indexer" \
|
||||||
INSTALL_DIR="/usr/share/wazuh-indexer"
|
INSTALL_DIR="/usr/share/wazuh-indexer"
|
||||||
|
|
||||||
|
RUN yum install curl-minimal shadow-utils findutils hostname -y
|
||||||
|
|
||||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
|
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
|
||||||
|
|
||||||
RUN useradd --system \
|
RUN useradd --system \
|
||||||
@@ -54,7 +66,8 @@ RUN chmod 700 /entrypoint.sh && chmod 700 /securityadmin.sh
|
|||||||
|
|
||||||
RUN chown 1000:1000 /*.sh
|
RUN chown 1000:1000 /*.sh
|
||||||
|
|
||||||
COPY --from=builder --chown=1000:1000 /debian/wazuh-indexer/usr/share/wazuh-indexer /usr/share/wazuh-indexer
|
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=0:0 /debian/wazuh-indexer/usr/lib/systemd /usr/lib/systemd
|
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/sysctl.d /usr/lib/sysctl.d
|
||||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
|
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
|
||||||
|
12
build-docker-images/wazuh-indexer/config/action_groups.yml
Normal file
12
build-docker-images/wazuh-indexer/config/action_groups.yml
Normal file
@@ -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
|
15
build-docker-images/wazuh-indexer/config/check_repository.sh
Normal file
15
build-docker-images/wazuh-indexer/config/check_repository.sh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
## variables
|
||||||
|
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
||||||
|
GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
|
||||||
|
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
|
||||||
|
WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 11- | grep ^v${WAZUH_VERSION}$)
|
||||||
|
|
||||||
|
## check tag to use the correct repository
|
||||||
|
if [[ -n "${WAZUH_TAG}" ]]; then
|
||||||
|
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
|
||||||
|
GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
|
||||||
|
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rpm --import "${APT_KEY}"
|
||||||
|
echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo
|
@@ -19,42 +19,11 @@ export INDEXER_FILE=wazuh-indexer-base.tar.xz
|
|||||||
export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz
|
export BASE_FILE=wazuh-indexer-base-${VERSION}-linux-x64.tar.xz
|
||||||
export REPO_DIR=/unattended_installer
|
export REPO_DIR=/unattended_installer
|
||||||
|
|
||||||
rm -rf ${INSTALLATION_DIR}/
|
|
||||||
|
|
||||||
## variables
|
|
||||||
REPOSITORY="packages.wazuh.com/4.x"
|
|
||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
|
|
||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
|
|
||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
|
|
||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
|
|
||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
|
|
||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
|
|
||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
|
|
||||||
|
|
||||||
## check version to use the correct repository
|
|
||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
|
|
||||||
if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
|
|
||||||
if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
curl -o ${INDEXER_FILE} https://${REPOSITORY}/stack/indexer/${BASE_FILE}
|
|
||||||
tar -xf ${INDEXER_FILE}
|
|
||||||
|
|
||||||
## TOOLS
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
CERT_TOOL=wazuh-certs-tool.sh
|
CERT_TOOL=wazuh-certs-tool.sh
|
||||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
|
PASSWORD_TOOL=wazuh-passwords-tool.sh
|
||||||
PACKAGES_URL=https://packages.wazuh.com/4.7/
|
PACKAGES_URL=https://packages.wazuh.com/4.12/
|
||||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.7/
|
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.12/
|
||||||
|
|
||||||
## Check if the cert tool exists in S3 buckets
|
## Check if the cert tool exists in S3 buckets
|
||||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
|
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
|
||||||
@@ -103,23 +72,10 @@ mkdir -p ${TARGET_DIR}/usr/lib/tmpfiles.d
|
|||||||
mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
|
mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
|
||||||
mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
|
mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
|
||||||
mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
|
mkdir -p ${TARGET_DIR}${CONFIG_DIR}/certs
|
||||||
# Move configuration files for wazuh-indexer
|
|
||||||
mv -f ${BASE_DIR}/etc/init.d/${NAME} ${TARGET_DIR}/etc/init.d/${NAME}
|
|
||||||
mv -f ${BASE_DIR}/etc/wazuh-indexer/* ${TARGET_DIR}${CONFIG_DIR}
|
|
||||||
mv -f ${BASE_DIR}/etc/sysconfig/${NAME} ${TARGET_DIR}/etc/default/
|
|
||||||
mv -f ${BASE_DIR}/usr/lib/tmpfiles.d/* ${TARGET_DIR}/usr/lib/tmpfiles.d/
|
|
||||||
mv -f ${BASE_DIR}/usr/lib/sysctl.d/* ${TARGET_DIR}/usr/lib/sysctl.d/
|
|
||||||
mv -f ${BASE_DIR}/usr/lib/systemd/system/* ${TARGET_DIR}/usr/lib/systemd/system/
|
|
||||||
rm -rf ${BASE_DIR}/etc
|
|
||||||
rm -rf ${BASE_DIR}/usr
|
|
||||||
# Copy installation files to final location
|
|
||||||
cp -pr ${BASE_DIR}/* ${TARGET_DIR}${INSTALLATION_DIR}
|
|
||||||
# Copy the security tools
|
|
||||||
cp /$CERT_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/
|
|
||||||
cp /$PASSWORD_TOOL ${TARGET_DIR}${INSTALLATION_DIR}/plugins/opensearch-security/tools/
|
|
||||||
# Copy Wazuh's config files for the security plugin
|
# Copy Wazuh's config files for the security plugin
|
||||||
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
|
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
|
||||||
cp -pr /roles.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 /internal_users.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
|
||||||
cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
|
cp -pr /opensearch.yml ${TARGET_DIR}${CONFIG_DIR}
|
||||||
# Copy Wazuh indexer's certificates
|
# Copy Wazuh indexer's certificates
|
||||||
@@ -131,9 +87,9 @@ cp -pr /wazuh-certificates/admin.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin.pem
|
|||||||
cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin-key.pem
|
cp -pr /wazuh-certificates/admin-key.pem ${TARGET_DIR}${CONFIG_DIR}/certs/admin-key.pem
|
||||||
|
|
||||||
# Delete xms and xmx parameters in jvm.options
|
# Delete xms and xmx parameters in jvm.options
|
||||||
sed '/-Xms/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
|
sed '/-Xms/d' -i /etc/wazuh-indexer/jvm.options
|
||||||
sed '/-Xmx/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
|
sed '/-Xmx/d' -i /etc/wazuh-indexer/jvm.options
|
||||||
sed -i 's/-Djava.security.policy=file:\/\/\/etc\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/-Djava.security.policy=file:\/\/\/usr\/share\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/g' ${TARGET_DIR}${CONFIG_DIR}/jvm.options
|
sed -i 's/-Djava.security.policy=file:\/\/\/etc\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/-Djava.security.policy=file:\/\/\/usr\/share\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/g' /etc/wazuh-indexer/jvm.options
|
||||||
|
|
||||||
|
|
||||||
chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
|
chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
|
||||||
|
@@ -142,7 +142,7 @@ wazuh_ui_user:
|
|||||||
allowed_actions:
|
allowed_actions:
|
||||||
- "read"
|
- "read"
|
||||||
tenant_permissions: []
|
tenant_permissions: []
|
||||||
static: false
|
static: false
|
||||||
|
|
||||||
wazuh_ui_admin:
|
wazuh_ui_admin:
|
||||||
reserved: true
|
reserved: true
|
||||||
@@ -160,4 +160,12 @@ wazuh_ui_admin:
|
|||||||
- "manage"
|
- "manage"
|
||||||
- "index"
|
- "index"
|
||||||
tenant_permissions: []
|
tenant_permissions: []
|
||||||
static: false
|
static: false
|
||||||
|
|
||||||
|
# ISM API permissions role
|
||||||
|
manage_ism:
|
||||||
|
reserved: true
|
||||||
|
hidden: false
|
||||||
|
cluster_permissions:
|
||||||
|
- "manage_ism"
|
||||||
|
static: false
|
@@ -33,7 +33,7 @@ kibana_user:
|
|||||||
- "kibanauser"
|
- "kibanauser"
|
||||||
users:
|
users:
|
||||||
- "wazuh_user"
|
- "wazuh_user"
|
||||||
- "wazuh_admin"
|
- "wazuh_admin"
|
||||||
description: "Maps kibanauser to kibana_user"
|
description: "Maps kibanauser to kibana_user"
|
||||||
|
|
||||||
readall:
|
readall:
|
||||||
@@ -68,4 +68,11 @@ wazuh_ui_user:
|
|||||||
hosts: []
|
hosts: []
|
||||||
users:
|
users:
|
||||||
- "wazuh_user"
|
- "wazuh_user"
|
||||||
and_backend_roles: []
|
and_backend_roles: []
|
||||||
|
|
||||||
|
# ISM API permissions role mapping
|
||||||
|
manage_ism:
|
||||||
|
reserved: true
|
||||||
|
hidden: false
|
||||||
|
users:
|
||||||
|
- "kibanaserver"
|
@@ -1,5 +1,5 @@
|
|||||||
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
||||||
FROM ubuntu:focal
|
FROM amazonlinux:2023
|
||||||
|
|
||||||
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
|
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
|
||||||
|
|
||||||
@@ -9,22 +9,24 @@ ARG FILEBEAT_TEMPLATE_BRANCH
|
|||||||
ARG FILEBEAT_CHANNEL=filebeat-oss
|
ARG FILEBEAT_CHANNEL=filebeat-oss
|
||||||
ARG FILEBEAT_VERSION=7.10.2
|
ARG FILEBEAT_VERSION=7.10.2
|
||||||
ARG WAZUH_FILEBEAT_MODULE
|
ARG WAZUH_FILEBEAT_MODULE
|
||||||
|
ARG S6_VERSION="v2.2.0.3"
|
||||||
|
|
||||||
RUN apt-get update && apt install curl apt-transport-https lsb-release gnupg -y
|
RUN yum install curl-minimal xz gnupg tar gzip openssl findutils procps -y &&\
|
||||||
|
yum clean all
|
||||||
|
|
||||||
COPY config/check_repository.sh /
|
COPY config/check_repository.sh /
|
||||||
|
COPY config/filebeat_module.sh /
|
||||||
|
COPY config/permanent_data.env config/permanent_data.sh /
|
||||||
|
|
||||||
RUN chmod 775 /check_repository.sh
|
RUN chmod 775 /check_repository.sh
|
||||||
RUN source /check_repository.sh
|
RUN source /check_repository.sh
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN yum install wazuh-manager-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
|
||||||
apt-get install wazuh-manager=${WAZUH_VERSION}-${WAZUH_TAG_REVISION}
|
yum clean all && \
|
||||||
|
chmod 775 /filebeat_module.sh && \
|
||||||
COPY config/filebeat_module.sh /
|
source /filebeat_module.sh && \
|
||||||
RUN chmod 775 /filebeat_module.sh
|
rm /filebeat_module.sh && \
|
||||||
RUN source /filebeat_module.sh
|
curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \
|
||||||
|
|
||||||
ARG S6_VERSION="v2.2.0.3"
|
|
||||||
RUN curl --fail --silent -L https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-amd64.tar.gz \
|
|
||||||
-o /tmp/s6-overlay-amd64.tar.gz && \
|
-o /tmp/s6-overlay-amd64.tar.gz && \
|
||||||
tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \
|
tar xzf /tmp/s6-overlay-amd64.tar.gz -C / --exclude="./bin" && \
|
||||||
tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin && \
|
tar xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin && \
|
||||||
@@ -43,11 +45,6 @@ RUN chmod go-w /etc/filebeat/wazuh-template.json
|
|||||||
# Prepare permanent data
|
# Prepare permanent data
|
||||||
# Sync calls are due to https://github.com/docker/docker/issues/9547
|
# Sync calls are due to https://github.com/docker/docker/issues/9547
|
||||||
|
|
||||||
COPY config/permanent_data.env config/permanent_data.sh /
|
|
||||||
RUN chmod 755 /permanent_data.sh && \
|
|
||||||
sync && /permanent_data.sh && \
|
|
||||||
sync && rm /permanent_data.sh
|
|
||||||
|
|
||||||
#Make mount directories for keep permissions
|
#Make mount directories for keep permissions
|
||||||
|
|
||||||
RUN mkdir -p /var/ossec/var/multigroups && \
|
RUN mkdir -p /var/ossec/var/multigroups && \
|
||||||
@@ -58,7 +55,12 @@ RUN mkdir -p /var/ossec/var/multigroups && \
|
|||||||
chmod 770 /var/ossec/agentless && \
|
chmod 770 /var/ossec/agentless && \
|
||||||
mkdir -p /var/ossec/active-response/bin && \
|
mkdir -p /var/ossec/active-response/bin && \
|
||||||
chown root:wazuh /var/ossec/active-response/bin && \
|
chown root:wazuh /var/ossec/active-response/bin && \
|
||||||
chmod 770 /var/ossec/active-response/bin
|
chmod 770 /var/ossec/active-response/bin && \
|
||||||
|
chmod 755 /permanent_data.sh && \
|
||||||
|
sync && /permanent_data.sh && \
|
||||||
|
sync && rm /permanent_data.sh
|
||||||
|
|
||||||
|
RUN rm /etc/yum.repos.d/wazuh.repo
|
||||||
|
|
||||||
# Services ports
|
# Services ports
|
||||||
EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp
|
EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp
|
||||||
|
@@ -1,29 +1,15 @@
|
|||||||
## variables
|
## variables
|
||||||
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
|
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
||||||
REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main"
|
GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
|
||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
|
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
|
||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
|
WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 11- | grep ^v${WAZUH_VERSION}$)
|
||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
|
|
||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
|
|
||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
|
|
||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
|
|
||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
|
|
||||||
|
|
||||||
## check version to use the correct repository
|
## check tag to use the correct repository
|
||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
|
if [[ -n "${WAZUH_TAG}" ]]; then
|
||||||
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
|
||||||
REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
|
GPG_SIGN="gpgcheck=1\ngpgkey=${APT_KEY}]"
|
||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
|
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages.wazuh.com/4.x/yum/\nprotect=1"
|
||||||
if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
|
|
||||||
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
|
||||||
REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
|
|
||||||
elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
|
|
||||||
if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
|
|
||||||
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
|
||||||
REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apt-key adv --fetch-keys ${APT_KEY}
|
rpm --import "${APT_KEY}"
|
||||||
echo ${REPOSITORY} | tee -a /etc/apt/sources.list.d/wazuh.list
|
echo -e "${REPOSITORY}" | tee /etc/yum.repos.d/wazuh.repo
|
@@ -47,12 +47,8 @@ mount_permanent_data() {
|
|||||||
if find ${permanent_dir} -mindepth 1 | read; then
|
if find ${permanent_dir} -mindepth 1 | read; then
|
||||||
print "The path ${permanent_dir} is already mounted"
|
print "The path ${permanent_dir} is already mounted"
|
||||||
else
|
else
|
||||||
if find ${data_tmp} -mindepth 1 | read; then
|
|
||||||
print "Installing ${permanent_dir}"
|
print "Installing ${permanent_dir}"
|
||||||
exec_cmd "cp -a ${data_tmp}. ${permanent_dir}"
|
exec_cmd "cp -ar ${data_tmp}. ${permanent_dir}"
|
||||||
else
|
|
||||||
print "The path ${permanent_dir} is empty, skiped"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -184,8 +180,9 @@ set_rids_owner() {
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
set_correct_permOwner() {
|
set_correct_permOwner() {
|
||||||
find / -group 997 -exec chown :101 {} +;
|
find / -group 997 -exec chown :999 {} +;
|
||||||
find / -user 999 -exec chown 101 {} +;
|
find / -group 101 -exec chown :999 {} +;
|
||||||
|
find / -user 101 -exec chown 999 {} +;
|
||||||
}
|
}
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@@ -198,7 +195,7 @@ main() {
|
|||||||
|
|
||||||
# Restore files stored in permanent data that are not permanent (i.e. internal_options.conf)
|
# Restore files stored in permanent data that are not permanent (i.e. internal_options.conf)
|
||||||
apply_exclusion_data
|
apply_exclusion_data
|
||||||
|
|
||||||
# Apply correct permission and ownership
|
# Apply correct permission and ownership
|
||||||
set_correct_permOwner
|
set_correct_permOwner
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ "$INDEXER_URL" != "" ]; then
|
if [ "$INDEXER_URL" != "" ]; then
|
||||||
>&2 echo "Customize Elasticsearch ouput IP"
|
>&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
|
fi
|
||||||
|
|
||||||
|
@@ -112,6 +112,13 @@ function_entrypoint_scripts() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function_configure_vulnerability_detection() {
|
||||||
|
if [ "$INDEXER_PASSWORD" != "" ]; then
|
||||||
|
>&2 echo "Configuring password."
|
||||||
|
/var/ossec/bin/wazuh-keystore -f indexer -k username -v $INDEXER_USERNAME
|
||||||
|
/var/ossec/bin/wazuh-keystore -f indexer -k password -v $INDEXER_PASSWORD
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Migrate data from /wazuh-migration volume
|
# Migrate data from /wazuh-migration volume
|
||||||
function_wazuh_migration
|
function_wazuh_migration
|
||||||
@@ -119,6 +126,9 @@ function_wazuh_migration
|
|||||||
# create API custom user
|
# create API custom user
|
||||||
function_create_custom_user
|
function_create_custom_user
|
||||||
|
|
||||||
|
# configure Vulnerabilty detection
|
||||||
|
function_configure_vulnerability_detection
|
||||||
|
|
||||||
# run entrypoint scripts
|
# run entrypoint scripts
|
||||||
function_entrypoint_scripts
|
function_entrypoint_scripts
|
||||||
|
|
||||||
|
@@ -8,9 +8,9 @@ filebeat.modules:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
setup.template.json.enabled: true
|
setup.template.json.enabled: true
|
||||||
|
setup.template.overwrite: true
|
||||||
setup.template.json.path: '/etc/filebeat/wazuh-template.json'
|
setup.template.json.path: '/etc/filebeat/wazuh-template.json'
|
||||||
setup.template.json.name: 'wazuh'
|
setup.template.json.name: 'wazuh'
|
||||||
setup.template.overwrite: true
|
|
||||||
setup.ilm.enabled: false
|
setup.ilm.enabled: false
|
||||||
output.elasticsearch:
|
output.elasticsearch:
|
||||||
hosts: ['https://wazuh.indexer:9200']
|
hosts: ['https://wazuh.indexer:9200']
|
||||||
|
@@ -1,25 +1,12 @@
|
|||||||
REPOSITORY="packages.wazuh.com/4.x"
|
## variables
|
||||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2-)
|
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
||||||
MAJOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f1)
|
WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 11- | grep ^v${WAZUH_VERSION}$)
|
||||||
MID_BUILD=$(echo $WAZUH_VERSION | cut -d. -f2)
|
|
||||||
MINOR_BUILD=$(echo $WAZUH_VERSION | cut -d. -f3)
|
|
||||||
MAJOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f1)
|
|
||||||
MID_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f2)
|
|
||||||
MINOR_CURRENT=$(echo $WAZUH_CURRENT_VERSION | cut -d. -f3)
|
|
||||||
|
|
||||||
## check version to use the correct repository
|
## check tag to use the correct repository
|
||||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
|
if [[ -n "${WAZUH_TAG}" ]]; then
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
REPOSITORY="packages.wazuh.com/4.x"
|
||||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
|
|
||||||
if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
elif [ "$MID_BUILD" -eq "$MID_CURRENT" ]; then
|
|
||||||
if [ "$MINOR_BUILD" -gt "$MINOR_CURRENT" ]; then
|
|
||||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb &&\
|
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\
|
||||||
dpkg -i ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb && \
|
yum install -y ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && rm -f ${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm && \
|
||||||
curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module
|
curl -s https://${REPOSITORY}/filebeat/${WAZUH_FILEBEAT_MODULE} | tar -xvz -C /usr/share/filebeat/module
|
@@ -16,13 +16,16 @@ export PERMANENT_DATA
|
|||||||
# Files mounted in a volume that should not be permanent
|
# Files mounted in a volume that should not be permanent
|
||||||
i=0
|
i=0
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/internal_options.conf"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/etc/internal_options.conf"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty"
|
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/slack.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/virustotal.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/shuffle.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/pagerduty.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/maltiverse"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/integrations/maltiverse.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/default-firewall-drop"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/default-firewall-drop"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/disable-account"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/disable-account"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/firewalld-drop"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/active-response/bin/firewalld-drop"
|
||||||
@@ -53,14 +56,47 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/agentless/ssh.exp"
|
|||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/utils.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/utils.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws-s3.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/__init__.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/aws_tools.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/wazuh_integration.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/__init__.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/aws_bucket.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/cloudtrail.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/config.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/guardduty.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/load_balancers.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/server_access.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/umbrella.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/vpcflow.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/buckets_s3/waf.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/__init__.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/aws_service.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/cloudwatchlogs.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/services/inspector.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/__init__.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/s3_log_handler.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/sqs_message_processor.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/sqs_queue.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure-logs.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/db/orm.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/db/utils.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/db/__init__.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure_utils.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure_services/__init__.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure_services/analytics.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure_services/graph.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/azure_services/storage.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/docker/DockerListener.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/integration.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/integration.py"
|
||||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/tools.py"
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/tools.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/exceptions.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/buckets/bucket.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/buckets/access_logs.py"
|
||||||
|
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/pubsub/subscriber.py"
|
||||||
export PERMANENT_DATA_EXCP
|
export PERMANENT_DATA_EXCP
|
||||||
|
|
||||||
# Files mounted in a volume that should be deleted
|
# Files mounted in a volume that should be deleted
|
||||||
|
@@ -30,11 +30,7 @@ mkdir ${PERMANENT_PATH}
|
|||||||
for permanent_dir in "${PERMANENT_DATA[@]}"; do
|
for permanent_dir in "${PERMANENT_DATA[@]}"; do
|
||||||
# Create the directory for the permanent file if it does not exist
|
# Create the directory for the permanent file if it does not exist
|
||||||
DIR=$(dirname "${permanent_dir}")
|
DIR=$(dirname "${permanent_dir}")
|
||||||
if [ ! -e ${PERMANENT_PATH}${DIR} ]
|
mkdir -p ${PERMANENT_PATH}${DIR}
|
||||||
then
|
cp -ar ${permanent_dir} ${PERMANENT_PATH}${DIR}
|
||||||
mkdir -p ${PERMANENT_PATH}${DIR}
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv ${permanent_dir} ${PERMANENT_PATH}${permanent_dir}
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
@@ -8,8 +8,8 @@
|
|||||||
## Variables
|
## Variables
|
||||||
CERT_TOOL=wazuh-certs-tool.sh
|
CERT_TOOL=wazuh-certs-tool.sh
|
||||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
|
PASSWORD_TOOL=wazuh-passwords-tool.sh
|
||||||
PACKAGES_URL=https://packages.wazuh.com/4.7/
|
PACKAGES_URL=https://packages.wazuh.com/4.12/
|
||||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.7/
|
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.12/
|
||||||
|
|
||||||
## Check if the cert tool exists in S3 buckets
|
## Check if the cert tool exists in S3 buckets
|
||||||
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
|
CERT_TOOL_PACKAGES=$(curl --silent -I $PACKAGES_URL$CERT_TOOL | grep -E "^HTTP" | awk '{print $2}')
|
||||||
@@ -38,7 +38,7 @@ chmod 700 /$CERT_TOOL
|
|||||||
|
|
||||||
## Execute cert tool and parsin cert.yml to set UID permissions
|
## Execute cert tool and parsin cert.yml to set UID permissions
|
||||||
source /$CERT_TOOL -A
|
source /$CERT_TOOL -A
|
||||||
nodes_server=$( cert_parseYaml /config.yml | grep nodes_server__name | sed 's/nodes_server__name=//' )
|
nodes_server=$( cert_parseYaml /config.yml | grep -E "nodes[_]+server[_]+[0-9]+=" | sed -e 's/nodes__server__[0-9]=//' | sed 's/"//g' )
|
||||||
node_names=($nodes_server)
|
node_names=($nodes_server)
|
||||||
|
|
||||||
echo "Moving created certificates to the destination directory"
|
echo "Moving created certificates to the destination directory"
|
||||||
@@ -51,11 +51,12 @@ chown 1000:1000 /certificates/*
|
|||||||
echo "Setting UID for wazuh manager and worker"
|
echo "Setting UID for wazuh manager and worker"
|
||||||
cp /certificates/root-ca.pem /certificates/root-ca-manager.pem
|
cp /certificates/root-ca.pem /certificates/root-ca-manager.pem
|
||||||
cp /certificates/root-ca.key /certificates/root-ca-manager.key
|
cp /certificates/root-ca.key /certificates/root-ca-manager.key
|
||||||
chown 101:101 /certificates/root-ca-manager.pem
|
chown 999:999 /certificates/root-ca-manager.pem
|
||||||
chown 101:101 /certificates/root-ca-manager.key
|
chown 999:999 /certificates/root-ca-manager.key
|
||||||
|
|
||||||
for i in ${node_names[@]};
|
for i in ${node_names[@]};
|
||||||
do
|
do
|
||||||
chown 101:101 "/certificates/${i}.pem"
|
chown 999:999 "/certificates/${i}.pem"
|
||||||
chown 101:101 "/certificates/${i}-key.pem"
|
chown 999:999 "/certificates/${i}-key.pem"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@@ -95,91 +95,27 @@
|
|||||||
<skip_nfs>yes</skip_nfs>
|
<skip_nfs>yes</skip_nfs>
|
||||||
</sca>
|
</sca>
|
||||||
|
|
||||||
<vulnerability-detector>
|
<vulnerability-detection>
|
||||||
<enabled>no</enabled>
|
<enabled>yes</enabled>
|
||||||
<interval>5m</interval>
|
<index-status>yes</index-status>
|
||||||
<min_full_scan_interval>6h</min_full_scan_interval>
|
<feed-update-interval>60m</feed-update-interval>
|
||||||
<run_on_start>yes</run_on_start>
|
</vulnerability-detection>
|
||||||
|
|
||||||
<!-- Ubuntu OS vulnerabilities -->
|
<indexer>
|
||||||
<provider name="canonical">
|
<enabled>yes</enabled>
|
||||||
<enabled>no</enabled>
|
<hosts>
|
||||||
<os>trusty</os>
|
<host>https://wazuh1.indexer:9200</host>
|
||||||
<os>xenial</os>
|
<host>https://wazuh2.indexer:9200</host>
|
||||||
<os>bionic</os>
|
<host>https://wazuh3.indexer:9200</host>
|
||||||
<os>focal</os>
|
</hosts>
|
||||||
<os>jammy</os>
|
<ssl>
|
||||||
<update_interval>1h</update_interval>
|
<certificate_authorities>
|
||||||
</provider>
|
<ca>/etc/ssl/root-ca.pem</ca>
|
||||||
|
</certificate_authorities>
|
||||||
<!-- Debian OS vulnerabilities -->
|
<certificate>/etc/ssl/filebeat.pem</certificate>
|
||||||
<provider name="debian">
|
<key>/etc/ssl/filebeat.key</key>
|
||||||
<enabled>no</enabled>
|
</ssl>
|
||||||
<os>buster</os>
|
</indexer>
|
||||||
<os>bullseye</os>
|
|
||||||
<os>bookworm</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- RedHat OS vulnerabilities -->
|
|
||||||
<provider name="redhat">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>5</os>
|
|
||||||
<os>6</os>
|
|
||||||
<os>7</os>
|
|
||||||
<os>8</os>
|
|
||||||
<os>9</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Amazon Linux OS vulnerabilities -->
|
|
||||||
<provider name="alas">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>amazon-linux</os>
|
|
||||||
<os>amazon-linux-2</os>
|
|
||||||
<os>amazon-linux-2023</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- SUSE Linux Enterprise OS vulnerabilities -->
|
|
||||||
<provider name="suse">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>11-server</os>
|
|
||||||
<os>11-desktop</os>
|
|
||||||
<os>12-server</os>
|
|
||||||
<os>12-desktop</os>
|
|
||||||
<os>15-server</os>
|
|
||||||
<os>15-desktop</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Arch OS vulnerabilities -->
|
|
||||||
<provider name="arch">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Windows OS vulnerabilities -->
|
|
||||||
<provider name="msu">
|
|
||||||
<enabled>yes</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Alma Linux OS vulnerabilities -->
|
|
||||||
<provider name="almalinux">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>8</os>
|
|
||||||
<os>9</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Aggregate vulnerabilities -->
|
|
||||||
<provider name="nvd">
|
|
||||||
<enabled>yes</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
</vulnerability-detector>
|
|
||||||
|
|
||||||
<!-- File integrity monitoring -->
|
<!-- File integrity monitoring -->
|
||||||
<syscheck>
|
<syscheck>
|
||||||
@@ -371,9 +307,4 @@
|
|||||||
<location>/var/ossec/logs/active-responses.log</location>
|
<location>/var/ossec/logs/active-responses.log</location>
|
||||||
</localfile>
|
</localfile>
|
||||||
|
|
||||||
<localfile>
|
|
||||||
<log_format>syslog</log_format>
|
|
||||||
<location>/var/log/dpkg.log</location>
|
|
||||||
</localfile>
|
|
||||||
|
|
||||||
</ossec_config>
|
</ossec_config>
|
||||||
|
@@ -95,91 +95,27 @@
|
|||||||
<skip_nfs>yes</skip_nfs>
|
<skip_nfs>yes</skip_nfs>
|
||||||
</sca>
|
</sca>
|
||||||
|
|
||||||
<vulnerability-detector>
|
<vulnerability-detection>
|
||||||
<enabled>no</enabled>
|
<enabled>yes</enabled>
|
||||||
<interval>5m</interval>
|
<index-status>yes</index-status>
|
||||||
<min_full_scan_interval>6h</min_full_scan_interval>
|
<feed-update-interval>60m</feed-update-interval>
|
||||||
<run_on_start>yes</run_on_start>
|
</vulnerability-detection>
|
||||||
|
|
||||||
<!-- Ubuntu OS vulnerabilities -->
|
<indexer>
|
||||||
<provider name="canonical">
|
<enabled>yes</enabled>
|
||||||
<enabled>no</enabled>
|
<hosts>
|
||||||
<os>trusty</os>
|
<host>https://wazuh1.indexer:9200</host>
|
||||||
<os>xenial</os>
|
<host>https://wazuh2.indexer:9200</host>
|
||||||
<os>bionic</os>
|
<host>https://wazuh3.indexer:9200</host>
|
||||||
<os>focal</os>
|
</hosts>
|
||||||
<os>jammy</os>
|
<ssl>
|
||||||
<update_interval>1h</update_interval>
|
<certificate_authorities>
|
||||||
</provider>
|
<ca>/etc/ssl/root-ca.pem</ca>
|
||||||
|
</certificate_authorities>
|
||||||
<!-- Debian OS vulnerabilities -->
|
<certificate>/etc/ssl/filebeat.pem</certificate>
|
||||||
<provider name="debian">
|
<key>/etc/ssl/filebeat.key</key>
|
||||||
<enabled>no</enabled>
|
</ssl>
|
||||||
<os>buster</os>
|
</indexer>
|
||||||
<os>bullseye</os>
|
|
||||||
<os>bookworm</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- RedHat OS vulnerabilities -->
|
|
||||||
<provider name="redhat">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>5</os>
|
|
||||||
<os>6</os>
|
|
||||||
<os>7</os>
|
|
||||||
<os>8</os>
|
|
||||||
<os>9</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Amazon Linux OS vulnerabilities -->
|
|
||||||
<provider name="alas">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>amazon-linux</os>
|
|
||||||
<os>amazon-linux-2</os>
|
|
||||||
<os>amazon-linux-2023</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- SUSE Linux Enterprise OS vulnerabilities -->
|
|
||||||
<provider name="suse">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>11-server</os>
|
|
||||||
<os>11-desktop</os>
|
|
||||||
<os>12-server</os>
|
|
||||||
<os>12-desktop</os>
|
|
||||||
<os>15-server</os>
|
|
||||||
<os>15-desktop</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Arch OS vulnerabilities -->
|
|
||||||
<provider name="arch">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Alma Linux OS vulnerabilities -->
|
|
||||||
<provider name="almalinux">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>8</os>
|
|
||||||
<os>9</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Windows OS vulnerabilities -->
|
|
||||||
<provider name="msu">
|
|
||||||
<enabled>yes</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Aggregate vulnerabilities -->
|
|
||||||
<provider name="nvd">
|
|
||||||
<enabled>yes</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
</vulnerability-detector>
|
|
||||||
|
|
||||||
<!-- File integrity monitoring -->
|
<!-- File integrity monitoring -->
|
||||||
<syscheck>
|
<syscheck>
|
||||||
@@ -371,9 +307,4 @@
|
|||||||
<location>/var/ossec/logs/active-responses.log</location>
|
<location>/var/ossec/logs/active-responses.log</location>
|
||||||
</localfile>
|
</localfile>
|
||||||
|
|
||||||
<localfile>
|
|
||||||
<log_format>syslog</log_format>
|
|
||||||
<location>/var/log/dpkg.log</location>
|
|
||||||
</localfile>
|
|
||||||
|
|
||||||
</ossec_config>
|
</ossec_config>
|
||||||
|
@@ -9,4 +9,4 @@ server.ssl.enabled: true
|
|||||||
server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
|
server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
|
||||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
|
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
|
||||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
|
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
|
||||||
uiSettings.overrides.defaultRoute: /app/wazuh
|
uiSettings.overrides.defaultRoute: /app/wz-home
|
||||||
|
@@ -3,7 +3,7 @@ version: '3.7'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
wazuh.master:
|
wazuh.master:
|
||||||
image: wazuh/wazuh-manager:4.7.5
|
image: wazuh/wazuh-manager:4.12.0
|
||||||
hostname: wazuh.master
|
hostname: wazuh.master
|
||||||
restart: always
|
restart: always
|
||||||
ulimits:
|
ulimits:
|
||||||
@@ -45,7 +45,7 @@ services:
|
|||||||
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
||||||
|
|
||||||
wazuh.worker:
|
wazuh.worker:
|
||||||
image: wazuh/wazuh-manager:4.7.5
|
image: wazuh/wazuh-manager:4.12.0
|
||||||
hostname: wazuh.worker
|
hostname: wazuh.worker
|
||||||
restart: always
|
restart: always
|
||||||
ulimits:
|
ulimits:
|
||||||
@@ -81,7 +81,7 @@ services:
|
|||||||
- ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
|
- ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
|
||||||
|
|
||||||
wazuh1.indexer:
|
wazuh1.indexer:
|
||||||
image: wazuh/wazuh-indexer:4.7.5
|
image: wazuh/wazuh-indexer:4.12.0
|
||||||
hostname: wazuh1.indexer
|
hostname: wazuh1.indexer
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
@@ -107,7 +107,7 @@ services:
|
|||||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||||
|
|
||||||
wazuh2.indexer:
|
wazuh2.indexer:
|
||||||
image: wazuh/wazuh-indexer:4.7.5
|
image: wazuh/wazuh-indexer:4.12.0
|
||||||
hostname: wazuh2.indexer
|
hostname: wazuh2.indexer
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
@@ -129,7 +129,7 @@ services:
|
|||||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||||
|
|
||||||
wazuh3.indexer:
|
wazuh3.indexer:
|
||||||
image: wazuh/wazuh-indexer:4.7.5
|
image: wazuh/wazuh-indexer:4.12.0
|
||||||
hostname: wazuh3.indexer
|
hostname: wazuh3.indexer
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
@@ -151,7 +151,7 @@ services:
|
|||||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||||
|
|
||||||
wazuh.dashboard:
|
wazuh.dashboard:
|
||||||
image: wazuh/wazuh-dashboard:4.7.5
|
image: wazuh/wazuh-dashboard:4.12.0
|
||||||
hostname: wazuh.dashboard
|
hostname: wazuh.dashboard
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
@@ -3,7 +3,7 @@ version: '3'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
generator:
|
generator:
|
||||||
image: wazuh/wazuh-certs-generator:0.0.1
|
image: wazuh/wazuh-certs-generator:0.0.2
|
||||||
hostname: wazuh-certs-generator
|
hostname: wazuh-certs-generator
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/wazuh_indexer_ssl_certs/:/certificates/
|
- ./config/wazuh_indexer_ssl_certs/:/certificates/
|
||||||
|
@@ -95,91 +95,25 @@
|
|||||||
<skip_nfs>yes</skip_nfs>
|
<skip_nfs>yes</skip_nfs>
|
||||||
</sca>
|
</sca>
|
||||||
|
|
||||||
<vulnerability-detector>
|
<vulnerability-detection>
|
||||||
<enabled>no</enabled>
|
<enabled>yes</enabled>
|
||||||
<interval>5m</interval>
|
<index-status>yes</index-status>
|
||||||
<min_full_scan_interval>6h</min_full_scan_interval>
|
<feed-update-interval>60m</feed-update-interval>
|
||||||
<run_on_start>yes</run_on_start>
|
</vulnerability-detection>
|
||||||
|
|
||||||
<!-- Ubuntu OS vulnerabilities -->
|
<indexer>
|
||||||
<provider name="canonical">
|
<enabled>yes</enabled>
|
||||||
<enabled>no</enabled>
|
<hosts>
|
||||||
<os>trusty</os>
|
<host>https://wazuh.indexer:9200</host>
|
||||||
<os>xenial</os>
|
</hosts>
|
||||||
<os>bionic</os>
|
<ssl>
|
||||||
<os>focal</os>
|
<certificate_authorities>
|
||||||
<os>jammy</os>
|
<ca>/etc/ssl/root-ca.pem</ca>
|
||||||
<update_interval>1h</update_interval>
|
</certificate_authorities>
|
||||||
</provider>
|
<certificate>/etc/ssl/filebeat.pem</certificate>
|
||||||
|
<key>/etc/ssl/filebeat.key</key>
|
||||||
<!-- Debian OS vulnerabilities -->
|
</ssl>
|
||||||
<provider name="debian">
|
</indexer>
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>buster</os>
|
|
||||||
<os>bullseye</os>
|
|
||||||
<os>bookworm</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- RedHat OS vulnerabilities -->
|
|
||||||
<provider name="redhat">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>5</os>
|
|
||||||
<os>6</os>
|
|
||||||
<os>7</os>
|
|
||||||
<os>8</os>
|
|
||||||
<os>9</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Amazon Linux OS vulnerabilities -->
|
|
||||||
<provider name="alas">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>amazon-linux</os>
|
|
||||||
<os>amazon-linux-2</os>
|
|
||||||
<os>amazon-linux-2023</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- SUSE Linux Enterprise OS vulnerabilities -->
|
|
||||||
<provider name="suse">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>11-server</os>
|
|
||||||
<os>11-desktop</os>
|
|
||||||
<os>12-server</os>
|
|
||||||
<os>12-desktop</os>
|
|
||||||
<os>15-server</os>
|
|
||||||
<os>15-desktop</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Arch OS vulnerabilities -->
|
|
||||||
<provider name="arch">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Alma Linux OS vulnerabilities -->
|
|
||||||
<provider name="almalinux">
|
|
||||||
<enabled>no</enabled>
|
|
||||||
<os>8</os>
|
|
||||||
<os>9</os>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Windows OS vulnerabilities -->
|
|
||||||
<provider name="msu">
|
|
||||||
<enabled>yes</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Aggregate vulnerabilities -->
|
|
||||||
<provider name="nvd">
|
|
||||||
<enabled>yes</enabled>
|
|
||||||
<update_interval>1h</update_interval>
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
</vulnerability-detector>
|
|
||||||
|
|
||||||
<!-- File integrity monitoring -->
|
<!-- File integrity monitoring -->
|
||||||
<syscheck>
|
<syscheck>
|
||||||
|
@@ -9,4 +9,4 @@ server.ssl.enabled: true
|
|||||||
server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
|
server.ssl.key: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem"
|
||||||
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
|
server.ssl.certificate: "/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem"
|
||||||
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
|
opensearch.ssl.certificateAuthorities: ["/usr/share/wazuh-dashboard/certs/root-ca.pem"]
|
||||||
uiSettings.overrides.defaultRoute: /app/wazuh
|
uiSettings.overrides.defaultRoute: /app/wz-home
|
||||||
|
@@ -3,7 +3,7 @@ version: '3.7'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
wazuh.manager:
|
wazuh.manager:
|
||||||
image: wazuh/wazuh-manager:4.7.5
|
image: wazuh/wazuh-manager:4.12.0
|
||||||
hostname: wazuh.manager
|
hostname: wazuh.manager
|
||||||
restart: always
|
restart: always
|
||||||
ulimits:
|
ulimits:
|
||||||
@@ -46,13 +46,13 @@ services:
|
|||||||
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
||||||
|
|
||||||
wazuh.indexer:
|
wazuh.indexer:
|
||||||
image: wazuh/wazuh-indexer:4.7.5
|
image: wazuh/wazuh-indexer:4.12.0
|
||||||
hostname: wazuh.indexer
|
hostname: wazuh.indexer
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "9200:9200"
|
- "9200:9200"
|
||||||
environment:
|
environment:
|
||||||
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
|
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||||
ulimits:
|
ulimits:
|
||||||
memlock:
|
memlock:
|
||||||
soft: -1
|
soft: -1
|
||||||
@@ -71,7 +71,7 @@ services:
|
|||||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||||
|
|
||||||
wazuh.dashboard:
|
wazuh.dashboard:
|
||||||
image: wazuh/wazuh-dashboard:4.7.5
|
image: wazuh/wazuh-dashboard:4.12.0
|
||||||
hostname: wazuh.dashboard
|
hostname: wazuh.dashboard
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
@@ -3,7 +3,7 @@ version: '3'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
generator:
|
generator:
|
||||||
image: wazuh/wazuh-certs-generator:0.0.1
|
image: wazuh/wazuh-certs-generator:0.0.2
|
||||||
hostname: wazuh-certs-generator
|
hostname: wazuh-certs-generator
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/wazuh_indexer_ssl_certs/:/certificates/
|
- ./config/wazuh_indexer_ssl_certs/:/certificates/
|
||||||
|
Reference in New Issue
Block a user