Cómo bloquear usuarios que cambian su dirección IP o usan un proxy

Como Justen Robertson advirtió sabiamente en su respuesta, no existe una barrera que pueda negar permanentemente el acceso a un usuario en particular si su servicio está disponible para el público en Internet.

Incluso las huellas digitales del dispositivo pueden ser evadidas fácilmente por un hostigador dedicado. Si la solución de huellas digitales es lo suficientemente simple como para implementarla en la web a través de un navegador sin obstruir a sus usuarios legítimos, es muy probable que esta protección se pueda vencer simplemente iniciando una imagen de máquina virtual. El delincuente puede tener cientos de esas imágenes a su disposición. Por supuesto, existen sistemas de autenticación y huellas digitales más avanzados, pero no puede pedir razonablemente a sus usuarios legítimos que salten estos obstáculos a menos que su aplicación exija este nivel de seguridad. Los productos que enumera en su pregunta detallan los sitios web de comercio electrónico para ayudar a prevenir el fraude de pagos y no pueden disuadir de manera confiable a los abusadores que se conectan a sus servicios a través de una red proxy como TOR.

Aunque muchos servicios utilizan este método, también debe considerar alternativas a la prohibición de usuarios en función de su dirección IP. Ya has descubierto que este método no ofrece protección contra atacantes inteligentes. Además, puede crear problemas para usuarios legítimos al bloquear permanentemente las direcciones. Muchas personas se conectan a Internet desde una dirección asignada dinámicamente que cambia periódicamente. Puede encontrar casos en los que un usuario intente acceder o registrarse para su servicio después de que su dirección se renueve a una que previamente prohibió. Otras organizaciones, como algunas universidades, usan una sola dirección IP para conectar a cientos de usuarios a Internet a través de un enrutador NAT. Si prohíbe esta dirección, puede cortar inadvertidamente usuarios legítimos al mismo tiempo.

Entonces, ¿qué opciones quedan?

Levantar la barrera a la entrada

Si su servicio solo requiere que alguien envíe un nombre de usuario o identificador para participar, nunca se mantendrá alejado de los malos. Es posible que no pueda evitar que accedan a sus servicios, pero al menos puede ralentizar el ataque.

Prueba estas estrategias:

  • Requerir registro : el tiempo y el esfuerzo adicionales necesarios para registrarse antes de participar pueden disuadir a algunos no-buscadores casuales. Las direcciones IP son muy fáciles de recorrer, pero las cuentas tardan un poco más en configurarse y son fáciles de prohibir. No existe el riesgo de bloquear usuarios legítimos, como ocurre con la prohibición de IP.
  • Use CAPTCHA : probablemente esté familiarizado con esos campos vacilantes de palabra + número. Disminuyen la velocidad de los atacantes al limitar los envíos automáticos. Definitivamente utilizar en el formulario de registro. Si tiene un problema con los robots de spam en el chat, puede considerar solicitar la verificación CAPTCHA cada x cantidad de publicaciones o si las publicaciones exceden una tasa de x por minuto. Sin embargo, tenga cuidado: estos son molestos como el infierno para los usuarios legítimos.
  • Requerir verificación por correo electrónico : no permita que el nuevo usuario participe en el chat hasta que haya verificado su dirección de correo electrónico haciendo clic en un enlace de verificación que envíe a la dirección de correo electrónico con la que se registró. Al solicitar un correo electrónico válido, descarga parte del trabajo de validar la identidad de un usuario a los proveedores de correo electrónico. Muchos proveedores de correo electrónico no toleran los registros repetidos y cuentan con sistemas para mitigar cuentas ilegítimas. Por supuesto, un atacante inteligente también puede eludir la protección del proveedor o elegir un proveedor de correo electrónico diferente cada vez, pero este es solo otro obstáculo que deben superar.
  • Comprobar listas negras : al crear una cuenta de usuario, puede hacer coincidir la dirección de correo electrónico proporcionada con las listas existentes de correos electrónicos y dominios ilegítimos. Los administradores mantienen estas listas para ayudar a otros a defender sus servicios contra amenazas conocidas.
  • Implementar temporizadores de enfriamiento : esta técnica requiere algún tipo de seguimiento (como dirección IP / cookie), pero un atacante puede no estar al tanto de la técnica al principio. Si puede determinar que una dirección IP (por ejemplo) está intentando crear varias cuentas, en lugar de prohibir la dirección, ralentice el proceso evitando que la nueva cuenta acceda a sus servicios por x número de minutos / horas. Por ejemplo, puede enviar el correo electrónico de verificación 10 minutos tarde en la primera ofensa, luego 1 hora tarde en la segunda ofensa, y así sucesivamente. Es posible que pueda evitar que el delincuente acceda a sus servicios durante un período de tiempo significativo y no se arriesga a bloquear usuarios legítimos al prohibir las direcciones IP.
  • Verificación multifactor : dependiendo de su aplicación y requisitos de seguridad, puede beneficiarse de varios métodos de verificación. Por ejemplo, además de la verificación por correo electrónico anterior, puede solicitar a los usuarios que verifiquen un PIN enviado a su número de teléfono mediante una llamada o un mensaje de texto antes de que su cuenta se active.

Para muchos lectores, estas protecciones pueden parecer prácticas familiares o comunes. Los sitios los usan porque son efectivos. En muchos casos, el esfuerzo adicional que imponen estas estrategias puede disuadir a los acosadores de regresar después de que sean prohibidos. Sus usuarios legítimos también sufrirán estos requisitos de seguridad adicionales, pero en la mayoría de los casos solo tendrán que pasar por el proceso una vez.

Seguridad de multitudes

Sus usuarios son otro valioso activo de seguridad. Los usuarios legítimos odian el spam y el acoso tanto como ustedes, y están más que dispuestos a presionar un botón de Spam o Informe bien posicionado para obtener contenido no deseado (aquí en Quora también puede rechazar las respuestas de mala calidad).


Cree un umbral automatizado que prohíba las cuentas si se informaron x publicaciones de un usuario en una hora, por ejemplo. El contenido inapropiado desaparecerá rápidamente, y el usuario infractor tendrá que pasar por el proceso anterior de crear otra cuenta nuevamente.

Heurística de contenido

A menudo, los spammers y los abusadores muestran patrones cuando usan su servicio. Puede crear herramientas que detecten estos patrones y activen las acciones apropiadas, como enviar una advertencia, mostrar un CAPTCHA o prohibir la cuenta.

Como un simple ejemplo, un spammer podría incluir una URL particular en cada publicación. Su servicio puede grabar publicaciones de este usuario y después de x cantidad de publicaciones de spam detectadas, el sistema prohíbe esa cuenta.

Estos sistemas heurísticos requieren mucho más trabajo de ingeniería que las técnicas anteriores, pero a menudo son efectivos para atrapar a los abusadores en secciones oscuras de su sitio donde sus usuarios pueden no vigilar rigurosamente por usted.

Resumen

No existe una protección razonable para bloquear permanentemente a un individuo persistente y técnicamente experto, pero las técnicas en esta respuesta aumentan significativamente la cantidad de esfuerzo requerido para hostigar su servicio. Muchos perpetradores pasarán a objetivos más fáciles.

Como siempre, la seguridad es una compensación entre protección y conveniencia. Recuerde practicar defensa en profundidad, capas de seguridad en cada nivel.

La razón por la que las cookies no funcionan para usted es que se almacenan en la máquina del usuario, lo que significa que el usuario tiene control sobre si su servidor las recibe o no. Lamentablemente, esto es cierto para todo. Si se trata de usuarios dedicados y maliciosos, sabrán cómo evadir cualquier técnica que se les ocurra para evitar prohibiciones. En última instancia, el dispositivo tiene que enviar datos al servidor para identificarse, y el usuario tiene un control absoluto del 100% sobre los datos que el dispositivo está enviando si lo desea.

No conozco ninguna técnica basada en navegador / flash que pueda identificar con éxito a un visitante que no quiera ser identificado. Si desea una aproximación cercana, considere desarrollar una técnica heurística que use una combinación de dirección IP, agente de usuario y capacidades de navegador (en JavaScript, los scripts como Modernizr y Detectjs pueden hacer esto). Sin embargo, debo advertirle que invertirá mucho tiempo en esto sin detener a las personas que más le importan: el “pirata informático” sofisticado y malicioso que en realidad puede causar daños a su sistema u otros usuarios.

Otra cosa que puede hacer para limitar el abuso de proxy / vpn es prohibir los servidores proxy conocidos a nivel de servidor. Hay una serie de servicios que mantienen una lista de proxy, nodos de salida TOR e IP de VPN que puede agregar a su firewall. Sin embargo, esto bloqueará a muchos de sus usuarios legítimos, y generalmente se considera una mala práctica. Tampoco hará mucho bien contra las botnets y otras técnicas de representación que dependen de una red cambiante de computadoras de consumo secuestradas.

Por último, pero no menos importante, hay una técnica que se basa en el procesamiento de imágenes del lado del cliente a través de Canvas para producir una huella digital única que se encontró que el fragmento de red social común “addthis” estaba usando. No puedo hablar de la confiabilidad de su software o la implementación exacta, pero puede verlo: conozca el dispositivo de seguimiento en línea que es prácticamente imposible de bloquear

Por lo que vale, sus usuarios lo odiarán por hacer esto. Algunos de ellos están protegiendo su privacidad por razones completamente ajenas a la malicia. Si vas a hacerlo, sé sincero al respecto.

Entonces, la respuesta correcta es: no se puede hacer de manera confiable en flash o en el navegador. Con una aplicación móvil / de escritorio, tiene más opciones para tomar huellas digitales de hardware directas, pero incluso esas serán evadidas por un usuario sofisticado.

Editar: oh, una última nota: los falsos positivos serán mucho más perjudiciales para usted que los falsos negativos. Lo último que desea es que los usuarios legítimos sean prohibidos porque su “huella digital” los identifica incorrectamente. Si esto sucede regularmente, devastará a su comunidad. A menos que su servicio sea increíblemente convincente, irán a otro lugar y se llevarán a todos los demás.