Seu domínio está hospedado em um servidor Linux usando o Postfix para enviar emails e está na lista negra de spam ?
Você provavelmente tem um script malicioso enviando um grande número de e-mails diretamente do servidor … bem, você pega o inimigo em casa!
Se o seu daemon de e-mail de saída (ou seja, o software usado para enviar e-mails) for o Postfix, você poderá identificar a fonte de spam em apenas algumas etapas simples.
A resolução do problema pode ser igualmente fácil, embora na maioria dos casos precise de mais investigações.
Na verdade, é necessário impedir que a situação ocorra novamente, como se alguém pudesse carregar um script no seu servidor, você pode ter alguma falha de segurança.
A primeira coisa a fazer é fazer logon no servidor de correio com um usuário com direitos administrativos (sudo) e verifique se o arquivo php.ini do seu domínio (e / ou servidor global) contém a seguinte linha:
mail.add_x_header = On |
sem o qual o que faremos a seguir não produzirá nenhum resultado útil.
Uma vez verificado isso, você precisará inspecionar a fila de mensagens com o comando:
mailq |
Na primeira coluna, você verá o ID exclusivo de cada email de saída, por exemplo:
DA5E8647235C 369763 Wed Mar 29 16:30:19 [email protected] |
(connect to somedomain.com[123.123.123.123]:25: Connection refused) |
[email protected] |
Uma vez identificado um desses e-mails que obviamente é spam, examinaremos seus detalhes com o comando:
postcat -q <ID> |
e procuramos uma linha que comece com ” X-PHP-Originating-Script ” (presente graças à linha php.ini mencionada acima).
Por exemplo, usando grep para evitar a rolagem manual do conteúdo do email:
postcat -q DA5E8647235C | grep X-PHP-Originating-Script |
poderíamos obter uma saída como esta:
X-PHP-Originating-Script: 45:badmailer.php |
O número 45 é o UID, que é o ID do usuário do Linux que executou o script, enquanto badmailer.php é o script que está enviando emails de spam.
Nesse ponto, basta localizar o arquivo badmailer.php, excluí-lo ou limpá-lo e, acima de tudo, para entender como ele foi carregado no seu servidor e executado a partir daí.
Se o seu cabeçalho não contiver a linha X-PHP-Originating-Script, provavelmente sua conta de email foi invadida e é usada para “legitimamente” enviar spam do seu servidor. Nesse caso, identificou um email de saída de spam, você deve iniciar o seguinte comando para ver qual conta foi usada para autenticação:
postcat -q DA5E8647235C | grep sasl_username |
Você obterá uma saída como esta:
named_attribute: [email protected] |
No exemplo, você deve alterar imediatamente a senha da conta [email protected] por uma senha mais forte (longa, com caracteres especiais, maiúsculas e minúsculas).
Outra coisa que você pode fazer para conter o dano é liberar sua fila de mensagens enviadas com o seguinte comando:
postsuper -d ALL |
Se, no entanto, e-mails importantes também estiverem na fila, além de e-mails com spam, você deverá excluir os e-mails indesejados individualmente com o comando:
postsuper -d <ID> |
Portanto, no exemplo, lançaremos o seguinte comando:
postsuper -d DA5E8647235C |
É isso aí… se você tiver problemas, basta adicionar um comentário a este artigo e tentaremos ajudá-lo!
Sobre o Autor