La falsificación de solicitudes entre sitios (CSRF) es una vulnerabilidad de sitio web en la que el navegador de un usuario válido se utiliza para enviar una solicitud maliciosa, posiblemente a través de un iFrame. Debido a que el explorador envía cookies por dominio, si el usuario ha iniciado sesión en una aplicación, los datos del usuario pueden verse comprometidos.
Por ejemplo, considere un escenario en el que haya iniciado sesión en la consola de administración en un navegador. Recibirá un mensaje de correo electrónico con un vínculo. Haga clic en el vínculo, que abre una nueva ficha en el explorador. La página que abrió contiene un iFrame oculto que realiza una solicitud malintencionada al servidor de formularios mediante la cookie de la sesión de formularios AEM autenticados. Dado que la Administración de usuarios recibe una cookie válida, pasa la solicitud.
Referente: la dirección de la página de origen desde la que proviene una solicitud. Por ejemplo: una página web en site1.com contiene un vínculo a site2.com. Al hacer clic en el vínculo, se envía una solicitud a site2.com. El referente de esta solicitud es site1.com porque la solicitud se realiza desde una página cuyo origen es site1.com.
URI incluidos en la lista de permitidos: URIs identifican recursos en el servidor de formularios que se solicitan, por ejemplo, /adminui o /contentspace. Algunos recursos pueden permitir que una solicitud entre en la aplicación desde sitios externos. Estos recursos se consideran URI incluidos en la lista de permitidos. El servidor de formularios nunca realiza una comprobación de referente desde URI incluidos en la lista de permitidos.
Referente nulo: cuando se abre una nueva ventana o ficha del explorador, después se escribe una dirección y se pulsa Intro, el referente es nulo. La solicitud es totalmente nueva y no procede de una página web principal; por lo tanto, no hay ningún referente para la solicitud. El servidor de formularios puede recibir un referente nulo de:
Permitir un referente nulo en los extremos SOAP y REST. También permita un referente nulo en todas las páginas de inicio de sesión de URI como /adminui y /contentspace y sus correspondientes recursos asignados. Por ejemplo, el servlet asignado para /contentspace es /contentspace/faces/jsp/login.jsp, que debe ser una excepción de referente nulo. Esta excepción solo es necesaria si se activa el filtrado de GET para la aplicación web. Las aplicaciones pueden especificar si se permiten referentes nulos. Consulte "Protección contra los ataques de falsificación de solicitudes entre sitios" en Endurecimiento y seguridad para formularios AEM.
Excepción de referente permitida:Excepción de referente permitida es una sublista de la lista de referentes permitidos, desde la cual se bloquean las solicitudes. Las excepciones de referencia permitidas son específicas de una aplicación web. Si no se debe permitir que un subconjunto de los referentes permitidos invoque una aplicación web concreta, puede realizar listas de bloqueados de los referentes mediante Excepciones de referentes permitidas. Las excepciones de referente permitidas se especifican en el archivo web.xml para la aplicación. (Consulte "Protección contra los ataques de falsificación de solicitudes entre sitios" en Endurecimiento y seguridad para formularios AEM en la página Ayuda y Tutorials).
AEM formularios proporcionan un filtro de referentes que puede ayudar a evitar ataques de CSRF. Así funciona el filtrado de referentes:
El servidor de formularios comprueba el método HTTP utilizado para la invocación:
El servidor de formularios comprueba si el URI solicitado está incluido en la lista de permitidos:
Si hay un referente en la solicitud, el servidor comprueba si es un referente permitido. Si está permitido, el servidor comprueba la existencia de una excepción de referente:
Si no hay ningún referente en la solicitud, el servidor comprueba si se permite un referente nulo.
Al ejecutar Configuration Manager, el host predeterminado y la dirección IP o el servidor de formularios se agregan a la lista Referente permitido. Puede editar esta lista en la consola de administración.
En la consola de administración, haga clic en Configuración > Administración de usuarios > Configuración > Configurar URL de referente permitidas. La lista Referente permitido aparece en la parte inferior de la página.
Para agregar un referente permitido:
0
(cero) en los cuadros, todos los puertos de ese servidor estarán habilitados. También puede introducir un número de puerto específico para habilitar solo ese puerto.Para eliminar la entrada de la lista Referente permitido, seleccione el elemento en la lista y haga clic en Eliminar.
Si la Lista Referente permitido está vacía, la función CSRF deja de funcionar y el sistema se vuelve inseguro.
Después de cambiar la lista Referente permitido, reinicie el servidor de formularios AEM.