Razones por las que no deberías implementar Docker sin sudo

Docker es una de las plataformas de contenedores más utilizadas y es muy popular entre los ingenieros y desarrolladores de software. Viene con una poderosa herramienta de interfaz gráfica (CLI) para administrar contenedores Docker y otras tareas relacionadas.

De forma predeterminada, necesita privilegios de root para ejecutar cualquier comando relacionado con Docker en Linux. Por supuesto, puede cambiar esta configuración para que la ejecución sea más cómoda y ejecute los comandos de Docker sin privilegios de usuario raíz, pero debe tener en cuenta las implicaciones de seguridad. Verificar Cómo usar contenedores Docker en Linux.

Razones por las que no debería implementar Docker sin sudo - Linux

¿Cuál es la superficie de ataque en Docker?

La "superficie de ataque" es la cantidad de puntos de ataque, como la cantidad de ventanas, que un usuario malintencionado puede usar para ingresar a su sistema y causar estragos. En general, los sistemas de TI deben tener superficies de ataque mínimas para minimizar los riesgos de seguridad.

En general, la superficie de ataque de Docker es mínima. Los contenedores se ejecutan en un entorno seguro y aislado y no afectan al sistema operativo del host a menos que se configure de otra manera. Además, los contenedores Docker solo ejecutan servicios mínimos, lo que los hace más seguros.

Puede configurar un sistema Linux para controlar Docker sin privilegios de sudo. Esto puede ser apropiado en entornos de desarrollo, pero puede ser una vulnerabilidad de seguridad grave en los sistemas de producción. He aquí por qué Docker nunca se implementa sin sudo.

1. La capacidad de controlar contenedores Docker

Sin privilegios de sudo, cualquier persona con acceso a su sistema o servidor puede controlar todos los aspectos de Docker. Tiene acceso a sus archivos de registro de Docker y puede detener y eliminar contenedores a voluntad o por error. También puede perder datos críticos que son vitales para la continuidad del negocio.

Si usa contenedores Docker en entornos de producción, el tiempo de inactividad conduce a la pérdida de varios datos y confianza.

2. Obtener el control de los directorios del sistema operativo host

Docker Volumes es un servicio poderoso que le permite compartir y mantener datos de contenedores escribiéndolos en una carpeta específica en el sistema operativo host.

Una de las mayores amenazas que conlleva la ejecución de Docker sin sudo es que cualquiera en su sistema puede obtener el control de los directorios del sistema operativo host, incluido el directorio de inicio.

Todo lo que tiene que hacer es ejecutar una imagen Docker de Linux, por ejemplo, una imagen de Ubuntu, y montarla en su carpeta de inicio con el siguiente comando:

docker run -ti -v /:/hostproot ubuntu bash

Dado que los contenedores Docker de Linux se ejecutan como usuario raíz, esto básicamente significa que tiene acceso a toda la carpeta de inicio.

El comando anterior descargará, ejecutará e instalará la última imagen de Ubuntu en su directorio de inicio.

En la Terminal para contenedores Docker, vaya al directorio /hostroot usando el comando . cd:

cd /hostproot

Razones por las que no debería implementar Docker sin sudo - Linux

Muestra una lista del contenido de este directorio usando el comando ls Todos los archivos del sistema operativo host que ahora están disponibles en su contenedor. Ahora puede manipular archivos, ver archivos confidenciales, ocultar y mostrar archivos, cambiar permisos, etc.

3. Instala software malicioso

Una imagen de Docker bien diseñada puede ejecutarse en segundo plano y alterar su sistema o recopilar datos confidenciales. Peor aún, un usuario malicioso podría propagar código malicioso en su red a través de contenedores Docker.

Hay muchos casos prácticos de uso para los contenedores de Docker, y con cada aplicación viene un conjunto diferente de amenazas de seguridad. Verificar Cómo instalar Docker en Linux.

Protección de contenedores Docker en Linux

Docker es una plataforma poderosa y segura. Ejecutar Docker sin sudo aumenta la superficie de ataque y hace que su sistema sea vulnerable. En entornos de producción, se recomienda encarecidamente utilizar sudo con Docker.

Con tantos usuarios en el sistema, se vuelve muy difícil asignar permisos a cada usuario. En tales casos, seguir las mejores prácticas de control de acceso puede ayudarlo a mantener su sistema seguro. Puedes ver ahora ¿Qué es el control de acceso y por qué lo necesita?

Ir al botón superior