Configuración inicial
Ver en MarkdownSigue esta página cuando los contenedores estén en marcha e InfraWard responda en tu URL pública. Lleva unos quince minutos.
1. Entra como primer administrador
Sección titulada «1. Entra como primer administrador»Abre InfraWard y entra con el ADMIN_EMAIL y el ADMIN_PASSWORD de .env.

La cuenta se crea en el primer arranque de la API, solo si la base de datos no tiene usuarios. No hay credenciales por defecto. Si la página rechaza la contraseña, mira el log de la API: cuando falta ADMIN_EMAIL o ADMIN_PASSWORD, o la contraseña tiene menos de 12 caracteres, la API escribe un aviso y no crea ningún usuario.
2. Configura la verificación en dos pasos
Sección titulada «2. Configura la verificación en dos pasos»La verificación en dos pasos (TOTP) es obligatoria para los administradores que entran con contraseña. Después de la contraseña, InfraWard abre Configura la verificación en dos pasos y no deja continuar hasta completarla.
-
Escanea el código QR con una app de autenticación. Si no puedes escanearlo, abre ¿No puedes escanearlo? Escribe la clave e introdúcela a mano.

-
Escribe el código de 6 cifras que muestra la app y pulsa Activar.
-
InfraWard muestra diez códigos de recuperación, una sola vez. Cópialos o descárgalos como
.txt, guárdalos en un gestor de contraseñas y pulsa Ya los he guardado.
Cada código de recuperación sirve una vez, en lugar de un código TOTP. Para pasar el segundo factor a otro móvil o generar códigos nuevos, ve a Ajustes → Perfil → Seguridad.
3. Comprueba los proveedores de secretos
Sección titulada «3. Comprueba los proveedores de secretos»Abre Ajustes → Secretos. Con el despliegue por defecto, los dos proveedores aparecen como Operativo: openbao guarda secretos y firma certificados SSH, y local guarda secretos.

Si openbao no aparece o muestra un error, la API no ha podido autenticarse con su AppRole. Revisa docker compose logs api y consulta Solución de problemas.
4. Revisa la política de inventario
Sección titulada «4. Revisa la política de inventario»Abre Ajustes → Inventario. La política global se aplica a todos los assets que no tienen una regla propia:
| Ajuste | Por defecto | Qué hace |
|---|---|---|
| Reconciliación | cada 6 h | Cada cuánto se recoge y se vuelve a descubrir cada nodo raíz. |
| Escaneo de vulnerabilidades | Activado | Si los assets se escanean. |
| Escaneo automático | Sí, tras recoger y descubrir | Si se lanza un escaneo automáticamente después de cada recolección. |
| Excluir del escaneo | nada | Tipos de asset, patrones de nombre (bitnami/*, *-test) o assets concretos que siguen en el inventario pero no se escanean. |

También se pueden fijar reglas por etiqueta, por proyecto y por asset. Cuando varias reglas alcanzan a un asset, gana la del propio asset; después, la del nodo superior más cercano; luego, la de sus etiquetas (la más restrictiva); después, la de sus proyectos (la más restrictiva), y por último la global.
En la misma pestaña están los avisos de caducidad de certificados TLS y dominios, los Reenvíos NAT (qué puertos públicos de tu router van a qué servidores internos, para saber qué está expuesto) y los colores de las etiquetas.
5. Crea usuarios
Sección titulada «5. Crea usuarios»Abre Ajustes → Usuarios y pulsa Nuevo usuario. Escribe el email, el nombre y el rol. InfraWard genera una contraseña temporal de 20 caracteres y la muestra una sola vez. Hazla llegar a la persona por un canal seguro. Vale durante 24 horas y hay que cambiarla al entrar por primera vez.

Los roles son fijos. Todos los roles pueden consultar el inventario y las vulnerabilidades.
| Permiso | Admin | Editor | Operador | Auditor | Lector |
|---|---|---|---|---|---|
Recoger, descubrir, escanear y reconciliar (assets.operate) |
✔ | ✔ | ✔ | ||
Dar de alta, editar, etiquetar y dar de baja assets (assets.write) |
✔ | ✔ | |||
Crear y editar proyectos (projects.write) |
✔ | ✔ | |||
Cambiar políticas de inventario (policy.write) |
✔ | ✔ | |||
Gestionar conectores de dominios (connectors.write) |
✔ | ✔ | |||
Gestionar la caja fuerte sin ver las contraseñas (vault.manage) |
✔ | ✔ | |||
Aceptar el riesgo de hallazgos y reabrirlos (findings.accept) |
✔ | ✔ | |||
Ver el estado de los proveedores de secretos (secrets.status) |
✔ | ✔ | ✔ | ||
Ver usuarios (users.read) |
✔ | ✔ | |||
Leer el registro de auditoría (audit.read) |
✔ | ✔ | |||
Purgar assets de forma definitiva (assets.purge) |
✔ | ||||
Gestionar usuarios y roles (users.manage) |
✔ | ||||
Revelar contraseñas de la caja fuerte (vault.admin) |
✔ | ||||
Gestionar los canales de alertas (alerts.manage) |
✔ | ||||
Abrir la terminal web (terminal.open) |
✔ | con política de acceso | con política de acceso | con política de acceso | con política de acceso |
Las acciones sensibles (cambiar roles, desactivar usuarios, purgar, revelar una contraseña de la caja fuerte, abrir una terminal, crear tokens con escritura o cambiar los canales de alertas) piden confirmar la identidad si la última confirmación tiene más de 10 minutos (REAUTH_MAX_AGE).
Para que los usuarios entren con tu proveedor de identidad, consulta Autenticación, MFA y OIDC.
6. Da acceso a la terminal (opcional)
Sección titulada «6. Da acceso a la terminal (opcional)»Los administradores pueden abrir una terminal en cualquier servidor con el acceso interactivo de administración activado. Para el resto, abre Ajustes → Acceso, elige una persona o un rol y después un asset, una etiqueta o un proyecto, y pulsa Dar acceso.

Consulta Terminal web.
7. Configura las alertas (opcional)
Sección titulada «7. Configura las alertas (opcional)»Las notificaciones aparecen siempre en la campana de la barra superior: assets nuevos, desaparecidos y retirados, reconciliaciones fallidas, certificados y dominios a punto de caducar, registros DNS colgantes, vulnerabilidades críticas en KEV y expuestas, riesgos aceptados que han caducado y revelados de la caja fuerte. Para enviarlas también a otro sitio, abre Ajustes → Alertas y pulsa Nuevo canal. Solo pueden hacerlo los administradores, y pide reautenticación.
| Tipo | Qué envía |
|---|---|
| Webhook | Un POST JSON a una URL HTTPS; por ejemplo, ntfy, n8n, o Slack o Teams a través de una automatización. Con un Secreto de firma, cada petición lleva X-InfraWard-Signature con un HMAC-SHA256 de <X-InfraWard-Timestamp>.<cuerpo>. |
| Correo | Un mensaje a los Destinatarios a través del servidor SMTP del worker. Configura antes las variables SMTP_*; consulta Variables de configuración. |
Qué recibe limita un canal a algunos tipos de notificación; vacío significa todos. Los revelados de la caja fuerte, que solo ven los administradores, solo se envían si marcas También las que solo ven los admins. Enviar prueba manda un mensaje de prueba, y la lista muestra el resultado del último envío.
La URL y el secreto del webhook se guardan en el proveedor de secretos. Por defecto el worker solo envía a direcciones HTTPS públicas; para un receptor en tu propia red, consulta ALERTS_WEBHOOK_ALLOW_PRIVATE y ALERTS_WEBHOOK_ALLOW_HTTP.
8. Otros ajustes
Sección titulada «8. Otros ajustes»- Ajustes → Conectores: añade un conector de Cloudflare para inventariar tus dominios. Consulta Dominios.
- Ajustes → Tokens de API: tokens personales para scripts, con caducidad de como mucho un año. Consulta API REST.
- Ajustes → Caja fuerte: plazo de rotación por defecto, aviso a los demás admins en cada revelado y días en la papelera. Consulta Caja fuerte.
- Ajustes → Auditoría: cada inicio de sesión (también los fallidos), alta, purga, cambio de política, cambio de rol y sesión de terminal, con su IP de origen.