mfa-firewall-knocker
MFA Firewall Knocker es un control plane auto-alojado que implementa port knocking con credenciales WebAuthn (passkeys). Abre reglas de firewall per-IP y auto-expirantes tras autenticación FIDO2, sin agentes ni overlays de red.
Ficha actualizada 25 sept 2026, 4:50 · upstream 25 sept 2026, 4:35 · release v0.3.0
Qué es mfa-firewall-knocker
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Este proyecto actúa como una puerta de entrada humana para servicios como SSH, WireGuard o RDP. A diferencia de soluciones de malla como Tailscale, no construye una red overlay; simplemente abre un puerto temporalmente tras verificar la identidad del usuario con un passkey en el dispositivo.
La arquitectura separa MFAWeb (HTTPS expuesto) de MFAService (privilegiado). El servicio web muestra la IP origen y valida la autenticación, pero delega la apertura real de reglas al servicio local que re-valida cada solicitud independientemente. Las reglas se limitan a la dirección IP fuente o su red IPv6 (/64) y caducan automáticamente.
El sistema está diseñado para ser pequeño y auditable, eliminando componentes como el cliente ACME o TOTP por defecto para reducir la superficie de ataque. En Linux, los datos de usuarios se almacenan en JSON plano (requiere cifrado externo), mientras que Windows usa DPAPI. No soporta despliegue con Docker nativo según el análisis técnico.
- Implementar autenticación MFA reforzada para SSH o WireGuard sin migrar credenciales existentes.
- Cumplir requisitos de auditoría (NIST, CMMC, PCI-DSS) demostrando una barrera humana antes del acceso al puerto.
- Proteger servicios expuestos a internet con reglas de firewall efímeras vinculadas a la identidad del usuario.
- Evitar ataques de robo de credenciales: una clave robada no sirve sin el dispositivo físico y biometría.
- Autenticación WebAuthn por defecto con verificación de usuario (biometría/PIN) obligatoria en cada sesión.
- Reglas de firewall per-IP que expiran automáticamente, reduciendo la ventana de exposición si se revoca el acceso.
- Arquitectura sin agentes ni control plane complejo; todo verificable con comandos estándar como iptables.
- Resiliencia a certificados TLS: renovación automática sin reinicio y alertas por correo electrónico ante caducidad.
- Ineficaz detrás de CGNAT o VPNs corporativos donde múltiples usuarios comparten una IP pública.
- No soporta Docker/Compose nativo; requiere despliegue manual del backend y frontend separados.
- En Linux, el almacenamiento de usuarios es JSON plano sin cifrado por defecto (requiere configuración externa).
- La autenticación depende de la dirección IP origen; cambios frecuentes en esa IP invalidan las reglas activas.
- No ofrece gestión centralizada de identidad ni SCIM; cada usuario debe registrarse manualmente.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere despliegue manual o contenedorizado por el usuario. Instalar MFAWeb (HTTPS) y MFAService (privilegiado) en la misma máquina. Configurar firewall para permitir tráfico HTTPS a MFAWeb y bloquear todo lo demás. Asegurar que MFAService tenga permisos de root para escribir reglas iptables/nftables. Verificar certificados TLS y configurar alertas SMTP.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.



