Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
qubes-mirage-firewall — Firewall unikernel mínimo para QubesOS que filtra el tráfico de red, implementa NAT y se comunica a través de Qubes DB y qrexec. | Kitploit
Herramientas/GitHubGitHub/mirage/qubes-mirage-firewall
Herramientas DefensivasControl de Acceso a la RedVirtualización de SeguridadSeguridad de Redes
GitHubmirage/qubes-mirage-firewall

qubes-mirage-firewall

Firewall unikernel mínimo para QubesOS que filtra el tráfico de red, implementa NAT y se comunica a través de Qubes DB y qrexec.

Ver Repositorio
2392919hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

qubes-mirage-firewall

Un unikernel que puede ejecutarse como ProxyVM de QubesOS, reemplazando a sys-firewall. Utiliza la biblioteca [mirage-qubes][] para implementar los protocolos de Qubes.

Consulte [A Unikernel Firewall for QubesOS][] para más detalles.

Lanzamientos binarios

Los binarios precompilados están disponibles en la [página de lanzamientos][releases page]. Consulte la sección Deploy a continuación para las instrucciones de instalación.

Compilar desde el código fuente

Nota: La forma más fiable de compilar es usando Docker o Podman. Fedora 42 funciona bien para esto; Debian 12 también funciona, pero deberá seguir las instrucciones de [docker.com][debian-docker] para obtener Docker (no use la versión de Debian).

Cree una nueva AppVM Fedora-42 (o reutilice una existente). En los ajustes de la Qube (Basic / Disk storage), aumente el tamaño máximo de almacenamiento privado de los 2048 MiB predeterminados a 8192 MiB. Abra una terminal.

Clone este repositorio Git y ejecute el script build-with.sh con docker o podman como argumento (Nota: la llamada a chcon es obligatoria en Fedora con las nuevas políticas de SELinux que no permiten mantener las imágenes de docker en el directorio personal de forma estándar):

mkdir /home/user/docker
sudo ln -s /home/user/docker /var/lib/docker
sudo chcon -Rt container_file_t /home/user/docker
sudo dnf install docker
sudo systemctl start docker
git clone https://github.com/mirage/qubes-mirage-firewall.git
cd qubes-mirage-firewall
sudo ./build-with.sh docker

O

sudo systemctl start podman
git clone https://github.com/mirage/qubes-mirage-firewall.git
cd qubes-mirage-firewall
./build-with.sh podman

Esto tardó unos 15 minutos en mi portátil (será mucho más rápido si lo vuelve a ejecutar). El paso del enlace simbólico al principio no es necesario si su VM de compilación es independiente. Le da a Docker más espacio en disco y evita perder la caché de imágenes de Docker cuando reinicia la Qube. No es necesario con Podman, ya que los contenedores viven en su directorio personal por defecto.

Nota: los archivos objeto se almacenan en el directorio _build para acelerar las compilaciones incrementales. Si cambia las dependencias, deberá eliminar este directorio antes de recompilar.

Está bien instalar el paquete de Docker o Podman en una VM plantilla si desea que permanezca después de un reinicio, pero la compilación del firewall en sí debe realizarse en una AppVM normal.

También puede compilar sin ese script, como para cualquier unikernel Mirage normal; consulte las instrucciones de instalación de Mirage para más detalles.

El script de compilación fija las versiones de las bibliotecas que utiliza, asegurando que obtendrá exactamente el mismo binario que está en el lanzamiento. Si compila sin él, se compilará contra las últimas versiones (y por lo tanto, el hash probablemente no coincidirá). Sin embargo, debería funcionar bien.

Deploy

Despliegue manual

Si desea realizar un despliegue manual, solo necesita descargar qubes-firewall.xen y qubes-firewall.sha256 en domU y comprobar que el archivo .xen tiene un hashsum correspondiente. qubes-firewall.xen es el unikernel en sí y debe copiarse a vmlinuz en el directorio /var/lib/qubes/vm-kernels/mirage-firewall en dom0, p. ej. (si dev es la AppVM donde lo compiló):

[tal@dom0 ~]$ mkdir -p /var/lib/qubes/vm-kernels/mirage-firewall/
[tal@dom0 ~]$ cd /var/lib/qubes/vm-kernels/mirage-firewall/
[tal@dom0 mirage-firewall]$ qvm-run -p dev 'cat mirage-firewall/qubes-firewall.xen' > vmlinuz

Ejecute este comando en dom0 para crear una VM mirage-firewall usando el kernel mirage-firewall que añadió anteriormente

qvm-create \
  --property kernel=mirage-firewall \
  --property kernelopts='' \
  --property memory=32 \
  --property maxmem=32 \
  --property netvm=sys-net \
  --property provides_network=True \
  --property vcpus=1 \
  --property virt_mode=pvh \
  --property audiovm='' \
  --label=green \
  --class StandaloneVM \
  mirage-firewall

qvm-features mirage-firewall qubes-firewall 1
qvm-features mirage-firewall no-default-kernelopts 1
qvm-features mirage-firewall skip-update 1

Despliegue mediante saltstack

Si sabe cómo ejecutar estados de salt en Qubes, también puede usar el script SaltScriptToDownloadAndInstallMirageFirewallInQubes.sls para desplegar automáticamente la última versión de mirage firewall en su Qubes OS. Puede encontrar una introducción aquí y aquí. Siguiendo las instrucciones del primer enlace, puede ejecutar el script en dom0 con el comando sudo qubesctl --show-output state.apply SaltScriptToDownloadAndInstallMirageFirewallInQubes saltenv=user. El script comprueba el checksum del servidor de integración y lo compara con la última versión proporcionada en los lanzamientos de github. Puede ser necesario ajustar las plantillas de VM en el script que se utilizan para la descarga del unikernel de mirage, si sus plantillas predeterminadas no tienen las herramientas curl y tar instaladas por defecto. Tampoco olvide cambiar las VMs en las que se debe usar el uni kernel o ajustar los "Qubes Global Settings".

Actualización

Para actualizar desde una versión anterior, simplemente sobrescriba /var/lib/qubes/vm-kernels/mirage-firewall/vmlinuz con la nueva versión y reinicie la VM del firewall.

Configurar AppVMs para usarlo

Puede ejecutar mirage-firewall junto con su sys-firewall existente y puede elegir qué AppVMs usan cada firewall mediante la GUI. Para configurar una AppVM para que lo use, vaya a los ajustes de la VM de la aplicación en la GUI y cambie su NetVM de default (sys-firewall) a mirage-firewall.

También puede configurarlo ejecutando este comando en dom0 (reemplace my-app-vm con el nombre de la AppVM):

qvm-prefs --set my-app-vm netvm mirage-firewall

Alternativamente, puede configurar mirage-firewall como su VM de firewall predeterminada.

Tenga en cuenta que, por defecto, dom0 usa sys-firewall como su "UpdateVM" (un proxy para descargar actualizaciones). mirage-firewall no puede usarse para esto, pero cualquier VM Linux debería ser suficiente. https://www.qubes-os.org/doc/software-update-dom0/ dice:

El rol de UpdateVM puede asignarse a cualquier VM en Qubes VM Manager, y no hay implicaciones de seguridad significativas en esta elección. Por defecto, este rol se asigna a la firewallvm.

Configurar el firewall con netvm estilo OpenBSD

Actualmente OpenBSD no puede usarse como netvm, así que si desea usar un BSD como su VM sys-net, deberá establecer su netvm a qubes-mirage-firewall (consulte https://github.com/mirage/qubes-mirage-firewall/issues/146 para más información). Eso significa que tendrá AppVMs -> qubes-mirage-firewall <- OpenBSD con la flecha representando el ajuste de la propiedad netvm.

En ese caso, tendrá que indicar a qubes-mirage-firewall qué cliente AppVM debe usarse como uplink:

qvm-prefs --set mirage-firewall -- kernelopts '--ipv4=X.X.X.X --ipv4-gw=Y.Y.Y.Y'

con X.X.X.X como dirección IP para mirage-firewall e Y.Y.Y.Y como dirección IP de su HVM OpenBSD.

Componentes

Este diagrama muestra los componentes principales (cada caja corresponde a un archivo fuente .ml con el mismo nombre):

Descargar herramienta