Enorme carga no Centos, muitos processos apache

4

Estou passando por uma carga enorme no meu servidor no momento e não consigo entender por quê. Quando eu uso o comando 'top', há centenas de processos do apache com o comando "aux", mas não consigo encontrar nada online que me diga o que isso significa. A carga está batendo entre 50 e 150, o que é um bom valor entre 50 e 150 vezes mais do que costuma ser.

Netstat retorna centenas e centenas de linhas como esta:

tcp  0  0 xxx.xxx.xxx.xxx:45216  61.155.202.205:80  CLOSE_WAIT  28863/aux

Quase todos de 61.155.xxx.xxx (não tenho certeza se isso é informação relevante, mas tentando dar o máximo possível).

O sistema operacional é o CentOS: release 5.7 Final Acabamos de executar o LAMP com cerca de 30 sites que não recebem muita carga (ou assim eu pensei). Eu verifiquei os logs para todos os vHosts, mas nenhum parece estar recebendo muitos / quaisquer pedidos (não o suficiente para causar esse problema). Não tenho certeza se há outros logs que eu deveria estar verificando?

Começou há alguns dias; nenhuma alteração feita no servidor, até onde eu saiba.

Alguém tem alguma idéia de como eu posso rastrear o que está causando o enorme pico de carga? Existem outros comandos / logs que eu perdi que possam me ajudar a rastrear qual é o problema?

    
por dKen 14.06.2012 / 10:52

2 respostas

4

Isso não é uma conexão de 61.155.xxx.xxx. Essa é uma conexão para um servidor web em 61.155.202.205.

Parece que o seu servidor está fazendo solicitações HTTP para outros servidores da Web em conexões ADSL na China. Experimente um tcpdump -n -A -s0 host 61.155.202.205 para ver que tipo de dados você está coletando. Eu suspeito que seja malicioso.

Se for malicioso, consulte Meu servidor foi invadido! EMERGÊNCIA .

O "muitos processos Apache" é provavelmente causado por a carga alta, em vez de causar a carga alta. Mesmo com uma carga média de 50, eu esperaria começar a ver solicitações HTTP levando vários segundos. Aos 150 seria pior.

    
por 14.06.2012 / 11:00
1

Para possivelmente ajudar qualquer pessoa que acerte a mesma coisa, foi um cavalo de Tróia ( Trojan.Perl.Shellbot-2 ) que estava causando o problema. Entre a resposta / comentários aqui e na minha outra pergunta em 398715 , fizemos o seguinte:

  • Instalado e executado chkrootkit , mas nada foi encontrado
  • Instalou e executou clamav , que rastreou o nome do vírus e onde estava localizado
  • Pesquisou outras pessoas com o mesmo problema e encontrou este post
  • Instruções seguidas sobre remoção e limpeza após o vírus
  • Adicionou apache ao arquivo cron.deny e reiniciou crond

Isso é apenas parte da solução; o servidor ainda precisa ser reconstruído depois que rastrearmos onde a vulnerabilidade está, mas esse foi um bom começo e o servidor voltou a funcionar.

Se alguém conseguir pensar em algo que eu tenha perdido, algo que estou fazendo de errado ou que poderia fazer melhor, por favor me avise.

    
por 14.06.2012 / 18:08