Saltar al contenido
Portada » Blog – Laprovittera Carlos » TryHackMe – Virtualisation Basics

TryHackMe – Virtualisation Basics

Hola hacketones! En este capítulo de TryHackMe –  Virtualisation Basics Descubra por qué la virtualización potencia la TI moderna, mejorando la eficiencia y aislando entornos de forma segura.

En las salas anteriores, aprendiste cuáles son los componentes de una computadora y cómo se comunican entre sí. En esta sala, aprenderás cómo las empresas han optimizado estos componentes informáticos para reducir costos y construir sistemas flexibles y escalables que impulsan el internet moderno a través de un concepto conocido como virtualización

¿Alguna vez has considerado lo costoso e ineficiente que sería si cada software o sitio web requiriera su propio servidor físico?  La virtualización se creó precisamente para resolver este problema. Su gerente le solicitó ayuda para mejorar el uso del hardware de una computadora que aloja un sitio web. ¡Exploremos el concepto de virtualización y ayudemos a su gerente!

Objetivos de aprendizaje

  • Comprender por qué la administración de aplicaciones en servidores físicos individuales es ineficiente
  • Descubra cómo la virtualización aborda los desafíos de escalabilidad y utilización del hardware.
  • Comprenda los componentes de una máquina virtual.
  • Descubra cómo los contenedores han optimizado aún más la utilización del hardware para las aplicaciones.

Prerrequisitos

Antes de comenzar, te recomendamos que completes las siguientes salas:

  • Dentro de un sistema informático
  • Tipos de computadoras
  • Conceptos básicos de cliente-servidor

Comparación de Tecnologías y Entornos de Virtualización

Tecnología o EntornoTipo de RecursoCaracterísticas ClaveCasos de Uso PrincipalesAislamiento y SeguridadEficiencia de RecursosEjemplos de Software
Hipervisor Tipo 1Software de virtualización nativoSe ejecuta directamente sobre el hardware físico (bare metal).Servidores de producción, bases de datos, centros de datos y entornos profesionales.Alta seguridad y control directo sobre los recursos de hardware.Muy alta y rápida por su acceso directo al hardware.Not in source
Hipervisor Tipo 2Software de virtualización alojadoSe ejecuta dentro de un sistema operativo existente como si fuera una aplicación.Aprendizaje, laboratorios de ciberseguridad, pruebas de software y configuraciones pequeñas.Aislamiento lógico gestionado a través del sistema operativo host.Moderada; ideal para pruebas y uso personal en lugar de alto rendimiento.Oracle VirtualBox, VMware Workstation
Máquina Virtual (VM)Computadora virtual completaActúa como un sistema independiente con su propio SO, CPU virtual, RAM, almacenamiento y red.Pruebas de malware, ejecución de diversos sistemas operativos y servicios con aislamiento total.Aislamiento completo; fallos en una VM no afectan a otras. Permite analizar malware protegiendo al host.Menor; emula hardware completo y requiere un sistema operativo independiente por instancia.Oracle VirtualBox, VMware Workstation
ContenedoresEntorno ligero para aplicacionesComparte el kernel del sistema operativo host; empaqueta la aplicación junto a sus dependencias.Desarrollo, pruebas, implementaciones escalables y alojamiento de múltiples aplicaciones en una misma VM.Aislamiento a nivel de aplicación; un contenedor con errores no afecta el resto del sistema.Alta; inicio casi instantáneo y bajo consumo al no incluir un sistema operativo completo.Docker

Descripción general de la virtualización

Antes del concepto de virtualización, la regla general en TI era:

“Un servidor = una aplicación”.

En sus inicios, los servicios digitales se ejecutaban en máquinas físicas, y cada máquina solía tener un propósito único y claro, como alojar un sitio web o almacenar datos. A medida que las empresas añadían más servicios, aumentaban naturalmente la cantidad de servidores físicos, y el enfoque de «un trabajo por máquina» se convirtió en el estándar para construir sistemas fiables.

Esto significaba que si una empresa quería gestionar un sitio web, una base de datos, un servicio de correo electrónico y una aplicación interna, necesitaría servidores físicos independientes para cada uno. Los problemas eran evidentes:

  • Alto costo : Comprar varios servidores físicos es costoso, no solo el hardware, sino también la electricidad, la refrigeración, el mantenimiento y el espacio en el centro de datos.
  • Baja utilización : La mayoría de las aplicaciones no utilizan toda la capacidad del servidor. Muchos servidores se mantuvieron entre un 5 % y un 20 % de uso, desperdiciando recursos de CPU , memoria y almacenamiento.
  • Implementación lenta : la configuración de nuevos servidores físicos podría llevar días o semanas.
  • Difícil de escalar : si una aplicación de repente necesitaba más recursos, a menudo había que comprar otro servidor.

En resumen, las empresas pagaban mucho dinero por un hardware que no se aprovechaba plenamente.

La necesidad de compartir hardware de forma segura y eficiente

La virtualización introdujo una nueva idea: «¿Qué pasaría si varias aplicaciones pudieran compartir el mismo servidor físico de forma segura?» Se introdujo una capa de virtualización, llamada hipervisor , para actuar como árbitro entre máquinas virtuales y permitir que cada computadora virtual se comporte independientemente, como una computadora física.

La analogía del edificio

Imagina que una sola persona vive sola en un edificio de 10 pisos:

  • La persona utiliza sólo un piso pero debe mantener todo el edificio: electricidad, limpieza, agua y seguridad.
  • La mayor parte del edificio permanece vacío y deshabitado.
  • Es caro, ineficiente e innecesario para sus necesidades.

Ahora imaginemos dividir el edificio en apartamentos separados :

  • Cada apartamento tiene su propia puerta, paredes, cocina y privacidad.
  • Diferentes personas pueden vivir independientemente sin molestarse entre sí.
  • Todos comparten la estructura principal del edificio: electricidad, agua y ascensores, lo que lo hace  más barato y eficiente para todos.

Esto es virtualización:

  • El edificio = el servidor físico
  • Los apartamentos = máquinas virtuales
  • Los inquilinos = aplicaciones o sistemas operativos
  • El administrador del edificio = el hipervisor (el software que divide el edificio de forma segura)

Cada computadora virtual, conocida como máquina virtual ( VM ),  actúa como un sistema independiente con su propio sistema operativo, aplicaciones y configuraciones, aunque todas comparten el mismo hardware físico subyacente.

 

Responda las preguntas a continuación

¿Qué permite la virtualización que múltiples aplicaciones compartan?

physical server

¿Cómo se llama el software que administra los recursos de cada máquina virtual?

hypervisor

Componentes de virtualización

Hipervisor (el administrador del edificio)

Un hipervisor es la tecnología central detrás de la virtualización. Es el software que crea y administra las máquinas virtuales

Es un software especial que:

  • Divide una computadora física en varias virtuales.
  • Otorga a cada máquina virtual su propia parte de CPU , memoria y almacenamiento.
  • Mantiene todo aislado y seguro.
  • Administra el ciclo de vida de las máquinas virtuales (iniciar, detener, pausar, clonar, eliminar).

Los hipervisores tienen dos tipos principales de implementación, cada uno de los cuales se utiliza para escenarios específicos, desde laboratorios domésticos hasta grandes centros de datos:

  • Los hipervisores de tipo 1 se ejecutan directamente en el hardware físico, lo que los hace rápidos, eficientes e ideales para servidores y entornos profesionales.
  • Los hipervisores de tipo 2 se ejecutan dentro de un sistema operativo existente, lo que los hace más fáciles de instalar y son ideales para aprendizaje, pruebas o configuraciones pequeñas.

A continuación se muestra una tabla que muestra qué caso de uso es el más adecuado para cada tipo de hipervisor. Los casos de uso pueden ejecutarse en ambos tipos de hipervisor, pero no es el mejor enfoque dados los objetivos principales de cada uno.

Caso de usoTipo 1Tipo 2
Probar archivos maliciosos X
Servidor de producciónX 
Servidor de base de datosX 
Pruebas de software X
Kali Linux X
Centro de datosX 

Al utilizar la virtualización para probar archivos maliciosos, se debe tener cuidado para garantizar que el equipo host no se infecte con el malware que se está probando en el equipo invitado. Un enfoque es utilizar diferentes sistemas operativos para los equipos invitado y host, o aislar el equipo invitado para que no se comunique con el host

Máquinas Virtuales (Los Apartamentos)

Una máquina virtual ( VM ) es un ordenador virtual creado por el hipervisor.

Aunque es virtual, se comporta como una máquina real:

  • Tiene su propia CPU virtual , RAM , almacenamiento y red.
  • Puede ejecutar cualquier sistema operativo (Windows, Linux , etc.).
  • Está completamente aislado de otras máquinas virtuales. Esto significa que si una máquina virtual falla, las demás siguen funcionando.

Puede implementar máquinas virtuales en su propio equipo con herramientas como Oracle VirtualBox y VMware Workstation. Este tipo de software actúa como un hipervisor de tipo 2 y le permite ejecutar múltiples sistemas operativos, como Windows, Linux y macOS.

Ahora que ya sabes qué son un hipervisor y una máquina virtual , veamos algunos ejemplos en los que podrías necesitarlos:

  • Necesitas trabajar en un sistema operativo diferente, como Kali Linux , pero no puedes comprar otro sistema completo, por lo que instalas un hipervisor y ejecutas una máquina virtual Kali Linux en él.
  • Desea probar si un archivo es malicioso, por lo que configura una máquina virtual aislada para proteger su computadora principal contra infecciones.

Contenedores (Las habitaciones dentro del apartamento)

Un contenedor es un entorno ligero y aislado que ejecuta una sola aplicación y todos los componentes necesarios para su funcionamiento. En lugar de incorporar un sistema operativo independiente, un contenedor toma prestado el núcleo del sistema existente al ejecutarse sobre el kernel, que es la parte del sistema operativo que se comunica con el hardware y gestiona recursos como la memoria y los programas en ejecución.

Dado que los contenedores comparten este kernel, se inician rápidamente y consumen menos recursos que las máquinas virtuales completas, pero también significa que deben coincidir con el tipo de sistema host. Por ejemplo, no se puede ejecutar un contenedor de Windows en una máquina Linux

Los contenedores se comportan como espacios pequeños y autónomos porque:

  • Empaquetan la aplicación y sus dependencias (bibliotecas, herramientas, versiones).
  • Comparten el sistema operativo del host, por lo que se inician casi instantáneamente.
  • Permanecen aislados unos de otros, por lo que un contenedor con mal comportamiento no afecta a los demás.
  • Pueden ejecutarse de forma consistente en cualquier máquina, lo que los hace perfectos para desarrollo, pruebas e implementaciones escalables.

La forma más sencilla de implementar contenedores en una máquina virtual es usar Docker. Docker es una plataforma de software de código abierto que simplifica el proceso de creación, implementación y ejecución de aplicaciones mediante la contenedorización. La siguiente imagen ilustra la relación entre hipervisores, máquinas virtuales y contenedores:

En resumen, las máquinas virtuales proporcionan un “departamento completo” con máxima separación y flexibilidad, mientras que los contenedores ofrecen “salas” livianas ideales para aplicaciones escalables y de rápida implementación.

Responda las preguntas a continuación

Supongamos que un usuario desea implementar un laboratorio de estudio en su equipo para practicar ejercicios para una certificación en ciberseguridad. ¿Qué tipo de hipervisor utilizará?

type 2

Supongamos que una empresa quiere alojar varias aplicaciones pequeñas en la misma máquina virtual. ¿Qué deberían usar?

Containers

Administración de máquinas virtuales

Después de aprender sobre virtualización, lo contrataron como responsable del entorno virtual de AutoGalo, una empresa que recientemente comenzó a usar máquinas virtuales. En esta empresa, utilizan una aplicación llamada Virtualization Manager. Esta aplicación proporciona una visión clara del estado general de todo un entorno de virtualización, proporcionando detalles de cada instancia virtualizada y los hosts físicos. También le permite ejecutar acciones y administrar las máquinas virtuales que cree.

Su gerente le ha pedido que investigue un problema con el servicio de correo electrónico. En esencia, todos en la empresa dejaron de recibir correos electrónicos hoy y nadie sabe qué sucedió.Abra el sitio de Virtualization Manager haciendo clic en el View Sitebotón a continuación, ¡y vamos a investigar!

Análisis de estados de máquinas virtuales

En la pantalla de inicio, deberías ver tres secciones principales:

  • Resumen: Proporciona una visión genérica del estado del medio ambiente.
  • Máquinas virtuales: proporciona detalles de cada máquina virtual y le permite ejecutar acciones en ellas.
  • Hosts: muestra detalles de uso y rendimiento de cada servidor físico.

Vaya a la sección Máquinas Virtuales y busque la VM con el nombre  Mail-SERVER:

Parece que esta máquina virtual ha entrado en un  Errorestado. Intentemos reiniciarla Blue Square Button.

¡Después de ejecutarlo nuevamente, parece que funciona correctamente, sin errores!

Creación de una máquina virtual

Como parte de tu rutina, creas máquinas virtuales para otros equipos. Tras resolver el problema del servidor de correo electrónico, recibiste la tarea de crear una máquina virtual para dar soporte al sitio web del equipo de marketing. Ahora, vamos a crear una máquina virtual para alojar su sitio web de marketing. En la sección «Máquinas + Create VMVirtuales», localice el botón en la esquina superior derecha y haga clic en él.

Debes completar el formulario con la cantidad de hardware que utilizará tu máquina virtual:

  • Nombre:Marketing-VM
  • Núcleos de CPU:4
  • Memoria (GB):8
  • Tamaño del disco (GB):100

Luego haga clic enCreate VM

Ahora, en la parte superior de la lista de máquinas virtuales, debería ver la VM creada :

Análisis del uso del hardware

Otra tarea rutinaria es administrar el estado de los servidores físicos e informar del estado a su gerente. Vaya a la sección Hosts en la parte inferior de la página:

Al analizarlo podemos identificar:

  • HV-PROD-01Tiene la capacidad de alojar más máquinas virtuales.
  • HV-PROD-02¡Está funcionando casi al 100% de su capacidad y es posible que debamos informarlo!
  • HV-BACKUP-01está desconectado y no aloja ninguna máquina virtual.

¡Ahora, responde las siguientes preguntas de la tarea para concluir tu turno como responsable de la virtualización en AutoGalo!

Responda las preguntas a continuación

¿Cuál es el nombre de la máquina virtual que ha estado funcionando durante más tiempo?

Monitoring-SYS

¿Cuál es el nombre de la máquina virtual que utiliza la mayor cantidad de memoria?

DB-Cluster-01

¿Cuántas máquinas virtuales están en estado de ejecución después de resolver el problema en «Mail-SERVER»?

8

¿Cuál es el nombre de la máquina física que aloja la mayoría de las máquinas virtuales?

HV-PROD-02

Conclusión

En esta sala, aprendió por qué la virtualización es una base tan importante en la TI moderna, tanto para maximizar la eficiencia del hardware como para aislar entornos de forma segura.

Terminología clave

Repasemos rápidamente algunos conceptos que aprendimos en esta sala:

  • Virtualización: Permite que una sola computadora física actúe como varias computadoras separadas
  • Hipervisor: El software “administrador” que crea y ejecuta las computadoras virtuales.
  • Máquina Virtual ( VM ): Un ordenador virtual completo dentro del real, con su propio sistema.
  • Contenedor : una caja pequeña y aislada para una aplicación que comparte el mismo sistema que el host.
  • Imágenes de contenedores : una receta/plantilla empaquetada previamente que se utiliza para crear contenedores.
  • Puertos de red: puntos de entrada numerados especiales que las aplicaciones utilizan para comunicarse a través de la red.

También concluimos que los principales beneficios de la virtualización son:

  • Ahorro de costes
  • Mejor uso de recursos
  • Pruebas seguras para la ciberseguridad
  • Implementación más rápida
  • Flexibilidad
  • Portabilidad
  • Escalabilidad
  • Gestión centralizada

Aprendizaje adicional

A través de la práctica, experimentó cómo la virtualización simplifica y acelera la implementación de aplicaciones, proporcionando una forma rápida y segura de ejecutar aplicaciones de forma consistente. Con estos fundamentos, estás listo para explorar el concepto de Nube en la sala Fundamentos de Computación en la Nube, que utiliza virtualización, contenedorización y automatización para brindar servicios escalables y bajo demanda.

Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *