Compare commits

...

70 Commits

Author SHA1 Message Date
Manuel Gutierrez
0bee9836d4 Switch to OSS images and delete XPACK 2020-01-22 17:13:50 +01:00
Jose M. Garcia
61a1385462 Merge pull request #298 from wazuh/release-wazuh_3.11.2_7.5.1
Release wazuh 3.11.2 7.5.1
2020-01-22 15:58:07 +01:00
Manuel Gutierrez
427b87d6e1 Update CHANGELOG.md 2020-01-22 15:54:13 +01:00
Manuel Gutierrez
8615cd4d21 Bump nodejs to v10 2020-01-22 15:48:27 +01:00
Manuel Gutierrez
a4a64e66f4 Update CHANGELOG.md 2020-01-22 14:39:07 +01:00
Manuel Gutierrez
a561deeaec Update VERSION 2020-01-22 14:38:53 +01:00
Manuel Gutierrez
9f710f90c3 Bump to version 3.11.2_7.5.1 2020-01-22 14:38:28 +01:00
Manuel J. Bernal
4b054e88ca Merge pull request #293 from AnthonySendra/patch-1
Fix S3 plugin installation in Elasticsearch
2020-01-15 15:11:30 +01:00
Anthony Sendra
43da69277f fix s3 plugin 2020-01-10 12:49:09 +01:00
Jose M. Garcia
17865358d8 Merge pull request #289 from wazuh/wazuh-release-v3.11.1_7.5.1
Wazuh Release v3.11.1_7.5.1
2020-01-07 15:47:05 +01:00
Jose M
95cb2fa3aa Update CHANGELOG.md 2020-01-07 15:11:08 +01:00
Jose M
bba5b90716 Update CHANGELOG.md 2020-01-07 14:56:04 +01:00
Jose M
afb1c1fba3 Bump version to 3.11.1_7.5.1 2020-01-07 14:55:52 +01:00
Jose M
95b6b70a70 Merge branch 'master' into devel 2020-01-07 14:38:55 +01:00
Jose M. Garcia
44a7a9b16f Merge pull request #287 from wazuh/3.11.0_7.5.1
Release 3.11.0_7.5.1
2019-12-27 17:30:46 +01:00
Manuel Gutierrez
49f1b476b5 Update changelog 2019-12-27 17:17:39 +01:00
Manuel Gutierrez
e83a092449 Clarify comment 2019-12-27 17:07:58 +01:00
Manuel Gutierrez
380ba92708 Check for previous API settings on Wazuh Plugin 2019-12-27 15:48:49 +01:00
Manuel Gutierrez
7e8e11bfd6 Write API entry to wazuh.yml 2019-12-26 16:56:24 +01:00
Manuel Gutierrez
3c7d0f441d Remove API setup from Elasticsearch image 2019-12-26 16:49:31 +01:00
Manuel Gutierrez
23fffddf95 Remove default entry 2019-12-26 13:30:10 +01:00
Manuel Gutierrez
88ec0fc043 Update config filename 2019-12-24 18:06:45 +01:00
Manuel Gutierrez
774d14ee18 Update changelog 2019-12-24 17:02:53 +01:00
Manuel Gutierrez
66f50039b0 Bump version to 3.11.0_7.5.1 2019-12-24 16:42:49 +01:00
manuasir
99361ee0e4 Merge branch 'stable' 2019-12-16 19:37:57 +01:00
Manuel J. Bernal
89eda06a27 Bump version 2019-12-16 19:34:57 +01:00
Manuel J. Bernal
6c0af46903 Merge pull request #271 from wazuh/fix-266-filebeat
Updated Filebeat configuration file
2019-11-13 15:33:02 +01:00
manuasir
846ff81102 Updated Filebeat configuration file, fixes #266 2019-11-13 15:31:06 +01:00
Manuel J. Bernal
35914c35e1 Merge pull request #261 from coveord/feature/node-name-hostname
Allow using the hostname as node_name for managers
2019-10-08 12:06:29 +02:00
Jean-Philippe Lachance
237f55d7e2 * Apply Jose's code review 2019-10-07 11:03:40 -04:00
Jean-Philippe Lachance
8cdfca24cf + Add a simple sed in the Wazuh manager configuration script to replace "to_be_replaced_by_hostname" by the hostname in ossec.conf 2019-10-03 10:00:37 -04:00
manuasir
60f04d3987 Merge branch 'stable' into devel 2019-10-01 15:25:20 +02:00
manuasir
2c31757953 Merge branch '3.10.2_7.3.2' 2019-10-01 15:09:37 +02:00
Manuel J. Bernal
505767ef31 Merge pull request #249 from wazuh/3.10.2_7.3.2-release
Wazuh Docker Release 3.10.2 7.3.2
2019-09-24 14:28:43 +02:00
Jose M
6c9fce8964 Bump version to 3.10.2_7.3.2 2019-09-24 14:24:05 +02:00
Jose M
1f7e3a4498 Update CHANGELOG.md 2019-09-24 14:22:57 +02:00
Jose M
6d44063077 Update docker-compose with 3.10.0_7.3.2 images 2019-09-24 13:12:57 +02:00
Jose M
8fc6512164 Bump version to 3.10.0_7.3.2 2019-09-24 13:05:43 +02:00
Jose M
aaed0058ce Update CHANGELOG.md 2019-09-24 13:04:41 +02:00
manuasir
57e71d5545 Using ELK 7.3.0 2019-08-20 13:47:19 +02:00
Jose M
6d393f976a Change Filebeat link to production. 2019-08-13 12:17:27 +02:00
Jose M
f7eaf56691 Bump version 2019-08-12 17:32:26 +02:00
Jose M
2c9c0f6cea Update README.md 2019-08-12 17:31:58 +02:00
Jose M
c2f43d0d29 Update CHANGELOG.md 2019-08-12 17:31:51 +02:00
Jose M
a2dd5867a1 Bump docker-compose to 3.9.4_7.2.0 2019-08-12 17:27:11 +02:00
Jose M
adc4efb694 Bump version 2019-08-12 17:26:01 +02:00
Jose M
62e39920cd Update CHANGELOG.md 2019-08-12 17:25:32 +02:00
Jose M
2a77c6a6e6 Implement wazuh Filebeat Module 2019-08-12 17:20:56 +02:00
manuasir
1562808cf6 Merge branch '3.9.3_7.2.0' 2019-07-22 16:37:13 +02:00
Manuel J. Bernal
b0782505e1 Merge pull request #218 from wazuh/issue-217
Adapt Kibana image to v7.2.0
2019-07-22 16:35:47 +02:00
manuasir
507d27a448 Updated Kibana RESTful API version to v2 2019-07-22 16:30:26 +02:00
manuasir
40bb635036 Allowing install Wazuh plugin as root 2019-07-22 16:19:41 +02:00
Manuel J. Bernal
61b1f45bc4 Updated docker-compose 2019-07-20 18:33:04 +02:00
Manuel J. Bernal
881a0abfa5 Bump version 2019-07-20 18:32:33 +02:00
manuasir
d8c14e108c Merge branch '3.9.3_7.2.0' of https://github.com/wazuh/wazuh-docker into 3.9.3_7.2.0 2019-07-20 18:24:29 +02:00
Manuel J. Bernal
60b32d0d21 Improve cluster configuration 2019-07-20 18:23:33 +02:00
Manuel J. Bernal
a481d9c376 Merge pull request #213 from wazuh/3.9.3_fix_cluster_config
Fixed duplicated cluster configuration
2019-07-20 00:00:31 +02:00
Manuel J. Bernal
9740ddcf3e Added more fixes to configuration files 2019-07-19 23:03:11 +02:00
manuasir
5db7509b52 Fixed cluster configuration 2019-07-19 18:06:27 +02:00
manuasir
7a6c3f5f5e Merged to master 2019-06-18 19:18:59 +02:00
Manuel J. Bernal
ee0303fd36 Added docker images from tag 2019-06-10 21:33:06 +02:00
manuasir
286714606b Merge branch '3.9.1_7.1.0' 2019-06-04 15:33:52 +02:00
manuasir
0af05f88fa Merge branch '3.9.1_6.8.0' 2019-06-04 15:33:45 +02:00
manuasir
f60195a075 Merge branch '3.9.0_6.7.2' 2019-05-18 12:01:56 +02:00
manuasir
7c49e389a8 Merge branch '3.9.0_6.7.2' 2019-05-10 22:49:17 +02:00
manuasir
b43b1b4299 Merge branch '3.9.0_6.7.1' 2019-05-03 17:56:16 +02:00
manuasir
03f87a0927 Merge branch 'master' of https://github.com/wazuh/wazuh-docker 2019-04-03 14:45:44 +02:00
manuasir
dab0f53634 Updated CHANGELOG. 2019-04-03 14:42:38 +02:00
manuasir
c01c17623a Merge branch '3.8.2_6.7.0' 2019-04-03 14:41:42 +02:00
Manuel J. Bernal
582e93b955 Update CHANGELOG.md 2019-04-02 20:58:16 +02:00
17 changed files with 202 additions and 266 deletions

View File

@@ -1,6 +1,66 @@
# Change Log
All notable changes to this project will be documented in this file.
## Wazuh Docker v3.11.2_7.5.1
### Added
- Bumped Node.js to version 10 ([@xr09](https://github.com/xr09)) [#8615cd4](https://github.com/wazuh/wazuh-docker/commit/8615cd4d2152601e55becc7c3675360938e74b6a)
### Fixed
- Fix S3 Plugin ([@AnthonySendra](https://github.com/AnthonySendra)) [#293](https://github.com/wazuh/wazuh-docker/pull/293)
## Wazuh Docker v3.11.1_7.5.1
### Added
- 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.11.0_7.5.1
### Added
- 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
### 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

View File

@@ -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.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.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

View File

@@ -1,2 +1,2 @@
WAZUH-DOCKER_VERSION="3.9.2_7.1.1"
REVISION="3920"
WAZUH-DOCKER_VERSION="3.11.2_7.5.1"
REVISION="31120"

View File

@@ -3,7 +3,7 @@ version: '2'
services:
wazuh:
image: wazuh/wazuh:3.9.2_7.1.1
image: wazuh/wazuh:3.11.2_7.5.1-oss
hostname: wazuh-manager
restart: always
ports:
@@ -11,25 +11,26 @@ services:
- "1515:1515"
- "514:514/udp"
- "55000:55000"
elasticsearch:
image: wazuh/wazuh-elasticsearch:3.9.2_7.1.1
image: wazuh/wazuh-elasticsearch:3.11.2_7.5.1-oss
hostname: elasticsearch
restart: always
ports:
- "9200:9200"
environment:
- node.name=node-1
- cluster.name=wazuh
- network.host=0.0.0.0
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- ELASTIC_CLUSTER=true
- CLUSTER_NODE_MASTER=true
- CLUSTER_MASTER_NODE_NAME=es01
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 2g
kibana:
image: wazuh/wazuh-kibana:3.9.2_7.1.1
image: wazuh/wazuh-kibana:3.11.2_7.5.1-oss
hostname: kibana
restart: always
depends_on:
@@ -38,7 +39,7 @@ services:
- elasticsearch:elasticsearch
- wazuh:wazuh
nginx:
image: wazuh/wazuh-nginx:3.9.2_7.1.1
image: wazuh/wazuh-nginx:3.11.2_7.5.1
hostname: nginx
restart: always
environment:

View File

@@ -1,6 +1,7 @@
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
ARG ELASTIC_VERSION=7.1.1
FROM docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}
ARG ELASTIC_VERSION=7.5.1
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTIC_VERSION}
ARG 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,21 +12,20 @@ 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.2
ARG TEMPLATE_VERSION=v3.11.2
# Elasticearch cluster configuration environment variables
# 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.
ENV ELASTIC_CLUSTER="false" \
CLUSTER_NAME="wazuh" \
CLUSTER_NODE_MASTER="true" \
CLUSTER_NODE_MASTER="false" \
CLUSTER_NODE_DATA="true" \
CLUSTER_NODE_INGEST="true" \
CLUSTER_NODE_NAME="wazuh-elasticsearch" \
CLUSTER_MASTER_NODE_NAME="master-node" \
CLUSTER_MEMORY_LOCK="true" \
CLUSTER_DISCOVERY_SERVICE="wazuh-elasticsearch" \
CLUSTER_NUMBER_OF_MASTERS="2" \
@@ -33,8 +33,6 @@ ENV ELASTIC_CLUSTER="false" \
CLUSTER_DELAYED_TIMEOUT="1m" \
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
RUN chmod 755 /entrypoint.sh
@@ -43,7 +41,7 @@ COPY --chown=elasticsearch:elasticsearch ./config/load_settings.sh ./
RUN chmod +x ./load_settings.sh
RUN ${bin/elasticsearch-plugin install --batch S3_PLUGIN_URL}
RUN bin/elasticsearch-plugin install --batch $S3_PLUGIN_URL
COPY config/configure_s3.sh ./config/configure_s3.sh
RUN chmod 755 ./config/configure_s3.sh

View File

@@ -3,39 +3,55 @@
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
if [[ $ELASTIC_CLUSTER == "true" ]]
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
remove_cluster_config(){
sed -i '/# cluster node/,/# end cluster config/d' $1
}
# Add the cluster configuration
echo "
#cluster node
node:
master: ${CLUSTER_NODE_MASTER}
data: ${CLUSTER_NODE_DATA}
ingest: ${CLUSTER_NODE_INGEST}
name: ${CLUSTER_NODE_NAME}
max_local_storage_nodes: ${CLUSTER_MAX_NODES}
# If Elasticsearch cluster is enable, then set up the elasticsearch.yml
if [[ $ELASTIC_CLUSTER == "true" && $CLUSTER_NODE_MASTER != "" && $CLUSTER_NODE_DATA != "" && $CLUSTER_NODE_INGEST != "" && $CLUSTER_MASTER_NODE_NAME != "" ]]; then
# Remove the old configuration
remove_single_node_conf $elastic_config_file
remove_cluster_config $elastic_config_file
bootstrap:
memory_lock: ${CLUSTER_MEMORY_LOCK}
cluster.initial_master_nodes:
- '${CLUSTER_INITIAL_MASTER_NODES}'
" >> $elastic_config_file
else
cat >> $elastic_config_file <<'EOF'
cluster.initial_master_nodes:
- 'elasticsearch'
if [[ $CLUSTER_NODE_MASTER == "true" ]]; then
# Add the master configuration
# cluster.initial_master_nodes for bootstrap the cluster
cat > $elastic_config_file << EOF
# cluster node
network.host: 0.0.0.0
node.name: $CLUSTER_MASTER_NODE_NAME
node.master: $CLUSTER_NODE_MASTER
cluster.initial_master_nodes:
- $CLUSTER_MASTER_NODE_NAME
# end cluster config"
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
# 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

View File

@@ -20,27 +20,6 @@ run_as_other_user_if_needed() {
}
#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

View File

@@ -5,19 +5,8 @@ set -e
el_url=${ELASTICSEARCH_URL}
if [ "x${WAZUH_API_URL}" = "x" ]; then
wazuh_url="https://wazuh"
else
wazuh_url="${WAZUH_API_URL}"
fi
if [[ ${ENABLED_XPACK} != "true" || "x${ELASTICSEARCH_USERNAME}" = "x" || "x${ELASTICSEARCH_PASSWORD}" = "x" ]]; then
auth=""
else
auth="--user ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}"
fi
until curl ${auth} -XGET $el_url; do
until curl -XGET $el_url; do
>&2 echo "Elastic is unavailable - sleeping"
sleep 5
done
@@ -43,52 +32,6 @@ 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 ${auth})
if [ "x$CONFIG_CODE" != "x200" ]; then
curl -s -XPOST $el_url/.wazuh/_doc/1513629884013 ${auth} -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
}
}
' > /dev/null
else
echo "Wazuh APP already configured"
fi
sleep 5
curl -XPUT "$el_url/_cluster/settings" ${auth} -H 'Content-Type: application/json' -d'
{
"persistent": {
"xpack.monitoring.collection.enabled": true
}
}
'
# Set cluster delayed timeout when node falls
curl -X PUT "$el_url/_all/_settings" -H 'Content-Type: application/json' -d'
@@ -99,5 +42,4 @@ curl -X PUT "$el_url/_all/_settings" -H 'Content-Type: application/json' -d'
}
'
echo "Elasticsearch is ready."

View File

@@ -1,21 +1,19 @@
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
FROM docker.elastic.co/kibana/kibana:7.1.1
ARG ELASTIC_VERSION=7.1.1
ARG WAZUH_VERSION=3.9.2
FROM docker.elastic.co/kibana/kibana-oss:7.5.1
USER kibana
ARG ELASTIC_VERSION=7.5.1
ARG WAZUH_VERSION=3.11.2
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 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,21 +34,12 @@ 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 ./
@@ -61,18 +50,12 @@ 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

View File

@@ -13,13 +13,7 @@ else
el_url="${ELASTICSEARCH_URL}"
fi
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
until curl -XGET $el_url; do
>&2 echo "Elastic is unavailable - sleeping"
sleep 5
done

View File

@@ -30,14 +30,6 @@ 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
@@ -74,6 +66,6 @@ curl -POST "http://$kibana_ip:5601/api/kibana/settings" -H "Content-Type: applic
sleep 5
# 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"

View File

@@ -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,7 +29,6 @@ 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
@@ -38,3 +42,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)
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

View File

@@ -1,35 +0,0 @@
#!/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

View File

@@ -1,19 +1,19 @@
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
FROM phusion/baseimage:latest
ARG FILEBEAT_VERSION=7.1.1
ARG FILEBEAT_VERSION=7.5.1
ARG WAZUH_VERSION=3.9.2-1
ARG WAZUH_VERSION=3.11.2-1
ENV API_USER="foo" \
API_PASS="bar"
ARG TEMPLATE_VERSION="v3.9.2"
ARG TEMPLATE_VERSION="v3.11.2"
# Set repositories.
RUN set -x && echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list && \
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add - && \
curl --silent --location https://deb.nodesource.com/setup_8.x | bash - && \
curl --silent --location https://deb.nodesource.com/setup_10.x | bash - && \
echo "postfix postfix/mailname string wazuh-manager" | debconf-set-selections && \
echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections && \
groupadd -g 1000 ossec && useradd -u 1000 -g 1000 -d /var/ossec ossec
@@ -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-${FILEBEAT_VERSION}-amd64.deb &&\
dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb && rm -f filebeat-${FILEBEAT_VERSION}-amd64.deb && \
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 && \
chmod 755 /entrypoint.sh && \
chmod 755 /entrypoint-scripts/00-wazuh.sh && \
chmod 755 /entrypoint-scripts/01-config_filebeat.sh
@@ -77,4 +77,4 @@ ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/e
RUN chmod go-w /etc/filebeat/wazuh-template.json
# Run all services
ENTRYPOINT ["/entrypoint.sh"]
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -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

View File

@@ -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
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

View File

@@ -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']