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?
Respuestas:
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.
fuente
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.
fuente
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.
fuente
Existen varias razones por las cuales un usuario puede saltar a una nueva dirección IP.
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.
fuente