É muito comum, termos que criar regras condicionais em nosso MTA, que serão aplicadas a remetentes, destinatários ou domínios específicos.
No
Postfix, isso pode ser feito através da diretiva
smtpd_restriction_classes.
Vamos imaginar o seguinte cenário: uma organização possui dois domínios (vamos assumir que sejam "matriz.com.br" e "filial.com.br") e precisa criar regras para que determinados usuários enviem e-mail somente para os domínio internos, ou até mesmo um único domínio interno.
Iniciamos a configuração criando essas classes no
main.cf:
smtpd_restriction_classes = somente_matriz, somente_filial, somente_interno
somente_matriz = check_recipient_access hash:/etc/postfix/condicionais/somente_matriz, reject
somente_filial = check_recipient_access hash:/etc/postfix/condicionais/somente_filial, reject
somente_interno = check_recipient_access hash:/etc/postfix/condicionais/somente_interno, reject
Portanto, com a diretiva
smtpd_restriction_classes, criamos as três classes e, logo abaixo, especificamos cada uma delas, sendo que, após a verificação do arquivo, há a rejeição explícita.
Para definir a quem se aplica a regra, precisamos criar um arquivo para efetuar essa consulta, e como estamos criando um controle de destinatário, colocar a consulta em
smtpd_recipient_restrictions:
check_sender_access hash:/etc/postfix/condicionais/regras_condicionais
Lembrando que esta regra deve vir em primeiro lugar, pois, mesmo se o remetente estiver conectando de um host confiável ou autenticado, o bloqueio deve ser aplicado, por exemplo:
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/condicionais/regras_condicionais,
permit_mynetworks,
reject_sender_login_mismatch,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unlisted_recipient,
reject_unverified_recipient,
reject
O arquivo
regras_condicionais é escrito da desta forma:
fulano@matriz.com.br somente_matriz
beltrano@filial.com.br somente_filial
sicrano@matriz.com.br somente_interno
Neste exemplo temos três usuários, onde estamos aplicando classes diferentes e outros usuários não estarão em nenhuma.
O arquivo
somente_matriz fica da seguinte forma:
matriz.com.br OK
O arquivo
somente_filial fica da seguinte forma:
filial.com.br OK
O arquivo
somente_interno fica da seguinte forma:
matriz.com.br OK
filial.com.br OK
Portanto, para cada classe, definimos o domínio de destino seguindo da diretiva
OK, informando ao Postfix que deve ser permitido e, como após a consulta do arquivo definimos um reject, o envio para domínios fora da regra será negado.
Obrigado,
Respirando Linux, por Fabio Soares Schmidt.
Nenhum comentário foi encontrado.