# docker-compose up -d --build consul-server-1
# consul acl policy create -name "agent-token" -description "Agent's Token Policy" -rules @agent-policy.hcl
# consul acl token create -description "Agent Token" -policy-name "agent-token"
# consul acl set-agent-token default "<SecretID>"
# consul acl policy create -name "vault-token" -description "Vault Token Policy" -rules @vault-policy.hcl
# consul acl token create -description "Vault Token" -policy-name "vault-token"
# consul acl policy create -name "rabbitmq-token" -description "Rabbitmq Token Policy" -rules @rabbitmq-policy.hcl
# consul acl token create -description "Rabbitmq Token" -policy-name "rabbitmq-token"
# docker-compose up -d --build rabbitmq-server-1
# docker-compose up -d --build rabbitmq-server-2
# docker-compose up -d --build rabbitmq-server-3
# docker-compose up -d --build vault
# docker exec -it redstack_vault_1 /bin/sh
# vault operator init
# vault operator unseal (repeat process 3x use 3 tokens # )
# vault login (Insert Root Token)
# vault secrets enable rabbitmq
# vault write rabbitmq/config/connection connection_uri="http://10.5.0.6:15672" username="guest" password="guest"
# vault write rabbitmq/roles/dc1-rabbitmq vhosts='{"/":{"configure": ".*", "write": ".*", "read": ".*"}}'
# vault read rabbitmq/creds/dc1-rabbitmq
# cd validate-rabbitmq-go
# go run consumer/receive.go
# sh producer/loop.sh
# docker-compose up -d --build cassandra-server-1
# docker-compose up -d --build cassandra-server-2
# docker-compose up -d --build cassandra-server-3
# vault secrets enable database
# vault write database/config/cassandra-database \
plugin_name="cassandra-database-plugin" \
hosts=10.5.0.9 \
protocol_version=4 \
username=cassandra \
password=cassandra \
allowed_roles=cassandra-access
# vault write database/roles/cassandra-access \
plugin_name="cassandra-database-plugin" \
db_name=cassandra-database \
creation_statements="CREATE USER '{{username}}' WITH PASSWORD '{{password}}' NOSUPERUSER; \
GRANT SELECT ON ALL KEYSPACES TO {{username}};" \
default_ttl="1h" \
max_ttl="24h"
# vault read database/creds/cassandra-access
# cqlsh 10.5.0.9 -u<vaultuserdynamic> -p<vaultpassworddynamic>
On the host that will build the stack build the following command:
# sysctl -w vm.max_map_count=262144
Next Steps:
# docker-compose up -d --build wazuh
# docker-compose up -d --build elasticsearch
# docker-compose up -d --build kibana
# docker-compose up -d --build nginx
Access:
login: foo
password: bar
Consul Acl
Rabbitmq Cluster-Formation
Vault RabbitMQ Secrets Engine
Vault Cassandra Database