Cabeceras de seguridad
Última actualización
Última actualización
Las cabeceras de seguridad en HTTP son directivas adicionales que se añaden a las respuestas HTTP de un servidor web para mejorar la seguridad de las aplicaciones web. Estas cabeceras pueden prevenir una variedad de ataques al configurar cómo los navegadores deben manejar las respuestas del servidor.
Content-Security-Policy (CSP)
Descripción: Controla qué recursos (scripts, estilos, imágenes, etc.) pueden ser cargados y ejecutados por el navegador. Previene ataques de inyección como XSS (Cross-Site Scripting).
Ejemplo:
X-Content-Type-Options
Descripción: Previene que los navegadores interpreten incorrectamente los tipos MIME, mitigando ataques de tipo MIME sniffing.
Ejemplo:
Strict-Transport-Security (HSTS)
Descripción: Fuerza a los navegadores a utilizar únicamente HTTPS para las conexiones futuras, previniendo ataques man-in-the-middle (MITM).
Ejemplo:
X-Frame-Options
Descripción: Controla si un sitio puede ser incrustado en un iframe. Previene ataques de clickjacking.
Ejemplo:
X-XSS-Protection
Descripción: Habilita la protección contra XSS en navegadores compatibles.
Ejemplo:
Referrer-Policy
Descripción: Controla la información de referencia que se envía junto con las solicitudes HTTP, protegiendo datos sensibles en las URLs.
Ejemplo:
Permissions-Policy
Descripción: Regula qué características y APIs pueden ser utilizadas en el navegador, como geolocalización, cámara, micrófono, etc.
Ejemplo:
Cross-Site Scripting (XSS)
Riesgo: Sin Content-Security-Policy
, los sitios son más vulnerables a inyecciones de scripts maliciosos que pueden robar datos sensibles o realizar acciones no autorizadas en nombre del usuario.
MIME Sniffing
Riesgo: Sin X-Content-Type-Options
, los navegadores pueden interpretar incorrectamente los tipos de contenido, permitiendo la ejecución de scripts maliciosos.
Clickjacking
Riesgo: Sin X-Frame-Options
, un atacante puede incrustar el sitio en un iframe en otro dominio y engañar a los usuarios para que realicen acciones no deseadas.
Man-in-the-Middle (MITM)
Riesgo: Sin Strict-Transport-Security
, los usuarios pueden ser susceptibles a ataques MITM si son redirigidos a versiones HTTP inseguras del sitio.
Exposición de Información Sensible
Riesgo: Sin Referrer-Policy
, los datos sensibles en las URLs pueden ser expuestos a sitios de terceros a través de la información de referencia.
Inyecciones y Explotación de Vulnerabilidades
Riesgo: Sin X-XSS-Protection
, los navegadores pueden no bloquear ataques XSS conocidos, exponiendo a los usuarios a riesgos adicionales.
Para configurar cabeceras de seguridad en un servidor web Nginx, puedes añadir las siguientes directivas al archivo de configuración del servidor:
Nmap, con la ayuda de scripts NSE, puede ser utilizado para verificar las cabeceras de seguridad configuradas en un servidor web.
Comando Nmap
Explicación del Comando
nmap
: Ejecuta el comando Nmap.
-p 80
: Especifica que Nmap debe escanear el puerto 80.
--script http-security-headers
: Utiliza el script NSE http-security-headers
para verificar las cabeceras de seguridad.
Ejemplo de Salida de Nmap