Skip to content

Commit 00b8e30

Browse files
Add Docker setup for Wazuh manager with Filebeat
Introduces Docker configuration and scripts to automate Wazuh manager and Filebeat installation, certificate setup, and service initialization to streamline local development and deployment.
1 parent c8d5153 commit 00b8e30

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

docker/osd-dev/manager/Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM ubuntu:24.04
2+
3+
ADD --chown=root:root installer.sh /installer/installer.sh
4+
ADD wazuh-manager.deb /installer/wazuh-manager.deb
5+
ADD --chown=root:root entrypoint.sh /entrypoint.sh
6+
7+
RUN bash /installer/installer.sh && chmod +x /entrypoint.sh
8+
9+
ENTRYPOINT [ "/entrypoint.sh" ]

docker/osd-dev/manager/entrypoint.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
# Change permissions to ceritificates
4+
chmod 500 /etc/filebeat/certs
5+
chmod 400 /etc/filebeat/certs/*
6+
chown -R root:root /etc/filebeat/certs
7+
8+
# Start services
9+
service filebeat start
10+
/var/ossec/bin/wazuh-control start
11+
12+
tail -f /var/ossec/logs/ossec.log

docker/osd-dev/manager/installer.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Install dependencies
2+
apt update
3+
apt install -y curl adduser lsb-release
4+
5+
# Install Wazuh server
6+
dpkg -i /installer/wazuh-manager.deb
7+
8+
# Configure Wazuh server-Wazuh indexer connection
9+
echo 'admin' | /var/ossec/bin/wazuh-keystore -f indexer -k username
10+
echo 'admin' | /var/ossec/bin/wazuh-keystore -f indexer -k password
11+
12+
NODE="wazuh.manager.dev"
13+
INDEXER_HOST="os1"
14+
CERTS_PATH="/etc/filebeat/certs"
15+
WAZUH_VERSION="v4.12.0"
16+
#mkdir -p /etc/filebeat/certs
17+
18+
sed -i "s|https://0.0.0.0:9200|https://$INDEXER_HOST:9200|g" /var/ossec/etc/ossec.conf
19+
sed -i "s|/etc/filebeat/certs/root-ca.pem|$CERTS_PATH/ca.pem|g" /var/ossec/etc/ossec.conf
20+
sed -i "s|/etc/filebeat/certs/filebeat.pem|$CERTS_PATH/$NODE.pem|g" /var/ossec/etc/ossec.conf
21+
sed -i "s|/etc/filebeat/certs/filebeat-key.pem|$CERTS_PATH/$NODE-key.pem|g" /var/ossec/etc/ossec.conf
22+
23+
# Install Filebeat
24+
apt install gnupg apt-transport-https -y
25+
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg
26+
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list
27+
apt-get update
28+
apt-get -y install filebeat
29+
30+
# Configure Filebeat
31+
curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.12/tpl/wazuh/filebeat/filebeat.yml
32+
sed -i "s|127.0.0.1|$INDEXER_HOST|g" /etc/filebeat/filebeat.yml
33+
sed -i "s|/etc/filebeat/certs/root-ca.pem|$CERTS_PATH/ca.pem|g" /etc/filebeat/filebeat.yml
34+
sed -i "s|/etc/filebeat/certs/filebeat.pem|$CERTS_PATH/$NODE-key.pem|g" /etc/filebeat/filebeat.yml
35+
sed -i "s|/etc/filebeat/certs/filebeat-key.pem|$CERTS_PATH/$NODE.pem|g" /etc/filebeat/filebeat.yml
36+
filebeat keystore create
37+
echo admin | filebeat keystore add username --stdin --force
38+
echo admin | filebeat keystore add password --stdin --force
39+
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/$WAZUH_VERSION/extensions/elasticsearch/7.x/wazuh-template.json
40+
chmod go+r /etc/filebeat/wazuh-template.json
41+
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.4.tar.gz | tar -xvz -C /usr/share/filebeat/module

0 commit comments

Comments
 (0)