Algum tempo depois que eu postei minha resposta anterior, eu vim com esse pequeno truque que acho mais eficaz para lidar com credenciais roubadas (pode não funcionar para todos):
1) Instale o fail2ban (se ainda não o tiver) para bloquear tentativas de login malsucedidas de endereços IP específicos.
2) Acompanhe (por meio de um script) os IPs de localização geográfica que se conectam ao seu servidor. Se você detectar dois países diferentes em menos de um minuto, bloqueie a conta e notifique o usuário.
O bloqueio da conta bloqueia automaticamente todos os clientes que tentam usar essa conta.
Esse cenário provou ser eficaz no meu caso, pois não espero que meus clientes estejam em dois países diferentes em menos de um minuto (meus servidores estão no Japão).
No entanto, se você tiver clientes de e-mail em todo o mundo, sugiro aumentar o número de países, já que os dispositivos móveis poderiam mostrar esse padrão se alguém estiver na fronteira de dois países.
Além disso, essa técnica implica que você tenha uma maneira de entrar em contato diretamente com seus clientes (por telefone ou de outra forma, além da conta comprometida).
Isso é especialmente bom contra malware que rouba credenciais, pois eu tenho visto que, nesses casos, esse malware parece compartilhar essas credenciais entre vários clientes infectados (que estão localizados em todo o mundo). No entanto, não será eficaz se o spam vier de um único cliente localizado no mesmo país em que reside o proprietário da conta original.
O script de acompanhamento pode ser facilmente codificado dessa maneira: tail -n0 -F
mail.log e passa cada linha em um script de análise que extrairá endereços IP e obterá sua localização usando geoiplookup
. Mantenha em um banco de dados (ou arquivo) com a conta e último país / países que foi detectado. Se você estiver usando contas UNIX, a maneira mais fácil de bloqueá-las é usar: passwd ACCOUNT -l
. Não se esqueça de enviar um e-mail para você saber sobre o problema.
Se você não tem habilidades de script, ou não quer começar do zero, me avise e compartilharei meu script.