Como evitar um ataque LOIC (DDOS)? [duplicado]

9

O programa LOIC (nas últimas notícias nos últimos dias) causa muitos danos. O que posso fazer no meu servidor para evitar esse tipo de ataque? Auto-bloco ip quando receber uma conexão estranha? Porque na maior parte será um único usuário.

Já existem soluções para isso?

    
por sysadmin1138 10.12.2010 / 03:20

8 respostas

16

Na entrada no diário para este tópico do ISC SANS, há uma pista muito strong em um dos comentários.

Por DarkFiber:

I used to work with an organization that came under constant attack from anonymous and their LOIC tool. It's very easy to mitigate these DoS attacks as they're not particularly bandwidth intensive. Simply limiting the connections per IP per interval at the firewall was enough to thwart the attack. I believe properly configured Checkpoints are able to detect and drop these attacks altogether. But listening in to their IRC channel is the best way to stay one step ahead of this group. It's not often attackers broadcast their targets and vectors before firing.

    
por 10.12.2010 / 03:59
11

Para limitar o tráfego pelo IP de origem, com base no que o @ sysadmin1138 diz, há um ótimo módulo iptables chamado "hashlimit". Veja um exemplo de conjunto de regras:

iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-upto 50/min \
    --hashlimit-burst 500 --hashlimit-mode srcip --hashlimit-name http -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

O que isto faz é permitir até 500 pacotes (não conexões, porque o HTTP pode fazer múltiplas transações por conexão você tem que considerar se você quer fazer isto em todos os pacotes ou pacotes SYN somente). Se houver mais de 500 / min, ele irá reduzi-lo a 50 / min até que a taxa caia. Qualquer coisa fora desses limites recebe o DROP.

Embora geralmente você queira colocar na lista de permissões alguns IPs, então você provavelmente quer criar uma tabela e pular para ela se ela for a porta 80, então tenha suas regras de lista de permissões lá, e uma queda final. Dessa forma, os pacotes não HTTP não verificam essas regras de lista de permissões e você pode ter vários serviços que chamam de conjunto de regras de lista de permissões.

Além disso, você provavelmente quer ativar cookies SYN , para que, se o DoS enviar pacotes SYN, ele tenha muito pouco impacto no seu sistema.

    
por 10.12.2010 / 22:45
1

Trabalhei com alguns bancos globais e seus ISPs para analisar a eficácia das técnicas de mitigação de DDoS. É muito difícil fazer isso sozinho, mas o que vimos funcionando bem foi quando os provedores se uniram aos parceiros de mitigação de DDoS. Sua melhor aposta é olhar as respostas para esta pergunta sobre IT Security Stack Exchange como resposta de David diz tudo.

Ah, e a razão pela qual ficou muito mais difícil bloquear o LOIC é que os iniciais foram executados a partir de redes de voluntários, que eram relativamente pequenas. Os mais recentes também estão usando redes de bots ilegais, então aumentaram de tamanho com um fator significativo, adicionando 30.000 máquinas diferentes por botnet.

    
por 10.12.2010 / 14:23
0

Eu imagino que a largura de banda consumida depende do tamanho da botnet direcionada ao seu site.

De link

"The most crippling attack on Visa started a little before 1pm California time on Wednesday, when organizers transmitted a command over IRC to flood the site with more traffic than it could handle."

Como Rory apontou anteriormente, é muito difícil mitigar um dilúvio de solicitações aparentemente legítimas sem a ajuda de provedores de upstream e, muitas vezes, o seu provedor de nível 2 ou 3 precisará ajudar seus provedores. Um esforço coordenado entre vocês e seu ISP e seu provedor de upstream, não obstante muito investimento de capital, é necessário para efetivamente mitigar um ataque sério.

As inundações de tráfego também são apenas um vetor de ataque e exigem que uma botnet decente seja efetivamente retirada. Os ataques de inundação SYN precisam apenas vir de um punhado de hosts e podem prejudicar rapidamente seus servidores front-end, mas você pode fazer algo a respeito, garantindo que sua pilha tcp seja fortalecida, procure módulos de aplicativos de segurança para seus servidores web e assegure esses filtros estão ativados no seu kit de rede de perímetro.

Existem dispositivos de mitigação de ddos, como o toplayer que você pode comprar e serviços gerenciados de mitigação de DDoS, como a oferta da Prolexic.

A abordagem multicamadas é a única maneira de atenuar, por conta própria, você é brinde.

    
por 10.12.2010 / 14:48
0

Fundamentalmente, esses ataques de negação de serviço envolvem enviar ao servidor mais solicitações do que ele pode manipular. Pode ser um grande número de bots enviando pedidos simples (embora não exija bilhões para derrubar um único servidor - alguns milhares de vezes) ou um punhado de bots enviando pedidos que são notoriamente longos para serem executados.

O segundo tipo de ataque é o mais cruel, porque um único bot poderia derrubar um servidor. Por exemplo, o LIMIT N OFFSET M do MySQL é notoriamente lento quando M se torna grande, então um ataque simples seria solicitar páginas de 200 a 300 em 500 em rápida sucessão, entupindo todos os threads de trabalho do MySQL. Em um servidor desprotegido, isso pode ser feito com o firebug. A única solução é identificar operações dispendiosas e, em seguida, otimizá-las, torná-las sequenciais (para que a obstrução dessa parte do site não diminua o restante do site) ou detectar IPs que solicitam operações dispendiosas e recuse-se a executar essa operação a menos que um determinado intervalo de espera seja respeitado.

O primeiro tipo de ataque é mais difícil, porque você precisa de muitos bots. Por outro lado, também é mais difícil parar no servidor: se você tiver milhares de bots enviando dados o mais rápido que puder, sua largura de banda será devorada pela inundação e não há nada que o servidor possa fazer a respeito (mesmo que se recusar 99% dessas solicitações), então um roteador com prevenção contra inundações é uma boa aposta se você acha que pode ser um alvo.

Fonte: stackoverflow.com

    
por 13.12.2010 / 11:52
0

É mais fácil do que todas essas sugestões.

-A INPUT -d {your_server_ip} -p tcp -m connlimit --connlimit-above 8 --connlimit-mask 24 -j REJECT --reject-with tcp-reset

ou DROP, mas ambos têm suas conseqüências que nunca serão as mesmas.

    
por 13.06.2011 / 00:38
-2

Aqui está uma ferramenta que pode atenuar alguns ataques de DDOS limitando o número de conexões por IP nos servidores link

    
por 14.12.2010 / 01:59
-5

Aviso

Como a classificação negativa provavelmente sugere, essa abordagem não é popular. É extremo - pode causar mais danos do que você já está experimentando. Por outro lado, se o seu servidor cair 100% como resultado do DDOS, a seguinte abordagem de Bloqueio fornecerá algum alívio para sua situação.

Tente isto apenas se nada mais ajudar.

A abordagem de bloqueio

Defina uma regra de firewall temporária que elimine novas conexões de entrada por destino (o IP do seu servidor). Seu servidor soltará novas conexões durante o período de tempo de ataque.

O que isso alcançaria

Ele manterá a carga do servidor baixa. Deixe você gerenciar o servidor durante o ataque. Mantenha o serviço disponível para uma lista de clientes válidos.

Continuando o serviço periodicamente

Você deseja remover a regra de firewall periodicamente por um curto período de tempo. Isso fornecerá uma chance de detectar quando o ataque terminar ou quando ele for reduzido. Quando o ataque terminar, seu script deve remover a regra de firewall permanentemente.

Listas brancas

Você pode colocar listas brancas nas estações de trabalho de seu supervisor para que ambos possam acessar o servidor durante o ataque.

Inferir uma lista de IPs de clientes reais (uma coisa boa para fazer em geral) e listar em branco esse conjunto.

  • Analise os IPs dos usuários antes do início do DDOS dos seus registros de acesso.
  • Mantenha uma lista daqueles IP para os quais, em qualquer momento, houve uma solução Captcha.

Alguns dos clientes legítimos terão o servidor disponível para eles. Ir para mais verdadeiros positivos - se você listar alguns dos DDOSers, então não é grande coisa.

Você pode tentar adicionar grandes blocos de espaços IP à lista branca. Veja quantos DDOSers você pode manipular antes que o servidor comece a desacelerar novamente.

Outra ideia de listagem em branco

  1. A lista branca é uma grande quantidade de IPs. Vamos chamar de Região A.
  2. Descobrir quais são os mais IPs
  3. Bloqueie a Região A e aguarde 20 minutos (a maioria dos usuários reais desistirá de experimentar até esse momento)
  4. Registo de lista branca A novamente e obtenha novamente a lista de utilizadores ativos.
  5. Compare as 2 listas - o IP que ainda está batendo é mais provável que os DDOS - bloqueie-os e liste tudo em branco no Estado A.
  6. Repita as etapas de 1 a 6 para o próximo grande bloco de IPs (região B).
por 14.12.2010 / 01:31