Como encontrar o script de envio de e-mail de spam no servidor

3

Durante os últimos 3 meses, recebi e-mails de meus provedores de hospedagem informando que meu servidor está enviando e-mails de spam e hoje eu fiz pesquisas sobre isso e descobri que eles estão realmente funcionando. Eu usei o exim para verificar a situação e mostrou a saída de 28 com o comando exim -bcp , e depois usei exim -bp e também encontrei os ids e usei o exim Mvh id . Eu testei todos os IDs, mas ele não forneceu a fonte do script. Depois disso, também tentei verificar o exim/main.log , mas ele não forneceu nenhuma saída.

Eu já verifiquei o servidor usando antivírus e ele não encontrou nada. Também eu formatei o servidor, mas ainda não me beneficiei. Por favor, deixe-me saber se você pode ajudar na detecção do script que está enviando spam.

    
por Kinshuk Lahiri 27.08.2015 / 20:43

4 respostas

3

Execute exim -bP log_file_path para obter um caminho de arquivo de log padronizado; substitua %s por main e use isso como o arquivo de log a ser examinado. (também %D para data, etc). Se isso realmente aponta para o mesmo arquivo main.log que você olhou, então use lsof , veja se você quebrou a rotação do arquivo de log ou algo assim. Se o arquivo for o arquivo de log atual, o sistema de arquivos não está cheio, as mensagens estão fluindo, mas o registro está vazio, então você tem um sistema comprometido.

Procure ver de onde vieram as mensagens. Se eles vieram de um usuário local, esse usuário está injetando e-mail; se for um usuário de hospedagem na web, você precisará descobrir qual aplicativo PHP está desatualizado e permitir que os spammers abusem de você. O abuso comercial de aplicativos PHP vem acontecendo há pelo menos 12 anos. Existem várias opções que você pode aplicar ao seu servidor web e configurações do PHP para bloquear os endereços do remetente, se você tiver muitos vhosts e não puder identificar a origem.

Se as mensagens forem provenientes de endereços IP remotos, descubra o que você fez para se transformar em um revezamento aberto.

Se houver um usuário autenticado aparecendo, eles têm uma senha fraca: não permita senhas escolhidas pelo usuário para SMTP. Use senhas strongs que você gera, diga aos usuários que eles podem escrevê-las. Considere examinar o wiki do Exim nos exemplos de limitação de taxa, para limitar as tentativas de uso abusivo de SMTP AUTH.

Se as conexões não forem autenticadas e forem apenas retransmissão aberta remota, o problema dependerá de quanto você personalizou seu arquivo de configuração do Exim (execute exim -bV para encontrar o caminho para o arquivo de configuração ativo). Se estiver próximo do estoque, você terá um hostlist denominado relay_from_hosts e poderá ter muitos hosts nesse formato. Bloqueie.

    
por 28.08.2015 / 03:18
1

Como root, você pode usar ps aux para mostrar todos os processos e procurar por algo suspeito. Você também pode usar find /path/to/cgi-bin -iname \*.php para procurar scripts PHP introduzidos pelo invasor.

Mas, pode não ser visto por nenhuma dessas coisas dependendo do que o ataque é. Se você suspeitar que um invasor tenha controle sobre seu servidor, procurar o script é um exercício de análise forense, e não de remediação. Siga as instruções em Como faço para lidar com um servidor comprometido? .

    
por 27.08.2015 / 20:48
1

Eu tive o mesmo problema. Isso até resultou em colocar meu IP na lista negra.

Meu host recomendou que eu adicionasse o plugin anti-malware pyxsoft no WHM.

Detectou os arquivos infectados no wordpress, o spam parou quando eu os excluí, mas eles voltavam todos os dias. Então eu tive que deletá-los toda vez.

Depois, consultei novamente meu host e eles recomendaram que o CSA link

Eu ainda não experimentei isso, mas espero que isso ajude os hosts da Web comprometidos de uma maneira melhor.

    
por 29.08.2015 / 06:03
0

Como você está usando exim , é provável que você esteja executando alguma distribuição do Linux. Se assim for, você pode usar iptables para bloquear conexões de saída para a porta 25. No seu caso, você pode querer soltar as conexões para que elas permaneçam por um tempo. Monitore o sistema com netstat -antp | grep :25 para determinar se um processo está tentando enviar uma mensagem. Então você pode verificar o processo para ver de onde está sendo executado. Você pode usar kill -STOP para impedir que o processo seja executado para que você tenha ainda mais tempo para examinar o processo.

Se você precisar enviar e-mails ao mesmo tempo, isente o usuário de exim da regra iptables . Isso permitirá que exim envie e-mails enquanto bloqueia outros usuários.

Se você tem um servidor web em execução, pode ser que você tenha incluído um script que envie um e-mail. Alguns dos scripts disponíveis permitem que os spammers enviem e-mails usando seu servidor. Há várias outras maneiras de enviar e-mails de um servidor que não será detectado por um verificador de vírus. Até você identificar como o e-mail está sendo enviado, o bloqueio com iptables pode ser sua melhor aposta.

    
por 28.08.2015 / 01:17

Tags