Estou enfrentando um problema de verificação de um campo de mensagem "De:" em mensagens de email, em termos de falsificação de email. Atualmente estou usando SPF e DKIM para verificar a origem e a integridade das mensagens, mas, tanto quanto posso saber, o SPF valida apenas o cabeçalho "Return-Path", que não é exibido para o usuário final de nenhuma maneira (via roundcube ou thunderbird) e DKIM só permite assinar digitalmente a mensagem e garantir que o remetente é realmente aquele que ele diz ser. Eu também tentei cavar o DMARC, mas este aparentemente permite apenas forçar o tratamento de emails não-assinados originados de fora do domínio como spam (o que é bom), mas atualmente é usado apenas por grandes provedores de email (Gmail, Yahoo)
Nenhuma dessas opções protege a si mesmo da situação quando alguém (por exemplo, proprietário de alguma hospedagem compartilhada gratuita) decide executar este script PHP simples
<?php
$headers = "From: [email protected]".PHP_EOL."Reply-To: [email protected]".PHP_EOL."Content-type:
text/plain; charset=iso-8859-2";
if(mail('[email protected]', 'Hello', 'Test spam function', $headers))
{
echo 'Message sent';
}
No gmail, você vê pelo menos o cabeçalho (sem aviso) dizendo "[email protected] via", mas se você usar por ex. Thunderbird para se conectar via IMAP / POP3 você não vê nada disso - a única maneira de detectar scam é ver os cabeçalhos das mensagens brutas diretamente. Isso significa que não há proteção contra esse spoofing simples, mesmo no gmail
IMO isso poderia ser facilmente evitado se, por exemplo, o SFP verificasse também o campo "De:", além de "Return-path".
Por isso, estou me perguntando se existe algum plugin para o Postfix / Amavisd que permita essa filtragem de spoofs? Ou talvez eu esteja interpretando mal algumas dessas tecnologias (SPF / DKIM / DMARC) e uma delas pode proteger de tal spoofing?