Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

¿Cómo implementar los ancestros de marcos CSP en Apache, Nginx y WordPress?

marco csp
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Proteja su sitio web del ataque de click-jacking implementando el encabezado CSP (Política de seguridad de contenido)

CSP es uno de los 10 principales encabezados seguros de OWASP y, a menudo, lo recomiendan los expertos en seguridad o las herramientas para implementarlo. Hay muchas opciones para crear la política para hacer cumplir la forma en que desea exponer sus recursos web.

Una de las directivas llamadas frame-ancestors que se introdujeron en la versión 2 de CSP ofrece más flexibilidad en comparación con el Encabezado X-Frame-Options. frame-ancestors funciona de la misma manera que X-Frame-Options para permitir o no permitir que los recursos se incrusten usando iframe, frame, object, incrustado y elemento de applet.

Creo que X-Frame-Options quedará obsoleto en un futuro próximo cuando CSP sea totalmente compatible con los principales navegadores. Mientras escribo Antepasados ​​de tramas de CSP funciona con todas las últimas versiones de navegadores excepto IE.

No sé cuándo Microsoft permitirá el soporte en IE. Siempre puede comprobar la compatibilidad del navegador en ¿Puedo usar el sitio?.

Echemos un vistazo al siguiente procedimiento de implementación.

Apache HTTP

mod_headers es el requisito previo para inyectar encabezados en Apache. Dependiendo del sistema operativo y la versión, pero si está utilizando Ubuntu y Apache 2.4 entonces puedes usar a2enmod headers para que pueda.

root@geekflare:/etc/apache2# a2enmod headers
Enabling module headers.
To activate the new configuration, you need to run:
  systemctl restart apache2
root@geekflare:/etc/apache2# systemctl restart apache2
root@geekflare:/etc/apache2#

Nota:: toda la configuración que puede hacer en httpd.conf archivo o cualquier archivo de configuración efectivo que esté utilizando.

Negar todo

Similar a X-Frame-Options DENY. Si no desea que ningún sitio (incluido el propio) se incruste, agregue lo siguiente.

Header set Content-Security-Policy "frame-ancestors 'none';"

Guarde el archivo y reinicie Apache HTTP para que surta efecto.

Intenté incrustar el sitio y, como puede ver, se estaba bloqueando.

Permitir de uno mismo pero NEGAR a los demás

Similar a X-Frame-Options SAMEORIGIN, puede agregar lo siguiente.

Header set Content-Security-Policy "frame-ancestors 'self';"

Permitir desde dominios propios y múltiples

X-Frame-Options no tenía una opción para permitir desde múltiples dominios. Gracias a CSP, puede hacer lo siguiente.

Header set Content-Security-Policy "frame-ancestors 'self' 'geekflare.com' 'gf.dev' 'geekflare.dev';"

Lo anterior permitirá que el contenido se incruste desde self, geekflare.com, gf.dev, geekflare.dev. Cambie estos dominios por los suyos.

Nginx

El concepto y la directiva son los mismos que se explicaron anteriormente en la sección Apache HTTP, excepto por la forma en que agrega el encabezado. Los encabezados en Nginx deben agregarse debajo del server bloque en un archivo de configuración correspondiente.

Negar todo

add_header Content-Security-Policy "frame-ancestors 'none';";

NEGAR todo pero no a uno mismo

add_header Content-Security-Policy "frame-ancestors 'self';";

Permitir desde múltiples dominios

add_header Content-Security-Policy "frame-ancestors 'yoursite.com' 'example.com';";

El ejemplo anterior permitirá incrustar contenido en yoursite.com y example.come. Después de realizar cambios, no olvide reiniciar el servidor Nginx para probar la política.

WordPress

Depende de cómo esté alojando WordPress.

Si se aloja usted mismo como una nube o un VPS, es posible que esté utilizando un servidor web como Apache o Nginx. Si es así, puede seguir lo mencionado anteriormente para implementar en el servidor web en lugar de WordPress. Sin embargo, si en alojamiento compartido o sin acceso para modificar servidores web, puede aprovechar un complemento.

Para implementar CSP en WordPress, puede utilizar el Complemento Content Security Policy Pro.

Verificación

Una vez que haya terminado con la implementación, puede utilizar las herramientas de desarrollo integradas en el navegador o un herramienta de prueba de encabezados seguros.

Conclusión

CSP es uno de los poderosos encabezados seguros para prevenir vulnerabilidades web. Espero que las instrucciones anteriores lo guíen sobre cómo implementar los ancestros de marcos en Apache y Nginx.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Apache HTTP
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder