Hello,
Je suis entrain d'apprendre à utiliser docker/docker-compose et j'aimerai mettre en place un Vault en https. Je fais ça avec un VM sous ubuntu 20.04.
Avec ce que j'ai fait actuellement, j'arrive à acceder à Vault depuis l'IP mais je bloque sur le fait de vouloir le passer en HTTPS avec un certificat openssl.
Voilà ce que j'ai :
Docker-compose.yaml :
version: '3.6'
services:
vault:
build:
context: ./vault
dockerfile: Dockerfile
ports:
- 8200:8200
volumes:
- ./vault/config:/vault/config
- ./vault/policies:/vault/policies
- ./vault/data:/vault/data
- ./vault/logs:/vault/logs
- ./vault/volume_test/:/vault/volume_test
environment:
- VAULT_ADDR=http://192.168.56.8:8200
command: server -config=/vault/config/vault-config.json
cap_add:
- IPC_LOCK
Mon dockerfile :
# base image
FROM alpine:3.7
# set vault version
ENV VAULT_VERSION 0.10.3
# create a new directory
RUN mkdir /vault
# download dependencies
RUN apk --no-cache add \
bash \
ca-certificates \
wget
# download and set up vault
RUN wget --quiet --output-document=/tmp/vault.zip https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip && \
unzip /tmp/vault.zip -d /vault && \
rm -f /tmp/vault.zip && \
chmod +x /vault
# update PATH
ENV PATH="PATH=$PATH:$PWD/vault"
# add the config file
COPY ./config/vault-config.json /vault/config/vault-config.json
# expose port 8200
EXPOSE 8200
# run vault
ENTRYPOINT ["vault"]
Mon vault- conf.json file :
{
"backend": {
"file": {
"path": "vault/data"
}
},
"listener": {
"tcp":{
"address": "0.0.0.0:8200",
"tls_disable": 1
}
},
"ui": true
}
Juste avec ça, ça fonctionne.
Maintenant voici ce que j'ai fait pour tenter de mettre en place le https :
apt-get install openssl
openssl genrsa -aes256 -out certificat.key 4096
mv certificat.key certificat.key.lock
openssl rsa -in certificat.key.lock -out certificat.key
openssl req -new -key certificat.key.lock -out certificat.csr
openssl x509 -req -days 365 -in certificat.csr -signkey certificat.key.lock -out certificat.crt
J'ai ajouté les chemins vers mon .crt et mon .key dans mon vault-config.json :
{
"backend": {
"file": {
"path": "vault/data"
}
},
"listener": {
"tcp":{
"address": "0.0.0.0:8200",
"tls_cert_file": "/path/to/my/certificat.crt",
"tls_key_file": "/path/to/my/key.crt"
},
"ui": true
}
Je fais mon build et ça ne fonctionne pas.... Je n'arrive pas à voir commen faire.
Quelqu'un pour m'aiguiller ?
Merci d'avance :)
timothee-benedet
Membre depuis le 09/11/2020
Hello,
Je suis entrain d'apprendre à utiliser docker/docker-compose et j'aimerai mettre en place un Vault en https. Je fais ça avec un VM sous ubuntu 20.04.
Avec ce que j'ai fait actuellement, j'arrive à acceder à Vault depuis l'IP mais je bloque sur le fait de vouloir le passer en HTTPS avec un certificat openssl.
Voilà ce que j'ai :
Docker-compose.yaml :
Mon dockerfile :
Mon vault- conf.json file :
Juste avec ça, ça fonctionne.
Maintenant voici ce que j'ai fait pour tenter de mettre en place le https :
J'ai ajouté les chemins vers mon .crt et mon .key dans mon vault-config.json :
Je fais mon build et ça ne fonctionne pas.... Je n'arrive pas à voir commen faire.
Quelqu'un pour m'aiguiller ?
Merci d'avance :)