Docker Machine / Swarm с Consul - безопасен по умолчанию?

Я использовал команды из this gist (дублируется ниже), чтобы создать Docker Swarm с помощью Consul.

docker-machine create \
  --driver=digitalocean \
  --digitalocean-access-token=$DO_TOKEN \
  --digitalocean-size=512mb \
  --digitalocean-region=nyc3 \
  --digitalocean-private-networking=true \
  --digitalocean-image=ubuntu-15-04-x64 \
    docker-swarm-kv-store

docker $(docker-machine config docker-swarm-kv-store) run -d \
  --net=host progrium/consul --server -bootstrap-expect 1

kvip=$(docker-machine ip docker-swarm-kv-store)

docker-machine create \
  --driver=digitalocean \
  --digitalocean-access-token=$DO_TOKEN \
  --digitalocean-size=2gb \
  --digitalocean-region=nyc3 \
  --digitalocean-private-networking=true \
  --digitalocean-image=ubuntu-15-04-x64 \
  --swarm \
  --swarm-master \
  --swarm-discovery consul://${kvip}:8500 \
  --engine-opt "cluster-store consul://${kvip}:8500" \
  --engine-opt "cluster-advertise eth1:2376" \
    docker-swarm-master

docker-machine create \
  --driver=digitalocean \
  --digitalocean-access-token=$DO_TOKEN \
  --digitalocean-size=2gb \
  --digitalocean-region=nyc3 \
  --digitalocean-private-networking=true \
  --digitalocean-image=ubuntu-15-04-x64 \
  --swarm \
  --swarm-discovery consul://${kvip}:8500 \
  --engine-opt "cluster-store consul://${kvip}:8500" \
  --engine-opt "cluster-advertise eth1:2376" \
    docker-swarm-agent-1

eval $(docker-machine env --swarm docker-swarm-master)
docker info

Обеспечивает ли Docker Machine безопасность роя (возможно, путем скрытого управления SSL-сертификатами), или может кто-нибудь присоединиться к моему кластеру Consul, указав на $ {kvip}: 8500 ?

0
задан 26 April 2017 в 10:18
2 ответа

Похоже на ответ, что кластер не защищен по умолчанию .

Вторая команда, указанная выше, - это место, где запущена консульная служба. Если бы сертификаты передавались, они бы появились в этой строке.

Руководство по началу работы консула Consul Getting Started guide требует только имя хоста/порт другого узла в кластере, к которому вы хотите подключиться -- аутентификация не нужна. Однако, если вы сгенерировали TLS сертификаты, вы можете добавить их , как показано в руководстве DigitalOcean. Одним из предостережений является то, что поскольку в оригинальном вопросе упоминается запуск Consul в контейнере Docker, вам нужно будет использовать тома для перемещения сертификатов в.

.
1
ответ дан 4 December 2019 в 13:41

В дополнение к тому, что упоминает @RyanKennedy, подумайте также, что это может сделать любой желающий:

  • присоединить агента к кластеру консулов (одним из способов избежать этого может быть использование шифрования )
  • представить данные консулу (чего можно избежать, используя ACL-токены )

Очевидно, что все это предполагает, что ничто другое не обеспечивает защиту, но чтобы обеспечить некоторую глубину защиты, я бы определенно рассмотрел два пункта конфигурации, упомянутые выше.

1
ответ дан 4 December 2019 в 13:41

Теги

Похожие вопросы