浏览代码

gitignore

tum 1 月之前
父节点
当前提交
9bd700d33c

+ 7 - 7
.gitignore

@@ -27,13 +27,13 @@ node_modules/
27 27
 **/node_modules/
28 28
 
29 29
 # Env/secrets
30
-.env
31
-.env.*
32
-!.env.example
33
-!**/.env.example
34
-*.pem
35
-*.key
36
-*.crt
30
+# .env
31
+# .env.*
32
+# !.env.example
33
+# !**/.env.example
34
+# *.pem
35
+# *.key
36
+# *.crt
37 37
 
38 38
 # Docker / local runtime state
39 39
 *.db

+ 120 - 0
Shuffle/.env

@@ -0,0 +1,120 @@
1
+# Default execution environment for workers
2
+ENVIRONMENT_NAME=Shuffle
3
+
4
+# Sanitize liquid.py input
5
+LIQUID_SANITIZE_INPUT=true
6
+
7
+
8
+# Remote github config for first load
9
+SHUFFLE_DOWNLOAD_WORKFLOW_LOCATION=
10
+SHUFFLE_DOWNLOAD_WORKFLOW_USERNAME=
11
+SHUFFLE_DOWNLOAD_WORKFLOW_PASSWORD=
12
+SHUFFLE_DOWNLOAD_WORKFLOW_BRANCH=
13
+
14
+SHUFFLE_APP_DOWNLOAD_LOCATION=https://github.com/shuffle/python-apps
15
+SHUFFLE_DOWNLOAD_AUTH_USERNAME=
16
+SHUFFLE_DOWNLOAD_AUTH_PASSWORD=
17
+SHUFFLE_DOWNLOAD_AUTH_BRANCH=
18
+SHUFFLE_APP_FORCE_UPDATE=false
19
+
20
+# User config for first load. Username & PW: min length 3
21
+SHUFFLE_DEFAULT_USERNAME=
22
+SHUFFLE_DEFAULT_PASSWORD=
23
+SHUFFLE_DEFAULT_APIKEY=
24
+
25
+# Local location of your app directory. Can't use ~/
26
+# Files will get better at some point. Right now: local saving.
27
+SHUFFLE_APP_HOTLOAD_FOLDER=./shuffle-apps
28
+SHUFFLE_APP_HOTLOAD_LOCATION=./shuffle-apps
29
+SHUFFLE_FILE_LOCATION=./shuffle-files
30
+
31
+# Encryption modifier. This HAS to be set to encrypt any authentication being used in Shuffle. This is put together with other relevant values to ensure multiple parts are needed to decrypt.
32
+# If this key is lost or changed, you will have to reauthenticate all apps.
33
+SHUFFLE_ENCRYPTION_MODIFIER=
34
+
35
+# Other configs
36
+BASE_URL=http://shuffle-backend:5001
37
+SSO_REDIRECT_URL=http://localhost:3001
38
+BACKEND_HOSTNAME=shuffle-backend
39
+BACKEND_PORT=5001
40
+FRONTEND_PORT=3001
41
+FRONTEND_PORT_HTTPS=3443
42
+AUTH_FOR_ORBORUS=
43
+
44
+# CHANGE THIS IF YOU WANT GOOD LOCAL EXECUTIONS:
45
+OUTER_HOSTNAME=shuffle-backend
46
+DB_LOCATION=./shuffle-database
47
+DOCKER_API_VERSION=1.40
48
+
49
+# Orborus/Proxy configurations
50
+HTTP_PROXY=
51
+HTTPS_PROXY=
52
+SHUFFLE_PASS_WORKER_PROXY=TRUE
53
+SHUFFLE_PASS_APP_PROXY=TRUE
54
+SHUFFLE_INTERNAL_HTTP_PROXY=noproxy
55
+SHUFFLE_INTERNAL_HTTPS_PROXY=noproxy
56
+# Timezone-handler in Orborus, Worker and Apps
57
+TZ=Europe/Amsterdam
58
+# Used to FIND the containername. cgroup v2: issue 501
59
+ORBORUS_CONTAINER_NAME=
60
+# Used for setting up a startup delay for Orborus
61
+SHUFFLE_ORBORUS_STARTUP_DELAY=
62
+SHUFFLE_SKIPSSL_VERIFY=true
63
+# Used for controlling if the environment should run in kubernetes or not
64
+IS_KUBERNETES=false
65
+
66
+#SHUFFLE_BASE_IMAGE_NAME=shuffle
67
+#SHUFFLE_BASE_IMAGE_REGISTRY=ghcr.io
68
+SHUFFLE_BASE_IMAGE_REPOSITORY=frikky
69
+#SHUFFLE_BASE_IMAGE_TAG_SUFFIX="-1.4.0"
70
+
71
+# For environments using their own docker registry
72
+# where they don't want to update http, subflow and shuffle tools again
73
+SHUFFLE_USE_GCHR_OVERRIDE_FOR_AUTODEPLOY=true
74
+
75
+# The eth0 interface inside a container corresponds
76
+# to the virtual Ethernet interface that connects
77
+# the container to the docker0
78
+SHUFFLE_SWARM_BRIDGE_DEFAULT_INTERFACE=eth0
79
+# 1500 by default
80
+SHUFFLE_SWARM_BRIDGE_DEFAULT_MTU=1500
81
+
82
+# Used for auto-cleanup of containers. REALLY important at scale. Set to false to see all container info.
83
+SHUFFLE_MEMCACHED=
84
+SHUFFLE_CONTAINER_AUTO_CLEANUP=true
85
+# The amount of concurrent executions Orborus can handle. This is a soft limit, but it's recommended to keep it low.
86
+SHUFFLE_ORBORUS_EXECUTION_CONCURRENCY=5
87
+SHUFFLE_HEALTHCHECK_DISABLED=false
88
+SHUFFLE_ELASTIC=true
89
+SHUFFLE_LOGS_DISABLED=true
90
+SHUFFLE_CHAT_DISABLED=false
91
+SHUFFLE_DISABLE_RERUN_AND_ABORT=false
92
+SHUFFLE_RERUN_SCHEDULE=300
93
+# Definition in case Worker & Orborus is talking to the wrong server
94
+SHUFFLE_WORKER_SERVER_URL=
95
+# Definition in case Orborus is pulling too often/not often enough
96
+SHUFFLE_ORBORUS_PULL_TIME=
97
+# Max recursion depth for subflows
98
+SHUFFLE_MAX_EXECUTION_DEPTH=
99
+# Amount of app replicas
100
+SHUFFLE_APP_REPLICAS=3
101
+
102
+# DATABASE CONFIGURATIONS
103
+DATASTORE_EMULATOR_HOST=shuffle-database:8000
104
+SHUFFLE_OPENSEARCH_URL=https://shuffle-opensearch:9200
105
+SHUFFLE_OPENSEARCH_CERTIFICATE_FILE=
106
+SHUFFLE_OPENSEARCH_APIKEY=
107
+SHUFFLE_OPENSEARCH_CLOUDID=
108
+SHUFFLE_OPENSEARCH_PROXY=
109
+SHUFFLE_OPENSEARCH_INDEX_PREFIX=
110
+SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY=true
111
+SHUFFLE_OPENSEARCH_USERNAME="admin"
112
+SHUFFLE_OPENSEARCH_PASSWORD="StrongShufflePassword321!" # In use for the first time setup of OpenSearch + backend of Shuffle
113
+OPENSEARCH_INITIAL_ADMIN_PASSWORD="StrongShufflePassword321!" # In use for the first time setup of OpenSearch
114
+
115
+#Tenzir related
116
+SHUFFLE_TENZIR_URL=
117
+
118
+SHUFFLE_PROTECTED_CLEANUP_DISABLED=true
119
+
120
+DEBUG_MODE=false

+ 21 - 0
Shuffle/frontend/certs/fullchain.pem

@@ -0,0 +1,21 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIDijCCAnICCQCJ9DUcfuAjwzANBgkqhkiG9w0BAQsFADCBhjELMAkGA1UEBhMC
3
+SlAxDjAMBgNVBAgMBVRva3lvMQ4wDAYDVQQHDAVUb2t5bzEQMA4GA1UECgwHU2h1
4
+ZmZsZTEQMA4GA1UECwwHU2h1ZmZsZTEQMA4GA1UEAwwHU2h1ZmZsZTEhMB8GCSqG
5
+SIb3DQEJARYSZnJpa2t5QHNodWZmbGVyLmlvMB4XDTIwMDUyMzA4MjA1MVoXDTMw
6
+MDUyMTA4MjA1MVowgYYxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzEOMAwG
7
+A1UEBwwFVG9reW8xEDAOBgNVBAoMB1NodWZmbGUxEDAOBgNVBAsMB1NodWZmbGUx
8
+EDAOBgNVBAMMB1NodWZmbGUxITAfBgkqhkiG9w0BCQEWEmZyaWtreUBzaHVmZmxl
9
+ci5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANLYQupj6hNpfKzy
10
+km3qFkTvuPFed2s6HkBBqKwgpZ6C7wdDuUrMd9SXguw9yhtgxezg+ui1O735ZL4W
11
+6ZpT/Pf3Staj7SHgXAGDnPwcTeWgbd9rZO02UlD70Bhj6SBKYdS8FHRFJvbCe6V0
12
+tY+pJhaTUogwPr1jJTvuHIqRhXHmUl88jVkMIj27FPTnUDEEbr+E8Q6LDYUfSxpw
13
+beZqpv8FRGP88H+WGb/CnbFsvJMbNkHbM2Wj9b6yYiHuw8WRuTODX5YOVefGSYn/
14
+h3JgniT2AdQAsacdB3avdE/b4Mq1FUVqsYaUGSXZ+Iysdo9/7zhYmb0UtaFMSQDA
15
+zsOlIrMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAix08M+pdohlyL9/zeR20mGKp
16
+njmJrako1vBrV2tTb2p/nv7GJ9jP6NPrsVMlphe/Eu0iezTF44GWa1tUI3Y1zN7K
17
+4a21QGkHIyOUBy/uQCrRqM/C6kEP/vBheebCEtGxmF+J81aDBx9IOOoAFSWOjMHN
18
+Yx1iSk4DMp5kfLhxtui7rlSrVqt9Xrm1i/aUly7BuYIvT42J6tnpEF0g/1phnudz
19
+N0bgSb29+PtzyqbqPhVzxaUT4T9vD3qLIbiDSi1I5Zx1vX1LI222ceR1zrIWU+l7
20
+X1p/CBkFpORaK3NCK7y3L8gReO6kO1eE81WR0993m1pwdmxoOiVlIQ7R1cfYGg==
21
+-----END CERTIFICATE-----

+ 27 - 0
Shuffle/frontend/certs/privkey.pem

@@ -0,0 +1,27 @@
1
+-----BEGIN RSA PRIVATE KEY-----
2
+MIIEowIBAAKCAQEA0thC6mPqE2l8rPKSbeoWRO+48V53azoeQEGorCClnoLvB0O5
3
+Ssx31JeC7D3KG2DF7OD66LU7vflkvhbpmlP89/dK1qPtIeBcAYOc/BxN5aBt32tk
4
+7TZSUPvQGGPpIEph1LwUdEUm9sJ7pXS1j6kmFpNSiDA+vWMlO+4cipGFceZSXzyN
5
+WQwiPbsU9OdQMQRuv4TxDosNhR9LGnBt5mqm/wVEY/zwf5YZv8KdsWy8kxs2Qdsz
6
+ZaP1vrJiIe7DxZG5M4Nflg5V58ZJif+HcmCeJPYB1ACxpx0Hdq90T9vgyrUVRWqx
7
+hpQZJdn4jKx2j3/vOFiZvRS1oUxJAMDOw6UiswIDAQABAoIBACvEQH+vJdPJvduY
8
+rtSqFt1Qda+E0H0tn0HvXzf7vuVcgImdgUUJlIZIvSCU4vMz72HwgaT0meYhcswS
9
+rYMflA9VAe/0LzEtBWw7Ccc7iN/1oVkTTev/rq6o1tV5R9cwGYazU/ueryvhyxDZ
10
+XSbpEcL16dfjS+K8RepezwXklzLBIB6wfZ0aulbCoNYcqtD5Jyo4SLzqYPH95cQi
11
+nN09xSnrS3tc9tMj0R2/5avGWEKUHXqKam+NIEc7y6AQJ/qjDaFn13emIB1mDVls
12
+DiEwAyQBOW+1m77raFYFWCuHe30QgdP7SdB0I8XbPATUssnLLfBPj3K9Hh17n/vx
13
+zAJKkiECgYEA8/EpPTpimOmOM3XsaWvFVbnWSFLAEXgn5c0Ch+uIDHr9DbYufn6K
14
+hVXqgTcO83qVLyRD4WIJ7lgqKajHmCxXB4RsyCYaP80jKW0cYAD8sBokWfQTtbry
15
++Ka45AEPt1Mp1w45vry4RO4HFhfcFwxGRqADZE5Dtg1JNttkDM5FCW8CgYEA3URJ
16
+upl/6+g3k7njxoXxfV8doS8NCdGF9yQsUVITaOrYUHJ71K8GOwlATG6y6uAjRRb4
17
+GgzLCL+nGoSF79r1vWrwfMz1q+d8nBh+v+uqwS4KFSbs2AICVAkjYnNi3/3BAhBn
18
+tmzcbUigyx7qRhlbFZk1OQCuzw3YNqk0kDO6MP0CgYApcl0eYRAliPE3Px723m+9
19
+3ABTc3Pcw/yLZ+S5MUSBUlgyfzSxG1DvzKQ2ZiNtLPOx+chqv9yOGX64a0vWSBpV
20
+VaOh8g9drb3+qOI8UY6dYSOyAO1kYCouIy2g16lS7ZdbSbh39tqcI5EiqNUlOVmr
21
+YD6TSVTp1qIM5wO9xUInkwKBgD6H4vI6GR25NaOpAAcFqXaN39jCbEPfE6YBcgjV
22
+UijvXYx2nipAAFnExogTLLsV9sG6uQjbnrFtQDNNSnC7h4EtbKNIZRFczSlr/r4M
23
+QuhvM2hA5OQyxSesoXRcOZAlrVsA+d5jK3Qy90YQCZMf7U7QSms+lyhquDTSYslx
24
+5OedAoGBAI/6DX5lNUNBcMNpVr/VnS4/A87Vj9vKW2kfTUNehbfSC1ix8oAdlsJF
25
+UfzdH4KOLP80tOUn1L7d4agxqZ+SWomLZ/RVfiMhaiVxQLH+xTbNFObrvePnAXy/
26
+1Bu/wbF4TGlPfcugYecRV1MhKV0uGRD/OQCqRQBUENJ7zMdCGstl
27
+-----END RSA PRIVATE KEY-----

+ 32 - 0
iris-web/certificates/rootCA/irisRootCACert.pem

@@ -0,0 +1,32 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIFhTCCA22gAwIBAgIUVRU9xRSCLLph9QYUqpRs4DW3634wDQYJKoZIhvcNAQEL
3
+BQAwUjELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAoM
4
+CURGSVItSVJJUzEaMBgGA1UEAwwRREZJUi1JUklTLVJvb3QtQ0EwHhcNMjIwMTE4
5
+MTAxNjM3WhcNMzIwMTE2MTAxNjM3WjBSMQswCQYDVQQGEwJGUjETMBEGA1UECAwK
6
+U29tZS1TdGF0ZTESMBAGA1UECgwJREZJUi1JUklTMRowGAYDVQQDDBFERklSLUlS
7
+SVMtUm9vdC1DQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANXa9X5Y
8
+Glp4xy6ZFpgB8Db7t9a2qih+vxQ6J2RPHrVIH3LRJKb6Qt813toHG1V+T8a9msQ6
9
+WutlR/hwcmJiP9kEqY1hAQ8fHYMimGt1aHXccTItKkoFRbhlOofwEkRLOk1GUUWC
10
+9wjeYCzJ+ODaQljwC+uYg97lfeNILxXhmMJuhozXG+0LQch27CYUO5HZfJNYuVsh
11
+lrGgrJu+o7aumonBcfyDHkWL9n4aZ4xPKIkzcIbqnfenRLsH8ZQF+PqcIUi9lDMo
12
+B3zJg+31+L3G1/HEVkqO6OW1tM3Az66ihh6PG2+ETj07wMHP5TmbYerBDmk6L5Ft
13
+By0tg+tDQ2oqd2iMXCegR2KeFgdJTjQqR+p+gccAJIYaM1vLZVgE+0phMKtm0ZiA
14
+8E6E73HzmOLV3UO+YySF/E2esv/pB31TxE1Uwt35U11zRWS6tMqfdCE2T48wnHTu
15
+5oUUgA2FO7gbGRUWz71LzdaF9/6tOAR3OY4d1iZYTiQBfeUSvcAQk4vPr+FyDDvM
16
+JMQ5WwAG+VICQa1bn37RnJ3+5vUeYSFlEBRFABZYowzzUiQK1EFTUsA3Ou3i9AEp
17
+jiYYxa4ctQA7zbTWYR8jmpMQ8DKxgZtHtio+3HKcGCndYmD8uV52weMXJNQXqV0c
18
+v9Sr0e1nFMV2okYbhZ3KfI+2lsH1OL9hwuR1AgMBAAGjUzBRMB0GA1UdDgQWBBTF
19
+rVzkgqJCIH/26xCCuQRdCA5L9zAfBgNVHSMEGDAWgBTFrVzkgqJCIH/26xCCuQRd
20
+CA5L9zAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQBZs0BaFArd
21
+3G42S5wKe/wM+llSLZHiAgCPeVRaGEe4M6mcG7hGOj0IrtoA4j1GvCMch6j65Dw3
22
+wkQB2NSwEesSpnteSYFQ9UJmw/gzw+WSC/SVCRrEJ1/dKbdWQ9VjgwVRgekx2pyb
23
+XXYBl9HTmNXJ55hnJ+3s9+iGJkiQu/zq9d5Yg0AP/4HjH4e6XgRZmN+7MsyCatt1
24
+yJ0ekCJcg5MN/9mHKpYmfdDEfpP8b2/N5WmSqbKhEU43aNdQ68QiCwLDwj3piOwu
25
+tPrj4CnTaVWjRd2AzzrhpZgvRwx7VZpCcwqk2pnNwiklyAsZQo6iEbzxChLJSnIj
26
+Pw2a3wrPmdRgchbLYOr/oMcMmbxWlC7qQQiuzhMXncPJHAghe28GxKVMETArWkj6
27
+L4+QsH7jaC45nTPRXFUmUbL7+Uz/8O17SswL4Thdp8/ZK5uqhx199whivrdhnzGh
28
+MrSKiiDWst6hMo5HfJkPE4/UAXRkfbWAvj6WqEJX3Z1OgiHAvXtU1FPYhB7X9mla
29
+vslWFT0W818GsP71a9TlwvSjVYto4U+kQXD0sk4ewmJuSz9oK2CwJh/gR5WJG4SC
30
+YaVzHS7+8UtJ3m4H4+NQJIo1jHdzIy5nv3v/hDZXsWKE0O4ClDdt/bzqv8f21G9O
31
+aVTSz0kMMqog8lQgdymRLxJ8BU1P9rszoA==
32
+-----END CERTIFICATE-----

+ 51 - 0
iris-web/certificates/rootCA/irisRootCAKey.pem

@@ -0,0 +1,51 @@
1
+-----BEGIN RSA PRIVATE KEY-----
2
+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
51
+-----END RSA PRIVATE KEY-----

+ 38 - 4
run-combined-stack.sh

@@ -10,10 +10,6 @@ export SHUFFLE_OPENSEARCH_PORT="${SHUFFLE_OPENSEARCH_PORT:-9201}"
10 10
 export PAGERDUTY_STUB_PORT="${PAGERDUTY_STUB_PORT:-18080}"
11 11
 export SOC_INTEGRATOR_PORT="${SOC_INTEGRATOR_PORT:-8088}"
12 12
 
13
-if ! docker network inspect "${SOC_SHARED_NETWORK}" >/dev/null 2>&1; then
14
-  docker network create "${SOC_SHARED_NETWORK}" >/dev/null
15
-fi
16
-
17 13
 if [[ $# -eq 0 ]]; then
18 14
   COMMAND="up"
19 15
   ARGS=(-d)
@@ -23,6 +19,44 @@ else
23 19
   ARGS=("$@")
24 20
 fi
25 21
 
22
+if [[ "${COMMAND}" == "help" || "${COMMAND}" == "--help" || "${COMMAND}" == "-h" ]]; then
23
+  cat <<'EOF'
24
+Usage:
25
+  ./run-combined-stack.sh [command] [target] [options]
26
+
27
+Commands:
28
+  up           Start services (default: up -d when no args)
29
+  down         Stop services
30
+  logs         View logs
31
+  status       Show container and endpoint status
32
+  help         Show this help message
33
+
34
+Targets:
35
+  all|--all    All stacks (wazuh, iris, shuffle, pagerduty, integrator)
36
+  wazuh        Wazuh single-node stack
37
+  iris         IRIS-web stack
38
+  shuffle      Shuffle stack
39
+  pagerduty    PagerDuty stub
40
+  integrator   SOC integrator stack
41
+
42
+Examples:
43
+  ./run-combined-stack.sh
44
+  ./run-combined-stack.sh up --all -d
45
+  ./run-combined-stack.sh up iris -d
46
+  ./run-combined-stack.sh down shuffle
47
+  ./run-combined-stack.sh logs integrator -f
48
+  ./run-combined-stack.sh logs --all --tail 200
49
+  ./run-combined-stack.sh status
50
+EOF
51
+  exit 0
52
+fi
53
+
54
+if [[ "${COMMAND}" != "help" && "${COMMAND}" != "--help" && "${COMMAND}" != "-h" ]]; then
55
+  if ! docker network inspect "${SOC_SHARED_NETWORK}" >/dev/null 2>&1; then
56
+    docker network create "${SOC_SHARED_NETWORK}" >/dev/null
57
+  fi
58
+fi
59
+
26 60
 if [[ "${COMMAND}" == "status" ]]; then
27 61
   exec "${ROOT_DIR}/soc-status.sh"
28 62
 fi

+ 26 - 0
soc-integrator/.env

@@ -0,0 +1,26 @@
1
+APP_ENV=dev
2
+LOG_LEVEL=INFO
3
+
4
+SOC_INTEGRATOR_INTERNAL_KEY=dev-internal-key
5
+SOC_INTEGRATOR_DB_HOST=soc-integrator-db
6
+SOC_INTEGRATOR_DB_PORT=5432
7
+SOC_INTEGRATOR_DB_NAME=soc_integrator
8
+SOC_INTEGRATOR_DB_USER=soc_integrator
9
+SOC_INTEGRATOR_DB_PASSWORD=soc_integrator_password
10
+
11
+WAZUH_BASE_URL=https://wazuh.manager:55000
12
+WAZUH_USERNAME=wazuh-wui
13
+WAZUH_PASSWORD=MyS3cr37P450r.*-
14
+
15
+SHUFFLE_BASE_URL=http://shuffle-backend:5001
16
+SHUFFLE_API_KEY=95286d1a-1d02-4dd6-8de1-9832e326871f
17
+SHUFFLE_USERNAME=
18
+SHUFFLE_PASSWORD=
19
+
20
+PAGERDUTY_BASE_URL=http://pagerduty-stub
21
+PAGERDUTY_API_KEY=
22
+
23
+IRIS_BASE_URL=https://iriswebapp_nginx:8443
24
+IRIS_API_KEY=mq4FMyrcf255Snt6rgJbdIN67GGA2rQR5eMOjzE62GlQfV8JX6RSw92AHNeCjIWsZa__2IOKv3I6IhZTEPMaqw
25
+IRIS_DEFAULT_CUSTOMER_ID=1
26
+IRIS_DEFAULT_SOC_ID=

+ 6 - 0
wazuh-docker/.env

@@ -0,0 +1,6 @@
1
+WAZUH_VERSION=4.14.3
2
+WAZUH_IMAGE_VERSION=4.14.3
3
+WAZUH_TAG_REVISION=1
4
+FILEBEAT_TEMPLATE_BRANCH=4.14.3
5
+WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.5.tar.gz
6
+WAZUH_UI_REVISION=1