Para ser sincero, sou pobre em administração de servidores, mas meu chefe me pediu ajuda. Seu servidor tem uma largura de banda limitada de 2 GB / dia e hoje ele recebeu um aviso da empresa de que o excedeu e usou ... 24 GB.
Como é impossível porque ele era do jeito, ele me perguntou se eu posso rastrear o problema. Não faço ideia por onde começar ou o que fazer.
Qualquer informação seria útil, como posso descobrir o que está errado.
A máquina está sendo executada no Ubuntu 12.04. O mais curioso é que, de acordo com os diagramas recebidos do hoster, apenas a transferência de saída era usada.
EDITAR
Obrigado por sugestões, vou executar o tcpdump e tentar examinar o resultado
tcpdump
página de manual e ver como configurá-la para capturar apenas os cabeçalhos TCP / IP, descartando o restante dos dados do pacote.Respostas:
Para monitoramento imediato, você pode usar o iftop . Isso mostrará as conexões atualmente ativas e a largura de banda que eles estão usando. Depois de identificar uma conexão de alto tráfego, encontre o número da porta local e use
netstat
para descobrir a qual processo a conexão pertence.Para monitoramento de longo prazo, sugiro algo como darkstat . Isso pode fornecer uma análise por host e porta, o que pode permitir que você descubra a que o tráfego está relacionado.
fonte
Eu recomendo instalar o ntop.
http://www.ntop.org/
Coloque isso em um local de gateway / roteador de host e observe o tráfego por um dia / semana. O Ntop fornece uma interface da web na qual você pode obter uma análise por IP / porta / protocolo.
fonte
Bem, uma captura de pacotes geralmente é o primeiro lugar para começar em situações como estas. Verifique se tcpdump está instalado (
$ sudo apt-get install tcpdump
) e execute o seguinte:Isso escreverá um log de todos os pacotes para
packet.log
. Deixe isso funcionar por alguns minutos, faça o download desse arquivo e inspecione usando o Wireshark . Se o tráfego misterioso ainda está acontecendo, deve ser bastante óbvio com uma rápida olhada nos dados de captura de pacotes.fonte
Dê uma olhada no tcpdump . Ele pode despejar todo o tráfego de rede (não apenas o tcp como o nome sugere), que você pode ler com um aplicativo como o Wireshark. No Wireshark, é muito fácil filtrar certos tipos de dados e até plotar gráficos da E / S da rede.
Outra ferramenta útil pode ser o netstat, que exibe uma lista de conexões de rede em andamento. Talvez haja conexões que não deveriam estar lá. O tcpdump é muito mais útil (capture alguns minutos e verifique se você já pode ver a fonte), mas o netstat pode fornecer uma visão geral rápida.
Ao ler isso a propósito, meus primeiros pensamentos são que você possui malware no servidor ou que está sendo usado para ataques de amplificação. Mas, para examinar isso, você precisará executar o tcpdump primeiro.
Edit: Observe que o tcpdump provavelmente precisa ser executado como root, talvez você precise usá-lo
sudo tcpdump
.Outra edição: como não consigo realmente encontrar uma boa página da web para vincular o que são ataques de amplificação em geral, aqui está uma versão curta:
Protocolos como o DNS são executados no UDP. O tráfego UDP é sem conexão e, portanto, você pode facilmente falsificar o endereço IP de outra pessoa. Como uma resposta DNS geralmente é maior que a consulta, isso pode ser usado para um ataque de negação de serviço. O invasor envia uma consulta solicitando todos os registros que o servidor DNS possui em um determinado nome e informa ao servidor DNS que a solicitação se originou do X. Esse X é o destino que o invasor deseja DoS. O servidor DNS responde gentilmente, enviando a resposta (grande, digamos, 4kB) ao X.
Isso é amplificação porque o invasor envia menos dados do que o X realmente recebe. O DNS não é o único protocolo com o qual isso é possível.
fonte
A melhor ferramenta para isso é provavelmente iftop , e facilmente apt-get'able via sudo apt-get install iftop. Ele exibirá a saída de acordo com os nomes de host / IP culpados:
Não se esqueça dos utilitários clássicos e poderosos de sar e netstat no antigo * nix!
Outra ótima ferramenta é o nload , uma ótima ferramenta para monitorar a largura de banda em tempo real e facilmente instalada no Ubuntu ou Debian com o sudo apt-get install nload.
fonte
Depois de pesquisar por um bom tempo, qual é o problema (mais de 60 GB de largura de banda em poucos dias) descobri que meu servidor era uma fonte de ataque DDOS.
Primeiro de tudo, tentei instalar o Oracle DB nele, portanto criei o usuário Oracle. Os hackers, de alguma forma, conseguiram quebrar o passe para esse usuário (acho que eu deveria dificultar :(), eles criaram um diretório oculto sob o Oracle home, com um crontab lá, que executava manualmente alguns daemon que inundavam o servidor de destino.
Além disso, os hackers criaram 2 novos usuários no meu servidor: avahi e colord. O que devo fazer sobre eles? Pesquisei no Google e parece que o software com o mesmo nome não é perigoso, mas excluí esses usuários (e também o Oracle).
Além disso, eu apaguei todo o oracle em casa, com tudo nele.
Acho que preciso proteger mais meu servidor, pois ele pode ser atacado novamente, obrigado a todos pela ajuda!
fonte
Capturar todos os pacotes enviados em um dia em que você excede sua cota de largura de banda provavelmente não é a abordagem mais sensata - como você obterá os dados do sistema para análise?
Que acesso você tem na caixa? Quais portas estão abertas? Você verificou os logs dos serviços em execução? Algo como o awstats resumirá os logs FTP, HTTP e SMTP (assumindo que esses servidores estejam configurados para registrar os dados nos logs). O OTOH mrtg registrará e rastreará o uso da rede por terminal / porta.
fonte
se você acha que sua largura de banda é apache, tive sucesso com essa ferramenta no passado
top apache
http://www.howtogeek.com/?post_type=post&p=324
fonte