-: El nuevo tipo de virtualización que
se está popularizando en nuestras redes
se conoce como virtualización basada en contenedores
también conocida como containerización.
Sin embargo, este tipo de virtualización se centra
mucho más en los servidores que en el usuario final.
Con este tipo de virtualización, el
núcleo del sistema operativo se comparte
entre varias máquinas virtuales, pero el espacio de usuario
de cada máquina virtual se crea y gestiona de forma
exclusiva.
La contenedorización es un tipo de virtualización
que aplica un sistema operativo anfitrión para proporcionar
un entorno de ejecución aislado para una aplicación.
La contenedorización se considera bastante
segura porque impone la segmentación y
separación de recursos a nivel del sistema operativo.
Ahora la contenedorización se utiliza comúnmente
con servidores Linux y algunos ejemplos
de esta virtualización basada en contenedores
incluyen cosas como, Docker, Parallels Virtuozzo y el proyecto
OpenVZ.
Ahora bien, ¿cómo es realmente la contenedorización?
Bueno, tienes una pieza de hardware y luego,
encima de ese hardware, tienes un sistema operativo anfitrión,
normalmente Linux, y luego tienes un gestor de contenedores.
Algo como Kubernetes o Docker o algo así.
Ahora este gestor de contenedores se va a utilizar para crear
diferentes contenedores que contienen diferentes aplicaciones.
En este caso, tengo tres contenedores.
Tengo el primer entorno, que se basa en el núcleo
del sistema operativo anfitrión, en este ejemplo, un sistema
Linux que se está utilizando.
Y así tenemos contenedor uno ejecutando Linnux y contiene
algunas aplicaciones allí.
Ahora el contenedor dos puede hacer lo mismo y el
contenedor tres puede hacer lo mismo.
Dado que los tres contenedores comparten los mismos
archivos del sistema operativo anfitrión.
Esto requiere muchos menos recursos
que la virtualización pura mediante máquinas virtuales.
Como hablamos de la virtualización.
Si en su lugar utilizamos máquinas virtuales individuales, cada
una necesitaría su propia copia de un sistema operativo.
Y podrían ser de 8 a 10 gigabytes por cada uno.
Pero con los contenedores, todos
podemos compartir el mismo sistema operativo.
Así, la contenedorización utiliza mucha menos base de almacenamiento y requiere
mucha menos potencia de procesamiento.
Esta es la verdadera ventaja de utilizar algo como un contenedor
desde una perspectiva operativa.
Ahora, debido a que estos contenedores están lógicamente aislados.
En realidad, no pueden interactuar entre sí.
Si quiero que dos contenedores hablen, tengo
que conectarlos a través de una red virtual y hacer el enrutamiento
y la conmutación adecuados para
que puedan hablar.
Por defecto, no tienen forma de hablar entre ellos y esto
es algo genial desde el punto de vista de la seguridad
porque tenemos esta segmentación.
Esta es la gran advertencia cuando se trata
de contenedores.
Si un atacante compromete el sistema operativo anfitrión por
debajo de, por ejemplo, ese sistema operativo
Linux del que hablaba hace un momento, ¿adivina qué ocurre?
Pues bien, este ataque tiene ahora acceso a todos los contenedores
de sus datos, porque ese único sistema operativo es utilizado
por todos los contenedores alojados.
Esta es una de las mayores vulnerabilidades
cuando se utilizan contenedores.
Puedo tener un sistema contenedor que esté ejecutando
50 servidores diferentes en este momento.
Y cada uno de ellos está ejecutando diferentes
servidores y servicios utilizando la contenedorización.
Pero si alguien es capaz de acceder a ese único servidor
bajo ese sistema operativo Linux, ahora tiene acceso
a los 50 servidores alojados y a todos sus datos.
Otro riesgo a tener en cuenta es cómo se van a alojar
realmente sus contenedores y otras máquinas virtuales.
Una vez que empezamos a confiar en la virtualización y la computación
en nube, se vuelve muy importante reconocer
que nuestros datos podrían estar alojados en el mismo servidor
físico que los datos de otra organización.
Al hacerlo, introducimos algunas vulnerabilidades
en la seguridad de nuestros sistemas.
En primer lugar, si el servidor físico se bloquea debido a algo que está
haciendo una de las otras organizaciones, en
realidad puede afectar
a todas las organizaciones en ese mismo servidor.
Del mismo modo, si una organización no mantiene la
seguridad de sus entornos virtuales,
que están alojados en ese servidor físico,
existe la posibilidad de que un atacante pueda utilizarlo
en detrimento de todas las demás organizaciones alojadas
en ese mismo servidor.
Al igual que la interconexión de nuestras redes con
las de otros suscita preocupación, también
lo hace alojar los datos de varias organizaciones
en el mismo servidor físico.
Es importante que configuremos, gestionemos y auditemos
correctamente el acceso de los usuarios a las máquinas
virtuales alojadas en esos servidores.
Además, queremos asegurarnos de que nuestras máquinas virtuales
cuentan con los últimos parches, antivirus, animwire
y control de acceso.
Para minimizar el riesgo de que los
recursos de los servidores físicos se vean desbordados, siempre
es una buena idea configurar nuestras máquinas virtuales
con una conmutación por error, redundancia y elasticidad adecuadas.
Al supervisar el rendimiento de
la red y los recursos de los servidores
físicos, deberíamos poder equilibrar
la carga entre varias máquinas físicas en
lugar de depender de una sola.
Otra vulnerabilidad que podría ser explotada
por un atacante es cuando utilizamos el mismo
tipo de hipervisor en todas nuestras máquinas virtuales.
Así, por ejemplo, si nuestra organización depende
únicamente del hipervisor ESXi de VMware y se
crea un nuevo exploit para ese hipervisor, un atacante
podría utilizarlo contra todos nuestros sistemas.
Así que, si tiene éxito en uno de nuestros servidores,
es probable que lo prueben en el resto.
Y si todos nuestros servidores utilizan la misma
plataforma en este caso, ESXi de VMware, esta vulnerabilidad
podría ser explotada en toda nuestra organización.
Sin embargo, el problema es que si utilizamos
varias plataformas de hipervisores, también aumentarán
nuestros costes de soporte y nuestros requisitos
de formación.
Por este motivo, la mayoría de las organizaciones optan por utilizar
una única plataforma, pero al menos están tomando una decisión
de riesgo medido cuando lo hacen.
Para mitigar ese riesgo, la organización debe utilizar configuraciones
adecuadas, asegurarse de que el hipervisor permanece siempre
parcheado y actualizado y de que sólo se puede
acceder a él a través de una interfaz de gestión segura, así como controlar
estrictamente el acceso.
Ahora bien, estas son algunas de las cosas que debe
tener en cuenta a la hora de decidir si va a virtualizar
sus sistemas y migrarlos a una solución local
o basada en la nube.
En primer lugar, ¿va a virtualizar?
En caso afirmativo, ¿va a utilizar máquinas virtuales tradicionales
o va a recurrir a la contenedorización?
¿Cuál es el riesgo frente a la recompensa?
Hay que encontrar el equilibrio.
Es una decisión empresarial
y también de ciberseguridad.
Así que tendrás que medir estas cosas
y decidir qué es lo mejor para tu organización y sus casos
de uso particulares.