Homelab SOC #04 - Virtualización con VirtualBox
En el capítulo anterior preparé el equipo anfitrión que será la base física del laboratorio.
Configuramos Arch Linux, revisamos los recursos disponibles y dejamos preparado el sistema para ejecutar cargas virtualizadas.
Pero todavía falta una capa fundamental: La virtualización.
Un SOC real normalmente no funciona sobre un único sistema operativo.
Necesita servidores, estaciones de trabajo, agentes y diferentes componentes comunicándose entre ellos.
La virtualización permite recrear ese escenario utilizando un único equipo físico.
Objetivo de este capítulo
La pregunta principal que responde esta etapa es:
¿Cómo convierto mi equipo físico en un laboratorio empresarial?
Durante este capítulo prepararé la plataforma donde posteriormente se instalarán:
- Debian Server como servidor principal del SOC.
- Windows como equipo monitorizado.
- Linux Agents para generación de eventos.
- Herramientas adicionales de análisis.
La arquitectura final será:
Hardware físico
│
▼
Arch Linux Host
│
▼
VirtualBox
│
├── Debian Server
├── Windows Agent
└── Linux Agent
¿Por qué VirtualBox?
Existen diferentes plataformas de virtualización disponibles:
- VMware Workstation.
- Proxmox VE.
- Microsoft Hyper-V.
- KVM/QEMU.
- VirtualBox.
Cada una tiene ventajas dependiendo del escenario.
Por ejemplo:
Proxmox: Está orientado principalmente a servidores y centros de datos.
KVM/QEMU: Es una alternativa muy potente integrada dentro del ecosistema Linux.
VMware Workstation: Ofrece excelentes características para entornos profesionales.
Hyper-V: Está integrado dentro del ecosistema Microsoft.
Para este laboratorio utilizaré:
VirtualBox
La elección está basada en:
- Gratuito.
- Multiplataforma.
- Fácil administración.
- Suficiente para un laboratorio doméstico.
- Excelente documentación.
Aunque existen soluciones más avanzadas, el objetivo de este proyecto no es construir un datacenter. El objetivo es crear un entorno SOC funcional donde pueda practicar monitoreo, detección y respuesta ante incidentes.
Instalación en Arch Linux
VirtualBox se encuentra disponible dentro de los repositorios oficiales de Arch Linux.
Primero instalamos los paquetes necesarios:
sudo pacman -S virtualbox virtualbox-host-modules-arch
Después agregamos nuestro usuario al grupo encargado de administrar máquinas virtuales:
sudo usermod -aG vboxusers $USER
Para aplicar los cambios será necesario cerrar sesión e ingresar nuevamente.
Podemos verificar:
groups
El usuario debe aparecer dentro del grupo:
vboxusers
Configuración inicial de VirtualBox
Después de instalar VirtualBox es importante definir dónde serán almacenadas las máquinas virtuales.
Por defecto muchas instalaciones utilizan:
/home/usuario/VirtualBox VMs
Y aunque para un laboratorio esto no es lo ideal, dejar la ruta por defecto, para este laboratorio lo dejaremos así ya que mi home tiene un disco de 1 TB asignado, por lo que la ruta final sera:
/home/wuilmerbolivar/VirtualBox
Diseño de red del laboratorio
Esta será una de las partes más importantes del proyecto.
Un SOC necesita observar sistemas generando actividad.
Por eso las máquinas virtuales deben poder comunicarse entre ellas.
La arquitectura será:
INTERNET
│
▼
NAT Router
│
▼
Arch Linux Host
│
▼
VirtualBox Network
┌─────────────────┐
│ SOC LAB │
│ │
│ Debian Server │
│ Wazuh Manager │
│ │
│ Windows Agent │
│ Ubuntu Agent │
└─────────────────┘
VirtualBox ofrece diferentes modos de red:
NAT
Utilizado para:
- Acceso a internet.
- Descargar actualizaciones.
- Instalar paquetes.
La máquina virtual sale a internet utilizando la conexión del host.
Host Only
Utilizado para:
- Comunicación interna del laboratorio.
- Separar el tráfico del entorno real.
Será la red principal para que los agentes puedan comunicarse con el servidor SOC.
Bridge
Permite que una máquina virtual aparezca directamente dentro de la red física.
Puede utilizarse cuando una VM necesita comportarse como un equipo real dentro de la LAN.
Primera máquina virtual
En este capítulo todavía no instalaremos sistemas operativos.
El objetivo es preparar la infraestructura.
Crearemos únicamente la primera máquina:
Nombre:
DebianServer
Configuración inicial:
RAM:
4096 MB
CPU:
4 cores
Disco:
50 GB
Sistema:
Linux
Debian 64-bit
La instalación de Debian será realizada en el siguiente capítulo.
Planificación de recursos
Antes de crear máquinas es importante definir una distribución inicial.
| Máquina | RAM | CPU | Disco |
|---|---|---|---|
| Debian Server SOC | 4 GB | 4 CPU | 50 GB |
| Windows Agent | 4 GB | 2 CPU | 60 GB |
| Ubuntu Agent | 2 GB | 2 CPU | 30 GB |
| Host Arch Linux | 8 GB | - | - |
Con esta distribución todavía tendremos margen para agregar nuevas máquinas durante la evolución del laboratorio.
Snapshots: puntos de recuperación
Una de las ventajas principales de la virtualización es poder crear estados de recuperación.
Antes de realizar cambios importantes podemos crear un snapshot:
Debian-clean-install
Esto permitirá:
- Recuperar configuraciones.
- Probar herramientas.
- Simular errores.
- Volver rápidamente a un estado conocido.
Los snapshots no sustituyen un backup. Son una herramienta de recuperación rápida dentro del entorno virtual.
Estado actual del laboratorio
Después de esta etapa tenemos:
✓ Arch Linux preparado como host.
✓ VirtualBox instalado.
✓ Almacenamiento definido.
✓ Arquitectura de red diseñada.
✓ Recursos planificados.
✓ Primera máquina virtual creada.
La infraestructura virtual está lista.
¿Qué sigue?
Hasta ahora tenemos:
Hardware.
Sistema operativo anfitrión.
Plataforma de virtualización.
Pero todavía no existe un servidor SOC funcional.
El siguiente paso será instalar Debian Server, que será el núcleo del laboratorio.
Sobre este sistema posteriormente funcionarán:
- Wazuh Manager.
- Dashboards.
- Servicios de monitoreo.
- Integraciones de seguridad.
Lo aprendido
La virtualización es una de las tecnologías que permitió que los laboratorios de seguridad fueran accesibles para cualquier profesional.
Antes era necesario disponer de múltiples servidores físicos.
Hoy un solo equipo puede simular una pequeña infraestructura empresarial completa.
La diferencia no está solamente en instalar máquinas virtuales.
Está en diseñar correctamente cómo se comunican, qué recursos utilizan y cómo serán administradas.
Ese diseño será la base sobre la cual construiremos nuestro SOC.