¿Por qué debería permitir múltiples direcciones IP en un sitio web para una sola sesión?

18

Espero que mi pregunta coincida con el alcance de este sitio.

Estoy desarrollando un CMS . Actualmente, mis usuarios registrados están bloqueados en su dirección IP para la sesión. Desafortunadamente, una pequeña porción de mi base de usuarios salta constantemente entre dos o más direcciones IP. La mayoría de ellos probablemente usan equilibradores de carga. Técnicamente no es necesario bloquear las sesiones de los usuarios en una sola dirección IP. No esperaba que los clientes cambiaran entre múltiples direcciones IP para una sola solicitud de página en mi sitio web.

Ahora me pregunto cuáles son los riesgos de permitir que mis clientes salten constantemente entre direcciones IP para una solicitud de página (por ejemplo, xxx.xxx.xxx.xxx solicita los archivos CSS y yyy.yyy.yyy solicita los archivos CSS. aaa) ¿Debo generalmente permitir o prohibir eso?

yoru
fuente
39
Ni siquiera necesita equilibradores de carga para saltar alrededor de las IP. Conéctese a su teléfono en el metro, puede obtener una IP diferente cada pocos minutos mientras viaja el tren, y luego nuevamente cuando su teléfono cambie a WiFi en un destino.
whatsisname
13
También para computadoras portátiles que se mueven entre ubicaciones (por ejemplo, hogar> trabajo> starbucks). También: direcciones aleatorias IPv6 (extensiones de privacidad IPv6 SLAAC).
marcelm
intuitivamente, esperaría que el cliente saltara en diferentes fuentes Ips para causar problemas si fuera algo más que "ocasionalmente".
Tom H
1
Si está desarrollando una aplicación web que se instalará en una red que usted controla o tiene conocimiento de ello, puede decidir hacerlo por seguridad, ya que podría decir "en esta situación, no van a ocurrir múltiples IP ya que los usuarios deben acceda a esto desde su WS y no hay equilibradores de carga u otras cosas intermedias que puedan cambiar su IP "... en ese caso, incluso podría ser capaz de rastrear las IP de los usuarios ya que su WS siempre puede tener la misma (o podría cambiar solo una vez cada dos meses)
Bakuriu
1
@ Tom No, la gran mayoría de las aplicaciones web no se preocupan por su dirección IP, aceptarán las mismas cookies en una solicitud HTTP a través de una nueva conexión TCP. Solo la basura demente y mal diseñada bloquea su sesión a una IP o una conexión.
Navin

Respuestas:

35

una pequeña porción de mi base de usuarios salta constantemente entre dos o más direcciones IP.

Causas

Asumiendo que sus usuarios no están tratando activamente de ocultar sus direcciones IP reales utilizando un servicio de anonimato ...:

La mayoría de los ejemplos corporativos que he visto son causados ​​por compañías más grandes y algunos ISP que usan un grupo de servidores proxy, cada uno con una dirección IP externa diferente, con solicitudes de usuarios que equilibran la carga en ese grupo.

Puede ver que los usuarios de Dual Stack realizan solicitudes a través de IPv4 e IPv6 y cambian entre los dos protocolos RFC 8305 para solicitudes posteriores.

El otro escenario es cuando estoy en el rango extremo de un punto de acceso Wi-Fi y mi dispositivo "al azar" cambia entre Wi-Fi y datos móviles.

Soluciones

En el primer escenario, puede comprometerse a mantener esa "seguridad" de la dirección IP en sus sesiones al considerar solo los primeros tres octetos, ya que normalmente un grupo de servidores proxy está dentro de una subred pequeña y tendrá direcciones IP vecinas.

En el segundo y tercer escenario, verá direcciones IP de cliente completamente diferentes, incluso de proveedores no relacionados.

No vincule sus sesiones a una dirección IP específica, es más probable que rompa la experiencia del usuario que proporcione una seguridad mejorada real.

HBruijn
fuente
27
Ya nadie vincula las sesiones a las direcciones IP, exactamente por estos motivos.
Michael Hampton
33
NUNCA vincules sesiones a direcciones IP, ¡los 80 han terminado! Mi ISP suministra una red completa / 64 a mi teléfono en la que mi navegador salta como loco.
bjoster
66
Además de todo, Multipath TCP se está volviendo cada vez más común.
Puede Poyrazoğlu
3
Si está haciendo su CMS para usuarios técnicos, puede poner una casilla de verificación "limitar esta sesión a su ip (xxx.yyy.zzz.iii) solamente" en la página de inicio de sesión
Ferrybig
66
@bjoster se debe a que las extensiones de privacidad de IPv6 cambian de dirección para que los sitios web no puedan rastrearlo solo con su IP (esto no es un problema con IPv4, ya que varias personas están detrás de la misma dirección)
Ferrybig
9

Ahora me pregunto cuáles son los riesgos de permitir que mis clientes salten constantemente entre direcciones IP para una solicitud de página (por ejemplo, xxx.xxx.xxx.xxx solicita los archivos CSS y yyy.yyy.yyy solicita los archivos CSS. aaa) ¿Debo generalmente permitir o prohibir eso?

El riesgo principal es un usuario malintencionado secuestrando la sesión. Si pudiera bloquear una o un pequeño conjunto de direcciones IP, podría bloquear a los usuarios de direcciones IP completamente diferentes para que no secuestren la sesión.

El problema es que algunos usuarios hacen esto legítimamente. Ya sea que estén usando un proxy de carga balanceada o que estén en los márgenes de dos puntos de acceso inalámbrico (o lo que sea), usan múltiples direcciones IP. Así que tienes que permitirlo para esos usuarios. Y es difícil saber qué usuarios requieren varias direcciones IP, excepto cuando lo solicitan desde varias direcciones IP.

Una forma de reducir el impacto de esto es usar HTTPS. Entonces el actor malicioso debe tener una manera de comprometer la capa segura y la cookie de sesión. A través de una conexión insegura, el actor malicioso podría usar la inspección de red para comprometer una cookie de sesión. Pero a través de HTTPS, el mismo actor malicioso necesita tener acceso a uno de los extremos de la conversación. Y si el actor malicioso tiene eso, entonces no es necesario usar una IP diferente.

TL; DR : generalmente debe permitir solicitudes de diferentes direcciones IP para el mismo usuario. Hay razones legítimas para que esto pueda suceder. Utilice HTTPS en su lugar para protegerse de esa clase de exploits.

mdfst13
fuente
4

¿Cuáles son los riesgos de permitir que mis clientes salten constantemente entre direcciones IP para una solicitud de página?

Desde el punto de vista de la seguridad: cero riesgos.

Ahora, desde un punto de vista práctico. Significa que no puede usar ciertos tipos de algoritmos para la seguridad o la protección DoS .

Una forma sencilla de limitar las solicitudes de los usuarios es realizar un seguimiento por dirección IP. Dado que esto no necesita interactuar con su servidor de aplicaciones, puede usar servicios en niveles inferiores para hacerlo. Software como el mod_evasive de Apache hace esto. Aún puede usar estas técnicas, pero el cambio de direcciones IP por parte del usuario reducirá su efectividad. Por otra parte, los usuarios cambiarán las direcciones IP de todos modos, por lo que estas técnicas nunca han sido realmente efectivas.

Un caso de uso relacionado, pero diferente, es la limitación de los intentos fallidos de inicio de sesión. Esto es para evitar adivinar la contraseña por fuerza bruta. Pero, de nuevo, no hay nada que pueda hacer de todos modos si los usuarios cambian las direcciones IP. Un hacker realmente serio ni siquiera usaría sus propias máquinas. Simplemente compraría algo de tiempo en una botnet (o usaría su propia botnet previamente infectada) y se conectaría a su servicio a través de las PC de otras 10,000 personas (direcciones IP). Esto no está realmente relacionado con limitar la dirección IP del usuario porque es un inicio de sesión previo, pero es algo a tener en cuenta.

slebetman
fuente
1

Existen varias razones por las cuales un usuario puede saltar a una nueva dirección IP.

  1. Extensiones de privacidad IPv6, muchos clientes de IPv6 hoy en día saltarán dentro del / 64 en la LAN.
  2. Proxies de carga equilibrada, la solicitud de los clientes se enruta a uno de varios proxies, cada uno con una IP separada.
  3. Grupos NAT, el border nat está configurado con múltiples direcciones IP y asigna combinaciones de IP / puerto desde el grupo arbitrariamente a las conexiones TCP del cliente.
  4. El usuario se mueve entre diferentes redes o partes de una red, común con los teléfonos hoy en día.
  5. Los usuarios de doble pila pueden saltar entre IPv4 e IPv6.

Ahora me pregunto, ¿cuáles son los riesgos al permitir que mis clientes salten constantemente entre IP para una solicitud de página?

La ventaja de bloquear sessoins del cliente a las IP es que hace que los ataques de robo de sesiones sean más difíciles. Si un atacante tiene un mecanismo que le permite robar las cookies de los clientes pero no les permite hacer conexiones a su servidor desde la dirección IP de los clientes, entonces el bloqueo de IP les impedirá robar la sesión.

La desventaja es que, como usted dice, provocará la rotura de algunos usuarios que encuentran invalidada su sesión sin razón aparente.

La mayoría de los sitios hoy en día parecen pensar que la rotura supera los beneficios de dicho bloqueo.

Peter Green
fuente