
La filosofía del equipo de desarrollo de Docker fue la seguridad por defecto, haciendo que la seguridad de su sofware fuera inherente en la plataforma para todas las aplicaciones, y no proporcionar la seguridad como una característica adicional en sus contenedores virtuales. Os recomendamos leer nuestro tutorial sobre cómo configurar Traefik en un NAS QNAP.
En la última versión de Docker 1.11, este software que nos permite crear contenedores virtuales con software totalmente aislado del sistema operativo principal, se han incorporado todas las características de aislamiento disponibles en el Kernel de Linux.
En la última versión también se ha pensado en el usuario final, teniendo una experiencia de usuario sencilla mediante la implementación de configuraciones predeterminadas para proporcionar una mayor protección para las aplicaciones que se ejecutan en los contenedores virtuales. En otras palabras, se ha pensado en la seguridad por defecto para todas las aplicaciones que introduzcamos en un contenedor, aunque siempre se le dará libertad al administrador para cambiar estas políticas según vea necesario.
¿Es Docker el más seguro de todos?
La filosofía de seguridad de Docker se extiende a través de los conceptos de plataforma segura, contenido seguro y también acceso seguro. En el siguiente gráfico podéis ver las principales diferencias entre LXC 2.0, Docker 1.11 y también CoreOS Rkt 1.3
Tal y como se puede ver, Docker utiliza por defecto la máxima seguridad posible para que el software que está dentro del contenedor se ejecute en un entorno completamente controlado.
Sin embargo, debemos decir que LXC y Docker no son exactamente lo mismo, ya que el primero se encarga de virtualizar sistemas operativos completos y aislados dentro del mismo host, por lo que debe haber usuario root y llamadas al propio sistema operativo, sino estaríamos ante un sistema «recortado» porque no se podrían hacer determinadas cosas. Docker sirve para virtualizar aplicaciones dentro de un mismo host, por lo que aquí el nivel de acceso root sí puede estar más limitado y controlado. En el siguiente gráfico podéis ver fácilmente las diferencias principales entre ambos sistemas de virtualización.
Respecto a CoreOS Rkt, este sistema sí es similar a Docker ya que se encarga de la virtualización de aplicaciones en el propio sistema operativo principal. Algunas de las principales características de este software es que también se ha diseñado pensando en la seguridad por defecto, incluye soporte para SELinux así como para ejecutar aplicaciones en máquinas virtuales aisladas. Otras características es que soporta varios sistemas de inicio como systemd y upstart, por último, también puede ejecutar imágenes Docker. Os recomendamos acceder al proyecto CoreOS Rkt en su GitHub oficial donde encontraréis sus principales características y cómo ponerlo en marcha.
¿Habéis utilizado alguna vez LXC y Docker? Cuéntanos tu experiencia.