Asegure Apache de Clickjacking con X-FRAME-OPTIONS
Clickjacking es una vulnerabilidad de aplicación web bien conocida.
Para defender el ataque de Clickjacking en su servidor web Apache, puede usar X-FRAME-OPTIONS para evitar que su sitio web sea pirateado por Clickjacking.
Las opciones de marco X en el encabezado de respuesta HTTP se pueden usar para indicar si se debe permitir a un navegador abrir una página en marco o iframe.
Esto evitará el contenido del sitio incrustado en otros sitios.
¿Intentaste insertar Google.com en tu sitio web como marco? No puedes porque está protegido y también puedes protegerlo.
Hay tres configuraciones para X-Frame-Options:
- SAMEORIGIN : esta configuración permitirá que una página se muestre en un marco en el mismo origen que la página misma.
- DENY : Esta configuración evitará que una página se muestre en un marco o iframe.
- ALLOW-FROM uri : esta configuración permitirá que una página se muestre solo en el origen especificado.
Nota: también puede usar el encabezado de la Política de seguridad de contenido para controlar cómo desea que se incruste el contenido de su sitio. Consulte este artículo para el encabezado CSP .
Síntoma y solución en Moodle desde Apache
Cuando estás usando Moodle 3.x con Apache 2.4 o mayor, al usar el cuadro o ventana modal para cargar cualquier archivo al servidor, sube el archivo pero se queda cargando el dialogo. Si pasas a la opción de «Archivos recientes» sí está ahí.
Después de buscar por todos lados (en el servidor, moodle, firewall, etc.), habilité la opción del navegador web para ver la consola de errores y me encuentro con la militante de poder incluir procesos en Frame.
Lo primero es verificar y modificar si es necesario la opción general en el apartado de «security.conf», como sigue:
sudo nano /etc/apache2/conf-enabled/security.conf
Habilitar o modificar DENY por SAMEORIGIN en la línea:
#Header always set X-Frame-Options DENY
Header always set X-Frame-Options SAMEORIGIN
Pero aquí no siempre se resuelve el problema, en mi caso como uso una URL con HTTPS (apache ssl), debes de cambiarlo también en «ssl-params.conf» como sigue:
sudo nano /etc/apache2/conf-enabled/ssl-params.conf
Reemplazando la opción DENY por SAMEORIGIN en la línea:
Header always set X-Frame-Options SAMEORIGIN
Por último, reiniciar el servidor Apache2:
sudo service apache2 restart
Implementar en alojamiento web compartido
Si su sitio web está alojado en un alojamiento web compartido , entonces no tendrá permiso para modificar Apache2 directamente o de forma general.
Sin embargo, puede lograr esto agregando la siguiente línea en el archivo .htaccess desde raíz de su web.
Header append X-FRAME-OPTIONS "SAMEORIGIN
"
El cambio se refleja inmediatamente sin reiniciar.
Verificación
Puede usar cualquier herramienta de desarrollador web para ver los encabezados de Response. También puede usar una herramienta en línea: el verificador de encabezado para verificar.
¿Como le fue?
Referencia: https://geekflare.com/secure-apache-from-clickjacking-with-x-frame-options/
Muchas gracias amigo, me has solucionado el tema , ya que no lo estaba modificando en /etc/apache2/conf-enabled/ssl-params.conf y me estaba volviendo loco. jajaj
muchas gracias por tu esfuerzo en documentarlo!