
Eu mantenho um servidor de e-mail usado por centenas de clientes. De vez em quando, um cliente é infectado por um vírus e começa a enviar toneladas de e-mails de spam. Percebo isso principalmente porque preenche a fila de postagem com dezenas de milhares de e-mails pendentes, em vez de algumas centenas.
Encontrar o endereço IP do remetente de spam e bloqueá-lo é simples, mas ainda tenho dezenas de milhares de e-mails de spam na fila de e-mail, geralmente com endereços de remetentes diferentes.
Quando imprimo a fila de postagem, postqueue -p
ela exibe o ID do correio, o endereço de e-mail do remetente e todos os destinatários. Não exibe o IP do remetente.
Posso encontrar o IP do remetente de um e-mail executando:
postcat -q ABCDEF1234 | egrep "\\bclient_address="
Onde "ABCDEF1234" é o ID do correio.
Eu escrevi uma ferramenta que lista todos os IDs de e-mail e, em seguida, percorre-os, executando postcat -q
cada um deles e filtrando aqueles que não correspondem ao ID de entrada.
Isso funciona, mas éextremamente lento. Filtrar uma fila de postagem com 441 e-mails leva de 7 a 8 segundos. Se estou tentando filtrar uma fila de postagens cheia de spam com dezenas de milhares de e-mails, essa ferramenta será inútil.
Minha esperança é que haja alguma ferramenta ou sinalizador que não conheço e que me permita filtrar pelo endereço IP do remetente.
Estou executando o Postfix 2.10