
Inicia nuevas qubes de Windows de forma rápida, sencilla y segura en Qubes OS
Cree nuevas qubes Windows rápida, fácil y seguramente
Qvm-Create-Windows-Qube es una herramienta para instalar de forma rápida y conveniente nuevas qubes Windows con los controladores de Qubes Windows Tools (QWT) de forma automática. Soporta oficialmente Windows 7, 8.1 y 10, así como Windows Server 2008 R2, 2012 R2, 2016 y 2019.
El proyecto enfatiza la corrección, la seguridad y el trato de Windows como un sistema operativo invitado no confiable durante todo el proceso. La instalación se realiza 100% aislada (air gapped) e incluye integración opcional con Whonix en la qube Windows terminada para mayor privacidad. Lograr estos objetivos con la menor cantidad de líneas de código posible para garantizar simplicidad y minimalismo es clave.
También incluye otras ventajas como la instalación automática de paquetes, incluyendo Firefox, Office 365, Notepad++, Visual Studio y más mediante Chocolatey, para que pueda empezar a trabajar rápidamente en su nuevo entorno.
Destacado en: Hacker News | Orgullosamente clasificado en el top 10 de la portada de Hacker News, así como en primer lugar para Show HN
install.sh en Dom0 ejecutando el siguiente comando en Dom0:
qvm-run -p --filter-escape-chars --no-color-output <nombre_de_la_qube_donde_se_encuentra_el_script> "cat '/home/user/Downloads/install.sh'" > install.shinstall.sh para asegurar su integridad
qvm-run lo desactiva por defecto cuando la salida es un archivochmod +x install.sh && ./install.sh
TemplateVM global predeterminada, que es fedora-XX por defecto/usr/bin/qvm-create-windows-qubePara actualizar Qvm-Create-Windows-Qube, comience por eliminar la MV windows-mgmt y el programa principal ejecutando el siguiente comando en Dom0:
qvm-remove -f windows-mgmt && sudo rm /usr/bin/qvm-create-windows-qube
Por último, siga los pasos de instalación anteriores para reinstalar.
Tenga en cuenta que esto también eliminará cualquier ISO de Windows que ya se haya descargado. Esto puede ser deseable en caso de que Microsoft haya actualizado las ISOs de Windows (lo que significa que debería volver a descargarlas de todos modos). Sin embargo, si desea evitar volver a descargar alguna de las ISOs de Windows, simplemente navegue a /home/user/qvm-create-windows-qube/windows/isos en la MV windows-mgmt y copie su contenido a otra qube (preferiblemente desechable). Una vez completada la reinstalación, copie esas ISOs de vuelta a windows-mgmt en el directorio mencionado.
Usage: qvm-create-windows-qube [options] -i -a -h, --help -c, --count Number of Windows qubes with given basename desired -t, --template Make this qube a TemplateVM instead of a StandaloneVM -n, --netvm NetVM for Windows to use -s, --seamless Enable seamless mode persistently across reboots -o, --optimize Optimize Windows by disabling unnecessary functionality for a qube -y, --spyless Configure Windows telemetry settings to respect privacy -w, --whonix Apply Whonix recommended settings for a Windows-Whonix-Workstation -p, --packages Comma-separated list of packages to pre-install (see available packages at: https://chocolatey.org/packages) -P, --pool LVM storage pool to install Windows on (https://www.qubes-os.org/doc/secondary-storage/) -i, --iso Windows media to automatically install and setup -a, --answer-file Settings for Windows installation
### Descargando ISO de Windows
Mido (`mido.sh`) es el Descargador Seguro de Microsoft Windows (para Unix), inspirado por [Fido](https://github.com/pbatard/Fido) de [Rufus](https://github.com/pbatard/rufus). Es capaz de automatizar el proceso de descarga de algunas ISOs de Windows que Microsoft tiene detrás de una [interfaz web de descarga con puerta](https://www.microsoft.com/en-us/software-download/windows10ISO). Mido es robusto y descarga de forma segura las ISOs de Windows desde los servidores oficiales de Microsoft para ser usadas por Qvm-Create-Windows-Qube. Puedes encontrarlo en `/home/user/qvm-create-windows-qube/windows/isos/mido.sh` dentro de `windows-mgmt`.
`windows-mgmt` está aislado de la red (air gapped). Esto significa que para realizar la descarga de forma segura, se debe copiar el script `mido.sh` a otro qube (descartable), luego transferir las nuevas ISOs descargadas a `windows-mgmt` y colocarlas en el directorio `/home/user/qvm-create-windows-qube/windows/isos`. Alternativamente, se puede otorgar acceso de red temporal a `windows-mgmt`, sin embargo, esto no se recomienda por razones de seguridad.
Una vez generadas, las ISOs de Windows se almacenan en caché en `/home/user/qvm-create-windows-qube/windows/out` para su uso posterior. Si descargas una ISO actualizada con Mido, asegúrate de eliminar la misma ISO del directorio de caché antes mencionado. Esto hará que la caché se regenere a partir de la ISO actualizada.
Para lectores avanzados: Qvm-Create-Windows-Qube adopta un enfoque genérico para manejar ISOs que puede funcionar con cualquier ISO de Windows. Si tienes tu propia ISO de Windows que deseas usar, probablemente solo se necesitaría un ajuste muy pequeño en el archivo de respuestas más cercano (específicamente la clave `/IMAGE/NAME`) para que funcione. Puedes obtener los valores válidos de `/IMAGE/NAME` para tu ISO analizando el `install.wim` dentro con el comando `wiminfo` (empaquetado como `wimlib-utils` en Fedora o `wimtools` en Debian) o desde Windows usando Windows ADK.
### Creando una máquina virtual Windows
**Importante:** Asegúrate de leer la sección [Problemas Conocidos de las Herramientas Windows de Qubes](https://github.com/ElliotKillick/qvm-create-windows-qube#qubes-windows-tools-known-issues) a continuación para un pequeño problema de upstream.
#### Windows 10
*[Demostración en video](https://www.youtube.com/watch?v=cCi2MOUwS_Q)*
`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64.iso -a win10x64-pro.xml work-win10`
`qvm-create-windows-qube -n sys-firewall -oyp steam -i win10x64.iso -a win10x64-pro.xml game-console`
#### Windows Server 2019
`qvm-create-windows-qube -n sys-firewall -oy -i win2019-eval.iso -a win2019-datacenter-eval.xml fs-win2019`
#### Windows 10 Enterprise LTSC
- Una versión más estable, minimalista, segura y privada de Windows 10 proporcionada oficialmente por Microsoft
- Esta versión de Windows 10 se recomienda para quienes necesitan lo mejor en seguridad y privacidad de Windows
`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml work-win10`
`qvm-create-windows-qube -n sys-whonix -oyw -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml anon-win10`
#### Windows 7
- No recomendado porque Windows 7 ya [no tiene soporte](https://github.com/ElliotKillick/qvm-create-windows-qube#advisories) por parte de Microsoft, sin embargo, es el único sistema operativo de escritorio que soporta el controlador GUI de Qubes (en Qubes Windows Tools) si se requiere integración perfecta de ventanas o redimensionamiento dinámico
*[Demostración en video](https://www.youtube.com/watch?v=duUM1VLrXIQ)*
`qvm-create-windows-qube -n sys-firewall -soyp firefox,notepadplusplus,office365proplus -i win7x64-ultimate.iso -a win7x64-ultimate.xml work-win7`
## Seguridad
Qvm-Create-Windows-Qube es "razonablemente seguro" como [Qubes](https://www.qubes-os.org) lo requeriría.
- `windows-mgmt` está aislado de la red (air gapped)
- Todo el proceso de configuración del qube Windows se realiza con aislamiento de red
- Excepción: Si (y solo si) se configuran paquetes para instalar, entonces se permitirá el acceso a Internet a Windows al final de la instalación del qube Windows
- Se elimina toda una clase de vulnerabilidades de inyección de comandos en el script de shell de Dom0 al no permitirle analizar ninguna salida del qube no confiable `windows-mgmt`
- Solo se pasan códigos de salida mediante `qvm-run`; no variables
- Esto también mitiga las consecuencias de otra vulnerabilidad [Shellshock](https://en.wikipedia.org/wiki/Shellshock_(software_bug)) de Bash
- La descarga de las ISOs de Windows se hace segura al imponer:
- Las ISOs se descargan directamente de subdominios controlados por Microsoft de `microsoft.com`
- HTTPS TLS 1.2/1.3
- Verificación SHA-256 de los archivos después de la descarga
- Cada archivo se guarda con la extensión `.UNVERIFIED` hasta que se confirma que su suma de verificación coincide
- Mido está escrito de forma robusta en POSIX sh (se usará el shell Dash mínimo si está disponible) para que la interacción con la interfaz web de descarga con puerta de Microsoft sea más segura
- Para mayor seguridad, incluso podría ejecutarse en un shell Rust compatible con POSIX (ej. nsh) con coreutils de Rust (ej. uutils). Esta no es la configuración predeterminada.
- Windows se trata como un sistema operativo invitado no confiable durante todo el proceso
- El impacto de cualquier vulnerabilidad teórica en el manejo de la ISO de Windows (ej. vulnerabilidad en el análisis del sistema de archivos) o en el archivo de respuestas se limita a `windows-mgmt`
- Todas las confirmaciones (commits) de los mantenedores están siempre firmadas con sus respectivas claves PGP
- Si las firmas cesaran, asumir compromiso
- Mantenedor actual 1: [Elliot Killick](https://github.com/ElliotKillick)
- Clave PGP ([subclave de firma de código](https://keys.openpgp.org/search?q=EEEE+6403+CE85+0791+ECB1+F820+7C4E+CB25+B6B1+C0DE)): EEEE 6403 CE85 0791 ECB1 F820 7C4E CB25 B6B1 C0DE
- Correo electrónico: [[email protected]](https://keys.openpgp.org/search?q=contact%40elliotkillick.com)
- Esta clave es nueva a partir del 28 de mayo de 2024
- Mantenedor actual 2: [Frédéric Pierret](https://github.com/fepitre)
- Clave PGP: 9FA6 4B92 F95E 706B F28E 2CA6 4840 10B5 CDC5 76E2
- Correo electrónico: [[email protected]](https://keys.openpgp.org/search?q=frederic.pierret%40qubes-os.org)
- Principalmente encargado del soporte de Qubes R4.1
- Ver la rama `release4.1` y [qubes-mgmt-salt-windows-mgmt](https://github.com/fepitre/qubes-mgmt-salt-windows-mgmt)
### Windows
#### Mantenimiento
No olvides aplicar las actualizaciones correspondientes al crear tu qube Windows. Microsoft frecuentemente construye ISOs actualizadas para las versiones actuales de Windows, como Windows 10. Para estas versiones de Windows, se recomienda descargar periódicamente la última versión usando Mido para obtener una imagen de Windows actualizada de fábrica.
#### Avisos
Windows 7 y Windows Server 2008 R2 llegaron al final de su vida útil (EOL) el [14 de enero de 2020](https://support.microsoft.com/en-us/help/4057281/windows-7-support-will-end-on-january-14-2020).
## Privacidad
Qvm-Create-Windows-Qube aspira a ser la forma más privada de usar Windows. Muchos usuarios de Qubes cambiaron desde Windows (u otro sistema operativo propietario) en parte para alejarse de Microsoft (o de las grandes tecnológicas en general), por lo que poder usar Windows a una distancia segura es de suma importancia para este proyecto. O al menos, tan segura como sea posible para lo que es esencialmente un enorme blob binario propietario.
### Telemetría de Windows
Configura los ajustes de telemetría de Windows para respetar la privacidad.
- Optar por no participar en el Programa de Mejora de la Experiencia del Cliente (CEIP)
- Deshabilitar el Informe de Errores de Windows (WER)
- Deshabilitar el servicio DiagTrack
- Apagar toda la telemetría en la aplicación "Configuración" de Windows 10
- Habilitar el nivel ["Seguridad"](https://docs.microsoft.com/en-us/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) de telemetría en ediciones compatibles de Windows 10
- Ver `spyless.bat` para más información
### Recomendaciones de Whonix para Windows-Whonix-Workstation
Todo lo mencionado [aquí](https://www.whonix.org/wiki/Other_Operating_Systems) hasta "Even more security" está implementado. "Most security" es usar una Whonix-Workstation oficial construida por ti mismo desde las fuentes. Esta característica no es oficial ni está respaldada por Whonix.
Se recomienda leer [esta](https://www.whonix.org/wiki/Windows_Hosts) documentación de Whonix para entender las implicaciones de usar Windows de esta manera.
### Fácil de Restablecer la Huella Digital
Hay innumerables identificadores únicos presentes en cada instalación de Windows, como el MachineGUID, el ID de instalación, los Números de Serie de Volumen (VSN) de la unidad NTFS y más. Con Qvm-Create-Windows-Qube, estos identificadores únicos se pueden restablecer fácilmente reinstalando Windows automáticamente.
### Limitaciones
Es posible la identificación (fingerprinting) a través del hipervisor en caso de compromiso de la VM, aquí hay algunos ejemplos prácticos (no específicos de Windows):
- [Reloj de Xen como wallclock](https://phabricator.whonix.org/T389)
- La fuga de zona horaria se puede mitigar al menos configurando la hora UTC en la BIOS/UEFI
- La zona horaria local aún se puede configurar para el reloj de Dom0 XFCE y en las VMs deseadas ejecutando `timedatectl set-timezone` cada inicio usando el estándar `/rw/config/rc.local` que proporciona Qubes
- Sin embargo, la correlación temporal entre VMs sigue siendo trivial
- [CPUID](https://github.com/QubesOS/qubes-issues/issues/1142)
- Generalmente, algunas de las interfaces de VM documentadas [aquí](https://www.qubes-os.org/doc/vm-interface/) (ej. dimensiones de pantalla)
## Preguntas Frecuentes (FAQ)
### ¿Necesito una licencia de Windows para usar este proyecto?
No, con cada instalación de Windows viene una clave de producto de prueba incrustada que se usa por defecto si no se proporciona ninguna otra. Qvm-Create-Windows-Qube especifica explícitamente ninguna clave de producto en los archivos de respuestas para usar la clave de prueba predeterminada.
En versiones generales de consumo de Windows como (no empresariales) 7, 8.1 y 10, estas pruebas se extienden para siempre con el entendimiento de que puede comenzar a aparecer una marca de agua o una ventana emergente solicitando la activación del producto.
En las versiones de Windows Enterprise Evaluation y Server Evaluation, una vez que termina el período de prueba, la máquina se apagará automáticamente (y sin previo aviso) después de estar encendida durante un tiempo determinado por el Servicio de Monitoreo de Licencias de Windows (`C:\Windows\System32\wlms\wlms.exe`; está en una carpeta oculta). Cuando esto ocurre, la razón mencionada para el apagado se registrará en el Visor de Eventos. Para renovar la prueba, ejecuta `slmgr /rearm` en el símbolo del sistema. Esto funcionará la cantidad de veces especificada en `slmgr /dlv` (puede variar), momento en el cual el producto debe activarse o reinstalarse.
Se recomienda que licencies el producto cuando termine la prueba en todos los casos.
No es necesario dar acceso a Internet a Windows para usar la clave de prueba (ya que está incrustada en cada ISO). Sin embargo, sí es necesario para activar Windows con una clave de producto propia (a menos que realices la activación por teléfono).
### ¿Cuál es el propósito de la AppVM `windows-mgmt`? ¿Puedo eliminarla una vez completada la instalación de Windows?
El propósito de la AppVM `windows-mgmt` es aislar de forma segura todo lo que ocurre como parte de la instalación de Windows en una sola máquina virtual. De esa manera, la explotación de cualquier error que exista, por ejemplo, en el código de análisis del sistema de archivos ISO de Linux, se limita en la cantidad de daño que puede hacer si una ISO de Windows es maliciosa. Este es el principio de seguridad sobre el cual se construye todo Qubes OS, conocido como "seguridad por aislamiento" o "seguridad por compartimentación".
Siéntete libre de eliminar `windows-mgmt` si estás seguro de que no deseas crear más máquinas virtuales Windows. Sin embargo, si solo deseas recuperar espacio en disco, simplemente puedes eliminar las ISOs ubicadas en `/home/user/qvm-create-windows-qube/windows/isos` y `/home/user/qvm-create-windows-qube/windows/out` (dentro de `windows-mgmt`) para ahorrar la gran mayoría de ese espacio.
### ¿Hay algo más que deba saber?
No habilites "Incluir en el balance de memoria" (la casilla de verificación) en la configuración del qube Windows. Esta característica de Qubes OS es actualmente inestable en Windows y habilitarla provocará frecuentes fallos de Windows (pantallas azules de la muerte - BSOD).
## Cómo contribuir
¡Puedes comenzar dándole una estrella a este proyecto! ¡También se aceptan PRs de alta calidad! Echa un vistazo a la lista de tareas pendientes a continuación si buscas cosas que necesitan mejora. También son bienvenidas otras mejoras, como formas más elegantes de completar una tarea, limpieza de código y otras correcciones.
Muchos [GSoC](https://www.qubes-os.org/gsoc/) relacionados con Windows para los interesados.
El logotipo de este proyecto es de Max Andersen, usado con permiso por escrito.
Este proyecto es producto de un esfuerzo independiente que no está respaldado oficialmente por Qubes OS.
## Problemas Conocidos de las Herramientas Windows de Qubes
- El nuevo instalador de QWT deshabilita la creación de discos privados por defecto
- ¿Probablemente debido a preocupaciones de estabilidad?
- No se puede crear una TemplateVM
### Aviso sobre Controladores Xen Más Nuevos (para sistemas operativos antiguos como Windows 7)
En Qubes R4.1, las Herramientas Windows de Qubes vienen con controladores más nuevos que funcionan mejor en versiones más nuevas de Windows, como Windows 10. Desafortunadamente, también se ha documentado que estos nuevos controladores funcionan peor con versiones antiguas de Windows, como Windows 7. Idealmente, las correcciones deberían consolidarse en un solo controlador, pero aún no ha sucedido.
Windows 7 es un sistema operativo sin soporte (EOL) en este punto, por lo que esto es menos importante. Sin embargo, todavía hay algunas razones válidas para usar (al menos una máquina Windows 7 aislada de la red) (ej. con fines de investigación/pruebas técnicas).
Hay miembros de la comunidad documentando esta experiencia (yo también puedo dar fe) en el Foro de Qubes OS y en algunos issues de GitHub de Qubes OS.
#### Hilos de listas de correo
- [qubes-users](https://groups.google.com/forum/#!topic/qubes-users/AdQcjg7XOFo)
- [qubes-devel](https://groups.google.com/forum/#!topic/qubes-devel/aCCGpYysZTQ)
#### Issues de GitHub de Qubes OS etiquetados con Windows
- [`C: windows-tools`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-tools)
- [`C: windows-vm`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-vm)
## Tareas pendientes- [x] Obtener la capacidad de desempaquetar, insertar archivo de respuestas y reempaquetar de manera confiable cualquier archivo ISO que contenga un sistema de archivos UDF ([ISO 13346](https://en.wikipedia.org/wiki/Universal_Disk_Format), es decir, el formato ISO de Windows)
- Los contenedores de archivos ISO son esencialmente sistemas de archivos de una sola escritura; no se puede simplemente agregar un archivo sin crear un ISO completamente nuevo
- Abrir un archivo ISO oficial de Microsoft Windows en un editor hexadecimal muestra evidencia clara de que contiene un sistema de archivos UDF y menciona específicamente `ISO-13346` en la parte superior
- Tenga en cuenta que el comando `file` puede identificar erróneamente estos archivos ISO como el formato ISO 9660 ahora suplantado, pero probablemente solo porque "UDF comparte el formato básico de descriptor de volumen con ISO 9660"
- Esta es la misma forma en que lo hace VMWare, como se puede ver en la parte "Creating Disk..." del video a continuación (investigaciones adicionales indican que usan `mkisofs`)
- [ ] En el futuro, sería mejor que Qubes haga esto [extendiendo core admin para plantillas libvirt XML](https://github.com/QubesOS/qubes-issues/issues/5085)
- Más rápido
- Ahorra almacenamiento al no tener que crear un nuevo ISO
- [x] auto-qwt toma D:\\ haciendo que QWT ponga el perfil de usuario en E:\\; sería mejor tenerlo en D:\\ para que no haya un espacio incómodo en el medio
- [x] Hacer que el archivo de respuestas de Windows use automáticamente la clave de prueba predeterminada para la instalación de Windows sin codificar claves de producto en ningún lugar (Windows es exigente en esto)
- [x] Soporte para Windows 8.1-10 (Nota: QWT aún no es totalmente compatible oficialmente con ningún sistema operativo que no sea Windows 7, sin embargo, todo es funcional excepto el controlador de GUI)
- [x] Soporte para Windows Server 2008 R2 hasta Windows Server 2019
- [x] Soporte para Windows 10 Enterprise LTSC (Canal de soporte a largo plazo)
- Proporciona actualizaciones de seguridad por 10 años, muy estable y con menos bloat que Windows 10 estándar
- [ ] Soporte para Windows 11
- Qvm-Create-Windows-Qube se creó para ser independiente de la versión de Windows, el único trabajo real aquí es crear un archivo de respuestas (probablemente solo modificar ligeramente el de Windows 10) y agregarlo a `mido.sh` (lo cual no será un problema ahora que he extendido su funcionalidad para descargar desde detrás de la API de descarga de ISO de Microsoft con restricciones)
- La verdadera pregunta es si Qubes Windows Tools funcionará en Windows 11
- Microsoft tiene un historial fantástico de retrocompatibilidad incluso a nivel de API del kernel (porque a las empresas les encanta la retrocompatibilidad), por lo que es posible que funcione bien
- Se necesita ayuda, probadores son bienvenidos
- [x] Provisionar Chocolatey
- [x] Agregar una opción para reducir Windows según lo documentado para Qubes [aquí](https://www.qubes-os.org/doc/windows-template-customization/)
- [x] Hacer que `windows-mgmt` esté aislado (air gapped)
- [x] Extender la funcionalidad de `download-windows.sh` (ahora `mido.sh`) para descargar ISOs desde detrás de la API de descarga de ISO de Microsoft con restricciones
- [ ] Recientemente descubrí que esto es un proyecto de Qubes [Google Summer of Code](https://www.qubes-os.org/gsoc/)
- [x] Agregar pruebas automatizadas
- Usando Travis CI para ShellCheck automatizado
- [x] Tablas ACPI para obtener la licencia de Windows incrustada allí
- Encontré más información sobre esto, debería ser muy simple simplemente colocando la siguiente extensión de plantilla libvirt jinja en `/etc/qubes/templates/libvirt/xen/by-name/<windows_qube>`
- Gracias a @jevank por el [parche](https://github.com/QubesOS/qubes-issues/issues/5279#issuecomment-525947408)
- [ ] Portar a Python
- Esto parece innecesario para scripts como `create-media.sh`, donde el script de Python esencialmente solo llamaría a programas externos
- Esto ciertamente sería adecuado para el programa `qvm-create-windows-qube`
- Esto nos permitiría intercambiar datos entre Dom0 y la VM sin preocuparnos por una posible inyección de comandos u otro Shellshock
- [ ] Seleccionar automáticamente qué archivo de respuestas usar según las características del ISO de Windows obtenidas del comando `wiminfo` (Actualmente en proceso; ver rama)
- `wiminfo` funciona igual que DISM en Windows
- [ ] Una vez que se extienda core admin para permitir plantillas libvirt XML (archivos de respuestas) (tarea pendiente anterior, es un problema bloqueante), también podríamos leer de forma segura las características del install.wim del ISO sin siquiera tener que montar el ISO como dispositivo loop usando [`libguestfs`](https://libguestfs.org)
- También he visto `libguestfs` usado en QEMU/KVM, por lo que definitivamente es un buen candidato para este caso de uso
- Tenga en cuenta que `libguestfs` no puede escribir (un archivo de respuestas) en un ISO, por lo que no tiene sentido usar esta biblioteca hasta que ya no necesitemos crear un ISO completamente nuevo para agregarle el archivo de respuestas
- [x] Seguir la [documentación de Whonix](https://www.whonix.org/wiki/Other_Operating_Systems) para crear Windows-Whonix-Workstation
- [ ] Agregar funcionalidad para que `create-media.sh` agregue MSUs (paquetes independientes de actualización de Microsoft) para instalarlos durante el paso de Windows PE (específicamente "Installing updates...") de la configuración de Windows
- Podríamos solucionar la instalación de QWT que actualmente no funciona para ISOs antiguas de Windows 7 SP1 y Windows Server 2008 (no R2) usando [KB4474419](https://github.com/QubesOS/qubes-issues/issues/3585#issuecomment-521280301) para agregar soporte de firma de controladores SHA-256
- La otra opción es que Xen firme sus controladores también con SHA-1, lo que otros proveedores de controladores parecen hacer, pero no es ideal desde el punto de vista de la seguridad
- Nos permite deshacernos del truco `allow-drivers.vbs` corrigiendo el error de instalación *automática* de controladores SHA-256 en versiones más recientes de Windows 7 con KB2921916 (ver `allow-drivers.vbs` para más detalles)
- Este error de Windows fue intencionalmente parcheado y desparcheado por Microsoft en un intento de obligar a las empresas a actualizar a Windows 10
- ¿Parchear algunos errores de seguridad de Windows?
- Parchear BlueKeep para Windows 7 de fábrica
- El ISO base de Windows Server 2008 R2 también es vulnerable a ETERNALBLUE y BlueKeep de fábrica
- Probablemente no vale la pena entrar en eso, los usuarios deberían actualizar la VM al crearla
- [ ] Modo sin cabeza (headless)
- Se necesita ayuda
- ¿Qué mecanismo existe para lograr esto en Qubes? ¿Algo en el agente/daemon de GUI de Qubes?
- [ ] Empaquetar este proyecto para que su entrega pueda ser más ágil y segura a través de `qubes-dom0-update`
- [ ] Agregar soporte para [ReactOS](https://reactos.org) como alternativa de código abierto a Windows
- Esto sería bueno al menos hasta que se [cree una plantilla de ReactOS](https://github.com/QubesOS/qubes-issues/issues/2809)
- Quizás los desarrolladores de ReactOS quieran usar esto para desarrollar ReactOS
- O tal vez solo agregar ReactOS como plantilla (fuera de este proyecto)
- Sin embargo, alguien tendría que mantener esta plantilla
- Además, puede que no tenga mucho sentido si los controladores QWT/Xen no funcionan
- Al menos para funciones básicas como copiar/pegar y transferencia de archivos
- Interés de ambos lados
- [Qubes OS](https://github.com/QubesOS/qubes-issues/issues/2809)
- [ReactOS](https://reactos.org/forum/viewtopic.php?p=126279#p126279)
- "una de las ofertas de colaboración más interesantes que hemos recibido hasta hoy"
- Las [instalaciones desatendidas de ReactOS](https://reactos.org/wiki/Create_an_unattended_Installation_CD) parecen ser diferentes a las de Windows
- [ ] El único problema bloqueante que pude encontrar es el tipo de controlador SCSI de QEMU
- Qubes podría extender core admin para admitir la configuración del controlador SCSI en la plantilla libvirt
- Esta solución parece mejor porque, según [este](https://github.com/QubesOS/qubes-issues/issues/3651#issuecomment-420914348) comentario, también solucionaría otros sistemas operativos cuyo instalador no admite nuestro controlador SCSI actual
- ReactOS podría agregar soporte para nuestro tipo de controlador SCSI actual
- [Problema de ReactOS](https://reactos.org/forum/viewtopic.php?t=17529)
- [Problema de Qubes OS](https://github.com/QubesOS/qubes-issues/issues/3494)
- Exponer un controlador SCSI diferente no expande la superficie de ataque porque QEMU se ejecuta en un dominio stub de Xen
- ReactOS está en alfa, por lo que para la mayoría de los usuarios esto probablemente no sea viable ahora mismo
- Se necesita ayuda
- No hay cronograma para esto actualmente
## Objetivo final
Tener una característica similar (o superior) a la [instalación fácil de Windows de VMWare](https://www.youtube.com/watch?v=1OpDXlttmE0) en Qubes OS. La solución de VMWare es propietaria y solo está disponible en sus productos de pago.
VirtualBox también tiene [algo similar](https://blogs.oracle.com/scoter/oracle-vm-virtualbox-52:-unattended-guest-os-install) pero no es tan rico en funciones.