mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-11-03 21:43:17 +00:00 
			
		
		
		
	Compare commits
	
		
			51 Commits
		
	
	
		
			v3.9.5_7.3
			...
			v3.11.1_7.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					17865358d8 | ||
| 
						 | 
					95cb2fa3aa | ||
| 
						 | 
					bba5b90716 | ||
| 
						 | 
					afb1c1fba3 | ||
| 
						 | 
					95b6b70a70 | ||
| 
						 | 
					44a7a9b16f | ||
| 
						 | 
					49f1b476b5 | ||
| 
						 | 
					e83a092449 | ||
| 
						 | 
					380ba92708 | ||
| 
						 | 
					7e8e11bfd6 | ||
| 
						 | 
					3c7d0f441d | ||
| 
						 | 
					23fffddf95 | ||
| 
						 | 
					88ec0fc043 | ||
| 
						 | 
					774d14ee18 | ||
| 
						 | 
					66f50039b0 | ||
| 
						 | 
					99361ee0e4 | ||
| 
						 | 
					89eda06a27 | ||
| 
						 | 
					6c0af46903 | ||
| 
						 | 
					846ff81102 | ||
| 
						 | 
					35914c35e1 | ||
| 
						 | 
					237f55d7e2 | ||
| 
						 | 
					8cdfca24cf | ||
| 
						 | 
					60f04d3987 | ||
| 
						 | 
					2c31757953 | ||
| 
						 | 
					505767ef31 | ||
| 
						 | 
					6c9fce8964 | ||
| 
						 | 
					1f7e3a4498 | ||
| 
						 | 
					6d44063077 | ||
| 
						 | 
					8fc6512164 | ||
| 
						 | 
					aaed0058ce | ||
| 
						 | 
					57e71d5545 | ||
| 
						 | 
					6d393f976a | ||
| 
						 | 
					f7eaf56691 | ||
| 
						 | 
					2c9c0f6cea | ||
| 
						 | 
					c2f43d0d29 | ||
| 
						 | 
					a2dd5867a1 | ||
| 
						 | 
					adc4efb694 | ||
| 
						 | 
					62e39920cd | ||
| 
						 | 
					2a77c6a6e6 | ||
| 
						 | 
					1562808cf6 | ||
| 
						 | 
					7a6c3f5f5e | ||
| 
						 | 
					ee0303fd36 | ||
| 
						 | 
					286714606b | ||
| 
						 | 
					0af05f88fa | ||
| 
						 | 
					f60195a075 | ||
| 
						 | 
					7c49e389a8 | ||
| 
						 | 
					b43b1b4299 | ||
| 
						 | 
					03f87a0927 | ||
| 
						 | 
					dab0f53634 | ||
| 
						 | 
					c01c17623a | ||
| 
						 | 
					582e93b955 | 
							
								
								
									
										42
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -1,16 +1,50 @@
 | 
			
		||||
# Change Log
 | 
			
		||||
All notable changes to this project will be documented in this file.
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v3.9.5_7.3.0-oss
 | 
			
		||||
## Wazuh Docker v3.11.1_7.5.1
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update to Wazuh version 3.9.5_7.3.0-oss
 | 
			
		||||
- Update to Wazuh version 3.11.1_7.5.1
 | 
			
		||||
- Filebeat configuration file updated to latest version ([@manuasir](https://github.com/manuasir)) [#271](https://github.com/wazuh/wazuh-docker/pull/271)
 | 
			
		||||
- Allow using the hostname as node_name for managers ([@JPLachance](https://github.com/JPLachance)) [#261](https://github.com/wazuh/wazuh-docker/pull/261)
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v3.9.3_7.2.0-oss
 | 
			
		||||
## Wazuh Docker v3.11.0_7.5.1
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
- Support for OSS Elastic Docker images.
 | 
			
		||||
 | 
			
		||||
- Update to Wazuh version 3.11.0_7.5.1
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v3.10.2_7.5.0
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update to Wazuh version 3.10.2_7.5.0
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v3.10.2_7.3.2
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update to Wazuh version 3.10.2_7.3.2
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v3.10.0_7.3.2
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update to Wazuh version 3.10.0_7.3.2
 | 
			
		||||
 | 
			
		||||
## Wazuh Docker v3.9.5_7.2.1
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- Update to Wazuh version 3.9.5_7.2.1
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
* `master` branch contains the latest code, be aware of possible bugs on this branch.
 | 
			
		||||
* `Wazuh.Version_ElasticStack.Version` (for example 3.9.5_7.3.0) 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.10.2_7.5.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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								VERSION
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								VERSION
									
									
									
									
									
								
							@@ -1,2 +1,2 @@
 | 
			
		||||
WAZUH-DOCKER_VERSION="3.9.5_7.3.0"
 | 
			
		||||
REVISION="3950"
 | 
			
		||||
WAZUH-DOCKER_VERSION="3.11.1_7.5.1"
 | 
			
		||||
REVISION="31110"
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ version: '2'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  wazuh:
 | 
			
		||||
    image: wazuh/wazuh:3.9.5_7.3.0-oss
 | 
			
		||||
    image: wazuh/wazuh:3.11.1_7.5.1
 | 
			
		||||
    hostname: wazuh-manager
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -13,7 +13,7 @@ services:
 | 
			
		||||
      - "55000:55000"
 | 
			
		||||
 | 
			
		||||
  elasticsearch:
 | 
			
		||||
    image: wazuh/wazuh-elasticsearch:3.9.5_7.3.0-oss
 | 
			
		||||
    image: wazuh/wazuh-elasticsearch:3.11.1_7.5.1
 | 
			
		||||
    hostname: elasticsearch
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
@@ -30,7 +30,7 @@ services:
 | 
			
		||||
    mem_limit: 2g
 | 
			
		||||
 | 
			
		||||
  kibana:
 | 
			
		||||
    image: wazuh/wazuh-kibana:3.9.5_7.3.0-oss
 | 
			
		||||
    image: wazuh/wazuh-kibana:3.11.1_7.5.1
 | 
			
		||||
    hostname: kibana
 | 
			
		||||
    restart: always
 | 
			
		||||
    depends_on:
 | 
			
		||||
@@ -39,7 +39,7 @@ services:
 | 
			
		||||
      - elasticsearch:elasticsearch
 | 
			
		||||
      - wazuh:wazuh
 | 
			
		||||
  nginx:
 | 
			
		||||
    image: wazuh/wazuh-nginx:3.9.5_7.3.0
 | 
			
		||||
    image: wazuh/wazuh-nginx:3.11.1_7.5.1
 | 
			
		||||
    hostname: nginx
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
 | 
			
		||||
ARG ELASTIC_VERSION=7.3.0
 | 
			
		||||
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTIC_VERSION}
 | 
			
		||||
ARG ELASTIC_VERSION=7.5.1
 | 
			
		||||
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"
 | 
			
		||||
@@ -11,10 +11,11 @@ ENV ALERTS_SHARDS="1" \
 | 
			
		||||
ENV API_USER="foo" \
 | 
			
		||||
    API_PASS="bar"
 | 
			
		||||
 | 
			
		||||
ENV XPACK_ML="true" 
 | 
			
		||||
 | 
			
		||||
ENV ENABLE_CONFIGURE_S3="false"
 | 
			
		||||
 | 
			
		||||
ARG TEMPLATE_VERSION=v3.9.5
 | 
			
		||||
ARG TEMPLATE_VERSION=v3.11.1
 | 
			
		||||
 | 
			
		||||
# Elasticearch cluster configuration environment variables
 | 
			
		||||
# If ELASTIC_CLUSTER is set to "true" the following variables will be added to the Elasticsearch configuration
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,28 @@ run_as_other_user_if_needed() {
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#Disabling xpack features
 | 
			
		||||
 | 
			
		||||
elasticsearch_config_file="/usr/share/elasticsearch/config/elasticsearch.yml"
 | 
			
		||||
if grep -Fq  "#xpack features" "$elasticsearch_config_file";
 | 
			
		||||
then 
 | 
			
		||||
  declare -A CONFIG_MAP=(
 | 
			
		||||
  [xpack.ml.enabled]=$XPACK_ML
 | 
			
		||||
  )
 | 
			
		||||
  for i in "${!CONFIG_MAP[@]}"
 | 
			
		||||
  do
 | 
			
		||||
    if [ "${CONFIG_MAP[$i]}" != "" ]; then
 | 
			
		||||
      sed -i 's/.'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $elasticsearch_config_file
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
else
 | 
			
		||||
  echo "
 | 
			
		||||
#xpack features
 | 
			
		||||
xpack.ml.enabled: $XPACK_ML
 | 
			
		||||
 " >> $elasticsearch_config_file
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Run load settings script.
 | 
			
		||||
 | 
			
		||||
./config_cluster.sh
 | 
			
		||||
 
 | 
			
		||||
@@ -5,14 +5,14 @@ set -e
 | 
			
		||||
 | 
			
		||||
el_url=${ELASTICSEARCH_URL}
 | 
			
		||||
 | 
			
		||||
if [ "x${WAZUH_API_URL}" = "x" ]; then
 | 
			
		||||
  wazuh_url="https://wazuh"
 | 
			
		||||
 | 
			
		||||
if [[ ${ENABLED_XPACK} != "true" || "x${ELASTICSEARCH_USERNAME}" = "x" || "x${ELASTICSEARCH_PASSWORD}" = "x" ]]; then
 | 
			
		||||
  auth=""
 | 
			
		||||
else
 | 
			
		||||
  wazuh_url="${WAZUH_API_URL}"
 | 
			
		||||
  auth="--user ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
until curl -XGET $el_url; do
 | 
			
		||||
until curl ${auth} -XGET $el_url; do
 | 
			
		||||
  >&2 echo "Elastic is unavailable - sleeping"
 | 
			
		||||
  sleep 5
 | 
			
		||||
done
 | 
			
		||||
@@ -38,44 +38,14 @@ if [ $ENABLE_CONFIGURE_S3 ]; then
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#Insert default templates
 | 
			
		||||
 | 
			
		||||
API_PASS_Q=`echo "$API_PASS" | tr -d '"'`
 | 
			
		||||
API_USER_Q=`echo "$API_USER" | tr -d '"'`
 | 
			
		||||
API_PASSWORD=`echo -n $API_PASS_Q | base64`
 | 
			
		||||
 | 
			
		||||
echo "Setting API credentials into Wazuh APP"
 | 
			
		||||
CONFIG_CODE=$(curl -s -o /dev/null -w "%{http_code}" -XGET $el_url/.wazuh/_doc/1513629884013)
 | 
			
		||||
 | 
			
		||||
if [ "x$CONFIG_CODE" != "x200" ]; then
 | 
			
		||||
  curl -s -XPOST $el_url/.wazuh/_doc/1513629884013 -H 'Content-Type: application/json' -d'
 | 
			
		||||
  {
 | 
			
		||||
    "api_user": "'"$API_USER_Q"'",
 | 
			
		||||
    "api_password": "'"$API_PASSWORD"'",
 | 
			
		||||
    "url": "'"$wazuh_url"'",
 | 
			
		||||
    "api_port": "55000",
 | 
			
		||||
    "insecure": "true",
 | 
			
		||||
    "component": "API",
 | 
			
		||||
    "cluster_info": {
 | 
			
		||||
      "manager": "wazuh-manager",
 | 
			
		||||
      "cluster": "Disabled",
 | 
			
		||||
      "status": "disabled"
 | 
			
		||||
    },
 | 
			
		||||
    "extensions": {
 | 
			
		||||
      "oscap": true,
 | 
			
		||||
      "audit": true,
 | 
			
		||||
      "pci": true,
 | 
			
		||||
      "aws": true,
 | 
			
		||||
      "virustotal": true,
 | 
			
		||||
      "gdpr": true,
 | 
			
		||||
      "ciscat": true
 | 
			
		||||
    }
 | 
			
		||||
curl -XPUT "$el_url/_cluster/settings" ${auth} -H 'Content-Type: application/json' -d'
 | 
			
		||||
{
 | 
			
		||||
  "persistent": {
 | 
			
		||||
    "xpack.monitoring.collection.enabled": true
 | 
			
		||||
  }
 | 
			
		||||
  ' > /dev/null
 | 
			
		||||
else
 | 
			
		||||
  echo "Wazuh APP already configured"
 | 
			
		||||
fi
 | 
			
		||||
sleep 5
 | 
			
		||||
}
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
# Set cluster delayed timeout when node falls
 | 
			
		||||
curl -X PUT "$el_url/_all/_settings" -H 'Content-Type: application/json' -d'
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,19 @@
 | 
			
		||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
 | 
			
		||||
FROM docker.elastic.co/kibana/kibana-oss:7.3.0
 | 
			
		||||
ARG ELASTIC_VERSION=7.3.0
 | 
			
		||||
ARG WAZUH_VERSION=3.9.5
 | 
			
		||||
FROM docker.elastic.co/kibana/kibana:7.5.1
 | 
			
		||||
USER kibana
 | 
			
		||||
ARG ELASTIC_VERSION=7.5.1
 | 
			
		||||
ARG WAZUH_VERSION=3.11.1
 | 
			
		||||
ARG WAZUH_APP_VERSION="${WAZUH_VERSION}_${ELASTIC_VERSION}"
 | 
			
		||||
 | 
			
		||||
#ADD  https://packages.wazuh.com/wazuhapp/wazuhapp-${WAZUH_APP_VERSION}.zip /usr/share/kibana/
 | 
			
		||||
 | 
			
		||||
RUN /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-${WAZUH_APP_VERSION}.zip
 | 
			
		||||
# RUN rm -rf /tmp/wazuhapp-${WAZUH_APP_VERSION}.zip
 | 
			
		||||
 | 
			
		||||
USER root
 | 
			
		||||
 | 
			
		||||
ADD  https://packages.wazuh.com/wazuhapp/wazuhapp-${WAZUH_APP_VERSION}.zip /tmp
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
COPY config/entrypoint.sh ./entrypoint.sh
 | 
			
		||||
RUN chmod 755 ./entrypoint.sh
 | 
			
		||||
 | 
			
		||||
USER kibana
 | 
			
		||||
 | 
			
		||||
ENV PATTERN="" \
 | 
			
		||||
    CHECKS_PATTERN="" \
 | 
			
		||||
    CHECKS_TEMPLATE="" \
 | 
			
		||||
@@ -36,12 +34,21 @@ ENV PATTERN="" \
 | 
			
		||||
    WAZUH_VERSION_REPLICAS="" \
 | 
			
		||||
    IP_SELECTOR="" \
 | 
			
		||||
    IP_IGNORE="" \
 | 
			
		||||
    XPACK_RBAC_ENABLED="" \
 | 
			
		||||
    WAZUH_MONITORING_ENABLED="" \
 | 
			
		||||
    WAZUH_MONITORING_FREQUENCY="" \
 | 
			
		||||
    WAZUH_MONITORING_SHARDS="" \
 | 
			
		||||
    WAZUH_MONITORING_REPLICAS="" \
 | 
			
		||||
    ADMIN_PRIVILEGES=""
 | 
			
		||||
 | 
			
		||||
ARG XPACK_CANVAS="true"
 | 
			
		||||
ARG XPACK_LOGS="true"
 | 
			
		||||
ARG XPACK_INFRA="true"
 | 
			
		||||
ARG XPACK_ML="true"
 | 
			
		||||
ARG XPACK_DEVTOOLS="true"
 | 
			
		||||
ARG XPACK_MONITORING="true"
 | 
			
		||||
ARG XPACK_APM="true"
 | 
			
		||||
 | 
			
		||||
ARG CHANGE_WELCOME="false"
 | 
			
		||||
 | 
			
		||||
COPY --chown=kibana:kibana ./config/wazuh_app_config.sh ./
 | 
			
		||||
@@ -52,12 +59,18 @@ COPY --chown=kibana:kibana ./config/kibana_settings.sh ./
 | 
			
		||||
 | 
			
		||||
RUN chmod +x ./kibana_settings.sh
 | 
			
		||||
 | 
			
		||||
COPY --chown=kibana:kibana ./config/xpack_config.sh ./
 | 
			
		||||
 | 
			
		||||
RUN chmod +x ./xpack_config.sh
 | 
			
		||||
 | 
			
		||||
RUN ./xpack_config.sh
 | 
			
		||||
 | 
			
		||||
COPY --chown=kibana:kibana ./config/welcome_wazuh.sh ./
 | 
			
		||||
 | 
			
		||||
RUN chmod +x ./welcome_wazuh.sh
 | 
			
		||||
 | 
			
		||||
RUN ./welcome_wazuh.sh
 | 
			
		||||
 | 
			
		||||
USER kibana
 | 
			
		||||
RUN /usr/local/bin/kibana-docker --optimize
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ./entrypoint.sh
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,13 @@ else
 | 
			
		||||
  el_url="${ELASTICSEARCH_URL}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
until curl -XGET $el_url; do
 | 
			
		||||
if [[ ${ENABLED_XPACK} != "true" || "x${ELASTICSEARCH_USERNAME}" = "x" || "x${ELASTICSEARCH_PASSWORD}" = "x" ]]; then
 | 
			
		||||
  auth=""
 | 
			
		||||
else
 | 
			
		||||
  auth="--user ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
until curl -XGET $el_url ${auth}; do
 | 
			
		||||
  >&2 echo "Elastic is unavailable - sleeping"
 | 
			
		||||
  sleep 5
 | 
			
		||||
done
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,14 @@ if [ "$KIBANA_INDEX" != "" ]; then
 | 
			
		||||
    echo "kibana.index: $KIBANA_INDEX" >> /usr/share/kibana/config/kibana.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# If XPACK_SECURITY_ENABLED was set, then change the xpack.security.enabled option from true (default) to false.
 | 
			
		||||
if [ "$XPACK_SECURITY_ENABLED" != "" ]; then
 | 
			
		||||
  if grep -q 'xpack.security.enabled' /usr/share/kibana/config/kibana.yml; then
 | 
			
		||||
    sed -i '/xpack.security.enabled/d' /usr/share/kibana/config/kibana.yml
 | 
			
		||||
  fi
 | 
			
		||||
    echo "xpack.security.enabled: $XPACK_SECURITY_ENABLED" >> /usr/share/kibana/config/kibana.yml
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$KIBANA_IP" != "" ]; then
 | 
			
		||||
  kibana_ip="$KIBANA_IP"
 | 
			
		||||
else
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,12 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
 | 
			
		||||
 | 
			
		||||
kibana_config_file="/usr/share/kibana/plugins/wazuh/config.yml"
 | 
			
		||||
wazuh_url="${WAZUH_API_URL:-https://wazuh}"
 | 
			
		||||
wazuh_port="${API_PORT:-55000}"
 | 
			
		||||
api_user="${API_USER:-foo}"
 | 
			
		||||
api_password="${API_PASS:-bar}"
 | 
			
		||||
 | 
			
		||||
kibana_config_file="/usr/share/kibana/plugins/wazuh/wazuh.yml"
 | 
			
		||||
 | 
			
		||||
declare -A CONFIG_MAP=(
 | 
			
		||||
  [pattern]=$PATTERN
 | 
			
		||||
@@ -24,6 +29,7 @@ declare -A CONFIG_MAP=(
 | 
			
		||||
  [wazuh-version.replicas]=$WAZUH_VERSION_REPLICAS
 | 
			
		||||
  [ip.selector]=$IP_SELECTOR
 | 
			
		||||
  [ip.ignore]=$IP_IGNORE
 | 
			
		||||
  [xpack.rbac.enabled]=$XPACK_RBAC_ENABLED
 | 
			
		||||
  [wazuh.monitoring.enabled]=$WAZUH_MONITORING_ENABLED
 | 
			
		||||
  [wazuh.monitoring.frequency]=$WAZUH_MONITORING_FREQUENCY
 | 
			
		||||
  [wazuh.monitoring.shards]=$WAZUH_MONITORING_SHARDS
 | 
			
		||||
@@ -37,3 +43,23 @@ do
 | 
			
		||||
        sed -i 's/.*#'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $kibana_config_file
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# remove default API entry (new in 3.11.0_7.5.1)
 | 
			
		||||
sed -ie '/- default:/,+4d' $kibana_config_file
 | 
			
		||||
 | 
			
		||||
CONFIG_CODE=$(curl -s -o /dev/null -w "%{http_code}" -XGET $el_url/.wazuh/_doc/1513629884013 ${auth})
 | 
			
		||||
 | 
			
		||||
grep -q 1513629884013 $kibana_config_file
 | 
			
		||||
_config_exists=$?
 | 
			
		||||
 | 
			
		||||
if [[ "x$CONFIG_CODE" != "x200" && $_config_exists -ne 0 ]]; then
 | 
			
		||||
cat << EOF >> $kibana_config_file 
 | 
			
		||||
  - 1513629884013:
 | 
			
		||||
      url: $wazuh_url
 | 
			
		||||
      port: $wazuh_port
 | 
			
		||||
      user: $api_user
 | 
			
		||||
      password: $api_password
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
  echo "Wazuh APP already configured"
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								kibana/config/xpack_config.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								kibana/config/xpack_config.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
 | 
			
		||||
 | 
			
		||||
kibana_config_file="/usr/share/kibana/config/kibana.yml"
 | 
			
		||||
if grep -Fq  "#xpack features" "$kibana_config_file";
 | 
			
		||||
then 
 | 
			
		||||
  declare -A CONFIG_MAP=(
 | 
			
		||||
    [xpack.apm.ui.enabled]=$XPACK_APM
 | 
			
		||||
    [xpack.grokdebugger.enabled]=$XPACK_DEVTOOLS
 | 
			
		||||
    [xpack.searchprofiler.enabled]=$XPACK_DEVTOOLS
 | 
			
		||||
    [xpack.ml.enabled]=$XPACK_ML
 | 
			
		||||
    [xpack.canvas.enabled]=$XPACK_CANVAS
 | 
			
		||||
    [xpack.infra.enabled]=$XPACK_INFRA
 | 
			
		||||
    [xpack.monitoring.enabled]=$XPACK_MONITORING
 | 
			
		||||
    [console.enabled]=$XPACK_DEVTOOLS
 | 
			
		||||
  )
 | 
			
		||||
  for i in "${!CONFIG_MAP[@]}"
 | 
			
		||||
  do
 | 
			
		||||
    if [ "${CONFIG_MAP[$i]}" != "" ]; then
 | 
			
		||||
      sed -i 's/.'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $kibana_config_file
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
else
 | 
			
		||||
  echo "
 | 
			
		||||
#xpack features
 | 
			
		||||
xpack.apm.ui.enabled: $XPACK_APM 
 | 
			
		||||
xpack.grokdebugger.enabled: $XPACK_DEVTOOLS
 | 
			
		||||
xpack.searchprofiler.enabled: $XPACK_DEVTOOLS
 | 
			
		||||
xpack.ml.enabled: $XPACK_ML
 | 
			
		||||
xpack.canvas.enabled: $XPACK_CANVAS
 | 
			
		||||
xpack.infra.enabled: $XPACK_INFRA
 | 
			
		||||
xpack.monitoring.enabled: $XPACK_MONITORING
 | 
			
		||||
console.enabled: $XPACK_DEVTOOLS
 | 
			
		||||
" >> $kibana_config_file
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
 | 
			
		||||
FROM phusion/baseimage:latest
 | 
			
		||||
 | 
			
		||||
ARG FILEBEAT_VERSION=7.3.0
 | 
			
		||||
ARG FILEBEAT_VERSION=7.5.1
 | 
			
		||||
 | 
			
		||||
ARG WAZUH_VERSION=3.9.5-1
 | 
			
		||||
ARG WAZUH_VERSION=3.11.1-1
 | 
			
		||||
 | 
			
		||||
ENV API_USER="foo" \
 | 
			
		||||
   API_PASS="bar"
 | 
			
		||||
 | 
			
		||||
ARG TEMPLATE_VERSION="v3.9.5"
 | 
			
		||||
ARG TEMPLATE_VERSION="v3.11.1"
 | 
			
		||||
 | 
			
		||||
# Set repositories.
 | 
			
		||||
RUN set -x && echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list && \
 | 
			
		||||
@@ -38,8 +38,8 @@ COPY config/01-config_filebeat.sh /entrypoint-scripts/01-config_filebeat.sh
 | 
			
		||||
RUN chmod 755 /init.bash && \
 | 
			
		||||
   sync && /init.bash && \
 | 
			
		||||
   sync && rm /init.bash && \
 | 
			
		||||
   curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-${FILEBEAT_VERSION}-amd64.deb &&\
 | 
			
		||||
   dpkg -i filebeat-oss-${FILEBEAT_VERSION}-amd64.deb && rm -f filebeat-oss-${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 && \
 | 
			
		||||
   chmod 755 /entrypoint.sh && \
 | 
			
		||||
   chmod 755 /entrypoint-scripts/00-wazuh.sh && \
 | 
			
		||||
   chmod 755 /entrypoint-scripts/01-config_filebeat.sh
 | 
			
		||||
 
 | 
			
		||||
@@ -104,6 +104,17 @@ function ossec_shutdown(){
 | 
			
		||||
  ${WAZUH_INSTALL_PATH}/bin/ossec-control stop;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
# Allow users to set the container hostname as <node_name> dynamically on
 | 
			
		||||
# container start.
 | 
			
		||||
#
 | 
			
		||||
# To use this:
 | 
			
		||||
# 1. Create your own ossec.conf file
 | 
			
		||||
# 2. In your ossec.conf file, set to_be_replaced_by_hostname as your node_name
 | 
			
		||||
# 3. Mount your custom ossec.conf file at $WAZUH_CONFIG_MOUNT/etc/ossec.conf
 | 
			
		||||
##############################################################################
 | 
			
		||||
sed -i 's/<node_name>to_be_replaced_by_hostname<\/node_name>/<node_name>'"${HOSTNAME}"'<\/node_name>/g' ${WAZUH_INSTALL_PATH}/etc/ossec.conf
 | 
			
		||||
 | 
			
		||||
# Trap exit signals and do a proper shutdown
 | 
			
		||||
trap "ossec_shutdown; exit" SIGINT SIGTERM
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,8 +3,17 @@
 | 
			
		||||
 | 
			
		||||
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,15 @@
 | 
			
		||||
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
 | 
			
		||||
filebeat.inputs:
 | 
			
		||||
  - type: log
 | 
			
		||||
    paths:
 | 
			
		||||
      - '/var/ossec/logs/alerts/alerts.json'
 | 
			
		||||
# Wazuh - Filebeat configuration file
 | 
			
		||||
filebeat.modules:
 | 
			
		||||
  - module: wazuh
 | 
			
		||||
    alerts:
 | 
			
		||||
      enabled: true
 | 
			
		||||
    archives:
 | 
			
		||||
      enabled: false
 | 
			
		||||
 | 
			
		||||
setup.template.json.enabled: true
 | 
			
		||||
setup.template.json.path: "/etc/filebeat/wazuh-template.json"
 | 
			
		||||
setup.template.json.name: "wazuh"
 | 
			
		||||
setup.template.json.path: '/etc/filebeat/wazuh-template.json'
 | 
			
		||||
setup.template.json.name: 'wazuh'
 | 
			
		||||
setup.template.overwrite: true
 | 
			
		||||
setup.ilm.enabled: false
 | 
			
		||||
 | 
			
		||||
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}'
 | 
			
		||||
output.elasticsearch.hosts: ['http://elasticsearch:9200']
 | 
			
		||||
		Reference in New Issue
	
	Block a user