diff --git a/elasticsearch/Dockerfile b/elasticsearch/Dockerfile index 08f772f3..ba2da793 100644 --- a/elasticsearch/Dockerfile +++ b/elasticsearch/Dockerfile @@ -7,6 +7,8 @@ ENV ALERTS_SHARDS="1" \ ENV API_USER="foo" \ API_PASS="bar" +ENV XPACK_ML="false" + ENV TEMPLATE_VERSION=v3.8.2 ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/elasticsearch/wazuh-elastic6-template-alerts.json /usr/share/elasticsearch/config diff --git a/elasticsearch/config/load_settings.sh b/elasticsearch/config/load_settings.sh index 282d8b0d..59f04daf 100644 --- a/elasticsearch/config/load_settings.sh +++ b/elasticsearch/config/load_settings.sh @@ -68,4 +68,25 @@ curl -XPUT "$el_url/_cluster/settings" -H 'Content-Type: application/json' -d' } ' +#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 + echo "Elasticsearch is ready." diff --git a/kibana/Dockerfile b/kibana/Dockerfile index 6832f55d..cc15f368 100644 --- a/kibana/Dockerfile +++ b/kibana/Dockerfile @@ -39,7 +39,13 @@ ENV PATTERN="" \ WAZUH_MONITORING_FREQUENCY="" \ WAZUH_MONITORING_SHARDS="" \ WAZUH_MONITORING_REPLICAS="" \ - ADMIN_PRIVILEGES="" + ADMIN_PRIVILEGES=""\ + XPACK_CANVAS="false"\ + XPACK_LOGS="false"\ + XPACK_INFRA="false"\ + XPACK_ML="false"\ + XPACK_DEVTOOLS="false"\ + XPACK_APM="false" COPY --chown=kibana:kibana ./config/wazuh_app_config.sh ./ @@ -50,5 +56,9 @@ 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 + ENTRYPOINT /entrypoint.sh diff --git a/kibana/config/kibana_settings.sh b/kibana/config/kibana_settings.sh index d2f16e9c..29f993e1 100644 --- a/kibana/config/kibana_settings.sh +++ b/kibana/config/kibana_settings.sh @@ -47,48 +47,4 @@ sleep 5 # Do not ask user to help providing usage statistics to Elastic curl -POST "http://kibana:5601/api/telemetry/v1/optIn" -H "Content-Type: application/json" -H "kbn-xsrf: true" -d '{"enabled":false}' - -kibana_config_file="/usr/share/kibana/plugins/wazuh/config.yml" -if grep -vq "#xpack features" "$kibana_config_file"; -then - -echo " -#xpack features -xpack.apm.ui.enabled: false -xpack.grokdebugger.enabled: false -xpack.searchprofiler.enabled: false -xpack.security.enabled: false -xpack.graph.enabled: false -xpack.ml.enabled: false -xpack.monitoring.enabled: false -xpack.reporting.enabled: false -xpack.watcher.enabled: false -" >> /usr/share/kibana/config/kibana.yml - -else - - -declare -A CONFIG_MAP=( - -[xpack.apm.ui.enabled]= $XPACK_APM -[xpack.grokdebugger.enabled]= $XPACK_DEVTOOLS -[xpack.searchprofiler.enabled]= $XPACK_DEVTOOLS -[xpack.security.enable]= $XPACK_SECURITY -[xpack.graph.enabled]= $XPACK_GRAPHS -[xpack.ml.enabled]=$XPACK_MACHINELEARNING -[xpack.monitoring.enabled]= $XPACK_MONITORING -[xpack.reporting.enable]= $XPACK_REPORTING -[xpack.watcher.enabled]= $XPACK_WATCHER -) - -for i in "${!CONFIG_MAP[@]}" -do - if [ "${CONFIG_MAP[$i]}" != "" ]; then - sed -i 's/.*'"$i"'.*/'"$i"': '"${CONFIG_MAP[$i]}"'/' $kibana_config_file - fi -done - -fi - - echo "End settings" diff --git a/kibana/config/xpack_config.sh b/kibana/config/xpack_config.sh new file mode 100644 index 00000000..b2a8ec65 --- /dev/null +++ b/kibana/config/xpack_config.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +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.logstash.enabled]=$XPACK_LOGS + [xpack.infra.enabled]=$XPACK_INFRA + ) + 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.logstash.enabled: $XPACK_LOGS + xpack.infra.enabled: $XPACK_INFRA + console.enabled: $XPACK_INFRA + " >> $kibana_config_file +fi