mirror of
https://github.com/wazuh/wazuh-docker.git
synced 2025-11-02 13:03:20 +00:00
Compare commits
25 Commits
v3.9.1_7.1
...
3.9.4_7.2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5da0553016 | ||
|
|
9f7cd94180 | ||
|
|
87895af5d9 | ||
|
|
a2dd5867a1 | ||
|
|
adc4efb694 | ||
|
|
62e39920cd | ||
|
|
2a77c6a6e6 | ||
|
|
b0782505e1 | ||
|
|
507d27a448 | ||
|
|
40bb635036 | ||
|
|
61b1f45bc4 | ||
|
|
881a0abfa5 | ||
|
|
d8c14e108c | ||
|
|
60b32d0d21 | ||
|
|
a481d9c376 | ||
|
|
9740ddcf3e | ||
|
|
5db7509b52 | ||
|
|
e00cd1081a | ||
|
|
3aff6de0d0 | ||
|
|
8a6225856d | ||
|
|
e6cddf8e1d | ||
|
|
ad4084a8da | ||
|
|
11b926ffa3 | ||
|
|
d81ab1e304 | ||
|
|
a6b453b9df |
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,6 +1,30 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## Wazuh Docker v3.9.4_7.2.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update to Wazuh version 3.9.4_7.2.0
|
||||||
|
- Implemented Wazuh Filebeat Module ([jm404](https://www.github.com/jm404)) [#2a77c6a](https://github.com/wazuh/wazuh-docker/commit/2a77c6a6e6bf78f2492adeedbade7a507d9974b2)
|
||||||
|
|
||||||
|
## Wazuh Docker v3.9.3_7.2.0
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Wazuh-docker reinserts cluster settings after resuming containers ([@manuasir](https://github.com/manuasir)) [#213](https://github.com/wazuh/wazuh-docker/pull/213)
|
||||||
|
|
||||||
|
## Wazuh Docker v3.9.2_7.1.1
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update to Wazuh version 3.9.2_7.1.1
|
||||||
|
|
||||||
|
## Wazuh Docker v3.9.2_6.8.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Update to Wazuh version 3.9.2_6.8.0
|
||||||
|
|
||||||
## Wazuh Docker v3.9.1_7.1.0
|
## Wazuh Docker v3.9.1_7.1.0
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ In addition, a docker-compose file is provided to launch the containers mentione
|
|||||||
|
|
||||||
* `stable` branch on correspond to the latest Wazuh-Docker stable version.
|
* `stable` branch on correspond to the latest Wazuh-Docker stable version.
|
||||||
* `master` branch contains the latest code, be aware of possible bugs on this branch.
|
* `master` branch contains the latest code, be aware of possible bugs on this branch.
|
||||||
* `Wazuh.Version_ElasticStack.Version` (for example 3.9.1_6.8.2) branch. This branch contains the current release referenced in Docker Hub. The container images are installed under the current version of this branch.
|
* `Wazuh.Version_ElasticStack.Version` (for example 3.9.4_7.2.0) branch. This branch contains the current release referenced in Docker Hub. The container images are installed under the current version of this branch.
|
||||||
|
|
||||||
## Credits and Thank you
|
## Credits and Thank you
|
||||||
|
|
||||||
|
|||||||
4
VERSION
4
VERSION
@@ -1,2 +1,2 @@
|
|||||||
WAZUH-DOCKER_VERSION="3.9.1_7.1.0"
|
WAZUH-DOCKER_VERSION="3.9.4_7.2.0"
|
||||||
REVISION="3911"
|
REVISION="3940"
|
||||||
@@ -1,36 +1,36 @@
|
|||||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
# Wazuh App Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||||
version: '2'
|
version: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
wazuh:
|
wazuh:
|
||||||
build: wazuh
|
image: wazuh/wazuh:3.9.4_7.2.0
|
||||||
hostname: wazuh-manager
|
hostname: wazuh-manager
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- '1514:1514/udp'
|
- "1514:1514/udp"
|
||||||
- '1515:1515'
|
- "1515:1515"
|
||||||
- '514:514/udp'
|
- "514:514/udp"
|
||||||
- '55000:55000'
|
- "55000:55000"
|
||||||
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
build: elasticsearch
|
image: wazuh/wazuh-elasticsearch:3.9.4_7.2.0
|
||||||
hostname: elasticsearch
|
hostname: elasticsearch
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- '9200:9200'
|
- "9200:9200"
|
||||||
environment:
|
environment:
|
||||||
- node.name=node-1
|
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||||
- cluster.name=wazuh
|
- ELASTIC_CLUSTER=true
|
||||||
- network.host=localhost
|
- CLUSTER_NODE_MASTER=true
|
||||||
- discovery.type=single-node
|
- CLUSTER_MASTER_NODE_NAME=es01
|
||||||
- bootstrap.memory_lock=true
|
|
||||||
- 'ES_JAVA_OPTS=-Xms1g -Xmx1g'
|
|
||||||
ulimits:
|
ulimits:
|
||||||
memlock:
|
memlock:
|
||||||
soft: -1
|
soft: -1
|
||||||
hard: -1
|
hard: -1
|
||||||
mem_limit: 2g
|
mem_limit: 2g
|
||||||
|
|
||||||
kibana:
|
kibana:
|
||||||
build: kibana
|
image: wazuh/wazuh-kibana:3.9.4_7.2.0
|
||||||
hostname: kibana
|
hostname: kibana
|
||||||
restart: always
|
restart: always
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -39,15 +39,15 @@ services:
|
|||||||
- elasticsearch:elasticsearch
|
- elasticsearch:elasticsearch
|
||||||
- wazuh:wazuh
|
- wazuh:wazuh
|
||||||
nginx:
|
nginx:
|
||||||
build: nginx
|
image: wazuh/wazuh-nginx:3.9.4_7.2.0
|
||||||
hostname: nginx
|
hostname: nginx
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- NGINX_PORT=443
|
- NGINX_PORT=443
|
||||||
- NGINX_CREDENTIALS
|
- NGINX_CREDENTIALS
|
||||||
ports:
|
ports:
|
||||||
- '80:80'
|
- "80:80"
|
||||||
- '443:443'
|
- "443:443"
|
||||||
depends_on:
|
depends_on:
|
||||||
- kibana
|
- kibana
|
||||||
links:
|
links:
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||||
FROM docker.elastic.co/elasticsearch/elasticsearch:7.1.0
|
ARG ELASTIC_VERSION=7.2.0
|
||||||
|
FROM docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}
|
||||||
|
ARG S3_PLUGIN_URL="https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-${ELASTIC_VERSION}.zip"
|
||||||
|
|
||||||
ENV ELASTICSEARCH_URL="http://elasticsearch:9200"
|
ENV ELASTICSEARCH_URL="http://elasticsearch:9200"
|
||||||
|
|
||||||
@@ -13,17 +15,18 @@ ENV XPACK_ML="true"
|
|||||||
|
|
||||||
ENV ENABLE_CONFIGURE_S3="false"
|
ENV ENABLE_CONFIGURE_S3="false"
|
||||||
|
|
||||||
ENV TEMPLATE_VERSION=v3.9.1
|
ARG TEMPLATE_VERSION=v3.9.4
|
||||||
|
|
||||||
# Elasticearch cluster configuration environment variables
|
# Elasticearch cluster configuration environment variables
|
||||||
# If ELASTIC_CLUSTER is set to "true" the following variables will be added to the Elasticsearch configuration
|
# If ELASTIC_CLUSTER is set to "true" the following variables will be added to the Elasticsearch configuration
|
||||||
# CLUSTER_INITIAL_MASTER_NODES set to own node by default.
|
# CLUSTER_INITIAL_MASTER_NODES set to own node by default.
|
||||||
ENV ELASTIC_CLUSTER="false" \
|
ENV ELASTIC_CLUSTER="false" \
|
||||||
CLUSTER_NAME="wazuh" \
|
CLUSTER_NAME="wazuh" \
|
||||||
CLUSTER_NODE_MASTER="true" \
|
CLUSTER_NODE_MASTER="false" \
|
||||||
CLUSTER_NODE_DATA="true" \
|
CLUSTER_NODE_DATA="true" \
|
||||||
CLUSTER_NODE_INGEST="true" \
|
CLUSTER_NODE_INGEST="true" \
|
||||||
CLUSTER_NODE_NAME="wazuh-elasticsearch" \
|
CLUSTER_NODE_NAME="wazuh-elasticsearch" \
|
||||||
|
CLUSTER_MASTER_NODE_NAME="master-node" \
|
||||||
CLUSTER_MEMORY_LOCK="true" \
|
CLUSTER_MEMORY_LOCK="true" \
|
||||||
CLUSTER_DISCOVERY_SERVICE="wazuh-elasticsearch" \
|
CLUSTER_DISCOVERY_SERVICE="wazuh-elasticsearch" \
|
||||||
CLUSTER_NUMBER_OF_MASTERS="2" \
|
CLUSTER_NUMBER_OF_MASTERS="2" \
|
||||||
@@ -31,8 +34,6 @@ ENV ELASTIC_CLUSTER="false" \
|
|||||||
CLUSTER_DELAYED_TIMEOUT="1m" \
|
CLUSTER_DELAYED_TIMEOUT="1m" \
|
||||||
CLUSTER_INITIAL_MASTER_NODES="wazuh-elasticsearch"
|
CLUSTER_INITIAL_MASTER_NODES="wazuh-elasticsearch"
|
||||||
|
|
||||||
ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/elasticsearch/7.x/wazuh-template.json /usr/share/elasticsearch/config
|
|
||||||
|
|
||||||
COPY config/entrypoint.sh /entrypoint.sh
|
COPY config/entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
RUN chmod 755 /entrypoint.sh
|
RUN chmod 755 /entrypoint.sh
|
||||||
@@ -41,7 +42,7 @@ COPY --chown=elasticsearch:elasticsearch ./config/load_settings.sh ./
|
|||||||
|
|
||||||
RUN chmod +x ./load_settings.sh
|
RUN chmod +x ./load_settings.sh
|
||||||
|
|
||||||
RUN bin/elasticsearch-plugin install --batch https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-7.1.0.zip
|
RUN ${bin/elasticsearch-plugin install --batch S3_PLUGIN_URL}
|
||||||
|
|
||||||
COPY config/configure_s3.sh ./config/configure_s3.sh
|
COPY config/configure_s3.sh ./config/configure_s3.sh
|
||||||
RUN chmod 755 ./config/configure_s3.sh
|
RUN chmod 755 ./config/configure_s3.sh
|
||||||
|
|||||||
@@ -3,39 +3,55 @@
|
|||||||
|
|
||||||
elastic_config_file="/usr/share/elasticsearch/config/elasticsearch.yml"
|
elastic_config_file="/usr/share/elasticsearch/config/elasticsearch.yml"
|
||||||
|
|
||||||
|
remove_single_node_conf(){
|
||||||
|
if grep -Fq "discovery.type" $1; then
|
||||||
|
sed -i '/discovery.type\: /d' $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# If Elasticsearch cluster is enable
|
remove_cluster_config(){
|
||||||
if [[ $ELASTIC_CLUSTER == "true" ]]
|
sed -i '/# cluster node/,/# end cluster config/d' $1
|
||||||
then
|
}
|
||||||
|
|
||||||
# Set the cluster.name and discovery.zen.minimun_master_nodes variables
|
|
||||||
sed -i 's:cluster.name\: "docker-cluster":cluster.name\: "'$CLUSTER_NAME'":g' $elastic_config_file
|
|
||||||
#sed -i 's:discovery.zen.minimum_master_nodes\: 1:discovery.zen.minimum_master_nodes\: '$CLUSTER_NUMBER_OF_MASTERS':g' $elastic_config_file
|
|
||||||
|
|
||||||
# Add the cluster configuration
|
# If Elasticsearch cluster is enable, then set up the elasticsearch.yml
|
||||||
echo "
|
if [[ $ELASTIC_CLUSTER == "true" && $CLUSTER_NODE_MASTER != "" && $CLUSTER_NODE_DATA != "" && $CLUSTER_NODE_INGEST != "" && $CLUSTER_MASTER_NODE_NAME != "" ]]; then
|
||||||
#cluster node
|
# Remove the old configuration
|
||||||
node:
|
remove_single_node_conf $elastic_config_file
|
||||||
master: ${CLUSTER_NODE_MASTER}
|
remove_cluster_config $elastic_config_file
|
||||||
data: ${CLUSTER_NODE_DATA}
|
|
||||||
ingest: ${CLUSTER_NODE_INGEST}
|
|
||||||
name: ${CLUSTER_NODE_NAME}
|
|
||||||
max_local_storage_nodes: ${CLUSTER_MAX_NODES}
|
|
||||||
|
|
||||||
bootstrap:
|
if [[ $CLUSTER_NODE_MASTER == "true" ]]; then
|
||||||
memory_lock: ${CLUSTER_MEMORY_LOCK}
|
# Add the master configuration
|
||||||
|
# cluster.initial_master_nodes for bootstrap the cluster
|
||||||
cluster.initial_master_nodes:
|
cat > $elastic_config_file << EOF
|
||||||
- '${CLUSTER_INITIAL_MASTER_NODES}'
|
# cluster node
|
||||||
|
network.host: 0.0.0.0
|
||||||
" >> $elastic_config_file
|
node.name: $CLUSTER_MASTER_NODE_NAME
|
||||||
else
|
node.master: $CLUSTER_NODE_MASTER
|
||||||
|
cluster.initial_master_nodes:
|
||||||
cat >> $elastic_config_file <<'EOF'
|
- $CLUSTER_MASTER_NODE_NAME
|
||||||
cluster.initial_master_nodes:
|
# end cluster config"
|
||||||
- 'elasticsearch'
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# echo 'discovery.type: single-node'
|
elif [[ $CLUSTER_NODE_NAME != "" ]];then
|
||||||
|
# Remove the old configuration
|
||||||
|
remove_single_node_conf $elastic_config_file
|
||||||
|
remove_cluster_config $elastic_config_file
|
||||||
|
|
||||||
|
cat > $elastic_config_file << EOF
|
||||||
|
# cluster node
|
||||||
|
network.host: 0.0.0.0
|
||||||
|
node.name: $CLUSTER_NODE_NAME
|
||||||
|
node.master: false
|
||||||
|
discovery.seed_hosts:
|
||||||
|
- $CLUSTER_MASTER_NODE_NAME
|
||||||
|
- $CLUSTER_NODE_NAME
|
||||||
|
# end cluster config"
|
||||||
|
EOF
|
||||||
fi
|
fi
|
||||||
|
# If the cluster is disabled, then set a single-node configuration
|
||||||
|
else
|
||||||
|
# Remove the old configuration
|
||||||
|
remove_single_node_conf $elastic_config_file
|
||||||
|
remove_cluster_config $elastic_config_file
|
||||||
|
echo "discovery.type: single-node" >> $elastic_config_file
|
||||||
|
fi
|
||||||
@@ -1,11 +1,14 @@
|
|||||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||||
FROM docker.elastic.co/kibana/kibana:7.1.0
|
FROM docker.elastic.co/kibana/kibana:7.2.0
|
||||||
ARG WAZUH_APP_VERSION=3.9.1_7.1.0
|
ARG ELASTIC_VERSION=7.2.0
|
||||||
|
ARG WAZUH_VERSION=3.9.4
|
||||||
|
ARG WAZUH_APP_VERSION="${WAZUH_VERSION}_${ELASTIC_VERSION}"
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
ADD https://packages.wazuh.com/wazuhapp/wazuhapp-${WAZUH_APP_VERSION}.zip /tmp
|
ADD https://packages.wazuh.com/wazuhapp/wazuhapp-${WAZUH_APP_VERSION}.zip /tmp
|
||||||
|
|
||||||
RUN /usr/share/kibana/bin/kibana-plugin install file:///tmp/wazuhapp-${WAZUH_APP_VERSION}.zip
|
RUN /usr/share/kibana/bin/kibana-plugin install --allow-root file:///tmp/wazuhapp-${WAZUH_APP_VERSION}.zip
|
||||||
RUN rm -rf /tmp/wazuhapp-${WAZUH_APP_VERSION}.zip
|
RUN rm -rf /tmp/wazuhapp-${WAZUH_APP_VERSION}.zip
|
||||||
|
|
||||||
COPY config/entrypoint.sh ./entrypoint.sh
|
COPY config/entrypoint.sh ./entrypoint.sh
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ else
|
|||||||
el_url="${ELASTICSEARCH_URL}"
|
el_url="${ELASTICSEARCH_URL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${ENABLED_XPACK} != "true" || "x${ELASTICSEARCH_USERNAME}" = "x" || "x${ELASTICSEARCH_PASSWORD}" = "x" ]; then
|
if [[ ${ENABLED_XPACK} != "true" || "x${ELASTICSEARCH_USERNAME}" = "x" || "x${ELASTICSEARCH_PASSWORD}" = "x" ]]; then
|
||||||
auth=""
|
auth=""
|
||||||
else
|
else
|
||||||
auth="--user ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}"
|
auth="--user ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}"
|
||||||
|
|||||||
@@ -74,6 +74,6 @@ curl -POST "http://$kibana_ip:5601/api/kibana/settings" -H "Content-Type: applic
|
|||||||
|
|
||||||
sleep 5
|
sleep 5
|
||||||
# Do not ask user to help providing usage statistics to Elastic
|
# Do not ask user to help providing usage statistics to Elastic
|
||||||
curl -POST "http://$kibana_ip:5601/api/telemetry/v1/optIn" -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"enabled":false}'
|
curl -POST "http://$kibana_ip:5601/api/telemetry/v2/optIn" -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"enabled":false}'
|
||||||
|
|
||||||
echo "End settings"
|
echo "End settings"
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ then
|
|||||||
[xpack.searchprofiler.enabled]=$XPACK_DEVTOOLS
|
[xpack.searchprofiler.enabled]=$XPACK_DEVTOOLS
|
||||||
[xpack.ml.enabled]=$XPACK_ML
|
[xpack.ml.enabled]=$XPACK_ML
|
||||||
[xpack.canvas.enabled]=$XPACK_CANVAS
|
[xpack.canvas.enabled]=$XPACK_CANVAS
|
||||||
[xpack.logstash.enabled]=$XPACK_LOGS
|
|
||||||
[xpack.infra.enabled]=$XPACK_INFRA
|
[xpack.infra.enabled]=$XPACK_INFRA
|
||||||
[xpack.monitoring.enabled]=$XPACK_MONITORING
|
[xpack.monitoring.enabled]=$XPACK_MONITORING
|
||||||
[console.enabled]=$XPACK_DEVTOOLS
|
[console.enabled]=$XPACK_DEVTOOLS
|
||||||
@@ -29,7 +28,6 @@ xpack.grokdebugger.enabled: $XPACK_DEVTOOLS
|
|||||||
xpack.searchprofiler.enabled: $XPACK_DEVTOOLS
|
xpack.searchprofiler.enabled: $XPACK_DEVTOOLS
|
||||||
xpack.ml.enabled: $XPACK_ML
|
xpack.ml.enabled: $XPACK_ML
|
||||||
xpack.canvas.enabled: $XPACK_CANVAS
|
xpack.canvas.enabled: $XPACK_CANVAS
|
||||||
xpack.logstash.enabled: $XPACK_LOGS
|
|
||||||
xpack.infra.enabled: $XPACK_INFRA
|
xpack.infra.enabled: $XPACK_INFRA
|
||||||
xpack.monitoring.enabled: $XPACK_MONITORING
|
xpack.monitoring.enabled: $XPACK_MONITORING
|
||||||
console.enabled: $XPACK_DEVTOOLS
|
console.enabled: $XPACK_DEVTOOLS
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||||
FROM phusion/baseimage:latest
|
FROM phusion/baseimage:latest
|
||||||
ARG FILEBEAT_VERSION=7.1.0
|
|
||||||
ARG WAZUH_VERSION=3.9.1-1
|
ARG FILEBEAT_VERSION=7.2.0
|
||||||
|
|
||||||
|
ARG WAZUH_VERSION=3.9.4-1
|
||||||
|
|
||||||
ENV API_USER="foo" \
|
ENV API_USER="foo" \
|
||||||
API_PASS="bar"
|
API_PASS="bar"
|
||||||
|
|
||||||
ENV TEMPLATE_VERSION="v3.9.1"
|
ARG TEMPLATE_VERSION="v3.9.4"
|
||||||
|
|
||||||
# Set repositories.
|
# Set repositories.
|
||||||
RUN set -x && echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list && \
|
RUN set -x && echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list && \
|
||||||
@@ -18,8 +20,8 @@ RUN set -x && echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /
|
|||||||
|
|
||||||
RUN add-apt-repository universe && apt-get update && apt-get upgrade -y -o Dpkg::Options::="--force-confold" && \
|
RUN add-apt-repository universe && apt-get update && apt-get upgrade -y -o Dpkg::Options::="--force-confold" && \
|
||||||
apt-get --no-install-recommends --no-install-suggests -y install openssl postfix bsd-mailx python-boto python-pip \
|
apt-get --no-install-recommends --no-install-suggests -y install openssl postfix bsd-mailx python-boto python-pip \
|
||||||
apt-transport-https vim expect nodejs python-cryptography mailutils libsasl2-modules wazuh-manager \
|
apt-transport-https vim expect nodejs python-cryptography mailutils libsasl2-modules wazuh-manager=${WAZUH_VERSION} \
|
||||||
wazuh-api && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && rm -f \
|
wazuh-api=${WAZUH_VERSION} && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && rm -f \
|
||||||
/var/ossec/logs/alerts/*/*/*.log && rm -f /var/ossec/logs/alerts/*/*/*.json && rm -f \
|
/var/ossec/logs/alerts/*/*/*.log && rm -f /var/ossec/logs/alerts/*/*/*.json && rm -f \
|
||||||
/var/ossec/logs/archives/*/*/*.log && rm -f /var/ossec/logs/archives/*/*/*.json && rm -f \
|
/var/ossec/logs/archives/*/*/*.log && rm -f /var/ossec/logs/archives/*/*/*.json && rm -f \
|
||||||
/var/ossec/logs/firewall/*/*/*.log && rm -f /var/ossec/logs/firewall/*/*/*.json
|
/var/ossec/logs/firewall/*/*/*.log && rm -f /var/ossec/logs/firewall/*/*/*.json
|
||||||
@@ -30,6 +32,7 @@ COPY config/init.bash /init.bash
|
|||||||
RUN mkdir /entrypoint-scripts
|
RUN mkdir /entrypoint-scripts
|
||||||
COPY config/entrypoint.sh /entrypoint.sh
|
COPY config/entrypoint.sh /entrypoint.sh
|
||||||
COPY config/00-wazuh.sh /entrypoint-scripts/00-wazuh.sh
|
COPY config/00-wazuh.sh /entrypoint-scripts/00-wazuh.sh
|
||||||
|
COPY config/01-config_filebeat.sh /entrypoint-scripts/01-config_filebeat.sh
|
||||||
|
|
||||||
# Sync calls are due to https://github.com/docker/docker/issues/9547
|
# Sync calls are due to https://github.com/docker/docker/issues/9547
|
||||||
RUN chmod 755 /init.bash && \
|
RUN chmod 755 /init.bash && \
|
||||||
@@ -38,10 +41,11 @@ RUN chmod 755 /init.bash && \
|
|||||||
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb &&\
|
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb &&\
|
||||||
dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb && rm -f filebeat-${FILEBEAT_VERSION}-amd64.deb && \
|
dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb && rm -f filebeat-${FILEBEAT_VERSION}-amd64.deb && \
|
||||||
chmod 755 /entrypoint.sh && \
|
chmod 755 /entrypoint.sh && \
|
||||||
chmod 755 /entrypoint-scripts/00-wazuh.sh
|
chmod 755 /entrypoint-scripts/00-wazuh.sh && \
|
||||||
|
chmod 755 /entrypoint-scripts/01-config_filebeat.sh
|
||||||
|
|
||||||
COPY config/filebeat.yml /etc/filebeat/
|
COPY config/filebeat.yml /etc/filebeat/
|
||||||
RUN chmod go-w /etc/filebeat/filebeat.yml
|
RUN chmod go-w /etc/filebeat/filebeat.yml
|
||||||
|
|
||||||
# Setting volumes
|
# Setting volumes
|
||||||
VOLUME ["/var/ossec/data"]
|
VOLUME ["/var/ossec/data"]
|
||||||
@@ -73,5 +77,4 @@ ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/e
|
|||||||
RUN chmod go-w /etc/filebeat/wazuh-template.json
|
RUN chmod go-w /etc/filebeat/wazuh-template.json
|
||||||
|
|
||||||
# Run all services
|
# Run all services
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
||||||
19
wazuh/config/01-config_filebeat.sh
Normal file
19
wazuh/config/01-config_filebeat.sh
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Wazuh App Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
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 "Customize Elasticsearch ouput IP."
|
||||||
|
sed -i 's|http://elasticsearch:9200|'$ELASTICSEARCH_URL'|g' /etc/filebeat/filebeat.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
@@ -1,53 +1,16 @@
|
|||||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
|
||||||
filebeat.inputs:
|
# Wazuh - Filebeat configuration file
|
||||||
- type: log
|
filebeat.modules:
|
||||||
paths:
|
- module: wazuh
|
||||||
- '/var/ossec/logs/alerts/alerts.json'
|
alerts:
|
||||||
|
enabled: true
|
||||||
|
archives:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
setup.template.json.enabled: true
|
setup.template.json.enabled: true
|
||||||
setup.template.json.path: "/etc/filebeat/wazuh-template.json"
|
setup.template.json.path: '/etc/filebeat/wazuh-template.json'
|
||||||
setup.template.json.name: "wazuh"
|
setup.template.json.name: 'wazuh'
|
||||||
setup.template.overwrite: true
|
setup.template.overwrite: true
|
||||||
|
setup.ilm.enabled: false
|
||||||
|
|
||||||
processors:
|
output.elasticsearch.hosts: ['http://elasticsearch:9200']
|
||||||
- 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}'
|
|
||||||
Reference in New Issue
Block a user