Cookies Este sitio guarda solo lo imprescindible para funcionar. Hoy no usa analítica ni publicidad, y nada de lo que hay aquí te sigue a otras webs. Leer la política de privacidad

Elegir qué permitir
+92 312 8299940Presupuesto gratis
Blog

Security headers: añade las cinco seguras en minutos

Security headers explicadas fácil: qué hace cada cabecera, las líneas exactas para Apache y Nginx y cómo revisarlas gratis.

By the Denwix team 6 min read

¿Qué son las security headers?

Las security headers son líneas cortas que tu servidor envía con cada página. Le dicen al navegador cómo proteger a tus visitantes: seguir en HTTPS, no adivinar tipos de archivo, no dejar que otros sitios enmarquen la página, etc.

No cuestan nada y casi nunca cambian el aspecto de la página. Sin embargo, muchos sitios no envían ninguna. En nuestra demo, un sitio nuevo tenía las seis ausentes, así que el navegador no recibía reglas.

Diagrama: revisa las cabeceras, copia las líneas para Apache o Nginx y revisa de nuevo hasta que pasen cinco de seis
Revisar, copiar y volver a revisar: casi todos los sitios necesitan pocos minutos.

Paso 1: revisa qué envía tu sitio

Primero, pasa nuestro HTTP Header Checker gratuito por tu sitio en vivo. Califica cada cabecera de seguridad y muestra lo que falta.

Luego escribe el arreglo por ti. Elige tu servidor, como Apache o Nginx, y copia las líneas. Así nunca tienes que escribir una cabecera a mano.

Las cinco cabeceras seguras

Estas cinco casi nunca rompen nada, por eso casi cualquier sitio puede añadirlas hoy.

Strict-Transport-Security

Mantiene a los visitantes en HTTPS, aunque escriban http. Empieza con un max-age corto, como explica nuestra guía de HSTS.

X-Content-Type-Options

El valor nosniff impide que el navegador adivine tipos de archivo. Como resultado, un archivo subido como imagen no puede ejecutarse de repente como script.

X-Frame-Options

El valor SAMEORIGIN impide que otros sitios muestren tus páginas en un marco. Así se frena el clickjacking, donde un marco oculto engaña a la gente para que haga clic.

SAMEORIGIN o DENY

Usa DENY si ninguna de tus páginas se muestra nunca en un marco. En cambio, usa SAMEORIGIN si tu propio sitio enmarca sus páginas, por ejemplo en una vista previa o un formulario incrustado.

Referrer-Policy

El valor strict-origin-when-cross-origin limita lo que otros sitios saben de la página de la que viene un visitante. Ven tu dominio, pero no la ruta completa.

Permissions-Policy

Apaga funciones como la cámara, el micrófono y la ubicación en páginas que no las necesitan. Si un script intenta usarlas de todos modos, el navegador se niega.

Cómo añadirlas en Apache

Abre el archivo .htaccess de la carpeta raíz de tu sitio y añade estas líneas al final:

Header always set Strict-Transport-Security "max-age=300"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Demo: las cinco líneas de cabeceras añadidas al final del archivo htaccess
Las cinco líneas van al final del archivo htaccess.

Guarda el archivo. El servidor lo lee en la siguiente petición, así que no hay nada que reiniciar. Si la página muestra un error 500, puede que el módulo de cabeceras esté apagado; pide a tu hosting que active mod_headers.

Cómo añadirlas en Nginx y Cloudflare

En Nginx, las mismas cabeceras van en el bloque del servidor HTTPS como líneas add_header. Después recarga Nginx:

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

En Cloudflare puedes añadirlas con una Transform Rule que fija cabeceras de respuesta. Sin embargo, si tu servidor ya las envía, no las añadas dos veces, porque las cabeceras duplicadas confunden a los navegadores.

Por qué la CSP va al final

La sexta cabecera, Content-Security-Policy, se deja fuera a propósito. Una política mal hecha puede romper la página, porque bloquea scripts y estilos que no están en su lista.

Por eso tiene su propio proceso: empieza en modo Report-Only, lee la consola y permite solo lo que usas. Nuestra guía de Content Security Policy lo explica paso a paso.

Cómo probar después del cambio

Vuelve a pasar el HTTP Header Checker. En nuestra demo, cinco de las seis cabeceras pasaron tras una sola edición.

Después abre el sitio y navega un poco. Todo debería cargar y verse igual, ahora con la protección extra. Por último, repite la revisión tras cada mudanza de servidor o plugin nuevo, porque los dos pueden perder cabeceras sin avisar.

Errores comunes

  • Empezar HSTS con un max-age de un año antes de que HTTPS sea estable.
  • Enviar la misma cabecera dos veces, desde el servidor y un plugin o CDN.
  • Olvidar always, de modo que las páginas de error salen sin cabeceras.
  • Poner X-Frame-Options DENY cuando tu propio sitio usa marcos, como un formulario de reservas incrustado.
  • Copiar una Content-Security-Policy estricta de otro sitio sin probarla.

En resumen: revisa, añade las cinco cabeceras seguras, vuelve a revisar y trata la CSP aparte. Para la lista completa de cabeceras y valores, consulta la referencia de MDN sobre cabeceras HTTP.

Preguntas y respuestas

¿Qué son las security headers?

Cabeceras de respuesta que dicen al navegador cómo proteger a los visitantes, por ejemplo seguir en HTTPS o no dejar que otros sitios enmarquen la página.

¿Qué security headers debe tener todo sitio?

Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy y Permissions-Policy. Después añade Content-Security-Policy tras probarla bien.

¿Las security headers hacen más lento mi sitio?

No, porque son pocas líneas de texto, y además HSTS quita una redirección a quienes vuelven.

¿Cómo reviso mis security headers?

Pasa nuestro HTTP Header Checker gratuito por tu URL. Califica cada cabecera y escribe las líneas que faltan para tu servidor.

¿Dónde añado las security headers en Apache?

En el archivo .htaccess de la carpeta raíz, con líneas Header always set.

¿Cómo añado security headers en Nginx?

Usa líneas add_header con la opción always en el bloque del servidor HTTPS y luego recarga Nginx.

¿Puedo añadir security headers en Cloudflare?

Sí, con una Transform Rule de cabeceras de respuesta. Pero no las envíes también desde el servidor, porque saldrían dos veces.

¿Qué hace X-Content-Type-Options nosniff?

Impide que el navegador adivine tipos de archivo, así un archivo no puede ejecutarse como otro tipo distinto.

¿Qué hace X-Frame-Options?

Impide que otros sitios muestren tus páginas en un marco, y por eso frena el clickjacking.

¿Qué Referrer-Policy es buena?

strict-origin-when-cross-origin. Así otros sitios ven tu dominio, pero no la ruta completa de la página.

¿Qué hace Permissions-Policy?

Apaga funciones del navegador como la cámara, el micrófono y la ubicación en páginas que no las necesitan.

¿Por qué la CSP no está en la lista rápida?

Porque una política mal hecha puede romper la página, así que primero hay que probarla en Report-Only. Tiene su propia guía.

¿Las security headers ayudan al SEO?

No de forma directa. Sin embargo, protegen a los visitantes y HSTS quita un salto de redirección, lo que ayuda a la velocidad.

¿Por qué no aparecen mis cabeceras?

Puede que el módulo headers de Apache esté apagado, que una CDN las quite o que se sirva una página en caché. Vacía las cachés y revisa de nuevo.

¿Qué es X-XSS-Protection?

Una cabecera antigua para un filtro que los navegadores modernos ya quitaron. No la necesitas; una Content-Security-Policy hace el trabajo real.

¿Los plugins de WordPress pueden añadir security headers?

Sí, aunque una regla del servidor es más rápida y también cubre archivos fuera de WordPress. Usa una sola fuente.

¿Las security headers afectan a imágenes o fuentes?

Las cinco seguras no. Solo Content-Security-Policy puede bloquear archivos, por eso hay que probarla.

¿Cada cuánto debo revisar mis cabeceras?

Tras cada mudanza de servidor, cambio de CDN o plugin de seguridad nuevo, ya que cada uno puede quitar o duplicar cabeceras.

¿El SEO Checker revisa las security headers?

Sí. Nuestro SEO Checker muestra cada cabecera y enlaza a esta guía cuando falta alguna.

¿Sigue haciendo falta X-Frame-Options con una CSP?

frame-ancestors de la CSP la reemplaza en navegadores modernos. Aun así, tener las dos no hace daño y cubre navegadores viejos.

Guía en vídeo

Cómo añadir las security headers

En este vídeo breve ves la herramienta del primer al último clic. Escoge tu idioma justo debajo y pon los subtítulos si te ayudan.

Revisa tus security headers ahora

Escribe tu URL en el HTTP Header Checker para calificar cada cabecera de seguridad y copiar las líneas que faltan.