Localizando todos os intervalos de IP pertencentes a um ISP específico

10

Estou tendo um problema com um determinado indivíduo que continua raspando meu site de maneira agressiva; desperdiçando largura de banda e recursos da CPU. Eu já implementei um sistema que rastreia meus logs de acesso ao servidor da web, adiciona cada novo IP a um banco de dados, acompanha o número de solicitações feitas a partir desse IP e, em seguida, se o mesmo IP ultrapassar um certo limite de solicitações dentro por um determinado período, é bloqueado via iptables. Pode parecer elaborado, mas até onde eu sei, não existe uma solução pré-fabricada projetada para limitar um determinado IP a uma certa quantidade de largura de banda / solicitações.

Isso funciona bem para a maioria dos rastreadores, mas um indivíduo extremamente persistente está obtendo um novo IP de seu pool de ISP toda vez que é bloqueado. Gostaria de bloquear completamente o ISP, mas não sei como fazê-lo.

Fazendo um whois em alguns IPs de amostra, posso ver que todos compartilham o mesmo "nome de rede", "mnt-by" e "origin / AS". Existe uma maneira de consultar o banco de dados ARIN / RIPE para todas as sub-redes usando o mesmo mnt-by / AS / netname? Caso contrário, de que outra forma eu poderia obter todos os IP pertencentes a este ISP?

Obrigado.

Chapeleiro Louco
fonte
1
Você considerou que o autor pode estar usando máquinas comprometidas em vez de obter um novo endereço IP a cada vez?
John Gardeniers
O CloudFlare oferece opções para limitar a largura de banda por usuário / IP? Eu não os usei, mas pensei que sim. Essa seria a maneira mais fácil, basta usar um serviço para fazer a coisa toda por você.
markspace

Respostas:

6

whois [IP address](ou whois -a [IP Address]) geralmente fornece uma máscara CIDR ou um intervalo de endereços que pertence à empresa / provedor em questão, mas a análise dos resultados é deixada como um exercício para o leitor (há pelo menos dois formatos de saída whois comuns).

Observe que esse bloqueio por atacado também pode potencialmente derrubar usuários legítimos. Antes de adotar essa abordagem, entre em contato com o departamento de abuso no ISP em questão (geralmente listado nas whoisinformações do domínio netblock ou DNS, caso contrário, abuse @ é um bom lugar para começar) para ver se a situação pode ser resolvida diplomaticamente e não tecnicamente .


Observe também que há são algumas soluções pré-fabricados para pedidos limite por segundo por IP - Confira mod-qos ou capibilities shaping firewall / tráfego do seu sistema.

voretaq7
fonte
Eu sei que a saída whois fornece um intervalo de endereços, mas esse ISP parece ter intervalos em todo o lugar. por exemplo (a propósito, esses não são os endereços reais), a aranha virá de 46,84. *. *, depois de 88,98. *. * e assim por diante. Não há outro padrão óbvio além do observado na minha pergunta (o mesmo AS e mantenedor em whois). Entrar em contato com o departamento de abuso resultará no envio de e-mails diretamente para / dev / null. É um ISP chinês. Quanto ao mod-qos? Limitar solicitação por segundo é inútil. A aranha não é tão agressiva. Também não vejo nenhuma maneira óbvia de fazer o que quero através do iptables.
6

Entendi por conta própria. Tipo de.

O robtex.com lista todos os intervalos de IP anunciados para um determinado AS em: http://www.robtex.com/as/as123.html#bgp

Ainda não sei como ou de onde o robtex recupera essas informações. Se alguém quiser conversar e explicar de onde vêm os dados, isso seria ótimo.


fonte
2
é obtido dos anúncios do BGP que eles veem de um roteador conectado.
user6738237482
um usuário anônimo possui - a única maneira que conheço de que eles poderiam coletar esses dados é raspar anúncios de BGP e criar uma tabela de roteamento com os números AS.
voretaq7
Presumo que os anúncios do BGP não sejam acessíveis ao público em geral?
1
Eu acho que este site está quebrado agora.
1
esse link parece estar quebrado agora. Existe em algum outro lugar a mesma informação disponível?
91113 Karl Glennon
2

Como você tem acesso ao iptables, assumirei que você tenha um acesso root no sistema de qualquer maneira. Nesse caso, sugiro instalar o Fail2Ban, que apenas bloqueia um IP (por um certo tempo você decide) se tentarem abusar de um serviço (HTTP, DNS, Correio, SSH ... etc), pressionando a porta de serviço como N vezes dentro do período X. (todos os usuários decidiram.)

Estou usando isso no meu servidor e estou obtendo resultados muito bons. especialmente com aqueles hackers chinease que querem entrar no meu SSH.

acesse minha página inicial para obter mais informações. Eu tenho um post de blog sobre fail2ban.

Aly Badawy
fonte
-1

Você pode tentar esta ferramenta . Não é rápido, mas está funcionando.

usuario
fonte
1
Bem-vindo à falha do servidor! Por favor, leia o nosso FAQ em particular Maio I promover produtos ou sites que eu sou filiado a aqui? .
user9517
1
Esse site está quebrado. Mas, curioso, o que faz você chegar à conclusão de que a operação está promovendo o produto dele. Como você vai diferenciar o compartilhamento de informações úteis genuínas e a promoção de produtos feitos por você mesmo?
Talespin_Kit #