Cómo colocar un archivo security.txt en su sitio web
Si alguien encuentra una vulnerabilidad de seguridad en su sitio web, por ejemplo una carpeta abierta o un plugin desactualizado, usted querrá que esa persona pueda avisarle. Para eso sirve security.txt: un pequeño archivo de texto, en una ubicación fija de su sitio web, con la dirección a la que deben enviarse esos avisos. Está definido en el estándar de Internet RFC 9116. Aquí puede leer qué contiene y cómo colocarlo.
La ubicación
El archivo se encuentra en https://example.com/.well-known/security.txt. La ubicación antigua /security.txt en la carpeta raíz se permite como complemento, pero si el archivo está en ambas ubicaciones, prevalece el de /.well-known/. Debe ser accesible a través de https y servirse como texto plano (text/plain).
El archivo solo es válido para el nombre en el que se encuentra. Por tanto, un security.txt en example.com no se aplica automáticamente a shop.example.com. Si un subdominio tiene su propio sitio web, coloque también allí un security.txt.
Qué contiene
Contact: mailto:security@example.com Expires: 2027-10-31T23:00:00Z Preferred-Languages: nl, en Canonical: https://example.com/.well-known/security.txt
| Campo | ¿Obligatorio? | Significado |
|---|---|---|
Contact | Sí | A dónde se envían los avisos: una dirección mailto:, un número tel: o una página web que empiece por https://. Puede indicar varios, uno debajo de otro; el primero es su preferido. |
Expires | Sí, exactamente una vez | La fecha y hora a partir de la cual el archivo se considera obsoleto, como 2027-10-31T23:00:00Z. El estándar recomienda una fecha situada a menos de un año vista. |
Preferred-Languages | No | Los idiomas en los que desea recibir los avisos. |
Canonical | No | La dirección del propio archivo. |
Policy | No | Un enlace a una página con su política de avisos: qué hace usted con un aviso y qué pide a quien lo envía. |
Encryption | No | Un enlace a su clave pública, si quienes envían avisos pueden escribirle por correo cifrado. |
En Contact, utilice una dirección que alguien lea de verdad. Un buzón olvidado es peor que no tener security.txt: quien envía el aviso cree que usted ya está informado. Puede firmar el archivo con una firma digital (OpenPGP), pero no es obligatorio.
Colocarlo en su plan de hosting
- En DirectAdmin, abra el Administrador de archivos y vaya a
domains/example.com/public_html. Consulte Abrir el Administrador de archivos: las carpetas de su plan. - Si la carpeta
.well-knowntodavía no existe, créela. Las carpetas que empiezan por un punto solo se ven si muestra los archivos ocultos: consulte Mostrar y editar archivos ocultos como .htaccess. - Cree en esa carpeta un archivo nuevo llamado
security.txt, pegue en él sus líneas y guárdelo. - Abra
https://example.com/.well-known/security.txten su navegador. Debería ver su texto.
Si utiliza WordPress u otro CMS, no cambia nada: el servidor web envía sin más un archivo que existe realmente.
Colocarlo en un VPS
En un VPS, coloque el archivo en la carpeta web de su sitio, por ejemplo /var/www/example.com/.well-known/security.txt. Tenga en cuenta dos cosas:
- Si en nginx bloquea todas las rutas que empiezan por un punto, añada primero una excepción para
/.well-known/. - Si hay una aplicación funcionando detrás de un proxy inverso, haga que en Caddy o nginx la ruta apunte al archivo.
Consulte Caddy: un sitio web con https automático y nginx con un certificado de Let's Encrypt.
Comprobarlo
Consulte las cabeceras con:
curl -sI https://example.com/.well-known/security.txt
El estado debe ser 200 y el tipo text/plain. Un error frecuente: un sitio que responde a cualquier dirección desconocida con la página de inicio. En ese caso parece que el archivo existe, pero lo que se devuelve es HTML. Por eso, revise también el contenido. La prueba de sitios web de internet.nl también comprueba security.txt.
Actualizarlo cada año
Ponga en su agenda un recordatorio con bastante antelación a la fecha de Expires. Compruebe entonces si la dirección de contacto sigue siendo correcta y adelante la fecha. Si mientras tanto cambia algo, como una dirección nueva o alguien que deja la empresa, modifique el archivo de inmediato.
Más información
- RFC 9116: A File Format to Aid in Security Vulnerability Disclosure (en inglés)
- securitytxt.org, con una herramienta para crear el archivo (en inglés)
¿Quiere aprender más? Siga el curso gratuito de VPS y administración de servidores Linux, lección 7.4 Caddy, HSTS y security.txt o lección 10.4 Comprobación final: su servidor a examen.
