forked from wazuh/wazuh-docker
committed by
Jesús Linares
parent
fdb55e8ce1
commit
ddd37f0f9a
+12
-3
@@ -10,6 +10,7 @@ ENV API_USER="foo" \
|
||||
API_PASS="bar"
|
||||
|
||||
ARG TEMPLATE_VERSION="v3.10.2"
|
||||
ENV FILEBEAT_DESTINATION="elasticsearch"
|
||||
|
||||
# Install packages
|
||||
RUN set -x && \
|
||||
@@ -56,8 +57,8 @@ RUN chmod +x /etc/service/wazuh-api/run && \
|
||||
chmod +x /etc/service/filebeat/run
|
||||
|
||||
# Copy configuration files from repository
|
||||
COPY config/filebeat.yml /etc/filebeat/
|
||||
RUN chmod go-w /etc/filebeat/filebeat.yml
|
||||
COPY config/filebeat_to_elasticsearch.yml ./
|
||||
COPY config/filebeat_to_logstash.yml ./
|
||||
|
||||
# Prepare permanent data
|
||||
# Sync calls are due to https://github.com/docker/docker/issues/9547
|
||||
@@ -94,12 +95,16 @@ RUN mkdir /entrypoint-scripts
|
||||
COPY config/entrypoint.sh /entrypoint.sh
|
||||
COPY config/00-decrypt_credentials.sh /entrypoint-scripts/00-decrypt_credentials.sh
|
||||
COPY config/01-wazuh.sh /entrypoint-scripts/01-wazuh.sh
|
||||
COPY config/02-set_filebeat_destination.sh /entrypoint-scripts/02-set_filebeat_destination.sh
|
||||
COPY config/03-config_filebeat.sh /entrypoint-scripts/03-config_filebeat.sh
|
||||
COPY config/05-remove_credentials_file.sh /entrypoint-scripts/05-remove_credentials_file.sh
|
||||
COPY config/10-backups.sh /entrypoint-scripts/10-backups.sh
|
||||
COPY config/20-ossec-configuration.sh /entrypoint-scripts/20-ossec-configuration.sh
|
||||
RUN chmod 755 /entrypoint.sh && \
|
||||
chmod 755 /entrypoint-scripts/01-wazuh.sh && \
|
||||
chmod 755 /entrypoint-scripts/00-decrypt_credentials.sh && \
|
||||
chmod 755 /entrypoint-scripts/01-wazuh.sh && \
|
||||
chmod 755 /entrypoint-scripts/02-set_filebeat_destination.sh && \
|
||||
chmod 755 /entrypoint-scripts/03-config_filebeat.sh && \
|
||||
chmod 755 /entrypoint-scripts/05-remove_credentials_file.sh && \
|
||||
chmod 755 /entrypoint-scripts/10-backups.sh && \
|
||||
chmod 755 /entrypoint-scripts/20-ossec-configuration.sh
|
||||
@@ -111,5 +116,9 @@ RUN chmod 755 /entrypoint.sh && \
|
||||
COPY --chown=root:ossec config/agents.js /var/ossec/api/controllers/agents.js
|
||||
RUN chmod 770 /var/ossec/api/controllers/agents.js
|
||||
|
||||
# Load wazuh alerts template.
|
||||
ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/elasticsearch/7.x/wazuh-template.json /etc/filebeat
|
||||
RUN chmod go-w /etc/filebeat/wazuh-template.json
|
||||
|
||||
# Run all services
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||
|
||||
##############################################################################
|
||||
# Set Filebeat destination.
|
||||
##############################################################################
|
||||
|
||||
if [[ $FILEBEAT_DESTINATION == "elasticsearch" ]]; then
|
||||
|
||||
echo "FILEBEAT - Set destination to Elasticsearch"
|
||||
cp filebeat_to_elasticsearch.yml /etc/filebeat/filebeat.yml
|
||||
|
||||
elif [[ $FILEBEAT_DESTINATION == "logstash" ]]; then
|
||||
|
||||
echo "FILEBEAT - Set destination to Logstash"
|
||||
cp filebeat_to_logstash.yml /etc/filebeat/filebeat.yml
|
||||
|
||||
else
|
||||
echo "FILEBEAT - Error choosing destination. Set default filebeat.yml "
|
||||
fi
|
||||
|
||||
echo "FILEBEAT - Set permissions"
|
||||
|
||||
chmod go-w /etc/filebeat/filebeat.yml
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
# Wazuh App Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||
|
||||
set -e
|
||||
|
||||
if [[ $FILEBEAT_DESTINATION == "elasticsearch" ]]; then
|
||||
|
||||
WAZUH_FILEBEAT_MODULE=wazuh-filebeat-0.1.tar.gz
|
||||
|
||||
# Modify the output to Elasticsearch if th ELASTICSEARCH_URL is set
|
||||
if [ "$ELASTICSEARCH_URL" != "" ]; then
|
||||
>&2 echo "FILEBEAT - Customize Elasticsearch ouput IP."
|
||||
sed -i 's|http://elasticsearch:9200|'$ELASTICSEARCH_URL'|g' /etc/filebeat/filebeat.yml
|
||||
fi
|
||||
|
||||
# Install Wazuh Filebeat Module
|
||||
|
||||
>&2 echo "FILEBEAT - Install Wazuh Filebeat Module."
|
||||
curl -s "https://packages.wazuh.com/3.x/filebeat/${WAZUH_FILEBEAT_MODULE}" | tar -xvz -C /usr/share/filebeat/module
|
||||
mkdir -p /usr/share/filebeat/module/wazuh
|
||||
chmod 755 -R /usr/share/filebeat/module/wazuh
|
||||
|
||||
fi
|
||||
@@ -0,0 +1,55 @@
|
||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||
|
||||
# Wazuh - Filebeat configuration file
|
||||
filebeat.inputs:
|
||||
- type: log
|
||||
paths:
|
||||
- '/var/ossec/logs/alerts/alerts.json'
|
||||
|
||||
setup.template.json.enabled: true
|
||||
setup.template.json.path: "/etc/filebeat/wazuh-template.json"
|
||||
setup.template.json.name: "wazuh"
|
||||
setup.template.overwrite: true
|
||||
|
||||
processors:
|
||||
- decode_json_fields:
|
||||
fields: ['message']
|
||||
process_array: true
|
||||
max_depth: 200
|
||||
target: ''
|
||||
overwrite_keys: true
|
||||
- drop_fields:
|
||||
fields: ['message', 'ecs', 'beat', 'input_type', 'tags', 'count', '@version', 'log', 'offset', 'type', 'host']
|
||||
- rename:
|
||||
fields:
|
||||
- from: "data.aws.sourceIPAddress"
|
||||
to: "@src_ip"
|
||||
ignore_missing: true
|
||||
fail_on_error: false
|
||||
when:
|
||||
regexp:
|
||||
data.aws.sourceIPAddress: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
|
||||
- rename:
|
||||
fields:
|
||||
- from: "data.srcip"
|
||||
to: "@src_ip"
|
||||
ignore_missing: true
|
||||
fail_on_error: false
|
||||
when:
|
||||
regexp:
|
||||
data.srcip: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
|
||||
- rename:
|
||||
fields:
|
||||
- from: "data.win.eventdata.ipAddress"
|
||||
to: "@src_ip"
|
||||
ignore_missing: true
|
||||
fail_on_error: false
|
||||
when:
|
||||
regexp:
|
||||
data.win.eventdata.ipAddress: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
|
||||
|
||||
output.elasticsearch:
|
||||
hosts: ['http://elasticsearch:9200']
|
||||
#pipeline: geoip
|
||||
indices:
|
||||
- index: 'wazuh-alerts-3.x-%{+yyyy.MM.dd}'
|
||||
@@ -1,3 +1,5 @@
|
||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||
|
||||
# Wazuh - Filebeat configuration file
|
||||
filebeat:
|
||||
inputs:
|
||||
@@ -10,4 +12,4 @@ output:
|
||||
# The Logstash hosts
|
||||
hosts: ["logstash:5000"]
|
||||
# ssl:
|
||||
# certificate_authorities: ["/etc/filebeat/logstash.crt"]
|
||||
# certificate_authorities: ["/etc/filebeat/logstash.crt"]
|
||||
Reference in New Issue
Block a user