Qubes OS es un sistema operativo de escritorio orientado a la seguridad que utiliza virtualización basada en Xen para aislar aplicaciones y procesos en compartimentos independientes llamados qubes (máquinas virtuales ligeras). Si un componente es comprometido — el navegador, el cliente de correo o cualquier aplicación — el aislamiento impide que el atacante acceda al resto del sistema. Creado por Joanna Rutkowska y el equipo de Invisible Things Lab, Qubes OS es considerado uno de los sistemas operativos más seguros disponibles para uso cotidiano.
Arquitectura de seguridad por aislamiento
La arquitectura de Qubes OS se fundamenta en el principio de seguridad por compartimentación. En lugar de ejecutar todas las aplicaciones en un único entorno, cada actividad se ejecuta en una máquina virtual independiente con su propio kernel, sistema de ficheros y stack de red:
- Dom0 — El dominio administrativo que controla el hipervisor Xen. No tiene acceso a red y su única función es gestionar las VMs y el entorno gráfico.
- AppVMs — Máquinas virtuales de aplicación donde el usuario ejecuta su software cotidiano (navegador, ofimática, terminal).
- TemplateVMs — Plantillas base que proporcionan el sistema de ficheros raíz a las AppVMs. Las actualizaciones se realizan únicamente en la plantilla.
- ServiceVMs — VMs dedicadas a servicios del sistema como red (sys-net), firewall (sys-firewall), USB (sys-usb) y almacenamiento.
- DisposableVMs — VMs efímeras que se crean y destruyen automáticamente, ideales para abrir archivos o enlaces no confiables.
Cada qube se identifica visualmente con un color de borde de ventana que indica su nivel de confianza: rojo para actividades no confiables, verde para trabajo sensible, amarillo para uso general, etc. El usuario interactúa con todas las VMs desde un único escritorio integrado.
Requisitos del sistema
Qubes OS tiene requisitos específicos de hardware debido a su dependencia del hipervisor Xen y las extensiones de virtualización:
- CPU — Procesador de 64 bits con soporte para Intel VT-x con EPT o AMD-V con RVI. Intel VT-d o AMD-Vi (IOMMU) es necesario para el aislamiento de dispositivos PCI.
- RAM — Mínimo 6 GB, recomendado 16 GB o más. Cada qube consume memoria independiente.
- Almacenamiento — Mínimo 32 GB en SSD. Recomendado 128 GB o más para uso cómodo con múltiples plantillas.
- GPU — Gráficos integrados Intel funcionan mejor. Las GPUs dedicadas NVIDIA/AMD pueden presentar problemas de compatibilidad con Xen.
- TPM — Opcional pero recomendado para Anti Evil Maid (AEM).
Importante: Qubes OS debe instalarse directamente en hardware físico (bare-metal). No se puede ejecutar dentro de otra máquina virtual, ya que Xen es un hipervisor de tipo 1 que necesita acceso directo al hardware.
Verificación de compatibilidad de hardware
Antes de iniciar la instalación, es fundamental verificar que el hardware soporta las extensiones de virtualización necesarias:
# Verificar soporte VT-x/AMD-V
grep -E '(vmx|svm)' /proc/cpuinfo
# Verificar IOMMU en el kernel
dmesg | grep -i iommu
# Comprobar que VT-d/AMD-Vi está habilitado en BIOS
dmesg | grep -i "DMAR\|AMD-Vi"Si los comandos anteriores no devuelven resultados, accede a la BIOS/UEFI de tu equipo y habilita Intel VT-x, Intel VT-d (o sus equivalentes AMD) en la sección de configuración del procesador. Consulta la lista de compatibilidad de hardware (HCL) oficial para verificar tu modelo específico.
Descarga y verificación de la ISO
Descarga la imagen ISO desde la página oficial de descargas. Es fundamental verificar la integridad y autenticidad de la imagen antes de instalarla:
# Importar la clave maestra de firma de Qubes OS
wget https://keys.qubes-os.org/keys/qubes-master-signing-key.asc
gpg --import qubes-master-signing-key.asc
# Verificar la huella de la clave maestra (debe coincidir con la publicada en la web)
gpg --fingerprint 0x36879494
# Importar la clave de la release actual
wget https://keys.qubes-os.org/keys/qubes-release-4-signing-key.asc
gpg --import qubes-release-4-signing-key.asc
# Verificar la firma de la ISO
gpg --verify Qubes-R4.2.3-x86_64.iso.asc Qubes-R4.2.3-x86_64.isoPara crear el medio de instalación USB arrancable:
# Identificar el dispositivo USB (por ejemplo /dev/sdb)
lsblk
# Escribir la ISO en el USB (CUIDADO: esto borrará todo el contenido del USB)
sudo dd if=Qubes-R4.2.3-x86_64.iso of=/dev/sdX bs=1M status=progress conv=fsyncProceso de instalación
Qubes OS utiliza actualmente el instalador Anaconda (basado en Fedora). El proceso es bastante directo comparado con las primeras versiones del proyecto:
- Arrancar desde el USB — Configura la BIOS/UEFI para arrancar desde USB. Selecciona Install Qubes OS en el menú GRUB.
- Selección de idioma — Elige tu idioma y configuración de teclado.
- Configuración de disco — Selecciona el disco destino. Qubes ofrece cifrado completo del disco con LUKS por defecto. Se recomienda encarecidamente activar el cifrado.
- Particionado — El esquema automático utiliza LVM thin provisioning sobre LUKS. Para la mayoría de usuarios, la configuración automática es la opción correcta.
- Configuración de usuario — Crea tu cuenta de usuario y contraseña. Este usuario será el administrador de Dom0.
- Selección de plantillas — Elige las plantillas base a instalar: Fedora (por defecto), Debian, Whonix (para anonimato vía Tor).
Estructura de qubes creados tras la instalación inicial:
Dom0 → Administración (sin red)
sys-net → Gestión de interfaces de red
sys-firewall → Firewall entre sys-net y las AppVMs
sys-usb → Aislamiento de dispositivos USB
vault → Almacenamiento offline (sin red)
personal → AppVM para uso personal
work → AppVM para trabajo
untrusted → AppVM para navegación no confiable
whonix-gw → Gateway Tor (si se instaló Whonix)
whonix-ws → Workstation Tor (si se instaló Whonix)Configuración inicial post-instalación
Tras el primer arranque, es importante realizar algunas configuraciones básicas para asegurar el sistema:
# En Dom0: actualizar el sistema completo
sudo qubesctl --all state.sls update.qubes-vm
# Listar todas las VMs y su estado
qvm-ls
# Verificar que sys-net y sys-firewall están ejecutándose
qvm-ls --runningPara actualizar las plantillas individualmente:
# Actualizar la plantilla Fedora
qvm-run --auto --pass-io --no-gui fedora-39 \
'sudo dnf upgrade --refresh -y'
# Actualizar la plantilla Debian
qvm-run --auto --pass-io --no-gui debian-12 \
'sudo apt update && sudo apt full-upgrade -y'
# Apagar las plantillas tras actualizar
qvm-shutdown fedora-39 debian-12Gestión de qubes y dominios de seguridad
La potencia de Qubes OS reside en la capacidad de crear y gestionar dominios de seguridad separados según el nivel de confianza de cada actividad:
# Crear una AppVM para banca online (máxima seguridad)
qvm-create banking --template fedora-39 --label green
# Crear una AppVM desechable para abrir archivos sospechosos
qvm-create --class DispVM --template fedora-39-dvm --label red temp-analysis
# Crear una AppVM sin acceso a red (vault para contraseñas/claves GPG)
qvm-create secrets --template fedora-39 --label black
qvm-prefs secrets netvm none
# Asignar memoria máxima a una VM
qvm-prefs banking maxmem 4096
# Ejecutar una aplicación en un qube específico
qvm-run banking firefox
qvm-run work libreofficeEl sistema de copiar y pegar inter-VM requiere una combinación de teclas explícita (Ctrl+Shift+C para copiar, Ctrl+Shift+V para pegar en la VM destino), lo que previene que software malicioso acceda al portapapeles de otras VMs.
Configuración de red y firewall
La red en Qubes OS está completamente virtualizada. Cada AppVM se conecta a través de una cadena de ServiceVMs que proporcionan aislamiento:
AppVM (work) → sys-firewall → sys-net → Internet
AppVM (anon) → sys-whonix → sys-firewall → sys-net → Internet# Cambiar la NetVM de un qube (enrutar por Tor)
qvm-prefs anon-browser netvm sys-whonix
# Desconectar completamente una VM de la red
qvm-prefs secrets netvm none
# Ver las reglas de firewall de una VM
qvm-firewall work list
# Restringir una VM a solo acceder a un servidor específico
qvm-firewall banking del --rule-no 0
qvm-firewall banking add --action accept --dst 203.0.113.10 --proto tcp --dstports 443
qvm-firewall banking add --action dropBuenas prácticas de seguridad
Para aprovechar al máximo el modelo de seguridad de Qubes OS, sigue estas recomendaciones:
- Minimizar Dom0 — Nunca ejecutes aplicaciones de usuario en Dom0. Su única función debe ser gestionar las VMs.
- Separar actividades — Usa qubes diferentes para banca, trabajo, navegación casual y actividades sensibles. Nunca mezcles niveles de confianza.
- Usar DisposableVMs — Para abrir enlaces desconocidos, archivos adjuntos de correo o cualquier contenido no confiable.
- Cifrado de disco — Asegúrate de que el cifrado LUKS está activo con una contraseña robusta.
- Actualizar regularmente — Mantén Dom0 y todas las plantillas actualizadas. Las AppVMs heredan las actualizaciones de su plantilla.
- Vault offline — Almacena claves GPG, contraseñas y material criptográfico sensible en una VM sin acceso a red.
- Split GPG — Usa la funcionalidad de GPG dividido para que las claves privadas permanezcan en el vault mientras otras VMs pueden solicitar operaciones de firma.
Resolución de problemas comunes
Algunos problemas frecuentes durante y después de la instalación:
# Pantalla negra tras instalación: verificar que IOMMU está habilitado
# En GRUB, añadir al kernel Xen:
iommu=no-igfx
# VM no arranca: verificar logs
qvm-start --debug work
journalctl -b | grep -i xen
# Problemas de red: reiniciar la cadena de red
qvm-shutdown sys-firewall sys-net
qvm-start sys-net
qvm-start sys-firewall
# Espacio en disco insuficiente: verificar uso
sudo lvs | grep -i qubes
qvm-volume info work:privateQubes OS representa un enfoque radicalmente diferente a la seguridad de escritorio. En lugar de intentar que un único sistema operativo sea seguro, asume que cualquier componente individual puede ser comprometido y limita el impacto mediante aislamiento. Para periodistas, activistas, investigadores de seguridad y cualquier persona que maneje información sensible, Qubes OS sigue siendo una de las opciones más robustas disponibles.
:wq!