pode-se implementar uma restrição baseada em endereço IP para SMTP AUTH no Postfix ?
cenário:
Estou executando um servidor de e-mail Postfix que recebe e-mails de toda a Internet. Mas o servidor não apenas recebe e-mails, mas também permite que seus usuários autenticados enviem e-mails para usuários internos ou externos. Até agora não há problema.
Infelizmente, estou sempre com um pouco de medo ao ler os arquivos de log. Existem milhares de tentativas de login ilegais, sem sucesso, todos os dias, a partir de endereços IP de todo o mundo.
Mas, na verdade, os hosts legítimos do remetente só vêm de um punhado de intervalos de endereços IP conhecidos. Então eu sei apenas alguém de (por exemplo)
- 134.500.0.0/16
- 134.700.42.0/24
- 134.800.133.7
pode ser um remetente legítimo. (Eu sei que o endereço IP dado no exemplo acima está mal formado. Eu só não queria desvendar os reais.)
Portanto, se o remetente vem de um intervalo de ip diferente, ele com certeza não tem nenhum dos meus usuários e, portanto, não pode retransmitir nada.
Eu não quero que alguém de fora dessas sub-redes seja capaz de retransmitir mesmo se ele descobrir uma combinação válida de nome de usuário / senha para SMTP AUTH. Se ele é de um intervalo de endereços IP não listado em branco, ele não deve enviar. Sob nenhuma circunstância. Portanto, permit_sasl_authenticated
sozinho não é suficiente. Contanto que alguém de países "certos" (eu não queira nomeá-los explicitamente ...) consiga fazer o login com credenciais roubadas / brute-forçadas / espiadas, não é seguro o suficiente. :-) (Pense em engenharia social, keyloggers trojan que roubam dados de contas, usuários tontos com senhas fáceis de adivinhar, etc.)
= > Então é possível implementar uma restrição de endereço IP para tentativas de login SMTP AUTH?
(O recebimento de emails recebidos não deve ser afetado por isso. Para isso eu tenho policyd-weight
etc. Aqui é apenas sobre emails de saída / retransmissão.)
Soluções que não funcionam :
-
iptables
restrição de firewall. Como desejo receber mensagens de toda a Internet na porta 25, não consigo implementar restrições no nível da camada de transporte. - Além disso, quero que os usuários legítimos consigam se conectar na porta 25 para admitir novos e-mails de saída no servidor. Então, permitir o envio de e-mails somente por meio de uma porta tcp de mistério restrito de sub-rede, por exemplo, 24343, não é solução também.
-
permit_mynetworks
: Nem todo mundo dos intervalos de ip conhecidos é um usuário legítimo. Então não posso permitir que todos de lá mandem. O login SMTP AUTH é necessário para determinar se alguém é um usuário autorizado.