Generador de cabeceras de seguridad HTTP (CSP, HSTS)
Marque las cabeceras que necesita y copie la configuración lista para Nginx, Express, Vercel o Apache.
Cabeceras de seguridad HTTP: valores generados y configuración
La herramienta genera un bloque de configuración para Nginx, Express, Vercel o Apache con hasta seis cabeceras: HSTS de un año con preload, una CSP básica, X-Frame-Options (DENY o SAMEORIGIN), X-Content-Type-Options nosniff, Referrer-Policy strict-origin-when-cross-origin y una Permissions-Policy que desactiva cámara, micrófono y geolocalización. Los valores siguen las especificaciones vigentes, aunque son menos estrictos que la lista de referencia de OWASP.
Cabeceras generadas
| Cabecera | Valor generado | Efecto |
|---|---|---|
Strict-Transport-Security | max-age=31536000; includeSubDomains; preload | HTTPS obligatorio 1 año (31 536 000 s), subdominios incluidos |
Content-Security-Policy | default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; | orígenes permitidos para scripts, estilos e imágenes |
X-Frame-Options | DENY o SAMEORIGIN | protección contra el clickjacking |
X-Content-Type-Options | nosniff | sin detección del tipo MIME |
Referrer-Policy | strict-origin-when-cross-origin | solo se envía el origen a otros sitios |
Permissions-Policy | camera=(), microphone=(), geolocation=() | cámara, micrófono y geolocalización desactivados |
Ejemplo (Nginx, DENY)
Cada línea tiene esta forma; la palabra clave always añade la cabecera también a las respuestas de error:
add_header X-Frame-Options "DENY" always;add_header X-Content-Type-Options "nosniff" always;
Límites del código generado
- Referrer-Policy no se puede cambiar.
- La CSP permite
'unsafe-inline'para los scripts, lo que debilita la protección contra XSS; los nonces o hashes son más seguros. - La directiva
preloadprocede de hstspreload.org y no de la RFC 6797: la inscripción exige max-age ≥ 31 536 000, includeSubDomains y HTTPS en todos los subdominios, y la baja tarda meses.
La lista de OWASP actualizada el 04/10/2026 va más allá: HSTS de 2 años (63 072 000 s) sin preload, Referrer-Policy no-referrer, X-Frame-Options deny. MDN recuerda que la directiva CSP frame-ancestors ofrece más opciones que X-Frame-Options y que strict-origin-when-cross-origin es la política por defecto de los navegadores desde la revisión de noviembre de 2020 del estándar Fetch.
Fuentes y fechas: RFC 6797, HSTS (noviembre de 2012); requisitos de hstspreload.org; OWASP Secure Headers, lista de referencia (04/10/2026); MDN, X-Frame-Options y Referrer-Policy (verificado el 14/10/2026).
Preguntas frecuentes
¿Qué valor de max-age usar en la cabecera HSTS?
La herramienta usa 31 536 000 segundos, un año, que es el mínimo para la lista de precarga de hstspreload.org junto con includeSubDomains y preload. OWASP recomienda 63 072 000 segundos (2 años). Según la RFC 6797, max-age=0 indica al navegador que olvide la política HSTS del sitio.
¿X-Frame-Options o la directiva CSP frame-ancestors?
Ambas impiden que sus páginas se muestren en un iframe ajeno. DENY prohíbe cualquier marco y SAMEORIGIN solo permite su propio dominio. MDN señala que frame-ancestors ofrece más opciones y que el valor ALLOW-FROM de X-Frame-Options está obsoleto: los navegadores actuales ignoran entonces toda la cabecera.
¿Por qué 'unsafe-inline' debilita la Content-Security-Policy?
Con 'unsafe-inline' en script-src se ejecuta cualquier script escrito directamente en la página, incluido uno inyectado mediante una vulnerabilidad XSS. La herramienta lo incluye para no romper los sitios que lo usan. Para una protección real, sustitúyalo por nonces o hashes SHA-256 de los scripts permitidos.
¿Qué Referrer-Policy elegir?
La herramienta fija strict-origin-when-cross-origin: URL completa hacia su propio sitio, solo el origen hacia otros sitios HTTPS y nada hacia un sitio HTTP. Es el valor por defecto de los navegadores desde la revisión de noviembre de 2020 del estándar Fetch. OWASP recomienda no-referrer, que no envía nada.
¿La herramienta es realmente gratuita?
Sí, todas las herramientas en Kristools son 100% gratuitas y accesibles sin registro.
¿Están protegidos mis datos?
Sí. Todo el procesamiento se realiza de forma segura y directa en tu navegador. No se envían datos personales a nuestros servidores.