This project demonstrates how to set up a user for each ELK service and store user credentials in keystores.
Brief video explanation: https://github.com/evermight/elk-docker-compose-keystore
Full video explanation: TBD
- Type
docker-compose up --build -d
. - Go to kibana at
https://<ip address of server>:5601
- Login with
elastic
and the password found in the.env
file. - Go to Fleet > Settings.
- Run the
./get-cert-details.sh
to determine your CA finger print and your CA. - Populate the information as shown in this screenshot:
- Press save.
- Ensure everything is operational: metricbeat, filebeat, logstash, APM.
You can now remove any secrets from your .env
file and also change the password for the elastic
user.
- Go to your
.env
file and replaceELASTIC_PASSWORD, APM_PASS, ENCRYPTION_KEY
with fake data. Do NOT delete these variables because I haven't done enough "null" and "empty" checks in my bash scripts. The more important point is that these variables are no longer used. - Go to your
docker-compose.yml
file and delete the lineELASTICSEARCH_PASSWORD
from the environment of thees01
container. It's not used any more. - Go to your
docker-compose.yml
file and delete the linesKIBANA_*
from the environment of thefleet-server
container. It's not used any more. - Go to Kibana Stack Management > Users and change the password for the
elastic
user so that no one can use it again. You can change the password forelastic
under Stack Management.