Configuración de security.txt
Cómo configurar, previsualizar y servir tu archivo security.txt conforme a RFC 9116, el principal mecanismo de descubrimiento para hackers éticos.
Por qué es importante
security.txt es la señal estándar de internet que dice “así es como puedes informarnos de un problema de seguridad”. Definido en RFC 9116, está respaldado por CISA y es obligatorio para las agencias federales de EE. UU. bajo la Binding Operational Directive 20-01. Los investigadores de seguridad, los escáneres de vulnerabilidades y las agencias gubernamentales consultan automáticamente /.well-known/security.txt al evaluar la postura de seguridad de una organización.
Publicar un security.txt válido indica que tu programa es legítimo y cuenta con personal activo. Su ausencia indica lo contrario, y cada vez más hace saltar las alarmas entre auditores y equipos de adquisiciones empresariales.
Incluso en el plan gratuito, Kit publica security.txt automáticamente cuando activas VDP. No requiere configuración alguna.
Qué es security.txt
Un archivo de texto plano servido en /.well-known/security.txt sobre HTTPS. RFC 9116 define seis directivas estándar:
| Directiva | Requerida | Descripción |
|---|---|---|
Contact |
Sí | Email o URL donde se deben enviar los informes de vulnerabilidades |
Expires |
Sí | Fecha y hora en formato ISO 8601 a partir de la cual el archivo ya no debe considerarse fiable |
Policy |
No | URL de tu página completa de política de divulgación |
Acknowledgments |
No | URL de tu página de salón de la fama o agradecimientos |
Hiring |
No | URL de las ofertas de empleo de tu equipo de seguridad |
Encryption |
No | URL de una clave pública PGP para comunicaciones cifradas |
Kit también añade Preferred-Languages: en automáticamente.
Un archivo válido mínimo tiene este aspecto:
Contact: mailto:[email protected]
Expires: 2027-02-27T00:00:00Z
Policy: https://example.com/security/acme/.well-known/security.txt
Preferred-Languages: en
Un archivo completamente configurado incluye las seis directivas:
Contact: mailto:[email protected]
Expires: 2027-02-27T00:00:00Z
Policy: https://example.com/security/acme/policy
Acknowledgments: https://example.com/security/acme/hall-of-fame
Hiring: https://example.com/careers/security
Encryption: https://keys.example.com/pgp-key.asc
Preferred-Languages: en
Configurar security.txt
Navega a VDP > Program Settings > security.txt. Configura los siguientes campos:
| Campo | Valor por defecto | Descripción |
|---|---|---|
| Contact Email | Vacío | Se usa en la directiva Contact:. Usa un alias de seguridad supervisado, no una bandeja personal. Si lo dejas vacío, el archivo generado recurre a la URL de reporte de tu portal de seguridad. |
| Policy URL | Generada automáticamente | Enlace a tu página de política de divulgación. Kit la genera a partir del slug de tu programa. |
| Acknowledgments URL | Generada automáticamente | Enlace a tu página de salón de la fama. Kit la genera automáticamente. |
| Hiring URL | Vacío | Enlace a las ofertas de empleo de tu equipo de seguridad. Opcional. |
| PGP Encryption URL | Vacío | URL de tu clave pública PGP alojada externamente. Opcional. |
| Expiration Days | 365 | Número de días en el futuro en que se fija la directiva Expires:. RFC 9116 recomienda no más de un año. |
Contact Email y Expiration Days son los únicos campos que la mayoría de los programas necesitan cambiar. Las URL de Policy y Acknowledgments se generan a partir de la configuración de tu programa y se actualizan automáticamente.
Haz clic en Preview security.txt para ver la salida sin procesar antes de guardar. Guardar cualquier campo dispara la regeneración de inmediato.
Dónde se sirve
Kit sirve tu security.txt en dos URL:
| URL | Cuándo usarla |
|---|---|
/security/{program-slug}/.well-known/security.txt |
Alojada en Kit: funciona de inmediato tras activar VDP |
/.well-known/security.txt (tu dominio personalizado) |
Producción: requiere configurar un dominio personalizado en Account Settings |
Para servir en un dominio personalizado, configura tu dominio en Account Settings > Custom Domains. Una vez configurado, Kit sirve /.well-known/security.txt en la raíz de tu dominio automáticamente. Esta es la URL que quieres que descubran los investigadores y los escáneres.
El archivo se sirve con Content-Type: text/plain; charset=utf-8 según RFC 9116. Ambas URL devuelven contenido idéntico.
Regeneración automática
Kit gestiona el ciclo de vida de security.txt automáticamente:
- Al guardar la configuración — El archivo se regenera de inmediato cuando se guarda cualquier campo de configuración de security.txt. No se necesita un paso de publicación manual.
-
Supervisión de la expiración — Una verificación diaria supervisa todos los archivos publicados que estén próximos a expirar. Cuando un archivo está a 14 días de su fecha
Expires:, Kit envía una notificación de Slack a tu espacio de trabajo conectado. -
Al renovar — Abrir la página de configuración de security.txt y guardar (incluso sin cambios) regenera el archivo con una nueva fecha
Expires:calculada desde hoy más los Expiration Days configurados.
Un security.txt expirado les dice a los investigadores que tu programa puede estar abandonado. La alerta de expiración de Kit te da un margen de 14 días para renovar antes de que eso suceda.
Previsualizar el archivo
El botón Preview security.txt en Program Settings renderiza el contenido exacto del archivo que se servirá. Úsalo para:
- Verificar que el email de
Contact:es correcto y está supervisado - Confirmar que la fecha de
Expires:está fijada en la fecha futura prevista - Comprobar que las URL de
Policy:yAcknowledgments:resuelven correctamente - Revisar cualquier directiva opcional (
Hiring,Encryption) antes de publicar
La previsualización refleja el estado guardado actual. Haz cambios, guarda y luego previsualiza para ver la salida actualizada.
Validar tu configuración
Después de activar VDP y configurar security.txt, verifica que funciona correctamente:
- Abre
https://startupkit.app/.well-known/security.txten un navegador (o la URL alojada en Kit si no has configurado un dominio personalizado) - Confirma que el archivo se renderiza como texto plano con todas las directivas esperadas
- Verifica que la fecha de
Expires:está en el futuro y dentro de un año - Comprueba que el email o la URL de
Contact:es correcto - Si usas un dominio personalizado, verifica que HTTPS está activo: RFC 9116 requiere que el archivo se sirva sobre HTTPS
Validadores externos como securitytxt.org pueden analizar tu archivo y señalar cualquier problema de conformidad con RFC 9116.
Checklist
- Activar VDP (security.txt se genera automáticamente al activarlo)
- Configurar tu email de contacto con un alias de seguridad supervisado (no una bandeja personal)
-
Verificar que
/.well-known/security.txtresuelve en tu dominio personalizado - Configurar la Policy URL para que los investigadores conozcan las reglas antes de enviar informes
-
Confirmar que la fecha de
Expires:no supera un año en el futuro - Programar un recordatorio en el calendario a los 11 meses para verificar que el archivo no haya expirado (o confiar en la notificación de Slack de alerta de expiración de Kit a los 14 días)
Y ahora qué
- Configura tu programa — todos los ajustes del programa, incluyendo el alcance, la matriz de recompensas y los SLA
- Resumen de divulgación de vulnerabilidades — qué incluye el plan gratuito y el complemento VDP