O Exim é um agente de transferência de mensagens desenvolvido na Universidade de Cambridge e usado por sistema Unix e derivados no envio e recebimento de emails.
Esse serviço raramente precisa passar por algum tipo de manutenção em computadores de usuários comuns mas pode vir a dar muita dor de cabeça caso você esteja trabalhando com algum servidor de hospedagem compartilhada. Muitos invasores fazem uso desse serviço no envio de emails de spam, afetando não apenas o SEO do site infectado mas também prejudicando o desempenho de todas as outras aplicações instaladas.
Um dos sintomas mais comuns para de se identificar esse problema é o uso excesso de armazenamento sem motivo aparente. O Exim passa a gerar e armazenar tantos arquivos que em pouco tempo seu servidor consome todo o armazenamento e passa a não funcionar mais corretamente.
Para resolver esse problema siga os seguintes passos:
Liste todas as mensagens da fila do Exim.
sudo exim -bp
Analise a fila de emails e identifique a aplicação ou site de onde emails estão sendo enviados. Em seguida bloqueie o acesso externo e desative está aplicação.
Pare o serviço de transferência de email do Exim.
sudo service exim stop
Remova as mensagem de spam da fila.
sudo exim -Mrm id_do_email
Também é possível remover todas as mensagem ao mesmo tempo.
sudo exim -bp | exiqgrep -i | xargs exim -Mrm
Em caso de problemas com os passos anteriores existe a opção de remover as mensagens de forma manual, porém, isso não é muito aconselhável pois pode resultar em alguns problemas.
sudo find /var/spool/exim/input -type f -exec rm -f {}
Inicie o serviço de transferencia de email do Exim.
sudo service exim start
Uma vez que a fila de emails foi limpa o problema está parcialmente resolvido. Note que os problemas com o Exim são apenas uma consequência de um problema maior que se não for corrigido irá ocorrer novamente, logo, você precisa identificar onde está o malware que infectou seu site e realizar as devidas correções. Após isso ative e disponibilize o acesso externo novamente.
Comandos Úteis
Abaixo segue uma lista com alguns comandos uteis que podem ser usados para a manutenção do Exim.
/*Informações sobre Emails*/
exim -bp //Lista ID de cada e-mail da fila;
exim -Mvl id_do_email //Exibe o log de um e-mail específico;
exiwhat //Exibe o que o Exim está fazendo no momento;
exim -bp | exiqsumm //Resumo de e-mail de cada domínio na fila;
exiqgrep -f [user]@domínio //Pesquisa e-mails enviados por um determinado domínio;
exiqgrep -r [user]@domínio //Pesquisa e-mails enviados para um determinado destinatário;
exim -Mvh id_do_email //Exibe o header (cabeçalho) do e-mail;
exim -Mvb id_do_email //Exibe o conteúdo do e-mail;
/*Controle de Emails*/
exim -M id_do_email //Força a entrega de um e-mail específico;
exim -qf //Força a entrega de todos os e-mails da fila;
exim -qff //Força a entrega de todos os e-mails da fila e tenta liberar os e-mails congelados;
exim -q -v //Inicia a execução da fila (entrega de e-mails respeitando a fila);
exim -ql -v //Inicia a execução da fila (entrega de e-mails respeitando a fila) para destinos locais;
/*Remoção de Emails*/
exim -Mrm id_do_email //Remove um e-mail sem retornar um erro ao remetente;
exim -Mg ID_do_email //Remove um e-mail enviando um erro ao remetente;
exiqgrep -ir [email protected] | xargs exim -Mrm //Remove e-mails do remetente “[email protected]” sem retornar erro algum ao mesmo. Pode-se usar qualquer expressão que identifique o remetente.
exiqgrep -z -i | xargs exim -Mrm //Remove todos os e-mails congelados (com status frozen);
exiqgrep -o 3600 -i | xargs exim -Mrm //Remove todos os e-mails congelados com mais de 3600 segundos de vida;
exiqgrep -y 3600 -i | xargs exim -Mrm //Remove todos os e-mails congelados com menos de 3600 segundos de vida;
/*Alteração de Emails*/
exim -Mes id_do_email novo_email //Altera o remetente de um e-mail específico;
exim -Mf ID_do_email //Congela um e-mail;
/*Outros Comandos*/
exim -bP //Mostra todas as configurações do Exim;
exiqgrep -y 3600 [...] //Exibe e-mails com menos de 3600 segundos na fila;
exiqgrep -o 3600 [...] //Exibe e-mails com mais de 3600 segundos na fila
Livro
Se você quiser saber mais, o livro Exim SMTP Mail Server escrito pelo autor original do Exim Philip Hazel é uma ótima referência de leitura.
Binding: Paperback, 640 pages
ISBN: 9780954452971
Format: 233mm x 177mm
BIC Code: UBW, UTM
BISAC Code: COM060090, COM084020
Imprint: UIT Cambridge Ltd.