Como você lida com IPs maliciosos?

2

Estou tentando descobrir como proteger meu servidor contra o que parece ser uma botnet (estou apenas supondo)

Todos os dias, mais e mais IPs preenchem meus registros do aplicativo com solicitação inválida (por exemplo: solicitações GET para URLs que devem receber apenas solicitações POST)

Primeiro, pensei em registrar todos os IPs baseados em ambos: a) o fato de que eles estão fazendo solicitações inválidas eb) a quantidade de solicitações por unidade de tempo e, em seguida, apenas executando um cron que agarra esses ips e adiciona regras a iptables para soltar seus pacotes.

Mas lendo um pouco sobre isso, descobri que muitos problemas podem surgir dessa abordagem:

  • Os IPs que estão sendo banidos podem ser de usuários válidos, que infectaram seus PCs, e eu não quero bani-los para sempre. Bani-los por um dia seria o suficiente. Existe uma maneira de pôr termo às regras? Ou eu tenho que salvar uma configuração iptables 'base', e no final do dia remover todas as regras e recarregar essa configuração base?
  • Os IPs podem ser totalmente falsos. Eu não sabia que isso era possível = s. Como você protege um servidor contra isso?
  • Os itpables podem tornar o servidor mais lento se adicionarmos muitas regras. Alguém mencionou que era possível banir ips sem adicionar regras ao iptables. Isso é possível? Existe uma maneira escalável de proibir muitos IPs?

Alguma opinião?

    
por HappyDeveloper 24.05.2011 / 09:59

3 respostas

3

Isso faz parte do ruído da Internet que todos os computadores conectados à Internet experimentam, mas infelizmente não vivemos em um mundo perfeito. Tentar evitar isso é como jogar um jogo de gato e rato. Você pode usar o limitador de taxa Iptables para limitar o número de solicitações de entrada de um IP, mas isso é sobre ele.

Em vez disso, certifique-se de que seu aplicativo e sistema operacional estejam seguros. Acompanhe os patches de segurança sempre que possível e siga as diretrizes de codificação seguras. Também configure os serviços corretamente, uma das maiores falhas de segurança são os serviços mal configurados.

    
por 24.05.2011 / 10:28
1

Não se preocupe com as regras de proibição de IP - como você suspeitava, os IPs de origem podem ser falsificados, uma proibição automática criaria outro vetor de ataque de negação de serviço contra seu host.

Na maioria dos casos, você pode ignorar solicitações inválidas - são worms ou scripts automáticos que tentam cegamente explorar falhas de segurança que podem ou não estar lá. Mantenha o conselho do Sameers de consertar seu sistema e aplicativos (especialmente seus aplicativos PHP, pois eles geralmente são bastante errôneos e são explorados com freqüência). Atue somente no tráfego se estiver afetando o desempenho do seu servidor (por exemplo, um grande número de solicitações não legítimas está usando muitos dos recursos do seu servidor). Mesmo um monte de regras iptables dificilmente causaria qualquer carga com hardware moderno.

    
por 24.05.2011 / 13:45
0

Se você quiser ir a rota de IP banindo com iptables, então use o fail2ban. Ele irá assistir seus arquivos de log por IPs ruins e bloqueá-los por um tempo definido.

Veja como usar um firewall da camada 7 como mod_security para o Apache.

Recentemente, resolvi vários problemas importantes de desempenho para um cliente. Eles tinham mais de 7000 regras de iptables para listar vários IPs. Removendo esses problemas de desempenho de rede principais fixos. isto Parece que o iptables não aguenta mais do que mil regras.

A criação de uma rota blackhole para hosts indesejados provavelmente tem melhor desempenho. Isso pode significar ter muitas rotas extras pequenas, mas o Linux lida bem com isso.

    
por 25.05.2011 / 07:33