mirror of
https://github.com/wazuh/wazuh-docker.git
synced 2025-10-23 04:51:57 +00:00
Compare commits
346 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d306f942f7 | ||
|
abde776e1b | ||
|
b6f628f3c1 | ||
|
06a5ba5297 | ||
|
85992aea95 | ||
|
5057d0f083 | ||
|
562eb60e0f | ||
|
58d6ec2953 | ||
|
300c1bbcdd | ||
|
1fe7647b47 | ||
|
bd5e95a2b8 | ||
|
ce53f0f05e | ||
|
aa69278c44 | ||
|
546f3cef9b | ||
|
754c4b331e | ||
|
fe0f76bd7b | ||
|
e4fec103ca | ||
|
28acd68e6e | ||
|
fc8a8d6869 | ||
|
ff7c511f3b | ||
|
5f689b8802 | ||
|
3d9981d9fa | ||
|
06821f172f | ||
|
660e472b7c | ||
|
af33c2dd7c | ||
|
331fb1969e | ||
|
b88d852b9f | ||
|
281cde7292 | ||
|
c9bbf912b0 | ||
|
7a189605eb | ||
|
ae32e0111d | ||
|
e29dd1195b | ||
|
dafe93039f | ||
|
0adf702f70 | ||
|
f49bba385c | ||
|
a7bb241f8a | ||
|
6e0311a330 | ||
|
bc6ab77773 | ||
|
e4f782f55d | ||
|
b29bd6b936 | ||
|
2bed6e2d95 | ||
|
73253898a2 | ||
|
2b30318a08 | ||
|
49fb35633c | ||
|
052bce7ae1 | ||
|
5fb9a0b6b1 | ||
|
34d25df8ad | ||
|
06e259714c | ||
|
d2bb16a493 | ||
|
a0c1fd8bf5 | ||
|
c548f3e096 | ||
|
69b4169fd5 | ||
|
1ee604e4b1 | ||
|
5b3f46142e | ||
|
845f7e59ec | ||
|
633c50bce6 | ||
|
347187c411 | ||
|
a7cc8ef16e | ||
|
79ead0cf55 | ||
|
7b415dc700 | ||
|
f2a5901fd6 | ||
|
2f3f00fc51 | ||
|
98675f00fc | ||
|
26e94102ce | ||
|
fc896872e2 | ||
|
e17302f280 | ||
|
010642113b | ||
|
90f1d446c1 | ||
|
23848dc8bf | ||
|
9e6defa9d1 | ||
|
2060e2103b | ||
|
66a1533425 | ||
|
1f7eae1247 | ||
|
2c2388ce4a | ||
|
7b03b99022 | ||
|
8a925f010f | ||
|
8468687b0c | ||
|
da64bb47d5 | ||
|
f3b4631bb0 | ||
|
2c6704652c | ||
|
7cfda0550d | ||
|
77e548485a | ||
|
d9a2ebf090 | ||
|
240f22b19c | ||
|
8022d3a7fc | ||
|
12fab33f52 | ||
|
71dac1f51b | ||
|
d31228306c | ||
|
d37474e7c9 | ||
|
3b91ae3668 | ||
|
edf7aef3cc | ||
|
25e21e71da | ||
|
475d29db39 | ||
|
bc102ace7f | ||
|
08de09cd08 | ||
|
15995ac5db | ||
|
63f965d0fd | ||
|
bfa6dfb3b3 | ||
|
521711bf63 | ||
|
347132b589 | ||
|
53275bebb9 | ||
|
7ca2862ad3 | ||
|
5a13dd99a7 | ||
|
a9f2263da8 | ||
|
f6928b62e6 | ||
|
5252ce6c53 | ||
|
5ef484647a | ||
|
f9adac8c56 | ||
|
8bb96f3d69 | ||
|
574c7b05c7 | ||
|
fc563acdaa | ||
|
0778474353 | ||
|
6038fce076 | ||
|
3b7fa8d000 | ||
|
4116634ddd | ||
|
fbaee58767 | ||
|
8b18fb613c | ||
|
45366e121f | ||
|
93ea37158d | ||
|
1f58526256 | ||
|
041cea8a9a | ||
|
53db9379b8 | ||
|
02074c678e | ||
|
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 | ||
|
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 | ||
|
bdce114251 | ||
|
0a440c0433 | ||
|
311ffc72d8 | ||
|
5063213d39 | ||
|
dca7f9382e | ||
|
577e533958 | ||
|
98930a6708 | ||
|
f08a3cf64d | ||
|
8cf7909bc0 | ||
|
693b9d9c23 | ||
|
a275a08cfe | ||
|
e74db2ad83 | ||
|
9c36a8a13b | ||
|
e9ed0d1d31 | ||
|
ed9b2f0d39 | ||
|
24f12a72d7 | ||
|
faddbe4af4 | ||
|
f4596dc833 | ||
|
78006fc5bd | ||
|
956be62183 | ||
|
60d6fb8b98 | ||
|
2b10eff949 | ||
|
94b8b655cd | ||
|
8019e386bc | ||
|
3398c9f2b3 | ||
|
0763499562 | ||
|
9d710e182d | ||
|
d59ee1bd35 | ||
|
b022f9f5c1 | ||
|
390a71ebea | ||
|
6afcc00ba7 | ||
|
b13aef91d1 | ||
|
b61953cc35 | ||
|
4b98b24999 | ||
|
1fea52d4d0 | ||
|
97ba114f8e | ||
|
12653111bd | ||
|
e03cfde3bc | ||
|
654d1dbf36 | ||
|
219843dbb8 | ||
|
92eef99c13 | ||
|
f5b237458a | ||
|
04c64e78bc | ||
|
8d9d04adc5 | ||
|
1e8db5cfbd | ||
|
59e0ec54bd | ||
|
8f3478361d | ||
|
6a242a36ce | ||
|
520291162f | ||
|
63217770f7 | ||
|
91a56eb429 | ||
|
c99985f479 | ||
|
a6d0a1ffeb | ||
|
f746e96b74 | ||
|
43ecb7f623 | ||
|
0567dd1632 | ||
|
6ef6883b8a | ||
|
41b25fe60f | ||
|
a89eddb135 | ||
|
284b945cd8 | ||
|
f1978f4b88 | ||
|
b6ebf179db | ||
|
086b24c490 | ||
|
4e8569009e | ||
|
32809c9c52 | ||
|
64ab19be1a | ||
|
27888e0b83 | ||
|
5791218f83 | ||
|
cc05d1a251 | ||
|
81b0172b37 | ||
|
4c82d16144 | ||
|
e756c20053 | ||
|
0ef3428788 | ||
|
52ddc7607f | ||
|
957de01c8f | ||
|
45ca9a1b37 | ||
|
8002f2d402 | ||
|
dc167c2316 | ||
|
6591e7e4a1 | ||
|
a97c14e807 | ||
|
49bc23682f | ||
|
122acb404d | ||
|
efac96b011 | ||
|
ee9fdc383a | ||
|
103c7e66df | ||
|
8aef2921d9 | ||
|
0d66cfbd5a | ||
|
77c18adce5 |
6
.env
6
.env
@@ -1,6 +1,6 @@
|
||||
WAZUH_VERSION=4.8.1
|
||||
WAZUH_IMAGE_VERSION=4.8.1
|
||||
WAZUH_VERSION=4.11.2
|
||||
WAZUH_IMAGE_VERSION=4.11.2
|
||||
WAZUH_TAG_REVISION=1
|
||||
FILEBEAT_TEMPLATE_BRANCH=4.8.1
|
||||
FILEBEAT_TEMPLATE_BRANCH=4.11.2
|
||||
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:
|
||||
installed: true
|
||||
versions:
|
||||
- 4.8.1
|
||||
- 4.11.2
|
||||
port:
|
||||
tcp:1514:
|
||||
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.11.2'
|
||||
required: true
|
||||
docker_reference:
|
||||
description: 'wazuh-docker reference'
|
||||
default: 'v4.11.2'
|
||||
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.11.2'
|
||||
required: true
|
||||
type: string
|
||||
docker_reference:
|
||||
description: 'wazuh-docker reference'
|
||||
default: 'v4.11.2'
|
||||
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-latest
|
||||
|
||||
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
|
42
.github/workflows/push.yml
vendored
42
.github/workflows/push.yml
vendored
@@ -10,6 +10,11 @@ jobs:
|
||||
- name: Check out code
|
||||
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
|
||||
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
|
||||
|
||||
- name: Temporarily save Wazuh manager Docker image
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-manager
|
||||
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-manager.tar
|
||||
retention-days: 1
|
||||
|
||||
- name: Temporarily save Wazuh indexer Docker image
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-indexer
|
||||
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-indexer.tar
|
||||
retention-days: 1
|
||||
|
||||
- name: Temporarily save Wazuh dashboard Docker image
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-dashboard
|
||||
path: /home/runner/work/wazuh-docker/wazuh-docker/docker-images/wazuh-dashboard.tar
|
||||
@@ -63,21 +68,26 @@ jobs:
|
||||
- name: Check out code
|
||||
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
|
||||
run: cat .env > $GITHUB_ENV
|
||||
|
||||
- name: Retrieve saved Wazuh indexer Docker image
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-indexer
|
||||
|
||||
- name: Retrieve saved Wazuh manager Docker image
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-manager
|
||||
|
||||
- name: Retrieve saved Wazuh dashboard Docker image
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-dashboard
|
||||
|
||||
@@ -186,29 +196,29 @@ jobs:
|
||||
- name: Check out code
|
||||
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
|
||||
run: cat .env > $GITHUB_ENV
|
||||
|
||||
- name: free disk space
|
||||
run: |
|
||||
sudo swapoff -a
|
||||
sudo rm -f /swapfile
|
||||
sudo apt clean
|
||||
docker rmi $(docker image ls -aq)
|
||||
df -h
|
||||
uses: ./.github/free-disk-space
|
||||
|
||||
- name: Retrieve saved Wazuh dashboard Docker image
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-dashboard
|
||||
|
||||
- name: Retrieve saved Wazuh manager Docker image
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-manager
|
||||
|
||||
- name: Retrieve saved Wazuh indexer Docker image
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: docker-artifact-indexer
|
||||
|
||||
@@ -232,7 +242,7 @@ jobs:
|
||||
echo 'Waiting for Wazuh indexer start'
|
||||
free -m
|
||||
df -h
|
||||
sleep 10
|
||||
sleep 120
|
||||
done
|
||||
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
|
||||
|
129
CHANGELOG.md
129
CHANGELOG.md
@@ -1,6 +1,135 @@
|
||||
# Change Log
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [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
|
||||
|
||||
|
39
README.md
39
README.md
@@ -8,19 +8,19 @@
|
||||
In this repository you will find the containers to run:
|
||||
|
||||
* 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).**
|
||||
|
||||
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 `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
|
||||
|
||||
* [Wazuh full documentation](http://documentation.wazuh.com)
|
||||
* [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
|
||||
@@ -38,7 +38,7 @@ Default values are included when available.
|
||||
```
|
||||
API_USERNAME="wazuh-wui" # Wazuh API username
|
||||
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_USERNAME=admin # Wazuh indexer Username
|
||||
@@ -53,25 +53,11 @@ SSL_KEY="" # Path of Filebeat SSL Key
|
||||
```
|
||||
PATTERN="wazuh-alerts-*" # Default index pattern to use
|
||||
|
||||
CHECKS_PATTERN=true # Defines which checks must to be consider by the healthcheck
|
||||
CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must to be true or false
|
||||
CHECKS_PATTERN=true # Defines which checks must be considered by the healthcheck
|
||||
CHECKS_TEMPLATE=true # step once the Wazuh app starts. Values must be true or false
|
||||
CHECKS_API=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
|
||||
|
||||
API_SELECTOR=true Defines if the user is allowed to change the selected API directly from the Wazuh app top menu
|
||||
@@ -186,12 +172,21 @@ WAZUH_MONITORING_REPLICAS=0 ##
|
||||
## Branches
|
||||
|
||||
* `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
|
||||
|
||||
| Wazuh version | ODFE | XPACK |
|
||||
|---------------|---------|--------|
|
||||
| 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 | | |
|
||||
@@ -251,7 +246,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)
|
||||
* "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
|
||||
|
||||
|
14
SECURITY.md
14
SECURITY.md
@@ -16,11 +16,11 @@ Please submit your findings as security advisories under the "Security" tab in t
|
||||
## 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:
|
||||
|
||||
- Acknowledgment: We will acknowledge the receipt of your vulnerability report and begin our investigation.
|
||||
- Validation: We will validate the issue and work on reproducing it in our environment.
|
||||
- Remediation: We will work on a fix and thoroughly test it
|
||||
- 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.
|
||||
- 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.
|
||||
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.
|
||||
|
||||
@@ -33,7 +33,7 @@ We believe in giving credit where credit is due. If you report a security vulner
|
||||
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.
|
||||
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.
|
||||
|
||||
@@ -42,4 +42,4 @@ We ask that all users and contributors respect this policy and the security of o
|
||||
## 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).
|
||||
If you have any questions about this Security Policy, please contact us at [security@wazuh.com](mailto:security@wazuh.com)
|
||||
|
4
VERSION
4
VERSION
@@ -1,2 +1,2 @@
|
||||
WAZUH-DOCKER_VERSION="4.8.1"
|
||||
REVISION="40817"
|
||||
WAZUH-DOCKER_VERSION="4.11.2"
|
||||
REVISION="41122"
|
||||
|
@@ -13,7 +13,7 @@ This script initializes the environment variables needed to build each of the im
|
||||
The script allows you to build images from other versions of Wazuh, to do this you must use the -v or --version argument:
|
||||
|
||||
```
|
||||
$ build-docker-images/build-images.sh -v 4.8.1
|
||||
$ build-docker-images/build-images.sh -v 4.11.2
|
||||
```
|
||||
|
||||
To get all the available script options use the -h or --help option:
|
||||
@@ -26,7 +26,7 @@ Usage: build-docker-images/build-images.sh [OPTIONS]
|
||||
-d, --dev <ref> [Optional] Set the development stage you want to build, example rc1 or beta1, not used by default.
|
||||
-f, --filebeat-module <ref> [Optional] Set Filebeat module version. By default 0.4.
|
||||
-r, --revision <rev> [Optional] Package revision. By default 1
|
||||
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 4.8.1.
|
||||
-v, --version <ver> [Optional] Set the Wazuh version should be builded. By default, 4.11.2.
|
||||
-h, --help Show this help.
|
||||
|
||||
```
|
@@ -1,4 +1,4 @@
|
||||
WAZUH_IMAGE_VERSION=4.8.1
|
||||
WAZUH_IMAGE_VERSION=4.11.2
|
||||
WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
|
||||
WAZUH_TAG_REVISION=1
|
||||
WAZUH_CURRENT_VERSION=$(curl --silent https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '["]tag_name["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 2- | sed -e 's/\.//g')
|
||||
@@ -12,7 +12,7 @@ IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
|
||||
# License (version 2) as published by the FSF - Free Software
|
||||
# Foundation.
|
||||
|
||||
WAZUH_IMAGE_VERSION="4.8.1"
|
||||
WAZUH_IMAGE_VERSION="4.11.2"
|
||||
WAZUH_TAG_REVISION="1"
|
||||
WAZUH_DEV_STAGE=""
|
||||
FILEBEAT_MODULE_VERSION="0.4"
|
||||
@@ -70,7 +70,7 @@ build() {
|
||||
echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
|
||||
echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
|
||||
|
||||
docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache
|
||||
docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache || clean 1
|
||||
|
||||
return 0
|
||||
}
|
||||
|
@@ -3,37 +3,31 @@ FROM amazonlinux:2023 AS builder
|
||||
|
||||
ARG WAZUH_VERSION
|
||||
ARG WAZUH_TAG_REVISION
|
||||
ARG INSTALL_DIR=/usr/share/wazuh-dashboard
|
||||
ARG WAZUH_UI_REVISION
|
||||
ARG INSTALL_DIR=/usr/share/wazuh-dashboard
|
||||
|
||||
# Update and install dependencies
|
||||
RUN yum install curl-minimal libcap xz tar openssl -y
|
||||
RUN yum install curl-minimal libcap openssl -y
|
||||
|
||||
# Create Install dir
|
||||
RUN mkdir -p $INSTALL_DIR
|
||||
COPY config/check_repository.sh /
|
||||
RUN chmod 775 /check_repository.sh && \
|
||||
source /check_repository.sh
|
||||
|
||||
# Download and extract Wazuh dashboard base
|
||||
COPY config/dl_base.sh .
|
||||
RUN bash dl_base.sh
|
||||
|
||||
# Generate certificates
|
||||
COPY config/config.sh .
|
||||
COPY config/config.yml /
|
||||
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 chmod 664 $INSTALL_DIR/config/opensearch_dashboards.yml
|
||||
RUN yum install wazuh-dashboard-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
|
||||
yum clean all
|
||||
|
||||
# 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
|
||||
COPY config/config.sh .
|
||||
COPY config/config.yml /
|
||||
RUN bash config.sh
|
||||
|
||||
################################################################################
|
||||
# Build stage 1 (the current Wazuh dashboard image):
|
||||
@@ -56,21 +50,6 @@ ENV PATTERN="" \
|
||||
CHECKS_TEMPLATE="" \
|
||||
CHECKS_API="" \
|
||||
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="" \
|
||||
API_SELECTOR="" \
|
||||
IP_SELECTOR="" \
|
||||
|
@@ -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
|
||||
CERT_TOOL=wazuh-certs-tool.sh
|
||||
PACKAGES_URL=https://packages.wazuh.com/4.8/
|
||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.8/
|
||||
PACKAGES_URL=https://packages.wazuh.com/4.11/
|
||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.11/
|
||||
|
||||
## 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}')
|
||||
|
@@ -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,35 +0,0 @@
|
||||
## variables
|
||||
WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
||||
WAZUH_CHECK_UPDATES=https://packages.wazuh.com/4.x/ui/dashboard/wazuhCheckUpdates-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
||||
WAZUH_CORE=https://packages.wazuh.com/4.x/ui/dashboard/wazuhCore-${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
|
||||
WAZUH_CHECK_UPDATES=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuhCheckUpdates-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
||||
WAZUH_CORE=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuhCore-${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
|
||||
WAZUH_CHECK_UPDATES=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuhCheckUpdates-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
||||
WAZUH_CORE=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuhCore-${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
|
||||
WAZUH_CHECK_UPDATES=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuhCheckUpdates-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
||||
WAZUH_CORE=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuhCore-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install Wazuh App
|
||||
$INSTALL_DIR/bin/opensearch-dashboards-plugin install $WAZUH_APP --allow-root
|
||||
$INSTALL_DIR/bin/opensearch-dashboards-plugin install $WAZUH_CHECK_UPDATES --allow-root
|
||||
$INSTALL_DIR/bin/opensearch-dashboards-plugin install $WAZUH_CORE --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/wz-home
|
||||
|
@@ -15,21 +15,6 @@ declare -A CONFIG_MAP=(
|
||||
[checks.template]=$CHECKS_TEMPLATE
|
||||
[checks.api]=$CHECKS_API
|
||||
[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
|
||||
[api.selector]=$API_SELECTOR
|
||||
[ip.selector]=$IP_SELECTOR
|
||||
|
@@ -6,6 +6,13 @@ ARG WAZUH_TAG_REVISION
|
||||
|
||||
RUN yum install curl-minimal openssl xz tar findutils shadow-utils -y
|
||||
|
||||
COPY config/check_repository.sh /
|
||||
RUN chmod 775 /check_repository.sh && \
|
||||
source /check_repository.sh
|
||||
|
||||
RUN yum install wazuh-indexer-${WAZUH_VERSION}-${WAZUH_TAG_REVISION} -y && \
|
||||
yum clean all
|
||||
|
||||
COPY config/opensearch.yml /
|
||||
|
||||
COPY config/config.sh .
|
||||
@@ -59,7 +66,8 @@ RUN chmod 700 /entrypoint.sh && chmod 700 /securityadmin.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/sysctl.d /usr/lib/sysctl.d
|
||||
COPY --from=builder --chown=0:0 /debian/wazuh-indexer/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
|
||||
|
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 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
|
||||
CERT_TOOL=wazuh-certs-tool.sh
|
||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
|
||||
PACKAGES_URL=https://packages.wazuh.com/4.8/
|
||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.8/
|
||||
PACKAGES_URL=https://packages.wazuh.com/4.11/
|
||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.11/
|
||||
|
||||
## 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}')
|
||||
@@ -103,20 +72,6 @@ mkdir -p ${TARGET_DIR}/usr/lib/tmpfiles.d
|
||||
mkdir -p ${TARGET_DIR}/usr/lib/sysctl.d
|
||||
mkdir -p ${TARGET_DIR}/usr/lib/systemd/system
|
||||
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
|
||||
cp -pr /roles_mapping.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
|
||||
cp -pr /roles.yml ${TARGET_DIR}${INSTALLATION_DIR}/opensearch-security/
|
||||
@@ -132,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
|
||||
|
||||
# Delete xms and xmx parameters in jvm.options
|
||||
sed '/-Xms/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
|
||||
sed '/-Xmx/d' -i ${TARGET_DIR}${CONFIG_DIR}/jvm.options
|
||||
sed -i 's/-Djava.security.policy=file:\/\/\/etc\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/-Djava.security.policy=file:\/\/\/usr\/share\/wazuh-indexer\/opensearch-performance-analyzer\/opensearch_security.policy/g' ${TARGET_DIR}${CONFIG_DIR}/jvm.options
|
||||
sed '/-Xms/d' -i /etc/wazuh-indexer/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' /etc/wazuh-indexer/jvm.options
|
||||
|
||||
|
||||
chmod -R 500 ${TARGET_DIR}${CONFIG_DIR}/certs
|
||||
|
@@ -60,6 +60,8 @@ RUN mkdir -p /var/ossec/var/multigroups && \
|
||||
sync && /permanent_data.sh && \
|
||||
sync && rm /permanent_data.sh
|
||||
|
||||
RUN rm /etc/yum.repos.d/wazuh.repo
|
||||
|
||||
# Services ports
|
||||
EXPOSE 55000/tcp 1514/tcp 1515/tcp 514/udp 1516/tcp
|
||||
|
||||
|
@@ -1,29 +1,14 @@
|
||||
## variables
|
||||
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
|
||||
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.wazuh.com/4.x/yum/\nprotect=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-)
|
||||
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)
|
||||
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 version to use the correct repository
|
||||
if [ "$MAJOR_BUILD" -gt "$MAJOR_CURRENT" ]; then
|
||||
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
||||
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
|
||||
elif [ "$MAJOR_BUILD" -eq "$MAJOR_CURRENT" ]; then
|
||||
if [ "$MID_BUILD" -gt "$MID_CURRENT" ]; then
|
||||
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
|
||||
REPOSITORY="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
|
||||
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="[wazuh]\n${GPG_SIGN}\nenabled=1\nname=EL-\$releasever - Wazuh\nbaseurl=https://packages-dev.wazuh.com/pre-release/yum/\nprotect=1"
|
||||
fi
|
||||
fi
|
||||
## 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}"
|
||||
|
@@ -51,7 +51,7 @@ mount_permanent_data() {
|
||||
print "Installing ${permanent_dir}"
|
||||
exec_cmd "cp -a ${data_tmp}. ${permanent_dir}"
|
||||
else
|
||||
print "The path ${permanent_dir} is empty, skiped"
|
||||
print "The path ${permanent_dir} is empty, skipped"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
@@ -199,7 +199,7 @@ main() {
|
||||
|
||||
# Restore files stored in permanent data that are not permanent (i.e. internal_options.conf)
|
||||
apply_exclusion_data
|
||||
|
||||
|
||||
# Apply correct permission and ownership
|
||||
set_correct_permOwner
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
set -e
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
|
@@ -1,23 +1,10 @@
|
||||
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)
|
||||
## variables
|
||||
REPOSITORY="packages-dev.wazuh.com/pre-release"
|
||||
WAZUH_TAG=$(curl --silent https://api.github.com/repos/wazuh/wazuh/git/refs/tags | grep '["]ref["]:' | sed -E 's/.*\"([^\"]+)\".*/\1/' | cut -c 11- | grep ^v${WAZUH_VERSION}$)
|
||||
|
||||
## check 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
|
||||
## check tag to use the correct repository
|
||||
if [[ -n "${WAZUH_TAG}" ]]; then
|
||||
REPOSITORY="packages.wazuh.com/4.x"
|
||||
fi
|
||||
|
||||
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-x86_64.rpm &&\
|
||||
|
@@ -79,7 +79,14 @@ PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/aws/subscribers/sqs_message_proc
|
||||
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.py"
|
||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/azure/orm.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.py"
|
||||
PERMANENT_DATA_EXCP[((i++))]="/var/ossec/wodles/gcloud/gcloud"
|
||||
@@ -87,6 +94,9 @@ 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/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
|
||||
|
||||
# Files mounted in a volume that should be deleted
|
||||
|
@@ -8,8 +8,8 @@
|
||||
## Variables
|
||||
CERT_TOOL=wazuh-certs-tool.sh
|
||||
PASSWORD_TOOL=wazuh-passwords-tool.sh
|
||||
PACKAGES_URL=https://packages.wazuh.com/4.8/
|
||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.8/
|
||||
PACKAGES_URL=https://packages.wazuh.com/4.11/
|
||||
PACKAGES_DEV_URL=https://packages-dev.wazuh.com/4.11/
|
||||
|
||||
## 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}')
|
||||
|
@@ -3,7 +3,7 @@ version: '3.7'
|
||||
|
||||
services:
|
||||
wazuh.master:
|
||||
image: wazuh/wazuh-manager:4.8.1
|
||||
image: wazuh/wazuh-manager:4.11.2
|
||||
hostname: wazuh.master
|
||||
restart: always
|
||||
ulimits:
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
||||
|
||||
wazuh.worker:
|
||||
image: wazuh/wazuh-manager:4.8.1
|
||||
image: wazuh/wazuh-manager:4.11.2
|
||||
hostname: wazuh.worker
|
||||
restart: always
|
||||
ulimits:
|
||||
@@ -81,7 +81,7 @@ services:
|
||||
- ./config/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf
|
||||
|
||||
wazuh1.indexer:
|
||||
image: wazuh/wazuh-indexer:4.8.1
|
||||
image: wazuh/wazuh-indexer:4.11.2
|
||||
hostname: wazuh1.indexer
|
||||
restart: always
|
||||
ports:
|
||||
@@ -107,7 +107,7 @@ services:
|
||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||
|
||||
wazuh2.indexer:
|
||||
image: wazuh/wazuh-indexer:4.8.1
|
||||
image: wazuh/wazuh-indexer:4.11.2
|
||||
hostname: wazuh2.indexer
|
||||
restart: always
|
||||
environment:
|
||||
@@ -129,7 +129,7 @@ services:
|
||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||
|
||||
wazuh3.indexer:
|
||||
image: wazuh/wazuh-indexer:4.8.1
|
||||
image: wazuh/wazuh-indexer:4.11.2
|
||||
hostname: wazuh3.indexer
|
||||
restart: always
|
||||
environment:
|
||||
@@ -151,7 +151,7 @@ services:
|
||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||
|
||||
wazuh.dashboard:
|
||||
image: wazuh/wazuh-dashboard:4.8.1
|
||||
image: wazuh/wazuh-dashboard:4.11.2
|
||||
hostname: wazuh.dashboard
|
||||
restart: always
|
||||
ports:
|
||||
|
@@ -3,7 +3,7 @@ version: '3.7'
|
||||
|
||||
services:
|
||||
wazuh.manager:
|
||||
image: wazuh/wazuh-manager:4.8.1
|
||||
image: wazuh/wazuh-manager:4.11.2
|
||||
hostname: wazuh.manager
|
||||
restart: always
|
||||
ulimits:
|
||||
@@ -46,7 +46,7 @@ services:
|
||||
- ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
||||
|
||||
wazuh.indexer:
|
||||
image: wazuh/wazuh-indexer:4.8.1
|
||||
image: wazuh/wazuh-indexer:4.11.2
|
||||
hostname: wazuh.indexer
|
||||
restart: always
|
||||
ports:
|
||||
@@ -71,7 +71,7 @@ services:
|
||||
- ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
|
||||
|
||||
wazuh.dashboard:
|
||||
image: wazuh/wazuh-dashboard:4.8.1
|
||||
image: wazuh/wazuh-dashboard:4.11.2
|
||||
hostname: wazuh.dashboard
|
||||
restart: always
|
||||
ports:
|
||||
|
Reference in New Issue
Block a user