• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • 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 cualquier encabezado en Apache. Dependiendo del sistema operativo y la versión, pero si está usando Ubuntu y Apache 2.4, puede usar a2enmod headers para que pueda.

    [email protected]:/etc/apache2# a2enmod headers
    Enabling module headers.
    To activate the new configuration, you need to run:
      systemctl restart apache2
    [email protected]:/etc/apache2# systemctl restart apache2
    [email protected]:/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.