| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/bin/bash
- # Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
- ##############################################################################
- # Downloading Cert Gen Tool
- ##############################################################################
- ## Variables
- CERT_TOOL=wazuh-certs-tool.sh
- PASSWORD_TOOL=wazuh-passwords-tool.sh
- PACKAGES_URL=https://packages.wazuh.com/$CERT_TOOL_VERSION/
- PACKAGES_DEV_URL=https://packages-dev.wazuh.com/$CERT_TOOL_VERSION/
- OUTPUT_FILE="/$CERT_TOOL"
- download_package() {
- local url=$1
- echo "Checking $url$CERT_TOOL ..."
- if curl -fsL "$url$CERT_TOOL" -o "$OUTPUT_FILE"; then
- echo "Downloaded $CERT_TOOL from $url"
- return 0
- else
- return 1
- fi
- }
- # Try first the prod URL, if it fails try the dev URL
- if download_package "$PACKAGES_URL"; then
- :
- elif download_package "$PACKAGES_DEV_URL"; then
- :
- else
- echo "The tool to create the certificates does not exist in any bucket"
- echo "ERROR: certificates were not created"
- exit 1
- fi
- cp /config/certs.yml /config.yml
- chmod 700 "$OUTPUT_FILE"
- ##############################################################################
- # Creating Cluster certificates
- ##############################################################################
- ## Execute cert tool and parsin cert.yml to set UID permissions
- source /$CERT_TOOL -A
- nodes_server=$( cert_parseYaml /config.yml | grep -E "nodes[_]+server[_]+[0-9]+=" | sed -e 's/nodes__server__[0-9]=//' | sed 's/"//g' )
- node_names=($nodes_server)
- echo "Moving created certificates to the destination directory"
- cp /wazuh-certificates/* /certificates/
- echo "Changing certificate permissions"
- chmod -R 500 /certificates
- chmod -R 400 /certificates/*
- echo "Setting UID indexer and dashboard"
- chown 1000:1000 /certificates/*
- echo "Setting UID for wazuh manager and worker"
- cp /certificates/root-ca.pem /certificates/root-ca-manager.pem
- cp /certificates/root-ca.key /certificates/root-ca-manager.key
- chown 999:999 /certificates/root-ca-manager.pem
- chown 999:999 /certificates/root-ca-manager.key
- for i in ${node_names[@]};
- do
- chown 999:999 "/certificates/${i}.pem"
- chown 999:999 "/certificates/${i}-key.pem"
- done
|