Compare commits

..

133 Commits
v4.3.4 ... test

Author SHA1 Message Date
vcerenu
ddc03699e5 Test CI 2022-06-08 18:36:09 -03:00
vcerenu
b28ae3b3ab Test CI 2022-06-08 18:25:19 -03:00
vcerenu
67dc3e6e36 Test CI 2022-06-08 18:17:10 -03:00
vcerenu
a34e0af547 Test CI 2022-06-08 18:14:12 -03:00
vcerenu
42c2ea5dba Test CI 2022-06-08 18:07:40 -03:00
vcerenu
b95e02d41d Test CI 2022-06-08 18:00:25 -03:00
vcerenu
8e8b53e6e1 Test CI 2022-06-08 17:49:46 -03:00
vcerenu
40f55cfb53 Test CI 2022-06-08 17:26:35 -03:00
vcerenu
a626216643 Test CI 2022-06-08 17:16:38 -03:00
vcerenu
0d7d4694fd Test CI 2022-06-08 17:11:13 -03:00
vcerenu
8ae1cd3f9d Test CI 2022-06-08 17:08:28 -03:00
vcerenu
f06a7ec961 Test CI 2022-06-08 17:02:53 -03:00
vcerenu
3656850b56 Test CI 2022-06-08 17:00:01 -03:00
vcerenu
426670017f Test CI 2022-06-08 16:55:56 -03:00
vcerenu
22958aaf5e Test CI 2022-06-08 16:52:10 -03:00
vcerenu
35dfd86837 Test CI 2022-06-08 16:47:02 -03:00
vcerenu
d4b0d60a54 Test CI 2022-06-08 16:41:56 -03:00
vcerenu
19a5a37bdf Test CI 2022-06-08 16:38:41 -03:00
vcerenu
0e2d942666 Test CI 2022-06-08 16:34:29 -03:00
vcerenu
0c2cb412fb Test CI 2022-06-08 16:29:57 -03:00
vcerenu
8748cd1ae2 Test CI 2022-06-08 16:26:57 -03:00
vcerenu
604232960b Test CI 2022-06-08 16:23:39 -03:00
vcerenu
5e211d2b13 Test CI 2022-06-08 16:20:25 -03:00
vcerenu
1a60522c27 Test CI 2022-06-08 16:11:00 -03:00
vcerenu
e9c2f59c94 Test CI 2022-06-08 16:07:24 -03:00
vcerenu
451e91e407 Test CI 2022-06-08 15:57:13 -03:00
vcerenu
439a3fe252 Test CI 2022-06-08 15:45:48 -03:00
vcerenu
17389682a4 Test CI 2022-06-08 13:01:30 -03:00
vcerenu
719dc7dd16 Test CI 2022-06-08 12:55:37 -03:00
vcerenu
131c44ba63 Test CI 2022-06-08 12:40:44 -03:00
vcerenu
27a7479774 Test CI 2022-06-08 12:28:22 -03:00
vcerenu
fea54b3ca7 Test CI 2022-06-08 12:24:11 -03:00
vcerenu
f711968c2f Test CI 2022-06-08 11:53:32 -03:00
vcerenu
adfaab647d Test CI 2022-06-08 11:50:15 -03:00
vcerenu
237b180ff5 Test CI 2022-06-08 11:49:18 -03:00
vcerenu
d5550caa26 Test CI 2022-06-07 16:58:38 -03:00
vcerenu
637d5ccae1 Test CI 2022-06-07 16:55:06 -03:00
vcerenu
95207b0777 Test CI 2022-06-07 16:50:44 -03:00
vcerenu
a40c510bba Test CI 2022-06-07 16:39:25 -03:00
vcerenu
7fdb1a91e5 Test CI 2022-06-07 16:36:07 -03:00
vcerenu
3b740e5dce Test CI 2022-06-07 12:22:44 -03:00
vcerenu
281f74582a Test CI 2022-06-07 12:04:47 -03:00
vcerenu
5418494f95 Test CI 2022-06-07 11:57:22 -03:00
vcerenu
c6314893f2 Test CI 2022-06-07 11:50:28 -03:00
vcerenu
5d5f01ab45 Test CI 2022-06-07 11:44:41 -03:00
vcerenu
4b1c420fdd Test CI 2022-06-07 11:40:01 -03:00
vcerenu
3d4a7073ef Test CI 2022-06-07 11:37:31 -03:00
vcerenu
c1ca498617 Test CI 2022-06-07 11:13:05 -03:00
vcerenu
ac92c2f1c0 Test CI 2022-06-06 17:03:17 -03:00
vcerenu
ec16fdf24c Test CI 2022-06-06 16:29:41 -03:00
vcerenu
525bb0ca2c Test CI 2022-06-06 16:06:49 -03:00
vcerenu
a8bd7cba31 Test CI 2022-06-06 11:44:46 -03:00
vcerenu
9fb941f3e5 Test CI 2022-06-06 11:33:39 -03:00
vcerenu
f67f8d1d3b Test CI 2022-06-06 11:15:35 -03:00
vcerenu
1645f8bac2 Test CI 2022-06-06 11:03:34 -03:00
vcerenu
7d394698a7 Test CI 2022-06-03 17:00:32 -03:00
vcerenu
73c25e86d6 Test CI 2022-06-03 16:42:19 -03:00
vcerenu
add81b07e4 Test CI 2022-06-03 16:27:21 -03:00
vcerenu
8f6d24de77 Test CI 2022-06-03 16:24:26 -03:00
vcerenu
2fdb06d824 Test CI 2022-06-03 15:51:18 -03:00
vcerenu
d578dfbd39 Test CI 2022-06-03 15:44:55 -03:00
vcerenu
d7e937d2f8 Test CI 2022-06-02 16:41:22 -03:00
vcerenu
0313563a0c Test CI 2022-06-02 16:21:30 -03:00
vcerenu
0f2fd84173 Test CI 2022-06-02 15:47:59 -03:00
vcerenu
437fbe63d1 Test CI 2022-06-02 15:24:28 -03:00
vcerenu
de28f0babc test CI 2022-05-27 19:13:15 -03:00
vcerenu
8795763cd2 test CI 2022-05-27 18:50:10 -03:00
vcerenu
de1e435e26 test CI 2022-05-27 18:27:50 -03:00
vcerenu
5591833d2f test CI 2022-05-27 18:21:37 -03:00
vcerenu
8b2f64a3f8 test CI 2022-05-27 18:03:25 -03:00
vcerenu
290affdaa3 test CI 2022-05-27 17:58:19 -03:00
vcerenu
d1499136f6 test CI 2022-05-27 17:52:25 -03:00
vcerenu
613dc9fbb7 test CI 2022-05-27 17:44:02 -03:00
vcerenu
77520d56ea test CI 2022-05-27 17:35:42 -03:00
vcerenu
111f04fb0b test CI 2022-05-27 17:30:28 -03:00
vcerenu
30ed0e6bb4 test CI 2022-05-27 17:24:12 -03:00
vcerenu
3ab210f8c0 test CI 2022-05-27 16:58:21 -03:00
vcerenu
19fdf93942 test CI 2022-05-27 16:42:37 -03:00
vcerenu
9ef724b46c test CI 2022-05-27 16:37:02 -03:00
vcerenu
2e0a7b7c3d test CI 2022-05-27 16:31:17 -03:00
vcerenu
66dda69a91 test CI 2022-05-27 16:20:39 -03:00
vcerenu
cacc8fc3d3 test CI 2022-05-27 14:01:47 -03:00
vcerenu
11b3160aa4 test CI 2022-05-27 13:55:14 -03:00
vcerenu
bb7723d6be test CI 2022-05-27 13:42:32 -03:00
vcerenu
54756054bc test CI 2022-05-27 13:36:35 -03:00
vcerenu
e0c7194444 test CI 2022-05-27 13:31:08 -03:00
vcerenu
ba3409acee test CI 2022-05-27 13:20:44 -03:00
vcerenu
19e5c24a2e test CI 2022-05-27 12:25:00 -03:00
vcerenu
b7a55ab174 test CI 2022-05-27 12:17:16 -03:00
vcerenu
111cfca50c test CI 2022-05-27 11:57:47 -03:00
vcerenu
704b183002 test CI 2022-05-27 11:44:22 -03:00
vcerenu
579fa10551 test CI 2022-05-27 11:33:26 -03:00
vcerenu
dfa11c08a4 test CI 2022-05-26 17:22:26 -03:00
vcerenu
ceb920e87a test CI 2022-05-26 17:13:29 -03:00
vcerenu
330763bcb0 test CI 2022-05-26 16:13:04 -03:00
vcerenu
571fad7a08 test CI 2022-05-26 16:04:03 -03:00
vcerenu
ccc781023d test CI 2022-05-26 16:03:09 -03:00
vcerenu
7e26034e22 test CI 2022-05-26 16:01:52 -03:00
vcerenu
182029155e test CI 2022-05-26 15:59:21 -03:00
vcerenu
872c121ba9 test CI 2022-05-26 15:41:25 -03:00
vcerenu
7e8055f128 test CI 2022-05-26 15:09:26 -03:00
vcerenu
469f7db61a test CI 2022-05-26 15:02:49 -03:00
vcerenu
ec6bfa962d test CI 2022-05-26 14:27:59 -03:00
vcerenu
5f063fc445 test CI 2022-05-26 14:22:32 -03:00
vcerenu
9fdf342fa3 test CI 2022-05-26 13:15:56 -03:00
vcerenu
b10a00cade test CI 2022-05-26 13:03:41 -03:00
vcerenu
3d3a3d1274 test CI 2022-05-26 12:36:30 -03:00
vcerenu
3a87d83deb test CI 2022-05-26 12:26:15 -03:00
vcerenu
d22547b9c5 test CI 2022-05-26 11:24:38 -03:00
vcerenu
bb11f13e86 test CI 2022-05-26 11:18:06 -03:00
vcerenu
79ac17ddbd test CI 2022-05-26 11:07:42 -03:00
vcerenu
59ad1b171c test CI 2022-05-26 10:58:42 -03:00
vcerenu
894ba9df12 test CI 2022-05-26 10:45:41 -03:00
vcerenu
5211401620 test CI 2022-05-24 15:38:28 -03:00
vcerenu
65f499c042 test CI 2022-05-24 15:30:49 -03:00
vcerenu
db3d37aef6 test CI 2022-05-24 13:00:10 -03:00
vcerenu
b1e13d3b72 test CI 2022-05-24 12:58:52 -03:00
vcerenu
baa24a7614 test CI 2022-05-24 12:36:01 -03:00
vcerenu
4e975f8dd1 test CI 2022-05-24 12:24:20 -03:00
vcerenu
e1fc82af79 test CI 2022-05-23 17:00:54 -03:00
vcerenu
5b03281631 test CI 2022-05-23 16:53:35 -03:00
vcerenu
fe104c7ffb test CI 2022-05-23 12:55:57 -03:00
vcerenu
2d77063934 test CI 2022-05-23 12:28:45 -03:00
vcerenu
bbeb831ceb change path for env file 2022-05-23 12:16:07 -03:00
vcerenu
a40c870e78 test ci actions 2022-05-17 12:52:47 -03:00
vcerenu
8746063177 test ci actions 2022-05-17 12:44:33 -03:00
vcerenu
e39f5a9ab5 test ci actions 2022-05-17 12:35:25 -03:00
vcerenu
316db4f384 test ci actions 2022-05-17 12:24:48 -03:00
vcerenu
8b39bff31d test ci actions 2022-05-17 12:23:55 -03:00
vcerenu
e99476a99b test ci actions 2022-05-17 12:22:32 -03:00
vcerenu
c2712a3929 test ci actions 2022-05-17 11:59:07 -03:00
vcerenu
cb06e15a74 bump develope to 4.3.1 2022-05-17 11:35:52 -03:00
vcerenu
43d86dd5c8 add variables from wazuh version 2022-05-03 15:51:38 -03:00
19 changed files with 335 additions and 131 deletions

2
.env Executable file
View File

@@ -0,0 +1,2 @@
WAZUH_VERSION=4.3.3
WAZUH_IMAGE_VERSION=4.3.3

74
.github/.goss.yaml vendored
View File

@@ -1,53 +1,3 @@
file:
/etc/filebeat/filebeat.yml:
exists: true
mode: "0644"
owner: root
group: root
filetype: file
contains: []
/var/ossec/bin/wazuh-control:
exists: true
mode: "0750"
owner: root
group: root
filetype: file
contains: []
/var/ossec/etc/lists/audit-keys:
exists: true
mode: "0660"
owner: wazuh
group: wazuh
filetype: file
contains: []
/var/ossec/etc/ossec.conf:
exists: true
mode: "0660"
owner: root
group: wazuh
filetype: file
contains: []
/var/ossec/etc/rules/local_rules.xml:
exists: true
mode: "0660"
owner: wazuh
group: wazuh
filetype: file
contains: []
/var/ossec/etc/sslmanager.cert:
exists: true
mode: "0640"
owner: root
group: root
filetype: file
contains: []
/var/ossec/etc/sslmanager.key:
exists: true
mode: "0640"
owner: root
group: root
filetype: file
contains: []
package:
filebeat:
installed: true
@@ -56,7 +6,7 @@ package:
wazuh-manager:
installed: true
versions:
- 4.3.4
- 4.3.4-1
port:
tcp:1514:
listening: true
@@ -70,28 +20,6 @@ port:
listening: true
ip:
- 0.0.0.0
user:
wazuh:
exists: true
groups:
- wazuh
home: /var/ossec
shell: /sbin/nologin
wazuh:
exists: true
groups:
- wazuh
home: /var/ossec
shell: /sbin/nologin
wazuh:
exists: true
groups:
- wazuh
home: /var/ossec
shell: /sbin/nologin
group:
wazuh:
exists: true
process:
filebeat:
running: true

18
.github/multi-node-fb-check.sh vendored Executable file
View File

@@ -0,0 +1,18 @@
fbout1=$(docker exec multi-node_wazuh.master_1 sh -c 'filebeat test output')
fbstatus1=$(echo "${fbout1}" | grep -c OK)
if [[ fbstatus1 -eq 7 ]]; then
echo "No errors in master filebeat"
else
echo "Errors in master filebeat"
echo "${fbout1}"
exit 1
fi
fbout2=$(docker exec multi-node_wazuh.worker_1 sh -c 'filebeat test output')
fbstatus2=$(echo "${fbout2}" | grep -c OK)
if [[ fbstatus2 -eq 7 ]]; then
echo "No errors in worker filebeat"
else
echo "Errors in worker filebeat"
echo "${fbout2}"
exit 1
fi

16
.github/multi-node-log-check.sh vendored Executable file
View File

@@ -0,0 +1,16 @@
log1=$(docker exec multi-node_wazuh.master_1 sh -c 'cat /var/ossec/logs/ossec.log' | grep -P "ERR|WARN|CRIT")
if [[ -z "$log1" ]]; then
echo "No errors in master ossec.log"
else
echo "Errors in master ossec.log:"
echo "${log1}"
exit 1
fi
log2=$(docker exec multi-node_wazuh.worker_1 sh -c 'cat /var/ossec/logs/ossec.log' | grep -P "ERR|WARN|CRIT")
if [[ -z "${log2}" ]]; then
echo "No errors in worker ossec.log"
else
echo "Errors in worker ossec.log:"
echo "${log2}"
exit 1
fi

9
.github/single-node-fb-check.sh vendored Executable file
View File

@@ -0,0 +1,9 @@
fbout=$(docker exec single-node_wazuh.manager_1 sh -c 'filebeat test output')
fbstatus=$(echo "${fbout}" | grep -c OK)
if [[ fbstatus -eq 7 ]]; then
echo "No errors in filebeat"
else
echo "Errors in filebeat"
echo "${fbout}"
exit 1
fi

8
.github/single-node-log-check.sh vendored Executable file
View File

@@ -0,0 +1,8 @@
log=$(docker exec single-node_wazuh.manager_1 sh -c 'cat /var/ossec/logs/ossec.log' | grep -P "ERR|WARN|CRIT")
if [[ -z "$log" ]]; then
echo "No errors in ossec.log"
else
echo "Errors in ossec.log:"
echo "${log}"
exit 1
fi

View File

@@ -1,6 +1,6 @@
name: Wazuh Docker pipeline
on: [push]
on: [pull_request]
jobs:
build-stack:
@@ -8,24 +8,210 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Build the docker-compose stack
run: docker-compose -f build-wazuh-images.yml up -d --build
- name: Build Wazuh images
run: build-docker-images/build-images.sh
- name: Check running containers
run: docker ps -a
- name: Shutdown the stack
run: docker-compose -f build-wazuh-images.yml kill
- name: Create enviroment variables
run: cat .env > $GITHUB_ENV
- name: Install Goss
uses: e1himself/goss-installation-action@v1.0.3
with:
version: v0.3.16
- name: Execute Goss tests (wazuh-odfe)
run: dgoss run wazuh/wazuh-manager:4.3.4
- name: Execute Goss tests (wazuh-manager)
run: dgoss run wazuh/wazuh-manager:${{env.WAZUH_IMAGE_VERSION}}
env:
GOSS_SLEEP: 30
GOSS_FILE: .github/.goss.yaml
GOSS_FILE: .github/.goss.yaml
- name: Create single node certficates
run: docker-compose -f single-node/generate-indexer-certs.yml run --rm generator
- name: Start single node stack
run: docker-compose -f single-node/docker-compose.yml up -d
- name: Check Wazuh indexer start
run: |
sleep 60
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
curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
else
curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
exit 1
fi
status_index="`curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s | wc -l`"
status_index_green="`curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s | grep -E "green" | wc -l`"
if [[ $status_index_green -eq $status_index ]]; then
curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s
else
curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s
exit 1
fi
- name: Check Wazuh indexer nodes
run: |
nodes="`curl -XGET "https://0.0.0.0:9200/_cat/nodes" -u admin:SecretPassword -k -s | grep -E "indexer" | wc -l`"
if [[ $nodes -eq 1 ]]; then
echo "Wazuh indexer nodes: ${nodes}"
else
echo "Wazuh indexer nodes: ${nodes}"
exit 1
fi
- name: Check documents into wazuh-alerts index
run: |
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_doc/_search" -u admin:SecretPassword -k -s | jq -r ".hits.total.value"`"
if [[ $docs -gt 100 ]]; then
echo "wazuh-alerts index documents: ${docs}"
else
echo "wazuh-alerts index documents: ${docs}"
exit 1
fi
- name: Check Wazuh templates
run: |
qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -E "wazuh ||wazuh-agent||wazuh-statistics" | wc -l`"
templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep -E "wazuh ||wazuh-agent||wazuh-statistics"`"
if [[ $qty_templates -eq 3 ]]; then
echo "wazuh templates:"
echo "${templates}"
else
echo "wazuh templates:"
echo "${templates}"
exit 1
fi
- name: Check Wazuh manager start
run: |
services="`curl -k -s -X GET "https://0.0.0.0:55000/manager/status?pretty=true" -H "Authorization: Bearer ${{env.TOKEN}}" | jq -r .data.affected_items | grep running | wc -l`"
if [[ $services -gt 9 ]]; then
echo "Wazuh Manager Services: ${services}"
echo "OK"
else
echo "Wazuh indexer nodes: ${nodes}"
curl -k -X GET "https://0.0.0.0:55000/manager/status?pretty=true" -H "Authorization: Bearer ${{env.TOKEN}}" | jq -r .data.affected_items
exit 1
fi
env:
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
run: ./.github/single-node-fb-check.sh
- name: Check Wazuh dashboard service URL
run: |
status=$(curl -XGET --silent https://0.0.0.0:443/app/status -k -u admin:SecretPassword -I -s | grep -E "^HTTP" | awk '{print $2}')
if [[ $status -eq 200 ]]; then
echo "Wazuh dashboard status: ${status}"
else
echo "Wazuh dashboard status: ${status}"
exit 1
fi
- name: Stop single node stack
run: docker-compose -f single-node/docker-compose.yml down
- name: Create multi node certficates
run: docker-compose -f multi-node/generate-indexer-certs.yml run --rm generator
- name: Start multi node stack
run: docker-compose -f multi-node/docker-compose.yml up -d
- name: Check Wazuh indexer start
run: |
sleep 120
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
curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
else
curl -XGET "https://0.0.0.0:9200/_cluster/health" -u admin:SecretPassword -k -s
exit 1
fi
status_index="`curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s | wc -l`"
status_index_green="`curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s | grep -E "green" | wc -l`"
if [[ $status_index_green -eq $status_index ]]; then
curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s
else
curl -XGET "https://0.0.0.0:9200/_cat/indices" -u admin:SecretPassword -k -s
exit 1
fi
- name: Check Wazuh indexer nodes
run: |
nodes="`curl -XGET "https://0.0.0.0:9200/_cat/nodes" -u admin:SecretPassword -k -s | grep -E "indexer" | wc -l`"
if [[ $nodes -eq 3 ]]; then
echo "Wazuh indexer nodes: ${nodes}"
else
echo "Wazuh indexer nodes: ${nodes}"
exit 1
fi
- name: Check documents into wazuh-alerts index
run: |
docs="`curl -XGET "https://0.0.0.0:9200/wazuh-alerts*/_doc/_search" -u admin:SecretPassword -k -s | jq -r ".hits.total.value"`"
if [[ $docs -gt 200 ]]; then
echo "wazuh-alerts index documents: ${docs}"
else
echo "wazuh-alerts index documents: ${docs}"
exit 1
fi
- name: Check Wazuh templates
run: |
qty_templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh" | wc -l`"
templates="`curl -XGET "https://0.0.0.0:9200/_cat/templates" -u admin:SecretPassword -k -s | grep "wazuh"`"
if [[ $qty_templates -gt 0 ]]; then
echo "wazuh templates:"
echo "${templates}"
else
echo "wazuh templates:"
echo "${templates}"
exit 1
fi
- name: Check Wazuh manager start
run: |
services="`curl -k -s -X GET "https://0.0.0.0:55000/manager/status?pretty=true" -H "Authorization: Bearer ${{env.TOKEN}}" | jq -r .data.affected_items | grep running | wc -l`"
if [[ $services -gt 10 ]]; then
echo "Wazuh Manager Services: ${services}"
echo "OK"
else
echo "Wazuh indexer nodes: ${nodes}"
curl -k -s -X GET "https://0.0.0.0:55000/manager/status?pretty=true" -H "Authorization: Bearer ${{env.TOKEN}}" | jq -r .data.affected_items
exit 1
fi
nodes=$(curl -k -s -X GET "https://0.0.0.0:55000/cluster/nodes" -H "Authorization: Bearer ${{env.TOKEN}}" | jq -r ".data.affected_items[].name" | wc -l)
if [[ $nodes -eq 2 ]]; then
echo "Wazuh manager nodes: ${nodes}"
else
echo "Wazuh manager nodes: ${nodes}"
exit 1
fi
env:
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
run: ./.github/multi-node-fb-check.sh
- name: Check Wazuh dashboard service URL
run: |
status=$(curl -XGET --silent https://0.0.0.0:443/app/status -k -u admin:SecretPassword -I | grep -E "^HTTP" | awk '{print $2}')
if [[ $status -eq 200 ]]; then
echo "Wazuh dashboard status: ${status}"
else
echo "Wazuh dashboard status: ${status}"
exit 1
fi

2
.gitignore vendored
View File

@@ -1,4 +1,4 @@
single-node/config/wazuh_indexer_ssl_certs/*.pem
single-node/config/wazuh_indexer_ssl_certs/*.key
multi-node/config/wazuh_indexer_ssl_certs/*.pem
multi-node/config/wazuh_indexer_ssl_certs/*.key
multi-node/config/wazuh_indexer_ssl_certs/*.key

View File

@@ -0,0 +1,15 @@
WAZUH_IMAGE_VERSION=4.3.4
WAZUH_VERSION=$(echo $WAZUH_IMAGE_VERSION | sed -e 's/\.//g')
WAZUH_ACTUAL_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')
## If wazuh manager exists in apt dev repository, change variables, if not, exit 1
if [ "$WAZUH_VERSION" -le "$WAZUH_ACTUAL_VERSION" ]; then
IMAGE_VERSION=${WAZUH_IMAGE_VERSION}
else
IMAGE_VERSION=${WAZUH_IMAGE_VERSION}-dev
fi
echo WAZUH_VERSION=$WAZUH_IMAGE_VERSION > .env
echo WAZUH_IMAGE_VERSION=$IMAGE_VERSION >> .env
docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache

View File

@@ -3,8 +3,11 @@ version: '3.7'
services:
wazuh.manager:
build: wazuh-manager/
image: wazuh/wazuh-manager:4.3.4
build:
context: wazuh-manager/
args:
- WAZUH_VERSION=${WAZUH_VERSION}
image: wazuh/wazuh-manager:${WAZUH_IMAGE_VERSION}
hostname: wazuh.manager
restart: always
ports:
@@ -31,8 +34,11 @@ services:
- filebeat_var:/var/lib/filebeat
wazuh.indexer:
build: wazuh-indexer/
image: wazuh/wazuh-indexer:4.3.4
build:
context: wazuh-indexer/
args:
- WAZUH_VERSION=${WAZUH_VERSION}
image: wazuh/wazuh-indexer:${WAZUH_IMAGE_VERSION}
hostname: wazuh.indexer
restart: always
ports:
@@ -48,8 +54,11 @@ services:
hard: 65536
wazuh.dashboard:
build: wazuh-dashboard/
image: wazuh/wazuh-dashboard:4.3.4
build:
context: wazuh-dashboard/
args:
- WAZUH_VERSION=${WAZUH_VERSION}
image: wazuh/wazuh-dashboard:${WAZUH_IMAGE_VERSION}
hostname: wazuh.dashboard
restart: always
ports:

View File

@@ -1,8 +1,7 @@
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
FROM ubuntu:focal AS builder
ARG WAZUH_VERSION=4.3.4
ARG WAZUH_UI_REVISION=1
ARG WAZUH_VERSION
ARG INSTALL_DIR=/usr/share/wazuh-dashboard
# Update and install dependencies
@@ -20,8 +19,14 @@ COPY config/config.sh .
COPY config/config.yml /
RUN bash config.sh
# Install Wazuh App
RUN $INSTALL_DIR/bin/opensearch-dashboards-plugin install https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-${WAZUH_UI_REVISION}.zip --allow-root
# Create and configure Wazuh dashboard keystore
RUN $INSTALL_DIR/bin/opensearch-dashboards-keystore create --allow-root && \
echo kibanaserver | $INSTALL_DIR/bin/opensearch-dashboards-keystore add opensearch.username --stdin --allow-root && \
echo kibanaserver | $INSTALL_DIR/bin/opensearch-dashboards-keystore add opensearch.password --stdin --allow-root
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/

View File

@@ -0,0 +1,12 @@
## Variables
WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g')
WAZUH_ACTUAL_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')
## If wazuh manager exists in apt dev repository, change variables, if not exit 1
if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_ACTUAL_VERSION" ]; then
WAZUH_APP=https://packages.wazuh.com/4.x/ui/dashboard/wazuh-${WAZUH_VERSION}-1.zip
else
WAZUH_APP=https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-${WAZUH_VERSION}-1.zip
fi
# Install Wazuh App
$INSTALL_DIR/bin/opensearch-dashboards-plugin install $WAZUH_APP --allow-root

View File

@@ -1,6 +1,8 @@
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
FROM ubuntu:focal AS builder
ARG WAZUH_VERSION
RUN apt-get update -y && apt-get install curl openssl xz-utils -y
COPY config/opensearch.yml /

View File

@@ -8,7 +8,7 @@ export TARGET_DIR=${CURDIR}/debian/${NAME}
# Package build options
export USER=${NAME}
export GROUP=${NAME}
export VERSION=4.3.4
export VERSION=${WAZUH_VERSION}
export LOG_DIR=/var/log/${NAME}
export LIB_DIR=/var/lib/${NAME}
export PID_DIR=/run/${NAME}

View File

@@ -1,7 +1,9 @@
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
FROM ubuntu:focal
ARG WAZUH_VERSION=4.3.4
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
ARG WAZUH_VERSION
ARG TEMPLATE_VERSION=4.3
ARG FILEBEAT_CHANNEL=filebeat-oss
ARG FILEBEAT_VERSION=7.10.2
@@ -9,9 +11,12 @@ ARG WAZUH_FILEBEAT_MODULE="wazuh-filebeat-0.2.tar.gz"
RUN apt-get update && apt install curl apt-transport-https lsb-release gnupg -y
RUN apt-key adv --fetch-keys https://packages.wazuh.com/key/GPG-KEY-WAZUH && \
echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list && \
apt-get update && \
COPY config/check_repository.sh /
RUN chmod 775 /check_repository.sh
RUN source /check_repository.sh
RUN apt-get update && \
apt-get install wazuh-manager=${WAZUH_VERSION}-1
RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/${FILEBEAT_CHANNEL}-${FILEBEAT_VERSION}-amd64.deb &&\

View File

@@ -0,0 +1,13 @@
## Variables
WAZUH_IMAGE_VERSION=$(echo $WAZUH_VERSION | sed -e 's/\.//g')
WAZUH_ACTUAL_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')
## If wazuh manager exists in apt dev repository, change variables, if not exit 1
if [ "$WAZUH_IMAGE_VERSION" -le "$WAZUH_ACTUAL_VERSION" ]; then
APT_KEY=https://packages.wazuh.com/key/GPG-KEY-WAZUH
REPOSITORY="deb https://packages.wazuh.com/4.x/apt/ stable main"
else
APT_KEY=https://packages-dev.wazuh.com/key/GPG-KEY-WAZUH
REPOSITORY="deb https://packages-dev.wazuh.com/pre-release/apt/ unstable main"
fi
apt-key adv --fetch-keys ${APT_KEY}
echo ${REPOSITORY} | tee -a /etc/apt/sources.list.d/wazuh.list

View File

@@ -349,24 +349,9 @@
<location>/var/ossec/logs/active-responses.log</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/auth.log</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/syslog</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/dpkg.log</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/kern.log</location>
</localfile>
</ossec_config>

View File

@@ -349,24 +349,9 @@
<location>/var/ossec/logs/active-responses.log</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/auth.log</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/syslog</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/dpkg.log</location>
</localfile>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/kern.log</location>
</localfile>
</ossec_config>

6
single-node/prueba.sh Executable file
View File

@@ -0,0 +1,6 @@
nodes="`curl -XGET "https://0.0.0.0:9200/_cat/nodes" -u admin:SecretPassword -k | grep -E "indexer" | wc -l`"
if [[ $nodes -eq 1 ]]; then
echo "bien"
else
echo "mal"
fi