Generador de cabeceras de seguridad

Elige tu servidor web y las protecciones que quieres activar. El generador escribe Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy y Cross-Origin-Opener-Policy con la sintaxis correcta, listas para pegar en la configuración del sitio.

X-Frame-Options
Cross-Origin-Opener-Policy

nginx: pon las líneas en el bloque server (un add_header dentro de location anula allí las heredadas). Apache: activa mod_headers. Caddy: pon el bloque dentro del sitio. Comprueba la respuesta con curl -I https://tu-sitio antes de subir el max-age.

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo usarlo

  1. Elige el servidor: nginx, Apache, Caddy o una lista simple de cabeceras.
  2. Activa las cabeceras que quieras y elige sus valores. HSTS ofrece duraciones cortas para pruebas además de uno o dos años.
  3. Copia el resultado en la configuración, recarga el servidor y revisa la respuesta con curl -I.

Qué hace cada cabecera

Cabecera Protege contra
Strict-Transport-Security El paso a HTTP y el robo de cookies en wifi públicas
X-Frame-Options El clickjacking con marcos invisibles
X-Content-Type-Options: nosniff Que el navegador adivine que un archivo es un script o un estilo
Referrer-Policy La fuga de URL completas con tokens o ID a otros sitios
Permissions-Policy Contenido incrustado que pide cámara, micrófono o ubicación
Cross-Origin-Opener-Policy Que otras ventanas conserven acceso a la tuya

Ejemplo resuelto

Con los valores por defecto y nginx, el generador escribe:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options "DENY" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

La palabra always hace que nginx añada las cabeceras también a las páginas de error.

Errores frecuentes

  • Un add_header dentro de location anula para esa location todos los add_header heredados del server. Repítelos allí o mantenlos en un solo sitio.
  • Activar preload demasiado pronto. Sacar un dominio de la lista de precarga lleva meses.
  • Bloquear algo que usas. La Permissions-Policy de aquí desactiva cámara, micrófono y geolocalización para todos los orígenes, incluidas tus páginas; déjala apagada si el sitio los necesita.

Preguntas frecuentes

¿Qué cabeceras de seguridad debería enviar cualquier sitio?

Una base habitual es Strict-Transport-Security en sitios HTTPS, X-Content-Type-Options: nosniff, X-Frame-Options o una regla CSP frame-ancestors contra el clickjacking, y una Referrer-Policy. Una Content-Security-Policy es la que más protege, pero hay que ajustarla a cada sitio; créala con el generador de CSP.

¿Es seguro activar HSTS?

Solo cuando todo el sitio, y con includeSubDomains todos los subdominios, funcionan por HTTPS. Los navegadores rechazarán HTTP durante el max-age. Empieza con 5 minutos o un día, revísalo todo y después súbelo a un año.

¿Qué hace preload?

Pide la inclusión en la lista de precarga HSTS integrada en los navegadores, para que incluso la primera visita use HTTPS. La lista exige max-age de al menos 31536000, includeSubDomains y preload, y el dominio se envía en hstspreload.org. Salir de la lista lleva mucho tiempo, así que piénsalo bien.

¿DENY o SAMEORIGIN en X-Frame-Options?

DENY impide que cualquier sitio, incluido el tuyo, muestre tus páginas en un marco. SAMEORIGIN solo permite marcos de tu mismo origen. Si necesitas permitir sitios concretos, usa la directiva CSP frame-ancestors.

¿Por qué X-XSS-Protection vale 0?

Los navegadores actuales ya no tienen el filtro XSS que controlaba esta cabecera, y en los antiguos el propio filtro podía usarse para atacar. Enviar 0 lo apaga donde aún existe; la protección moderna es una Content-Security-Policy.

Más en Desarrollo

Todas las herramientas de la categoría: Desarrollo ·Actualizado el 7 de noviembre de 2026

Opciones de privacidad

Google Analytics nos muestra qué herramientas se usan y si funcionan. Puede usar cookies. Tu elección se guarda en este navegador.