Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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.
PUNTOS DESTACADOS
  • 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.
PRECAUCIONES
  • 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.
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Login page showing the connecting IP address above an email field and a Sign in with Passkey buttonAccess granted page confirming the firewall rule was opened and will expire automaticallyOperating system passkey dialog prompting for Touch ID before completing sign-inMFA Firewall Knocker
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.js
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
No detectados
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.