Isso acabou sendo incrivelmente simples.
Em poucas palavras:
- Exporte uma lista de seus endereços de e-mail da troca usando o PowerShell.
- Limpe essa lista para que possa ser postada no mapa.
- Crie uma regra que verifique os destinatários nessa lista.
Especificamente: No Exchange EMS, execute este comando:
Get-Mailbox -Resultsize Unlimited | Ft EmailAddresses
Se a sua lista de e-mail for enorme, talvez você queira ser um pouco menos tolerante com esse comando e obter um arquivo CSV. Isso funcionou para mim porque só tínhamos cerca de 50, e foi fácil reduzir isso usando o Sublime Text e expressões regulares.
Usando essa lista, removi tudo da lista, exceto os endereços SMTP, deixando um por linha.
Em seguida, no Sublime, adicionei "OK" a cada linha depois dos endereços. Exemplo:
[email protected] OK
Depois copiei isso para o servidor Postfix como / etc / postfix / access-inbound
Em seguida, executei o seguinte comando:
root@gateway:/etc/postfix/# postmap /etc/postfix/access-inbound
Isso cria o acesso-inbound.db no diretório em que é executado. (Observe acima! Eu fiz isso em / etc / postfix).
Agora, tudo o que resta é dizer ao Postfix para verificar os remetentes usando esse arquivo. Eu fiz isso em smtpd_recipient_restrictions. Note que a diretiva abaixo tem muita coisa lá. Eu deixei as outras configurações lá para o contexto. Primeiro, essa configuração compara o remetente a uma whiltelist e, em seguida, executa uma ação de entrega para esse remetente da lista de desbloqueio. Então, faz todas as outras verificações.
Finalmente, na parte inferior, você vê:
check_recipient_access hash:/etc/postfix/access-inbound,
Isto diz ao postfix: "Se o destinatário estiver nesta lista, aceite o email". (Na verdade, diz: "se o destinatário estiver nessa lista, faça o que a lista diz. Mas, nesse caso, todos os nossos emails válidos têm uma resposta" OK ", então é mais fácil pensar no primeiro para os pesquisadores do n00b) .
Por fim, na parte inferior, você vê rejeitar . Isso significa: "Se você chegou ao fundo de todas essas verificações, e NENHUMA das verificações acima lhe deu um" OK "para aceitar o e-mail, rejeite-o.
smtpd_recipient_restrictions = check_sender_access mysql:/etc/postfix/whitelist.cf,
check_sender_access mysql:/etc/postfix/shortcircuit.cf,
reject_unverified_recipient,
reject_invalid_hostname,
reject_unauth_pipelining,
reject_unknown_recipient_domain,
reject_unauth_destination,
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_access hash:/etc/postfix/access-inbound,
reject