Como os sites detectam bots atrás de proxies ou redes da empresa

12

Como sites grandes (por exemplo, Wikipedia) lidam com bots que estão por trás de outro mascarador de IP? Por exemplo, na minha universidade, todo mundo pesquisa na Wikipedia, dando-lhe uma carga significativa. Mas, até onde eu sei, a Wikipedia só pode saber o IP do roteador da universidade; portanto, se eu configurar um bot "desencadeado" (com apenas um pequeno atraso entre solicitações), a Wikipedia poderá banir meu bot sem banir toda a organização? um site pode realmente banir um IP atrás de uma rede organizacional?

user4052054
fonte
@isanae Related: superuser.com/q/1013630/326546
kasperd:
Melhor fazer o seu bot indistinguível de usuários legítimos
Hagen von Eitzen

Respostas:

21

Não, eles banirão o IP público e todos os que tiverem NAT nesse IP também serão banidos.

Embora pelo menos Na pilha, se acharmos que vamos proibir uma faculdade ou algo assim, entraremos em contato com o abuso deles para que eles localizem o agressor e parem o problema.

Zypher
fonte
2
O que Zypher disse. Falando como alguém que costumava rastrear reclamações enviadas para [email protected], geralmente estávamos ansiosos para encontrar a pessoa responsável para desbloquear o IP público. (Os estudantes universitários ama a ponto share music peer RIAA gosta de contato [email protected] sobre isso..)
Katherine Villyard
... a menos que exista algo identificável exclusivamente no seu bot, como passar um token de acesso ou um ID de navegador exclusivo.
Simples # 18/16
1
Isso não responde à pergunta real do título sobre como esses sites detectam bots. De fato, parece que se você diminuir a velocidade do seu bot o suficiente (o que não seria muito), seria de fato indistinguível do uso válido por um monte de estudantes universitários.
Curinga
1
Para estender o comentário de @ KatherineVillyard. Supervisionando formalmente a rede de uma instituição, se ninguém nos contatasse antes do bloqueio, e o recurso do qual estávamos bloqueados era usado regularmente, entraríamos em contato com eles para corrigir o problema. Geralmente eles estavam dispostos a nos desbloquear, se resolveríamos isso do nosso lado. Isso significava perseguir a fonte do abuso. Sendo Wikipedia, mesmo que eles não cheguem à sua instituição, sua instituição provavelmente analisará uma vez que eles perceberem que foram incluídos na lista negra. Essa proibição aparentemente inofensiva pode rapidamente se transformar em uma expulsão.
Bacon Brad
1
O @Wildcard FWIW na maioria dos lugares não mostra como eles detectam bots, simplesmente porque isso fará com que os autores dos bots que estão pegando mudem as coisas. Dito isto, existem muitos outros sinais além da velocidade dos pedidos para detectar bots. Mas a maioria dos lugares não se importará tanto se você estiver jogando bem, não fazendo algo de merda ou forçando recursos. Simplesmente não vale a pena perseguir todos os pequenos bots por aí.
Zypher
1

Um site não pode banir diretamente um IP que esteja atrás do NAT. Ele poderia atuar em IPs passados ​​por proxies HTTP sem anonimato - quando esse proxy encaminha uma solicitação, normalmente anexa esse endereço a um cabeçalho X-Forwarded-For, portanto, se o acesso da sua rede privada realmente precisa passar por um proxy o IP interno pode ser exposto; no entanto, a maioria dos sites (inclusive a Wikipedia) não confiaria nas informações desse cabeçalho, porque é fácil falsificar implicitamente IPs inocentes ou evitar proibições.

Existem outras técnicas que tentam identificar exclusivamente usuários independentemente do endereço IP. Você pode interrogar um navegador da Web para obter muitas informações sobre ele e o sistema em que está sendo executado, como o agente do usuário, a resolução da tela, a lista de plugins etc. - consulte https://github.com/carlo/jquery- impressão digital do navegadorpara um exemplo disso na prática. Você pode usar essas impressões digitais para controlar o acesso, embora, dependendo do design do site, possa interagir com ele sem se envolver no processo de impressão digital, e mesmo que você não consiga, um bot pode fornecer dados espúrios e aleatórios para evitar ter impressão digital consistente, se você souber que esse tipo de proteção está em vigor. Esse método de controle também corre o risco de falsos positivos, especialmente quando se trata de dispositivos móveis, onde provavelmente haverá um grande número de clientes executando clientes de estoque idênticos em hardware de estoque idêntico (a maioria das pessoas em um modelo específico de iPhone executando uma versão específica do iOS , por exemplo, provavelmente obteria a mesma impressão digital).

Carcer
fonte
1
Não é improvável; muitas universidades e pelo menos um país inteiro fazem conexões proxy da Web e adicionam o X-Forwarded-For.
Michael Hampton
Interessante. Pessoalmente, eu ficaria surpreso se uma empresa configurasse seus proxies da Web para fazer isso, pois expõe algumas informações (reconhecidamente triviais) sobre sua rede interna, mas acho que depende da organização.
Carcer
@Carcer, não precisa ser o endereço IP interno real, apenas algo que seja consistente para cada usuário do proxy.
Ian Ringrose
0

Geralmente, o endereço IP não é informação suficiente para uma proibição correta. Redes tão avançadas trabalham no alto da pilha de rede.

Um ataque de negação de serviço (DoS) (que você está preocupado em criar) geralmente é tratado pela taxa que limita a configuração inicial da conexão TCP. Isso significa que os usuários legítimos que estão dispostos a esperar passarão, enquanto aqueles que estão apenas tentando consumir recursos do servidor ficam mais lentos a ponto de se tornarem inofensivos. É aqui que o DoS evoluiu para um ataque de DoS distribuído (DDoS).

Depois de conectar-se ao servidor, você pode fazer quantas solicitações desejar, a administração do servidor da web pode configurar quantas solicitações serão tratadas.

O servidor da Web provavelmente pode lidar com mais capacidade do que o seu gateway de rede local de qualquer maneira, provavelmente esse é o fator limitante no seu caso de uso. Aposto que os administradores de rede da universidade bateriam à sua porta antes da Wikipedia.

É importante ser um bom cidadão da Internet, para adicionar um código limitador de taxa a um bot.

Também deve ser destacado que a Wikipedia oferece despejos de dados para que não seja realmente necessário arrastar o site.

Phil Hannent
fonte