forked from wazuh/wazuh-docker
Configure certificates owner
This commit is contained in:
@@ -6,11 +6,13 @@ single-node/wazuh-certificates/*
|
||||
single-node/wazuh-certificates-tool.log
|
||||
single-node/wazuh-certs-tool*.sh
|
||||
single-node/config*.yml
|
||||
single-node/config/*/certs/*
|
||||
multi-node/wazuh-certificates
|
||||
multi-node/wazuh-certificates/*
|
||||
multi-node/wazuh-certificates-tool.log
|
||||
multi-node/wazuh-certs-tool*.sh
|
||||
multi-node/config*.yml
|
||||
multi-node/config/*/certs/*
|
||||
|
||||
# Documentation
|
||||
docs/book/
|
||||
|
||||
@@ -57,7 +57,7 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines
|
||||
5. Run the certificate creation script:
|
||||
|
||||
```bash
|
||||
bash ./wazuh-certs-tool.sh -A
|
||||
sudo bash certificates-conf.sh --cert --copy --priv
|
||||
```
|
||||
|
||||
6. Start the Wazuh environment using `docker compose`:
|
||||
|
||||
@@ -29,30 +29,30 @@ This deployment uses the `single-node/docker-compose.yml` file, which defines a
|
||||
|
||||
```yaml
|
||||
nodes:
|
||||
# Wazuh indexer server nodes
|
||||
indexer:
|
||||
# Wazuh indexer server nodes
|
||||
indexer:
|
||||
- name: wazuh.indexer
|
||||
dns: "wazuh.indexer"
|
||||
dns: "wazuh.indexer"
|
||||
|
||||
# Wazuh manager nodes
|
||||
# Use node_type only with more than one Wazuh manager
|
||||
manager:
|
||||
# Wazuh manager nodes
|
||||
# Use node_type only with more than one Wazuh manager
|
||||
manager:
|
||||
- name: wazuh.manager
|
||||
dns: "wazuh.manager"
|
||||
dns: "wazuh.manager"
|
||||
|
||||
# Wazuh dashboard node
|
||||
dashboard:
|
||||
# Wazuh dashboard node
|
||||
dashboard:
|
||||
- name: wazuh.dashboard
|
||||
dns: "wazuh.dashboard"
|
||||
dns: "wazuh.dashboard"
|
||||
```
|
||||
|
||||
5. Run the certificate creation script:
|
||||
|
||||
```bash
|
||||
bash ./wazuh-certs-tool.sh -A
|
||||
sudo bash certificates-conf.sh --cert --copy --priv
|
||||
```
|
||||
|
||||
5. Start the Wazuh environment using `docker compose`:
|
||||
6. Start the Wazuh environment using `docker compose`:
|
||||
|
||||
* To run in the foreground (logs will be displayed in your current terminal; press `Ctrl+C` to stop):
|
||||
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Path configuration (adjust according to your folder structure)
|
||||
CERT_TOOL="./wazuh-certs-tool.sh"
|
||||
CONFIG_FILE="./config.yml"
|
||||
OUTPUT_DIR="./wazuh-certificates" # Folder created by the script by default
|
||||
|
||||
# Parse arguments
|
||||
DO_CERT=false
|
||||
DO_COPY=false
|
||||
DO_PRIV=false
|
||||
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
--cert) DO_CERT=true ;;
|
||||
--copy) DO_COPY=true ;;
|
||||
--priv) DO_PRIV=true ;;
|
||||
*)
|
||||
echo "Unknown option: $arg"
|
||||
echo "Usage: $0 [--cert] [--copy] [--priv]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# If no flags provided, show usage
|
||||
if ! $DO_CERT && ! $DO_COPY && ! $DO_PRIV; then
|
||||
echo "Usage: $0 [--cert] [--copy] [--priv]"
|
||||
echo " --cert Generate certificates using wazuh-certs-tool.sh"
|
||||
echo " --copy Copy certificates to the corresponding config directories"
|
||||
echo " --priv Set ownership and permissions on the certificate files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. Generate certificates
|
||||
if $DO_CERT; then
|
||||
echo "Generating certificates"
|
||||
bash $CERT_TOOL -A
|
||||
fi
|
||||
|
||||
# 2. Copy certificates to config directories
|
||||
if $DO_COPY; then
|
||||
echo "Setting up directories for certificates"
|
||||
mkdir -p ./config/wazuh_indexer_1/certs
|
||||
mkdir -p ./config/wazuh_indexer_2/certs
|
||||
mkdir -p ./config/wazuh_indexer_3/certs
|
||||
mkdir -p ./config/wazuh_dashboard/certs
|
||||
mkdir -p ./config/wazuh_cluster_master/certs
|
||||
mkdir -p ./config/wazuh_cluster_worker/certs
|
||||
|
||||
echo "Copying certificates for Indexer 1"
|
||||
cp $OUTPUT_DIR/wazuh1.indexer* ./config/wazuh_indexer_1/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_indexer_1/certs/
|
||||
cp $OUTPUT_DIR/admin* ./config/wazuh_indexer_1/certs/
|
||||
|
||||
echo "Copying certificates for Indexer 2"
|
||||
cp $OUTPUT_DIR/wazuh2.indexer* ./config/wazuh_indexer_2/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_indexer_2/certs/
|
||||
|
||||
echo "Copying certificates for Indexer 3"
|
||||
cp $OUTPUT_DIR/wazuh3.indexer* ./config/wazuh_indexer_3/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_indexer_3/certs/
|
||||
|
||||
echo "Copying certificates for Dashboard"
|
||||
cp $OUTPUT_DIR/wazuh.dashboard* ./config/wazuh_dashboard/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_dashboard/certs/
|
||||
|
||||
echo "Copying certificates for Master Manager"
|
||||
cp $OUTPUT_DIR/wazuh.master* ./config/wazuh_cluster_master/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_cluster_master/certs/
|
||||
|
||||
echo "Copying certificates for Worker Manager"
|
||||
cp $OUTPUT_DIR/wazuh.worker* ./config/wazuh_cluster_worker/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_cluster_worker/certs/
|
||||
fi
|
||||
|
||||
# 3. Set ownership and permissions
|
||||
if $DO_PRIV; then
|
||||
echo "Configuring permissions for Indexer 1 (1000:1000)"
|
||||
chown -R 1000:1000 ./config/wazuh_indexer_1/certs
|
||||
chmod 400 ./config/wazuh_indexer_1/certs/*
|
||||
|
||||
echo "Configuring permissions for Indexer 2 (1000:1000)"
|
||||
chown -R 1000:1000 ./config/wazuh_indexer_2/certs
|
||||
chmod 400 ./config/wazuh_indexer_2/certs/*
|
||||
|
||||
echo "Configuring permissions for Indexer 3 (1000:1000)"
|
||||
chown -R 1000:1000 ./config/wazuh_indexer_3/certs
|
||||
chmod 400 ./config/wazuh_indexer_3/certs/*
|
||||
|
||||
echo "Setting permissions for Dashboard (1000:1000)"
|
||||
chown -R 1000:1000 ./config/wazuh_dashboard/certs
|
||||
chmod 400 ./config/wazuh_dashboard/certs/*
|
||||
|
||||
echo "Configuring permissions for Master Manager (999:999)"
|
||||
chown -R 999:999 ./config/wazuh_cluster_master/certs
|
||||
chmod 400 ./config/wazuh_cluster_master/certs/*
|
||||
|
||||
echo "Configuring permissions for Worker Manager (999:999)"
|
||||
chown -R 999:999 ./config/wazuh_cluster_worker/certs
|
||||
chmod 400 ./config/wazuh_cluster_worker/certs/*
|
||||
fi
|
||||
|
||||
echo "Process completed."
|
||||
@@ -40,9 +40,9 @@ services:
|
||||
- master-wazuh-logs:/var/wazuh-manager/logs
|
||||
- master-wazuh-queue:/var/wazuh-manager/queue
|
||||
- master-wazuh-var-multigroups:/var/wazuh-manager/var/multigroups
|
||||
- ./wazuh-certificates/root-ca.pem:/var/wazuh-manager/etc/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh.master.pem:/var/wazuh-manager/etc/certs/manager.pem
|
||||
- ./wazuh-certificates/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
|
||||
- ./config/wazuh_cluster_master/certs/root-ca.pem:/var/wazuh-manager/etc/certs/root-ca.pem
|
||||
- ./config/wazuh_cluster_master/certs/wazuh.master.pem:/var/wazuh-manager/etc/certs/manager.pem
|
||||
- ./config/wazuh_cluster_master/certs/wazuh.master-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
|
||||
|
||||
wazuh.worker:
|
||||
image: wazuh/wazuh-manager:5.0.0
|
||||
@@ -81,9 +81,9 @@ services:
|
||||
- worker-wazuh-logs:/var/wazuh-manager/logs
|
||||
- worker-wazuh-queue:/var/wazuh-manager/queue
|
||||
- worker-wazuh-var-multigroups:/var/wazuh-manager/var/multigroups
|
||||
- ./wazuh-certificates/root-ca.pem:/var/wazuh-manager/etc/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh.worker.pem:/var/wazuh-manager/etc/certs/manager.pem
|
||||
- ./wazuh-certificates/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
|
||||
- ./config/wazuh_cluster_worker/certs/root-ca.pem:/var/wazuh-manager/etc/certs/root-ca.pem
|
||||
- ./config/wazuh_cluster_worker/certs/wazuh.worker.pem:/var/wazuh-manager/etc/certs/manager.pem
|
||||
- ./config/wazuh_cluster_worker/certs/wazuh.worker-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
|
||||
|
||||
wazuh1.indexer:
|
||||
image: wazuh/wazuh-indexer:5.0.0
|
||||
@@ -117,11 +117,11 @@ services:
|
||||
start_period: 60s
|
||||
volumes:
|
||||
- wazuh-indexer-data-1:/var/lib/wazuh-indexer
|
||||
- ./wazuh-certificates/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./wazuh-certificates/wazuh1.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
- ./wazuh-certificates/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
|
||||
- ./wazuh-certificates/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
|
||||
- ./config/wazuh_indexer_1/certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./config/wazuh_indexer_1/certs/wazuh1.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./config/wazuh_indexer_1/certs/wazuh1.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
- ./config/wazuh_indexer_1/certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
|
||||
- ./config/wazuh_indexer_1/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
|
||||
|
||||
wazuh2.indexer:
|
||||
image: wazuh/wazuh-indexer:5.0.0
|
||||
@@ -157,9 +157,9 @@ services:
|
||||
start_period: 60s
|
||||
volumes:
|
||||
- wazuh-indexer-data-2:/var/lib/wazuh-indexer
|
||||
- ./wazuh-certificates/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./wazuh-certificates/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
- ./config/wazuh_indexer_2/certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./config/wazuh_indexer_2/certs/wazuh2.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./config/wazuh_indexer_2/certs/wazuh2.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
|
||||
wazuh3.indexer:
|
||||
image: wazuh/wazuh-indexer:5.0.0
|
||||
@@ -195,9 +195,9 @@ services:
|
||||
start_period: 60s
|
||||
volumes:
|
||||
- wazuh-indexer-data-3:/var/lib/wazuh-indexer
|
||||
- ./wazuh-certificates/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./wazuh-certificates/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
- ./config/wazuh_indexer_3/certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./config/wazuh_indexer_3/certs/wazuh3.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./config/wazuh_indexer_3/certs/wazuh3.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
|
||||
wazuh.dashboard:
|
||||
image: wazuh/wazuh-dashboard:5.0.0
|
||||
@@ -227,9 +227,9 @@ services:
|
||||
- SERVER_SSL_KEY=/usr/share/wazuh-dashboard/config/certs/wazuh-dashboard-key.pem
|
||||
- OPENSEARCH_SSL_CERTIFICATE_AUTHORITIES=/usr/share/wazuh-dashboard/config/certs/root-ca.pem
|
||||
volumes:
|
||||
- ./wazuh-certificates/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/config/certs/wazuh-dashboard.pem
|
||||
- ./wazuh-certificates/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/config/certs/wazuh-dashboard-key.pem
|
||||
- ./wazuh-certificates/root-ca.pem:/usr/share/wazuh-dashboard/config/certs/root-ca.pem
|
||||
- ./config/wazuh_dashboard/certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/config/certs/wazuh-dashboard.pem
|
||||
- ./config/wazuh_dashboard/certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/config/certs/wazuh-dashboard-key.pem
|
||||
- ./config/wazuh_dashboard/certs/root-ca.pem:/usr/share/wazuh-dashboard/config/certs/root-ca.pem
|
||||
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/config
|
||||
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
|
||||
depends_on:
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Path configuration (adjust according to your folder structure)
|
||||
CERT_TOOL="./wazuh-certs-tool.sh"
|
||||
CONFIG_FILE="./config.yml"
|
||||
OUTPUT_DIR="./wazuh-certificates" # Folder created by the script by default
|
||||
|
||||
# Parse arguments
|
||||
DO_CERT=false
|
||||
DO_COPY=false
|
||||
DO_PRIV=false
|
||||
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
--cert) DO_CERT=true ;;
|
||||
--copy) DO_COPY=true ;;
|
||||
--priv) DO_PRIV=true ;;
|
||||
*)
|
||||
echo "Unknown option: $arg"
|
||||
echo "Usage: $0 [--cert] [--copy] [--priv]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# If no flags provided, show usage
|
||||
if ! $DO_CERT && ! $DO_COPY && ! $DO_PRIV; then
|
||||
echo "Usage: $0 [--cert] [--copy] [--priv]"
|
||||
echo " --cert Generate certificates using wazuh-certs-tool.sh"
|
||||
echo " --copy Copy certificates to the corresponding config directories"
|
||||
echo " --priv Set ownership and permissions on the certificate files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. Generate certificates
|
||||
if $DO_CERT; then
|
||||
echo "Generating certificates"
|
||||
bash $CERT_TOOL -A
|
||||
fi
|
||||
|
||||
# 2. Copy certificates to config directories
|
||||
if $DO_COPY; then
|
||||
echo "Setting up directories for certificates"
|
||||
mkdir -p ./config/wazuh_indexer/certs
|
||||
mkdir -p ./config/wazuh_dashboard/certs
|
||||
mkdir -p ./config/wazuh_cluster/certs
|
||||
|
||||
echo "Copying certificates for Indexer"
|
||||
cp $OUTPUT_DIR/wazuh.indexer* ./config/wazuh_indexer/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_indexer/certs/
|
||||
cp $OUTPUT_DIR/admin* ./config/wazuh_indexer/certs/
|
||||
|
||||
echo "Copying certificates for Dashboard"
|
||||
cp $OUTPUT_DIR/wazuh.dashboard* ./config/wazuh_dashboard/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_dashboard/certs/
|
||||
|
||||
echo "Copying certificates for Manager"
|
||||
cp $OUTPUT_DIR/wazuh.manager* ./config/wazuh_cluster/certs/
|
||||
cp $OUTPUT_DIR/root-ca* ./config/wazuh_cluster/certs/
|
||||
fi
|
||||
|
||||
# 3. Set ownership and permissions
|
||||
if $DO_PRIV; then
|
||||
echo "Configuring permissions for Indexer (1000:1000)"
|
||||
chown -R 1000:1000 ./config/wazuh_indexer/certs
|
||||
chmod 400 ./config/wazuh_indexer/certs/*
|
||||
|
||||
echo "Setting permissions for Dashboard (1000:1000)"
|
||||
chown -R 1000:1000 ./config/wazuh_dashboard/certs
|
||||
chmod 400 ./config/wazuh_dashboard/certs/*
|
||||
|
||||
echo "Configuring permissions for Manager (999:999)"
|
||||
chown -R 999:999 ./config/wazuh_cluster/certs
|
||||
chmod 400 ./config/wazuh_cluster/certs/*
|
||||
fi
|
||||
|
||||
echo "Process completed."
|
||||
@@ -40,9 +40,9 @@ services:
|
||||
- wazuh_logs:/var/wazuh-manager/logs
|
||||
- wazuh_queue:/var/wazuh-manager/queue
|
||||
- wazuh_var_multigroups:/var/wazuh-manager/var/multigroups
|
||||
- ./wazuh-certificates/root-ca.pem:/var/wazuh-manager/etc/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh.manager.pem:/var/wazuh-manager/etc/certs/manager.pem
|
||||
- ./wazuh-certificates/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
|
||||
- ./config/wazuh_cluster/certs/root-ca.pem:/var/wazuh-manager/etc/certs/root-ca.pem
|
||||
- ./config/wazuh_cluster/certs/wazuh.manager.pem:/var/wazuh-manager/etc/certs/manager.pem
|
||||
- ./config/wazuh_cluster/certs/wazuh.manager-key.pem:/var/wazuh-manager/etc/certs/manager-key.pem
|
||||
|
||||
wazuh.indexer:
|
||||
image: wazuh/wazuh-indexer:5.0.0
|
||||
@@ -75,11 +75,11 @@ services:
|
||||
start_period: 60s
|
||||
volumes:
|
||||
- wazuh-indexer-data:/var/lib/wazuh-indexer
|
||||
- ./wazuh-certificates/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./wazuh-certificates/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./wazuh-certificates/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
- ./wazuh-certificates/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
|
||||
- ./wazuh-certificates/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
|
||||
- ./config/wazuh_indexer/certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./config/wazuh_indexer/certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/indexer-key.pem
|
||||
- ./config/wazuh_indexer/certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/indexer.pem
|
||||
- ./config/wazuh_indexer/certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
|
||||
- ./config/wazuh_indexer/certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
|
||||
|
||||
wazuh.dashboard:
|
||||
image: wazuh/wazuh-dashboard:5.0.0
|
||||
@@ -109,9 +109,9 @@ services:
|
||||
- SERVER_SSL_KEY=/usr/share/wazuh-dashboard/config/certs/dashboard-key.pem
|
||||
- OPENSEARCH_SSL_CERTIFICATE_AUTHORITIES=/usr/share/wazuh-dashboard/config/certs/root-ca.pem
|
||||
volumes:
|
||||
- ./wazuh-certificates/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/config/certs/dashboard.pem
|
||||
- ./wazuh-certificates/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/config/certs/dashboard-key.pem
|
||||
- ./wazuh-certificates/root-ca.pem:/usr/share/wazuh-dashboard/config/certs/root-ca.pem
|
||||
- ./config/wazuh_dashboard/certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/config/certs/dashboard.pem
|
||||
- ./config/wazuh_dashboard/certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/config/certs/dashboard-key.pem
|
||||
- ./config/wazuh_dashboard/certs/root-ca.pem:/usr/share/wazuh-dashboard/config/certs/root-ca.pem
|
||||
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/config
|
||||
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
|
||||
depends_on:
|
||||
|
||||
Reference in New Issue
Block a user