Content Security Policy Header en AWS
Dentro del desarrollo web, una de las prácticas más comunes es buscar siempre la seguridad de nuestros usuarios y, como en todo sistema de seguridad, se debe seguir una serie de reglas para efectuar esta labor de manera correcta.
Content Security Policy (CSP), que en español significa Política de Seguridad de Contenido, es una cabecera HTTP que se utiliza para especificar las fuentes de contenido confiables en un sitio web. Proporciona una capa adicional de seguridad al permitir a los propietarios de sitios web controlar qué recursos se cargan y desde qué fuentes, reduciendo ciertos tipos de ataques.
Al declarar nuestras CSP, definimos una serie de directivas que indican al navegador web los tipos de contenido permitidos (como scripts, estilos, imágenes, fuentes, etc.) y desde cuáles fuentes pueden ser cargados.
Esta es una lista de motivos por los cuales deberías establecer tus CSP:
- Prevención de clics maliciosos: Mediante la configuración de la política de reporte y bloqueo de URL, la CSP puede ayudar a prevenir ataques de clics maliciosos (clickjacking) que intentan engañar al usuario para que seleccione elementos ocultos o engañosos en una página web.
- Protección contra la carga de contenido no autorizado: La CSP permite especificar las fuentes de contenido permitidas, como scripts, imágenes, estilos y fuentes, lo que ayuda a prevenir la carga de contenido no autorizado o proveniente de fuentes no confiables.
- Protección contra ataques de inyección de código: La CSP ayuda a mitigar ataques como la inyección de scripts maliciosos (XSS) y la inyección de código HTML (XSS). Al establecer una política adecuada, se limita la ejecución de scripts y otros tipos de contenido no deseado.
- Reducción del riesgo de ataques de inyección de datos: Al limitar las fuentes de datos permitidas y configurar políticas de carga de recursos, la CSP ayuda a prevenir ataques de inyección de datos, como la inyección de SQL y la inyección de comandos.
- Mejora de la seguridad del usuario final: Al establecer una política de seguridad clara y precisa, se aumenta la seguridad del usuario final al reducir las amenazas potenciales que afectarían la integridad y confidencialidad de sus datos.
Recuerda que la implementación de una CSP requiere un análisis y ajuste cuidadoso para evitar interferir con el funcionamiento normal de tu sitio web. Es recomendable consultar la documentación oficial y realizar pruebas exhaustivas antes de implementarla en producción.
CSP: Directivas disponibles
Aquí algunas de ellas:
- default-src: Define la fuente de contenido predeterminada para los recursos que no se especifiquen explícitamente en otras directivas.
- script-src: Especifica las fuentes permitidas para la carga de scripts.
- style-src: Indica las fuentes permitidas para la carga de hojas de estilo.
- img-src: Define las fuentes permitidas para la carga de imágenes.
- font-src: Especifica las fuentes permitidas para la carga de fuentes tipográficas.
- connect-src: Indica las fuentes permitidas para las conexiones de red.
- frame-src: Define las fuentes permitidas para la carga de marcos o iframes.
- media-src: Especifica las fuentes permitidas para la carga de contenido multimedia, como audio o video.
- object-src: Indica las fuentes permitidas para la carga de objetos incrustados.
Implementación de CSP en Amazon Web Services (AWS)
1) Accede a la consola de AWS y navega hasta el servicio que utilices para alojar tu sitio web, como Amazon S3, AWS CloudFront o AWS Elastic Beanstalk. En este ejercicio, haremos el ejemplo con Cloudfront.
2) Dentro del servicio seleccionado, busca la configuración relacionada con la distribución o el entorno de tu sitio web. Esto puede variar según el servicio específico.
3) Ve a la sección de configuración de seguridad o encabezados HTTP.
4) En la configuración de encabezados HTTP, elige la opción para agregar o modificar encabezados personalizados.
5) Puedes agregar una nueva CSP en este apartado:
Importante: Antes de implementar una CSP en producción, se recomienda realizar pruebas exhaustivas para asegurarse de que ésta no afecte negativamente el funcionamiento normal de tu sitio web y de que todas las fuentes de contenido necesarias estén permitidas según lo previsto.
En resumen, Content Security Policy es una medida de seguridad que permite a los propietarios de sitios web controlar qué contenido se puede cargar. Nuestro deber es brindar un ambiente sano e íntegro para nuestros usuarios.
Es mi deseo que esta guía sea de ayuda para ti como propietario de sitios web.
¡Hasta luego!
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.