Skip to content

Commit 819248d

Browse files
djformbyclaude
andcommitted
add Wazuh agent to ScadaLTS container
Installs wazuh-agent (named 'scadalts') pointing at the Wazuh manager at 192.168.90.20. Configures localfile monitoring for Tomcat catalina.out, Tomcat HTTP access logs, and the MariaDB error log. Agent starts conditionally via supervisor (DNS check for 'wazuh'), so the container works normally without --profile siem. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 41a5085 commit 819248d

2 files changed

Lines changed: 34 additions & 4 deletions

File tree

scadalts/Dockerfile

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,14 @@ ENV SCADA_LTS_VERSION=2.7.8.1 \
99
TOMCAT_USER=tcuser \
1010
TOMCAT_PASSWORD=tcuser
1111

12+
# Fake systemctl so wazuh-agent postinstall doesn't fail
13+
RUN printf '#!/bin/bash\necho "[fake-systemctl] $@"\nexit 0\n' \
14+
> /usr/local/bin/systemctl && chmod +x /usr/local/bin/systemctl
15+
1216
# Install dependencies
1317
RUN apt-get update && \
14-
apt-get install -y wget unzip supervisor mariadb-server libjaxb-api-java libjaxb-java libactivation-java && \
18+
apt-get install -y wget unzip supervisor mariadb-server libjaxb-api-java libjaxb-java libactivation-java \
19+
gnupg curl && \
1520
rm -rf /var/lib/apt/lists/*
1621

1722

@@ -39,9 +44,10 @@ RUN wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.3.0
3944
mv /tmp/mysql-connector-j-8.3.0/mysql-connector-j-8.3.0.jar $CATALINA_HOME/lib/ && \
4045
rm -rf /tmp/mysql-connector*
4146

42-
# Prepare runtime dirs
43-
RUN mkdir -p /var/lib/mysql /run/mysqld /var/log/supervisor && \
44-
chown -R mysql:mysql /var/lib/mysql /run/mysqld
47+
# Prepare runtime dirs and enable MariaDB error log
48+
RUN mkdir -p /var/lib/mysql /run/mysqld /var/log/supervisor /var/log/mysql && \
49+
chown -R mysql:mysql /var/lib/mysql /run/mysqld /var/log/mysql && \
50+
printf '[mysqld]\nlog_error=/var/log/mysql/error.log\n' > /etc/mysql/conf.d/logging.cnf
4551
VOLUME /var/lib/mysql
4652

4753
# Add configs
@@ -66,6 +72,22 @@ RUN sed -i '/<\/Context>/i \
6672
COPY 1.png /usr/local/tomcat/static/uploads/1.png
6773
COPY seed_project_data.sql /seed_project_data.sql
6874

75+
# Install Wazuh agent
76+
RUN curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH \
77+
| gpg --no-default-keyring \
78+
--keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import \
79+
&& chmod 644 /usr/share/keyrings/wazuh.gpg \
80+
&& echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] \
81+
https://packages.wazuh.com/4.x/apt/ stable main" \
82+
> /etc/apt/sources.list.d/wazuh.list \
83+
&& apt-get update \
84+
&& WAZUH_MANAGER=192.168.90.20 WAZUH_AGENT_NAME=scadalts apt-get install -y wazuh-agent \
85+
&& rm -rf /var/lib/apt/lists/*
86+
87+
# Monitor Tomcat catalina log, access logs, and MariaDB error log
88+
RUN sed -i 's|</ossec_config>|<localfile>\n <log_format>syslog</log_format>\n <location>/usr/local/tomcat/logs/catalina.out</location>\n </localfile>\n <localfile>\n <log_format>syslog</log_format>\n <location>/usr/local/tomcat/logs/localhost_access_log*.txt</location>\n </localfile>\n <localfile>\n <log_format>syslog</log_format>\n <location>/var/log/mysql/error.log</location>\n </localfile>\n</ossec_config>|' \
89+
/var/ossec/etc/ossec.conf
90+
6991
EXPOSE 8080 3306
7092

7193
CMD ["/usr/bin/supervisord", "-n"]

scadalts/supervisord.conf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,11 @@ command=/bin/bash -c "sleep 10 && /usr/local/tomcat/bin/catalina.sh run"
2222
autostart=true
2323
autorestart=true
2424
priority=10
25+
26+
[program:wazuh-agent]
27+
command=/bin/bash -c "if getent hosts wazuh >/dev/null 2>&1; then /var/ossec/bin/wazuh-control start; else echo '[scadalts] Wazuh not in DNS, skipping agent start'; fi; sleep infinity"
28+
autostart=true
29+
autorestart=false
30+
priority=20
31+
stdout_logfile=/var/log/supervisor/wazuh-agent.log
32+
stderr_logfile=/var/log/supervisor/wazuh-agent.err

0 commit comments

Comments
 (0)