Admin Libre - Administración de sistemas y redes

security.txt con httpd
Por Francisco Gaitán el 18 de Abril de 2022

El archivo security.txt ofrece a los investigadores de seguridad una manera de contactar con el administrador de un sitio web para comunicar problemas de seguridad de forma segura, evitando que se de el caso de que por no tener una forma de contacto con el administrador legítimo éste no sea advertido del problema.

Archivo security.txt

Primero creo el archivo sin firmar llamado security-unsigned.txt siguiendo las recomendaciones del borrador security.txt, con una duración máxima de un año:

Canonical: https://example.com/.well-known/security.txt
Contact: mailto:security@example.com
Encryption: https://example.com/pgp-key.txt 
Expires: 2023-04-17T18:37:07z
Preferred-Languages: en, es 

Ten en cuenta que si haces pública tu clave PGP los spammers pueden extraer tu dirección de correo. Para evitar esto puedes omitir el campo Encryption. Una vez creado el archivo original voy a firmarlo:

$ gpg --clearsign -o security.txt security-unsigned.txt

pgp-key.txt es un archivo de texto que contiene la clave pública PGP. Partiendo de que ya tengo el par de claves pública y privada con GnuPG lo genero así:

$ gpg --export -a > pgp-key.txt

Tanto security.txt como pgp-key.txt irán en el directorio raíz de la web, aunque el primero debe ser accesible desde otra localización como te mostraré a continuación.

Configuración de httpd

De acuerdo al RFC 8615 el archivo debe ser accesible desde la localización /.well-known/security.txt y no supone un problema que también sea accesible desde el directorio raíz. Este es el bloque correspondiente del archivo httpd.conf(5) dentro del bloque server:

location "/.well-known/security.txt" {
	root "/htdocs/example.com"
	request strip 1
}

Una vez cargada la nueva configuración y con ambos archivos de texto en la raíz de la web, compruebo que ambos archivos son accesibles a través de esta URL:

  • https://example.com/.well-known/security.txt

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org