Protección contra el secuestro de cookies
La protección contra el secuestro de cookies mitiga los ataques de robo de cookies de los hackers. En el ataque de seguridad, un atacante se hace cargo de una sesión de usuario para obtener acceso no autorizado a una aplicación web. Cuando un usuario navega por un sitio web, por ejemplo, una aplicación bancaria, el sitio web establece una sesión con el explorador web. Durante la sesión, la aplicación guarda los detalles del usuario, como las credenciales de inicio de sesión y las visitas a la página, en un archivo de cookies. El archivo de cookies se envía entonces al explorador web del cliente en la respuesta. El explorador web almacena las cookies para mantener las sesiones activas. El atacante puede robar estas cookies manualmente desde el almacén de cookies del explorador web o a través de alguna extensión del explorador web Rouge. A continuación, el atacante utiliza estas cookies para acceder a las sesiones de la aplicación web del usuario.
Para mitigar los ataques de cookies, el Web App Firewall (WAF) de NetScaler desafía la conexión TLS del cliente junto con la validación de la coherencia de las cookies de WAF. Para cada nueva solicitud de cliente, el dispositivo valida la conexión TLS y también verifica la coherencia de las cookies de aplicación y sesión en la solicitud. Si un atacante intenta mezclar y hacer coincidir las cookies de aplicación y las cookies de sesión robadas de la víctima, se produce un error en la validación de la coherencia de las cookies y se aplica la acción de secuestro de cookies configurada. Para obtener más información sobre la coherencia de las cookies, consulteComprobación de coherencia de cookies.
Nota:
La función de secuestro de cookies admite el registro y las capturas de SNMP. Para obtener más información sobre el registro, consulte el tema ADM y, para obtener más información sobre la configuración de SNMP, consulte el tema SNMP.
Limitaciones
- JavaScript debe estar habilitado en el explorador del cliente.
- La protección de secuestro de cookies no es compatible con TLS versión 1.3.
- Compatibilidad limitada para el explorador Internet Explorer (IE) porque el explorador no reutiliza las conexiones SSL. Resulta que se envían varios redireccionamientos para una solicitud que eventualmente provocan un error “MAX REDIRECTS EXCEDEDEDED” en el explorador IE.
Cómo funciona la protección contra el secuestro de cookies
Los siguientes casos explican cómo funciona la protección contra el secuestro de cookies en un dispositivo NetScaler.
Caso 1: El usuario accede a la primera página web sin cookie de sesión
- El usuario intenta autenticarse en una aplicación web y comienza a acceder a la primera página web sin ninguna cookie de sesión de ADC en la solicitud.
- Cuando se recibe la solicitud, el dispositivo crea una sesión de Application Firewall con un ID de cookies de sesión.
Esto inicia una conexión TLS para la sesión. Dado que el JavaScript no se envía ni se ejecuta en el explorador web del cliente, el dispositivo marca la conexión TLS como validada y no se requiere ningún desafío.
Nota:
Incluso si联合国atacante intenta enviar跳动identificadores de cookies de la aplicación de una víctima sin enviar la cookie de sesión, el dispositivo detecta el problema y elimina todas las cookies de la aplicación de la solicitud antes de reenviarla al servidor del back-end. El servidor de fondo considera esta solicitud sin ninguna cookie de aplicación y toma las medidas necesarias según su configuración.
- Cuando el servidor del back-end envía una respuesta, el dispositivo recibe la respuesta y la reenvía con un token de sesión de JavaScript y una cookie de inicialización. A continuación, el dispositivo marca la conexión TLS como verificada.
- Cuando el explorador web del cliente recibe la respuesta, ejecuta el JavaScript y genera un ID de cookies transformado mediante el token de sesión y la cookie inicial.
- Cuando un usuario envía una solicitud posterior a través de la conexión TLS, el dispositivo omite la validación de la cookie transformada. Esto se debe a que la conexión TLS ya está validada.
Caso 2: El usuario accede a páginas web sucesivas a través de una nueva conexión TLS con una cookie de sesión
- Cuando un usuario envía una solicitud HTTP para páginas sucesivas a través de una nueva conexión TLS, el explorador web envía el ID de cookies de sesión y el ID de cookies transformado.
- Como se trata de una conexión TLS nueva, el dispositivo detecta la conexión TLS y desafía al cliente con una respuesta de redirección con una cookie de inicialización.
- Al recibir la respuesta del ADC, el cliente calcula la cookie transformada utilizando el token de la sesión y la nueva cookie de inicialización.
- A continuación, el cliente envía esta cookie transformada recién calculada junto con un ID de sesión.
- 如果洛杉矶饼干transformada calculada en el dispositivo ADC y la que se envió a través de la solicitud coinciden, la conexión TLS se marca como verificada.
- Si la cookie transformada calculada difiere de la presente en la solicitud del cliente, la validación fallará. Después de lo cual, el dispositivo envía el desafío de vuelta al cliente para enviar una cookie con la transformación adecuada.
Caso 3: Atacante que se hace pasar por un usuario no autenticado
- Cuando un usuario se autentica en la aplicación web, el atacante utiliza diferentes técnicas para robar las cookies y reproducirlas.
- Como se trata de una nueva conexión TLS del atacante, el ADC envía un desafío de redirección junto con una nueva cookie de inicialización.
- Como el atacante no tiene JavaScript en ejecución, la respuesta del atacante a la solicitud redirigida no contiene la cookie transformada.
- Esto provoca un error de validación de cookies transformadas en el dispositivo ADC. El dispositivo vuelve a enviar un desafío de redirección al cliente.
- Si el número de intentos de validación de cookies transformadas supera el límite, el dispositivo marca el estado como secuestro de cookies.
- Si el atacante intenta combinar las cookies de aplicación y las cookies de sesión robadas a la víctima, se produce un error en la comprobación de la coherencia de las cookies y el dispositivo aplica la acción de secuestro de cookies configurada.
Caso 4: Atacante que se hace pasar por usuario autenticado
- Los atacantes también pueden intentar autenticarse en una aplicación web como un usuario genuino y reproducir las cookies de la víctima para acceder a la sesión web.
- El dispositivo ADC también detecta estos atacantes suplantados. Aunque el atacante utiliza una conexión TLS verificada para reproducir la cookie de la víctima, el dispositivo ADC sigue verificando si la cookie de sesión y la cookie de aplicación de la solicitud son coherentes. El dispositivo verifica la coherencia de una cookie de aplicación mediante la cookie de sesión de la solicitud. Dado que la solicitud contiene una cookie de sesión del atacante y una cookie de aplicación de la víctima, la validación de la coherencia de las cookies falla.
- Como resultado, el dispositivo aplica la acción de secuestro de cookies configurada. Si la acción configurada se establece como “bloquear”, el dispositivo elimina todas las cookies de la aplicación y envía la solicitud al servidor del back-end.
- El servidor del back-end recibe una solicitud sin cookie de aplicación, por lo que responde a una respuesta de error al atacante, como “El usuario no ha iniciado sesión”.
Configurar el secuestro de cookies mediante la CLI
Puede seleccionar un perfil de firewall de aplicación específico y configurar una o más acciones para evitar el secuestro de cookies.
En la línea de comandos, escriba:
set appfw profile
Nota:
De forma predeterminada, la acción se establece en “ninguna”.
Ejemplo:
set appfw profile profile1 - cookieHijackingAction Block
Donde los tipos de acción son:
Bloquear: Bloquea las conexiones que infrinjan este control de seguridad. Registro: Registra las infracciones de esta comprobación de seguridad. Estadísticas: Genere estadísticas para este control de seguridad. Ninguna: Inhabilita todas las acciones de esta comprobación de seguridad.
Configurar el secuestro de cookies mediante la GUI de NetScaler
- Vaya aSeguridad > NetScaler Web App Firewall > Perfiles.
- En la páginaPerfiles, seleccione un perfil y haga clic enModificar.
En la páginaPerfil de NetScaler Web App Firewall, vaya a la secciónConfiguración avanzaday haga clic enComprobaciones de seguridad.
- En la secciónControles de seguridad, seleccioneSecuestro de cookiesy, a continuación, haga clic enConfiguración de acciones.
- En la páginaParámetros de secuestro de cookies, seleccione una o más acciones para evitar el secuestro de cookies.
Haga clic enAceptar.
Agregar una regla de relajación para la validación de la coherencia de las cookies mediante la GUI de NetScaler
Para gestionar los falsos positivos en la validación de la coherencia de las cookies, puede agregar una regla de relajación para las cookies que pueden estar exentas de la validación de cookies.
- Vaya aSeguridad > NetScaler Web App Firewall > Perfiles.
- En la páginaPerfiles, seleccione un perfil y haga clic enModificar.
- En la páginaPerfil de NetScaler Web App Firewall, vaya a la secciónParámetros avanzadosy haga clic enReglas de relajación.
En la secciónReglas de relajación, seleccioneCoherencia de cookiesy haga clic enAcción.
- En la páginaRegla de relajación de la coherencia de las cookies, establezca los siguientes parámetros.
- Habilitada. Seleccione si quiere habilitar la regla de relajación.
- Is Cookie Name Regex. Seleccione si el nombre de la cookie es una expresión regular.
- Nombre de la cookie. Introduzca el nombre de la cookie que puede estar exenta de la validación de cookies.
- Editor de expresiones regulares. Haga clic en esta opción para proporcionar los detalles de la expresión regular.
- Comentarios. Una breve descripción de la cookie.
- Haga clic enCrearyCerrar.
Consulte las estadísticas de tráfico e infracciones de secuestro de cookies mediante la CLI
Consulte el tráfico de seguridad y los detalles de las infracciones de seguridad en un formato tabular o gráfico.
Para ver las estadísticas de seguridad:
En la línea de comandos, escriba:
stat appfw profile profile1
Estadísticas de tráfico del perfil Appfw | Tasa (/s) | Total |
---|---|---|
Solicitudes | 0 | 0 |
Bytes de solicitud | 0 | 0 |
Respuestas | 0 | 0 |
Bytes de respuesta | 0 | 0 |
Aborta | 0 | 0 |
Redireccionamientos | 0 | 0 |
《de respuesta promedio不觉plazo(女士) | – | 0 |
Tiempo de respuesta promedio reciente (ms) | – | 0 |
Estadística de infracciones de HTML/XML/JSON | Tasa (/s) | Total |
---|---|---|
URL de inicio | 0 | 0 |
Denegar URL | 0 | 0 |
Encabezado referer | 0 | 0 |
Desbordamiento de búfer | 0 | 0 |
Consistencia de cookies | 0 | 0 |
Secuestro de cookies | 0 | 0 |
Etiqueta de formulario CSRF | 0 | 0 |
Scripts HTML entre sitios | 0 | 0 |
在yección HTML SQL | 0 | 0 |
Formato de campo | 0 | 0 |
Coherencia de | 0 | 0 |
Tarjeta de crédito | 0 | 0 |
Objeto seguro | 0 | 0 |
在fracciones de firma | 0 | 0 |
Tipo de contenido | 0 | 0 |
Denegación de servicio JSON | 0 | 0 |
在yección JSON SQL | 0 | 0 |
Scripting entre sitios JSON | 0 | 0 |
Tipos de carga de archivos | 0 | 0 |
Deducir carga útil XML del tipo de contenido | 0 | 0 |
在yección de HTML CMD | 0 | 0 |
Formato XML | 0 | 0 |
Denegación de servicio XML (XDoS) | 0 | 0 |
Validación de mensajes XML | 0 | 0 |
在teroperabilidad de servicios web | 0 | 0 |
在yección XML SQL | 0 | 0 |
Scripting entre sitios XML | 0 | 0 |
Datos adjuntos XML | 0 | 0 |
在fracciones de errores de | 0 | 0 |
在fracciones genéricas XML | 0 | 0 |
在fracciones totales | 0 | 0 |
Estadísticas de registro HTML/XML/J | Tasa (/s) | Total |
---|---|---|
在iciar registros de URL | 0 | 0 |
Denegar registros de URL | 0 | 0 |
Registros de encabezado de referencia | 0 | 0 |
Registros de desbordamiento | 0 | 0 |
Registros de desbordamiento | 0 | 0 |
Registros de consistencia de cookies | 0 | 0 |
Registros de secuestro de cookies | 0 | 0 |
Registros de etiquetas de formulario CSRF | 0 | 0 |
Registros de scripts HTML entre sitios | 0 | 0 |
Registros de transformación de scripting de sitios HTML | 0 | 0 |
Registros de inyección HTML SQL | 0 | 0 |
Registros de transformación HTML SQL | 0 | 0 |
Registros de formato de campo | 0 | 0 |
Registros de coherencia de campo | 0 | 0 |
Tarjetas de crédito | 0 | 0 |
Registros de transformación de tarjetas de crédito | 0 | 0 |
Registros de objetos seguros | 0 | 0 |
Registros de firmas | 0 | 0 |
Registros de tipos de contenido | 0 | 0 |
Registros de denegación de servicio JSON | 0 | 0 |
Registros de inyección JSON SQL | 0 | 0 |
Registros de scripts JSON entre sitios | 0 | 0 |
Registros de tipos de carga de archivos | 0 | 0 |
Deducir carga útil XML del tipo de contenido L | 0 | 0 |
Registros de inyección de comandos HTML | 0 | 0 |
Registros en formato XML | 0 | 0 |
Registros de denegación de servicio (XDoS) XML | 0 | 0 |
Registros de validación de mensajes XML | 0 | 0 |
Registros de WSI | 0 | 0 |
Registros de inyección XML SQL | 0 | 0 |
Registros de scripts XML entre sitios | 0 | 0 |
Registros de datos adjuntos XML | 0 | 0 |
Registros de errores SOAP | 0 | 0 |
Registros genéricos XML | 0 | 0 |
Mensajes de registro totales | 0 | 0 |
Estadísticas de respuesta a errores del servidor | Tasa (/s) | Total |
---|---|---|
Errores del cliente HTTP (4xx Resp) | 0 | 0 |
Errores del servidor HTTP (5xx) | 0 | 0 |
Consulte las estadísticas de tráfico e infracciones de secuestro de cookies mediante la interfaz gráfica de usuario
- Vaya aSeguridad > NetScaler Web App Firewall > Perfiles.
- En el panel de detalles, seleccione un perfil deWeb App Firewally haga clic enEstadísticas.
- La páginaEstadísticas de NetScaler Web App Firewallmuestra los detalles del tráfico de secuestro de cookies y las infracciones.
- Puede seleccionarVista tabularo cambiar aVista gráficapara mostrar los datos en formato tabular o gráfico.
En este artículo
- Limitaciones
- Cómo funciona la protección contra el secuestro de cookies
- Configurar el secuestro de cookies mediante la CLI
- Configurar el secuestro de cookies mediante la GUI de NetScaler
- Agregar una regla de relajación para la validación de la coherencia de las cookies mediante la GUI de NetScaler
- Consulte las estadísticas de tráfico e infracciones de secuestro de cookies mediante la CLI
- Consulte las estadísticas de tráfico e infracciones de secuestro de cookies mediante la interfaz gráfica de usuario