¿Cómo puedo bloquear a una persona abusiva que intenta sin cesar registrar más cuentas?

41

Tengo un sitio gratuito con registro abierto; cualquiera puede registrarse y no puedo cambiar eso. Sin embargo, las cuentas deben ser aprobadas por un administrador después de completar un perfil, por lo que tengo acceso a una variedad de información para identificar usuarios duplicados (fecha de nacimiento, comentario de "auto presentación", dirección de correo electrónico, fotos, ubicación reportada en el perfil, IP geolocalizada , Dirección IP, etc.)

Recientemente, el sitio se ha visto sujeto a los ataques de un solo usuario que es extremadamente abusivo y parece tener tiempo ilimitado para registrar varias cuentas. Estas cuentas se pueden bloquear con relativa facilidad, pero es mucho trabajo para el administrador (yo) y me temo que perderé una entre las cuentas legítimas (este usuario registra aproximadamente 6 cuentas por día).

Ya tengo:

  • prohibió las direcciones IP conocidas del usuario
  • registro bloqueado de dominios conocidos que se utilizan para direcciones de correo electrónico "desechables"
  • agregó una vista especial para ayudarme a identificar cuentas basadas en patrones conocidos de acceso del usuario

¿Hay algo que pueda hacer con las cookies, etc. para dificultar aún más el registro de este usuario?

Este es un sitio de Drupal 7.

EDITAR: en mi caso, este es un usuario humano, no un bot. Pero las respuestas del bot son útiles para aquellos que están siendo específicamente dirigidos por spammers.

Patrick Kenny
fuente
Lo único en lo que puedo pensar es en esos captchas molestos que son realmente difíciles de leer, ya que algunas de las letras / números crees que pueden ser dos cosas, y debes intentarlo 5 veces para adivinarlo correctamente. En el lado negativo, molestarás a todos los demás, jajaja.
No Sssweat
13
drupal.org/project/misery si todo lo demás falla.
Niall Murphy
77
En realidad, las dos primeras soluciones que ha utilizado son ideas bastante malas. Las direcciones IP son muy inadecuadas para identificar de manera única incluso una red completa, ¡sin importar una computadora específica, y sin importar un usuario específico! No es raro que un usuario comparta un dispositivo con muchos otros usuarios, donde ese dispositivo está en una red con muchos otros dispositivos que comparten una sola dirección IP, que el proveedor de servicios reasigna regularmente, a diferentes clientes. Prohibir conjuntos completos de nombres de dominio de correo electrónico es aún peor. Corre un riesgo real de bloquear a un usuario legítimo.
JBentley
3
Al probar el consejo en las respuestas, sugeriría que nunca haga que la vida de sus buenos usuarios sea menos placentera en aras de castigar a los malos usuarios. Si haces esto, los malos usuarios han ganado y te arriesgas a perder buenos usuarios.
rooby

Respuestas:

51

En lugar de tratar de evitar que el usuario se registre, que es un juego para trolls y piratas informáticos, haga que el sitio sea molesto para él. Haz que quiera irse , en lugar de hacerlo querer ganar el juego de trolling .

Lo que he hecho en el pasado, no específico de Drupal, es permitir que el usuario se registre. Luego saboteé su cuenta específica:

  1. Rocié if ($someuser) { sleep(rand($base, $base*2)) }en el código, donde $baseaumentaría a diario. Me aseguré de que tuviera muchos tiempos de espera.
  2. Dejaría caer el N% de sus publicaciones, donde N comenzó por encima del 50% y solo aumentó a partir de ahí. Si la publicación tuviera ciertas palabras clave, se eliminaría de inmediato.
  3. Caería al azar las reglas CSS para que la página se mostrara mal. Nuevamente, la severidad aumentaría con el tiempo.

Esto requirió más esfuerzo de mi parte, pero según el consejo de Sun Tzu estaba condicionando al usuario a odiar mi sitio . Quería que sintiera que no nos estaba molestando, sino que debería estar molesto por los retrasos y los errores aparentes. Le llevó menos de una semana renunciar a nosotros.

EDITAR : en los comentarios, el usuario rooby menciona el módulo Misery que se basa en el mismo concepto:

  1. Retraso : crea un retraso de longitud aleatoria, dando la apariencia de una conexión lenta. (Por defecto, esto sucede el 40% del tiempo)
  2. Pantalla blanca : presente al usuario una pantalla blanca. (Por defecto, esto ocurre el 10% del tiempo)
  3. Página incorrecta: Redireccionar a una URL aleatoria en una lista predefinida. (por defecto, esto sucede el 0% del tiempo)
  4. Nodo aleatorio : redirigir a un nodo aleatorio accesible por el usuario. (Por defecto, esto ocurre el 10% del tiempo)
  5. 403 Acceso denegado : presente al usuario un error de "Acceso denegado". (Por defecto, esto ocurre el 10% del tiempo)
  6. 404 No encontrado : presente al usuario un error "No encontrado". (Por defecto, esto ocurre el 10% del tiempo)
  7. Los formularios no se envían : redirige de nuevo al formulario durante la validación para evitar el envío. (de forma predeterminada, esto sucede el 60% del tiempo) Nota: Ocasionalmente, ciertos formularios se validan según el botón que se presionó, esto no funcionará en esos casos.
  8. Crash IE6 : si el usuario usa Internet Explorer 6, esto bloqueará su navegador. (por defecto, esto sucede el 0% del tiempo)
  9. Spam : Reemplace el contenido del nodo con una palabra establecida. (Por defecto, esto ocurre el 10% del tiempo)
  10. Cerrar sesión : cierre la sesión del usuario. (Por defecto, esto ocurre el 10% del tiempo)
dotancohen
fuente
8
Creo que esto es genial en teoría, pero la idea de codificar $someusercada vez que crean una nueva cuenta me da escalofríos. Aún así, gran idea. Tal vez solo agregue un campo en la tabla de cuentas, como una trollcolumna. Si es 1, los cambios surten efecto. Luego agregue una interfaz simple para marcar a alguien como un troll. Al menos de esa manera es un poco más fácil que codificar un nombre de usuario / ID de usuario / correo electrónico / etc. cada vez que se registran con una nueva cuenta. Sin embargo, votar esto con seguridad.
Nate I
55
@NateI que puede hacer que sea reutilizable sin embargo. if (hellbannedUsers.contains($someuser))Es un paso mejor. Simplemente no me gusta cuánta lógica casera es esto en primer lugar, pero al menos puede volverse reutilizable.
djechlin
3
@djechlin Por supuesto, puede volverse reutilizable, de ahí mi propio comentario sobre dar un paso más allá con una tabla en la base de datos.
Nate I
3
Puede que te interese el módulo de miseria para ahorrarte algo de codificación.
rooby
77
Gran respuesta. Una variante de esto es dejar que el troll publique y mostrar las publicaciones a ese usuario, pero ocultarlas para todos los demás usuarios.
zelanix
30

Correo electrónico ISP del abusador - Ellos Serán poner fin a la misma!

Tiene un registro de los tiempos de creación de su cuenta y las direcciones IP utilizadas para registrarse, ¿verdad? ¿También tienes un registro de todos sus comentarios de acoso? Envíe estos registros a su ISP .

Puede encontrar el ISP haciendo una búsqueda de IP directamente con ARIN en https://whois.arin.net/ui u otro servicio que simplemente los usa para un whois. La mayoría de los usuarios tendrán un ISP real para el propietario de la IP, pero algunas (grandes corporaciones típicamente) serán propietarias de la IP. De cualquier manera, descubrirá quién es el propietario de la IP, y desde allí puede buscarlos y obtener una dirección de correo electrónico de abuso (a veces ponen una dirección de correo electrónico de abuso real en la información de WHOIS, lo cual es genial) para enviar su correo electrónico a Sea amable y cortés con el ISP. No escriba una novela épica, que sea simple. Algo como "Esta ip me ha estado acosando a mí ya los usuarios de mi sitio web, por favor vea los registros" será suficiente. Ven miles de estos al día, no quieren leer una historia triste.

Solía ​​ser ingeniero de redes en un ISP. Recibimos innumerables informes de acoso por este tipo de comportamiento. En el momento en que un suscriptor recibe la llamada telefónica, se detiene aproximadamente el 90% del tiempo. Si continúa, pueden producirse acciones legales, lo que significa que la mayoría de los ISP toman medidas muy serias.

Su agresor es probablemente un niño que vive en casa con sus padres , lo que significa que cuando la cuenta de Internet de sus padres se ve amenazada de ser cancelada, estarán muy molestos con él por su comportamiento.

Yo personalmente tomé esta ruta y funciona, incluso si el agresor no está en su país. Los ISP NO son amables con los usuarios que abusan de su red.

Nota al margen

Existe la posibilidad de que esté usando un Proxy. Sin embargo, es muy poco probable que haya usado un proxy durante el registro inicial, a menos que tuviera la intención (desde el momento en que se registró) de iniciar sesión en su sitio web. Si ninguna de las direcciones IP apunta realmente a un ISP legítimo donde realmente puede enviar un correo electrónico de abuso, intente enviarlo a cualquier servicio Proxy que esté utilizando.

La gente tiene esta loca idea de que simplemente porque alguien está usando un Proxy, son indetectables. Eso es falso Los servicios de proxy generalmente siguen las mismas reglas que todos los demás (por supuesto, hay excepciones). Cuando reciben un informe de abuso, lo cuidan como lo hace un ISP.

Ante la increíble posibilidad de que este usuario esté detrás de un Proxy que no funciona bien, seguiría los consejos de los otros respondedores. En serio, eso es tan raro que la mayoría de los propietarios de sitios web nunca verán un ataque de alguien que aparentemente es "indetectable".

Nate I
fuente
2
Esta es la única solución real . Todo lo demás que se ha propuesto parece ser soluciones alternativas, no soluciones.
un CVn
Tor también puede ser un problema a este respecto, pero si realmente tiene problemas con esto, siempre existe la opción de bloquear el tráfico que se origina solo en los nodos de salida de Tor . (Eso último mantiene el daño colateral al mínimo.)
un CVn
¿Me puede dar alguna idea de cuánto tiempo puede llevar este proceso? Envié la información hace 10 días y aún no he recibido una respuesta de ningún tipo, incluso un reconocimiento de mi informe.
Patrick Kenny
Nunca he recibido una respuesta real. Lo único que he presenciado en este curso de acción es que la persona simplemente detiene lo que está haciendo. ¿La persona todavía te está acosando a ti y a los usuarios de tu sitio web?
Nate I
17

En su pregunta, no menciona tener un Captcha. Tal vez, este usuario molesto es un bot? Supongo que ya tienes un captcha y ese usuario es realmente humano.

Pero ... si ese no es el caso, recomendaría:

reCAPTCHA

Utiliza el servicio web Google reCAPTCHA para mejorar el sistema CAPTCHA y proteger las direcciones de correo electrónico.

ingrese la descripción de la imagen aquí

No Sssweat
fuente
9

Hellban / shadowban

Como impedir que una persona cree nuevas cuentas para reemplazar las bloqueadas es casi imposible, una solución algo popular para este problema es el llamado hellban ( http://www.urbandictionary.com/define.php?term=hellban ) o shadowban , donde implementa una función que aísla ciertas cuentas de todos los demás sin que sea obvio que han sido prohibidas.

Por ejemplo, se aseguraría de que sientan que su experiencia es genuina y de que pueden seguir usando las mismas cuentas, pero que sus publicaciones o actividades sean visibles solo para cuentas prohibidas y cualquier cuenta (o no registrada) en situaciones) que comparten IP y / o cookies con la cuenta prohibida. Si el usuario continúa troll pero no obtiene respuesta, se irán eventualmente.

Pedro es
fuente
¿Cómo implementar esto en Drupal 7?
reinierpost
1
@reinierpost - Cave es una opción para implementar esto
BryanH
7

A sugerencia de No Sssweat, pongo esto como una respuesta en lugar de un comentario para que más personas lo vean.

Drupal.org/project/misery hace un buen trabajo molestando a un usuario con unos ocho métodos diferentes. Tiempos de espera aleatorios, cierres de sesión, redireccionamientos aleatorios, etc. y la frecuencia es variable.

Una versión fácil de la buena redacción de dotancohen sobre el problema.

Niall Murphy
fuente
6

¿Qué tal usar un segundo factor? En su registro, digamos que enviará un SMS a su teléfono o un correo electrónico y solicite que confirmen su registro haciendo clic en un enlace y devolviendo la información. Obtendrá un identificador más difícil de falsificar que la dirección IP y puede ser más fácil filtrarlo de esa manera. Obviamente requerirá una pequeña cantidad de secuencias de comandos ...

Blackbeagle
fuente
5

En realidad es imposible.

No puede evitar que una persona se registre una y otra vez. Lo único que puede hacer es fortalecer el proceso de registro y verificar dos o tres veces su identificación (a través de la dirección de correo electrónico y la cuenta de Google y la cuenta de Facebook y la cuenta de LinkedIn y el número de teléfono, etc.) y correlacionar a cada persona con una identificación específica que agregue Todos estos detalles.

La persona específica puede elegir otra red a través del proxy web, crear muchos correos electrónicos, abrir varias cuentas de facebook / google / LinkedIn, etc., pero nunca podrá detener a esta persona para que se registre nuevamente (a menos que verifique su ADN).

Su única opción es endurecer el proceso de registro.

Auzias
fuente
2
Como dije, exija a sus futuros usuarios nuevos que vinculen su cuenta con una cuenta de Facebook única y una cuenta de Google única y una cuenta de LinkedIn única y un número de teléfono único al que envíe un SMS. ¡Estás en una posición muy pensada! Sin medios realmente caros , no puede garantizar que un usuario se registre solo una vez. Además, el único medio que puede usar molestaría a sus futuros usuarios (¿quién está dispuesto a vincular la cuenta ggl / SO / fb / LinkedIn / GH + enviar su identificación por correo postal, solo para crear una nueva cuenta?)
Auzias
11
Esta es una forma rápida de reducir su número de usuarios genuinos también.
Tom.Bowen89
3
Estás argumentando que es imposible en el peor de los casos, es decir, si una agencia de inteligencia avanzada con miles de millones de dólares está a tu alcance. Hay una muy buena posibilidad de que el OP esté lidiando como un niño malcriado de 11 años en alguna parte. Por lo tanto, su respuesta es poco práctica e IMO engañosa.
djechlin
2
Tu respuesta se contradice a sí misma. Dice que no puede, entonces la única forma en que puede es endurecer el proceso de registro, que en realidad no necesariamente resolverá el problema y tampoco es la única solución potencial.
rooby
1
Lo sé;) o no tengo google, ni LinkedIn
Auzias
4

Como sugiere No Sssweat, puede usar reCAPTCHA. Pero si no quiere molestar a los usuarios legítimos, puede probar el módulo Honeypot . Ofrece la opción de tener un campo adicional que no se debe completar (los bots AFAIK pueden llenar todos los campos) o tener restricción de tiempo.

La documentación se lee como,

Honeypot utiliza los métodos honeypot y de marca de tiempo para disuadir a los robots de spam de completar formularios en su sitio Drupal (lea más aquí). Estos métodos son efectivos contra muchos bots de spam y no son tan intrusivos como CAPTCHA u otros métodos que castigan al usuario [YouTube].

Otra opción es el módulo Spambot , evita el spam verificando los intentos de registro contra Stop Forum Spam.

Spambot protege el formulario de registro de usuarios de spammers y spambots verificando los intentos de registro contra la base de datos en línea Stop Forum Spam (www.stopforumspam.com). También agrega algunas características útiles para ayudar a lidiar con las cuentas de spam.

Suresh R
fuente
3
Eso funciona para spambots, no para humanos.
user253751
3

Hay una respuesta a la pregunta, aunque la comunidad puede encontrar esto ofensivo. No sé por qué, ahorre costos, que el camino no se haya tomado con más frecuencia.

Envíe una carta de cese y desistimiento a la persona que está invadiendo su sitio y que infringe el Título XVIII del Código de EE. UU., Alteración de computadoras, fraude y abuso.

Si no cesan, pon el dinero y demanda. A mediados de la década de 1990 tuve el primer caso en la WDMO donde el único ISP para el área de Kansas City fue pirateado por 3 adolescentes. Me puse en contacto con las familias (habían rooteado uno de los servidores y eran lo suficientemente estúpidos como para almacenar su aplicación para unirse a los grupos "Warez" con sus nombres y direcciones reales en un subdirectorio oculto) y les pedí que evitaran que los adolescentes hicieran esto. Ellos rechazaron.

En una queja de 54 páginas, tuve que explicar: ISP, Internet, acceso excesivo, etc. a un juez recién nombrado.

Yo era más que un defensor, se había accedido a una cuenta mía (gracias a Dios, no una cuenta de cliente: The Rust List) y me molestaron. Cargué a los padres (el único camino a seguir donde los acusados ​​eran menores de edad en una acción civil) y declaró que los padres habían puesto un instrumento peligroso en manos de menores sin la supervisión adecuada y que los menores habían participado en la transferencia de software robado, y porno infantil (Sí, los chicos de 16 años que toman fotos de sus GF de 16 años es "porno infantil"). Cumplí con las políticas del propietario y obtuve un remedio que los tribunales en esos días ni siquiera considerarían: una prohibición de por vida del uso de computadoras para los adolescentes.

Se resolvió dentro de una semana de la transferencia del descubrimiento.

Has intentado todo lo demás: martillea esta pequeña mierda con una walletectomía. Tenga cuidado de elegir un abogado que sepa qué es esto y no uno asociado con una "gran empresa" donde se le facturará hasta la muerte.

Considere cómo podría funcionar una orden judicial que impida que el imbécil acceda a su sitio: S / Él está prohibido - encuentra una dirección IP de su violación de la orden judicial - envíelo a su abogado y él / ella presenta una moción ante el Tribunal mostrando violación de la Orden y el Tribunal responderá con una Orden de Mostrar Causa por qué el acusado no debe ser retenido en desacato al tribunal.

Comienza a aparecer un ataque desde otros sitios / direcciones IP, dígale a su abogado, y la respuesta puede incluir duplicar las computadoras de los acusados, una orden judicial que impida que el acusado tenga acceso a Internet y, al encontrar que el acusado violó la orden por poder , el Tribunal impondrá sanciones.

Finalmente, el imbécil puede haberse confinado para siempre ser bloqueado de Internet. Si realmente está enojado después de todo esto y quiere estar seguro de que el acusado está fuera de Internet, contrate a un PI para que lo siga durante una semana o diez días (no es barato) y si está accediendo a Internet de un Starbucks - o McD's los tienes: de vuelta al juez.

La última orden está más allá de lo creíble y solo sucederá con evidencia abrumadora de que el acusado había violado rutinariamente las órdenes de la corte: sin teléfonos inteligentes, sin VOIP, sin cable o televisión satelital (Internet está disponible y ha mostrado un total desprecio por el ley, por lo que no se permite nada que puedan piratear para obtener acceso), no hay Internet (sería bueno si fuera una prohibición de por vida, probablemente no), no hay Internet de las cosas y, en última instancia, no hay dispositivos informáticos.

Si el acusado se ganaba la vida en el sector tecnológico, tienen zanjas para cavar y hamburguesas para voltear.

Así es como terminar esto con la opción nuclear.

George R. O'Connor
fuente
@ Pierre.Vriens Esta es información interesante en cualquier caso, y mientras estoy en Tokio, mi compañía está en los Estados Unidos, al igual que el usuario abusador.
Patrick Kenny
OK, perdón por mi comentario entonces (he eliminado mi comentario anterior hace un momento) ... Lo estoy mirando con gafas EUR ...
Pierre.Vriens
2

Me gusta el modelo de miseria, pero agregaría enviarlo al azar a una página con mensajes realmente molestos y otras veces enviarlo a sitios porno muy malos. Cualquier cosa que pueda meterlo en problemas o avergonzarse si está en público.

alemán
fuente
1
Los tiempos desesperados requieren medidas desesperadas, esto sería muy molesto. Podría agregar redirigirlo a Rick Roll, jajaja.
No Sssweat
1
Eso daría cuenta de que está bloqueado
Ángel
2

He escrito un módulo específicamente para este tipo de situaciones. Se llama Espacios obligatorios y se puede encontrar aquí , y funciona bloqueando a cualquier persona que se registre cuyo nombre no contenga al menos 1 espacio. Se puede configurar aún más y puede seleccionar qué personaje necesita aparecer cuántas veces. También tiene una tasa de sucesión cercana al 100%

Kartagis
fuente