Cómo configurar el almacenamiento seguro de credenciales para Docker


Aprenda cómo evitar guardar sus credenciales de inicio de sesión de Docker en texto sin formato creando un almacenamiento de credenciales cifrado.

dockerhero.jpg

Imagen: Jack Wallen

Como desarrollador de contenedores, hay momentos en que debe almacenar credenciales para una aplicación o servicio. Esto es especialmente cierto si usa Docker de tal manera que requiera que inicie sesión en un repositorio. Si united states Docker fuera de la caja, esas credenciales de inicio de sesión se almacenan en texto sin formato. Este es claramente un problema de seguridad que debe evitar.

¿Qué puedes hacer?

Afortunadamente, hay una manera de proteger esas contraseñas. No es un proceso uncomplicated, pero tampoco es demasiado desafiante.

Quiero guiarlo a través del proceso de habilitar el almacenamiento seguro de credenciales en Docker. Voy a hacer una demostración en Ubuntu Server 18.04, pero la plataforma no importa, siempre y cuando sea appropriate con el motor de contenedor docker.

VER: Seguridad de Windows 10: una guía para líderes empresariales (TechRepublic Premium)

Lo que necesitarás

Las únicas cosas que necesitará para que esto funcione son:

Instalación, entropía y llaves.

Antes de llegar al proceso de seguridad, necesitamos instalar una herramienta que ayudará a generar entropía. Tenemos que hacer esto porque estamos en una plataforma de servidor sin cabeza. Si va a trabajar en este tutorial en una distribución de escritorio, no tendrá que instalar esta herramienta, ya que puede generar suficiente entropía para la clave GPG moviendo las ventanas y escribiendo en el escritorio.

Sin una GUI, debe instalar rng-resources con el comando:

sudo apt-get install rng-tools -y

Una vez que se finish la instalación, genere la entropía requerida con el comando:

sudo rngd -r /dev/urandom

A continuación, instale la herramienta de paso con el comando:

sudo apt-get install go -y

Ahora podemos generar una nueva clave GPG con el comando:

gpg --entire-produce-vital

Responda las siguientes preguntas para la clave:

  • El tipo de clave (seleccione la predeterminada)

  • Tamaño de clave (seleccionar predeterminado)

  • Validez de clave (seleccionar predeterminado)

Guarde los valores escribiendo y.

A continuación, escriba el nombre, la dirección de correo electrónico, un comentario opcional y luego escriba O para guardar la llave Finalmente se le pedirá que ingrese una nueva frase de contraseña para la clave.

Cómo configurar el almacenamiento de credenciales

Ahora es el momento de configurar el almacenamiento seguro de credenciales. Estos son los pasos para hacer exactamente eso:

  1. Crea un nuevo directorio con el comando mkdir ~ / bin.
  2. Cambie a ese directorio recién creado con el comando cd ~ / bin.
  3. Agregue el directorio a su ruta con el comando echo &#39export Path = $ Path: ~ / bin&#39 >> ~ / .bashrc.
  4. Descargue docker-credential-go con el comando wget https://github.com/docker/docker-credential-helpers/releases/download/v0.6.3/docker-credential-pass-v0.6.3-amd64.tar.gz.
  5. Descomprima el archivo descargado con el comando tar xvzf docker-credential-go-v0.6.3-amd64.tar.gz.
  6. Dele al nuevo archivo los permisos adecuados con el comando chmod a + x docker-credential-pass.
  7. Copie el ejecutable con el comando sudo cp docker-credential-move / usr / area / bin.

Con la instalación de docker-credential-helpers atendida, cierre la sesión y vuelva a iniciarla en el servidor y luego cree un nuevo directorio con el comando:

mkdir ~/.docker

A continuación, debe inicializar la herramienta de paso. Para hacer esto, ubique su ID GPG con el comando:

gpg --record-mystery-keys

Localice la ID asociada con la clave que desea usar y luego inicialice el pase con el comando:

move init STRING

Donde STRING es la ID de clave GPG que desea asociar con el almacenamiento de credenciales.

Ahora crearemos una contraseña para el almacenamiento de credenciales con el comando:

move insert docker-credential-helpers/docker-pass-initialized-check

Una vez que se genera su contraseña, cree un nuevo archivo de configuración con el comando:

sudo nano ~/.docker/config.json

Agregue el siguiente contenido al nuevo archivo:

"experimental": "enabled"

Guarde y cierre el archivo.

Cómo iniciar sesión en Docker

Finalmente, ahora puede iniciar sesión en Docker con el comando:

docker login

Después de iniciar sesión, las credenciales de la ventana acoplable se guardarán en el almacenamiento cifrado y no aparecerán como texto sin formato en el ~ / .docker / config.json archivo. Disfrute de esa capa adicional de seguridad para sus implementaciones de Docker.

Ver también



Enlace a la noticia first