Sobre las ventajas y desventajas de contenedores
viernes, 13 de diciembre de 2019
Ya hemos mencionado varias veces la tecnología Docker, pero, como esta información no es fácil de entender, no todo el mundo entiende para qué sirve esta tecnología. Vamos a ver algunos ejemplos para aclararlo.
Supongamos que Vd. necesita transportar una carga por el mar. Para hacerlo, Vd. puede comprar un buque, y contratar a su propio equipo que lo administrará. Su carcasa aislará completamente su carga. Y el personal capacitado no permitirá cargar nada inútil. Por supuesto, es un servicio caro. Y, como no muchos buques caben en el puerto, y hay muchas cargas, hay una cola para entrar en el puerto o el mismo debe ser ampliado.
En este buque funciona nuestra jurisdicción – las leyes que establecemos. Así mismo, en una máquina virtual se puede implementar casi cualquier sistema operativo.
En general, una máquina virtual significa aislamiento completo de otras máquinas virtuales y del mismo sistema operativo en el que funcionan las mismas, seguridad (el volumen de software malintencionado capaz de moverse entre las máquinas virtuales es insignificante), pero también requiere muchos recursos – tanto el espacio en el disco como la necesidad de uso de la memoria operativa.
Vamos a ver otro ejemplo, un buque portacontenedores. Todas las cargas de varios clientes están en un buque, todos caben en un puerto. Pero si aparecen piratas en el buque, los contenedores se abren fácilmente porque no disponen de ningún aislamiento desde fuera.
En este ejemplo el mar es un sistema operativo que no restringe el inicio de aplicaciones (tanto en una máquina virtual como en el contenedor Docker o directamente en el sistema operativo) y el puerto son los recursos del equipo que siempre son restringidos.
Una máquina virtual completamente (o casi completamente) aísla la aplicación iniciada del sistema operativo en el cual la misma está iniciada. Usa las posibilidades de este SO para iniciarse, pero no inicia directamente una aplicación requerida para el usuario, sino otro sistema operativo. Y la aplicación se inicia ya en este sistema operativo. Esto ofrece muchas posibilidades, pero también requiere muchos recursos – en este SO funcionan (y consumen los recursos) muchos servicios no requeridos para el usuario. ¿Cómo hacer que la aplicación requerida para el inicio se aísle del SO básico solo con los archivos/servicios/datos requeridos para su funcionamiento, pero con ningún otro? Es un contenedor.
Hay otro análogo de contenedores. Supongamos que hemos decidido entregar cargas. Compramos una bicicleta. Recibimos un encargo, clonamos la bicicleta, la configuramos según lo desee el cliente y la adornamos. Realizamos el pedido. El pedido se realiza, y el medio de transporte desaparece. Así mismo, hay un requisito: desde dentro del medio de transporte el cliente no puede salir fuera, el medio de transporte usa los recursos externos para moverse y los comparte con otros medios de transporte, y desde fuera hay acceso a todos los archivos de contenedor (pero no al revés, es unilateral).
Esto nos proporciona los requisitos mínimos de recursos y le impide a la aplicación iniciada en el contenedor dañar algo en el sistema básico. Pero así mismo, existe vulnerabilidad completa a los ataques de fuera, de lo cual abusan los malintencionados.
Un grupo escanea la red Internet en busca de servidores donde se puede iniciar Docker. Al detectar alguno, los malintencionados creen un contenedor a base de Alpine Linux e inician en el mismo un miner de criptomoneda Monero.
Cabe destacar que en este caso los malintencionados no atacan a los contenedores mismos, sino los crean en los sistemas donde se puede iniciar contenedores.
El mundo de antivirus recomienda
En caso de usar Windows o Linux:
- Cierre todos los puertos de acceso desde fuera;
- Compruebe si hay actualizaciones no instaladas en el sistema;
- No permite a usuarios trabajar con permisos avanzados;
- Use un antivirus que le permitirá escanear todos los contenedores en busca de programas nocivos. No es necesario instalar el antivirus en el contenedor. Como recordamos, los contenedores pueden ser escaneados desde fuera en busca de la “carga prohibida”, el antivirus lo hará.
Nos importa su opinión
Para redactar un comentario, debe iniciar sesión para entrar en su cuenta del sitio web Doctor Web. - Si aún no tiene la cuenta, puede crearla.
Comentarios de usuarios
Dmur
22:12:50 2019-12-13
EvgenyZ
22:06:20 2019-12-13
Шалтай Александр Болтай
21:59:02 2019-12-13
Татьяна
21:49:04 2019-12-13
razgen
21:27:04 2019-12-13
Toma
16:12:10 2019-12-13
Неуёмный Обыватель
13:33:01 2019-12-13
Masha
12:41:33 2019-12-13
Пaвeл
07:45:09 2019-12-13