Inicio › Herramientas para desarrolladores › Generador de cabeceras de seguridad

Generador de cabeceras de seguridad

Elige las cabeceras de seguridad HTTP que debe enviar tu sitio y copia una configuración lista para Apache, Nginx, Netlify, Cloudflare Pages, un Cloudflare Worker, Vercel, Express o IIS. Los ajustes predefinidos te ayudan a empezar, y los avisos explican qué puede romper cada opción.

Última actualización:

Empezar desde:
Frames y tipo de contenido

Elige para cada función del navegador. "Desactivada" envía feature=(); "Propia" solo permite tu propio origen.

Aislamiento entre orígenes

Crea una política completa con el generador de Content Security Policy.

Ocultar detalles del servidor

Cabeceras (0)

      
      
      Publicidad
      Publicidad

      Cómo usar Generador de cabeceras de seguridad

      1. Elige un ajuste predefinido (Básico, Recomendado o Estricto) o empieza a activar cabeceras tú mismo.
      2. Ajusta cada cabecera: duración de HSTS, política de frames, política de referrer, permisos y opciones de aislamiento.
      3. Lee los avisos de la derecha; señalan ajustes que pueden romper contenido incrustado, ventanas emergentes o subdominios.
      4. Elige tu servidor en las pestañas: Apache, Nginx, Netlify, Cloudflare, Vercel, Express o IIS.
      5. Copia o descarga la configuración, despliégala y verifica las cabeceras en vivo con el analizador de cabeceras HTTP.

      Qué hace cada cabecera

      CabeceraValor típicoRiesgo de romper algo
      Strict-Transport-Securitymax-age=31536000; includeSubDomainsBajo, si todos los subdominios tienen HTTPS
      X-Content-Type-OptionsnosniffMuy bajo; los archivos deben tener el Content-Type correcto
      X-Frame-OptionsSAMEORIGINBajo; impide que otros sitios incrusten el tuyo
      Referrer-Policystrict-origin-when-cross-originMuy bajo; las analíticas siguen viendo el sitio de referencia
      Permissions-Policycamera=(), microphone=(), geolocation=()Bajo, si solo desactivas funciones que no usas
      Cross-Origin-Opener-Policysame-originMedio; puede romper ventanas emergentes de OAuth y de pago
      Cross-Origin-Resource-Policysame-siteMedio; otros sitios no pueden enlazar directamente tus archivos
      Cross-Origin-Embedder-Policycredentialless o require-corpAlto; el contenido incrustado de terceros debe dar su consentimiento
      Content-Security-PolicyEspecífico de cada sitioAlto hasta que se ajusta; empieza en modo Report-Only

      Un plan de implantación seguro

      1. Empieza por las cabeceras de bajo riesgo: nosniff, una política de frames, una Referrer-Policy y HSTS con un max-age corto, como un día.
      2. Añade una CSP en modo Report-Only y vigila las infracciones en la consola del navegador durante una semana. Escribe la política con el generador de Content Security Policy.
      3. Sube HSTS a un año con includeSubDomains cuando todos los subdominios sirvan HTTPS correctamente.
      4. Aplica la CSP y añade Permissions-Policy y COOP, probando inicios de sesión, pagos y contenido multimedia incrustado.
      5. Verifica el resultado en vivo con el analizador de cabeceras HTTP después de cada cambio.

      Preguntas frecuentes

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

      Como mínimo: Strict-Transport-Security (en sitios HTTPS), X-Content-Type-Options: nosniff, una política de frames (X-Frame-Options o CSP frame-ancestors) y una Referrer-Policy. Una Content-Security-Policy y una Permissions-Policy añaden una protección sólida adicional. El ajuste Recomendado configura todas ellas con valores que rara vez rompen los sitios.

      ¿Es seguro activar HSTS preload?

      Solo cuando todos los subdominios funcionen con HTTPS, ahora y en el futuro. Después de enviar el dominio en hstspreload.org, los navegadores lo incluyen en su lista integrada y rechazarán las conexiones HTTP del dominio y de todos sus subdominios. Quitarlo tarda meses, así que empieza con un max-age corto, después usa un año con includeSubDomains y añade preload al final.

      ¿Debo usar X-Frame-Options o CSP frame-ancestors?

      CSP frame-ancestors es el estándar moderno y admite listas de sitios permitidos; cuando ambos están presentes, los navegadores actuales siguen frame-ancestors. X-Frame-Options (DENY o SAMEORIGIN) sigue ayudando en navegadores muy antiguos, así que enviar ambos con valores coincidentes es una opción habitual. El valor ALLOW-FROM de X-Frame-Options ya no es compatible.

      ¿Por qué X-XSS-Protection está en 0?

      El filtro XSS del navegador que controlaba se ha eliminado de Chrome, Edge y Safari, y en navegadores antiguos podía aprovecharse para filtrar datos de las páginas. OWASP y los fabricantes de navegadores recomiendan desactivarlo con 0 (o no enviarlo) y confiar en una Content-Security-Policy.

      ¿Qué hacen COOP y COEP?

      Cross-Origin-Opener-Policy: same-origin separa tu ventana de las páginas de otros orígenes que la abren o que ella abre, bloqueando ataques entre ventanas. Cross-Origin-Embedder-Policy exige que cada recurso incrustado permita ser cargado. Juntas hacen que una página quede aislada entre orígenes, algo necesario para SharedArrayBuffer, pero COEP puede romper imágenes, vídeos y widgets de terceros.

      ¿Por qué mis cabeceras de Nginx no aparecen en algunas páginas?

      Nginx solo hereda las directivas add_header del bloque server cuando un bloque location no tiene ninguna propia. Si una location añade alguna cabecera, repite allí las cabeceras de seguridad o ponlas en un archivo include usado en cada location. Usa también el parámetro always para que las cabeceras se envíen en las páginas de error.

      ¿Cómo compruebo que las cabeceras funcionan?

      Despliega la configuración y luego carga tu sitio con las DevTools del navegador (pestaña Network) o ejecuta curl -I https://yourdomain y pega la respuesta en el analizador de cabeceras HTTP. Explica cada cabecera y califica el resultado.

      ¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

      Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

      Herramientas relacionadas

      Ver todas las de Generadores de código →