Servidor sob ataque DDOS - Como descobrir IPs?

17

Meu servidor está sob ataques de DDOS e quero bloquear o IP que está fazendo isso, que logs eu devo procurar para determinar o IP do invasor?

    
por Webnet 17.06.2010 / 17:07

9 respostas

40
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

Veja os principais endereços IP. Se algum se destacar dos outros, esses seriam os que protegem.

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

Isto irá olhar para as conexões atualmente ativas para ver se existem IPs conectando-se à porta 80. Você pode precisar alterar o corte -c 45- como o endereço IP pode não iniciar na coluna 45. Se alguém estava fazendo uma UDP inundar o seu servidor web, isso também o pegaria.

Se a chance de que nenhum deles mostre IPs excessivamente fora do normal, você precisaria assumir que você tem uma botnet atacando você e precisaria procurar padrões específicos nos logs para ver o que eles são. fazendo. Um ataque comum contra sites wordpress é:

GET /index.php? HTTP/1.0

Se você examinar os registros de acesso do seu website, poderá fazer algo como:

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

, que mostra os URLs mais comuns. Você pode achar que eles estão atingindo um script específico em vez de carregar o site inteiro.

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

permitiria ver UserAgents comuns. É possível que eles estejam usando um único UserAgent em seu ataque.

O truque é encontrar algo em comum com o tráfego de ataque que não existe em seu tráfego normal e depois filtrá-lo através de iptables, mod_rewrite ou upstream com seu webhost. Se você está sendo atingido por Slowloris, o Apache 2.2.15 agora tem o módulo reqtimeout que permite que você configure algumas configurações para melhor proteger contra o Slowloris.

    
por 17.06.2010 / 17:28
6

FYI - Você deve tentar trabalhar com seu ISP para ver se eles podem bloqueá-lo a montante de você.

    
por 17.06.2010 / 17:09
3

Algumas boas dicas aqui. Eu também adicionaria isso:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

Coloque isso sob um alias (nn, por exemplo). Isso lhe dará uma perspectiva "gráfica" dos ips com conexões mais estabelecidas.

Espero que isso ajude.

Para aqueles que não conseguiram fazer isso funcionar, consertei a sintaxe para que ela funcione no Ubuntu:

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'
    
por 17.06.2010 / 21:07
2

Meus arquivos de log favoritos para verificar ataques do DOS são / var / log / secure (em Redhat / Centos / Fedora ....) e /var/log/auth.log (em ubuntu, debian ...). Você verá tentativas de login malsucedidas feitas a partir do IP de origem do invasor, na maioria das vezes ataques baseados em dicionário.

    
por 20.06.2010 / 08:26
0

Qual distro?

Eu acho que o log está em /var/log/apache2/access.log com o Ubuntu ... Possivelmente o Debian também.

Execute updatedb como sudo e localize access.log na linha de comando.

EDIT: Eu acredito que isso só vai acontecer se eles estão batendo em você, solicitando páginas ou diretamente através da porta 80. Se eles estão atingindo outras portas, você não verá as informações que você precisa lá, você precisará verificar e ver qual processo está sendo executado nessa porta e veja os logs de conexão para esse processo.

    
por 17.06.2010 / 17:23
0

você pode usar o tcpdump para ver qual endereço é $ tcpdump -vv porta X se você suspeitar de uma porta específica

    
por 17.06.2010 / 17:25
0

Se você está sob um DOS distribuído, certamente há muito mais do que um IP para bloquear e IPs podem ser forjados, é melhor perguntar ao seu ISP como mfinni disse. Além disso, isso pode ser mais do que um DOS contra o servidor, mas um chamariz para ocultar o ataque real de ser detectado, portanto, verifique se todos os serviços expostos são executados por software atualizado. Você também pode estar interessado em mod_dosevasive para o apache.

    
por 17.06.2010 / 17:25
0

para proteger meu servidor eu uso Fail2Ban um script simples

scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address.

link

    
por 17.06.2010 / 19:56
0

Primeiro você tem que determinar o tipo de DOS. Alguns ataques são muito sigilosos, mas eficazes (slowloris), alguns deles são tão pesados que podem derrubar um ISP (inundação ICMP de uma largura de banda maior que a fonte ISP).

Depois de determinar o tipo do DOS, chame seu ISP e pergunte se ele pode filtrar o tráfego.

Eu vi enchentes de ICMP tão pesadas que tivemos que pedir ao ISP upstream para filtrar o IP de destino através de uma comunidade BGP.

    
por 27.04.2013 / 16:35