Cómo cambiar la contraseña de root en un contenedor Docker

Es posible que ya hayas leído que algunas imágenes de Docker se lanzaron con contraseñas nulas. Esto podría haber llevado fácilmente a problemas de seguridad graves en cualquier contenedor que pudieras haber desplegado con esa imagen descargada.

Aunque esto no es típico, es posible que desees que tus contenedores se desplieguen con un mayor nivel de seguridad. Si bien esto puede no ser la mejor solución para cada contenedor con el que trabajas, es posible cambiar la contraseña de root en una imagen. Puede ser complicado, porque algunas imágenes dependen de una contraseña establecida para el usuario root. Sin embargo, si planeas realizar mucho desarrollo interno, ciertamente no quieres basar esos contenedores en imágenes con una seguridad débil.

Con ese fin, quiero mostrarte cómo puedes cambiar la contraseña de root en un contenedor en ejecución y luego confirmar ese cambio en la imagen.

Lo demostraré con la imagen oficial de CentOS. Deberías poder hacer esto con cualquiera de las imágenes oficiales de distribuciones de Linux de DockerHub (o cualquier imagen que hayas creado por tu cuenta). Asumiré que ya tienes Docker instalado y en funcionamiento.

Índice de Contenido
  1. Desplegando el contenedor
  2. Confirmar el cambio
  3. Verificar la nueva imagen
  4. Precaución

Desplegando el contenedor

Lo primero que debes hacer es desplegar el contenedor de CentOS, basado en la imagen oficial. Esto se hace con el siguiente comando:

docker run -it centos

Cómo acceder a instancias de AWS utilizando SSH y cómo importar tu propio par de claves

Cuando ese comando se complete (es posible que primero deba descargar la imagen de CentOS), te encontrarás en el símbolo del sistema de bash como usuario root. Ejecuta el siguiente comando:

cat /etc/shadow | grep root

Deberías ver que el usuario root no tiene una contraseña encriptada (Figura A).

Vamos a cambiar eso. Ejecuta el siguiente comando:

passwd

Cuando se te solicite, escribe y verifica una nueva contraseña para el usuario root. Cuando esto se complete, puedes ejecutar el comando cat /etc/shadow | grep root para ver que ahora el usuario root tiene una contraseña encriptada.

El auge del cibercrimen en la Dark Web rusa: una mirada al panorama delictivo en línea

Confirmar el cambio

De vuelta en tu símbolo del sistema regular (fuera del contenedor), debes confirmar el cambio en la imagen (de lo contrario, simplemente desplegarás más contenedores sin contraseña). Para confirmar nuestro cambio, ejecuta el siguiente comando:

docker commit CONTAINER_ID NOMBRE_IMAGEN_NUEVA

Donde CONTAINER_ID es el ID del contenedor para el cual cambiaste la contraseña de root, y NOMBRE_IMAGEN_NUEVA es un nombre único para la nueva imagen. Si no estás seguro de cuál es el ID, ejecuta el comando docker ps -a. No es necesario utilizar el ID completo del contenedor, solo los primeros cuatro caracteres serán suficientes.

Verificar la nueva imagen

Para ver si esto funcionó, despliega un nuevo contenedor con la nueva imagen de la siguiente manera:

docker run -it NOMBRE_IMAGEN_NUEVA

Donde NOMBRE_IMAGEN_NUEVA es el nuevo nombre de la imagen.

¡Cuidado! Vulnerabilidad en Google Calendar permite robo de credenciales

Te encontrarás dentro del nuevo contenedor desplegado. Ejecuta el siguiente comando:

cat /etc/shadow | grep root

Deberías ver que la contraseña de root está encriptada (Figura B).

Sal del contenedor y ahora estás listo para comenzar a desplegar otros contenedores basados en tu imagen de CentOS modificada.

Precaución

Como mencioné, este método puede no funcionar para todas las ocasiones. Puede haber casos en los que alguien haya creado una imagen muy específica (para un propósito específico) y la contraseña de root debe permanecer sin cambios. Pero para aquellos contenedores que deseas desplegar, que están basados en imágenes base oficiales (como CentOS, Ubuntu, Debian, etc.), puedes cambiar esa contraseña de root por algo sólido y descansar tranquilo sabiendo que se ha cambiado la contraseña de root.

El uso de autenticación multifactorial aumenta

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a Cómo cambiar la contraseña de root en un contenedor Docker , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.