postfix restringe a retransmissão de email para determinados endereços de remetentes ("MAIL FROM:") apenas

1

Gostaria de configurar o postfix para retransmitir mensagens apenas de determinados endereços de remetentes. O postfix deve retransmitir mensagens para diferentes hosts de relay (/ smarthosts) (Gmail, AOL, ...) dependendo do endereço do remetente ("MAIL FROM:").

Até agora, minha configuração atual funciona da seguinte maneira:

  • Os usuários autenticam no postfix para retransmissão de email em geral. Se eles não podem autenticar, nenhum relay é possível. Note que esta autenticação é diferente da autenticação para os relayhosts.

  • Dependente do endereço do remetente ("MAIL FROM:"), um determinado host de redirecionamento é selecionado ( smtp_sender_dependent_authentication , sender_dependent_relayhost_maps , smtp_sasl_password_maps ). Isso também funciona bem.

  • No entanto, se o usuário puder autenticar e tiver um endereço de remetente não coberto em sender_dependent_relayhost_maps , o postfix tentará retransmitir diretamente o e-mail, o que geralmente não funciona devido a restrições de endereço IP (listas negras).

Minha pergunta agora é: como rejeitar e-mails que seriam retransmitidos diretamente (sem smarthost), ou seja, onde o endereço do remetente não está listado em sender_dependent_relayhost_maps ? Alguma dica de como conseguir isso?

    
por user236012 05.09.2018 / 01:49

1 resposta

1

Você precisaria de algum teste de limitação antes de permit_sasl_authenticated . Um pré-requisito para isso seria ter o smtpd separado na porta 25 para mensagens recebidas e outro smtpd para envio na porta 587 . Caso contrário, essa limitação faria com que as mensagens recebidas fossem rejeitadas, pois não passariam no teste. Em seguida, remova o permit_sasl_authenticated da porta 25 e adicione o teste à sua configuração de envio em master.cf .

  • Para responder à sua pergunta literalmente, check_sender_access seria um teste adequado, colocando todos os domínios na lista de permissões listado em sender_dependent_relayhost_maps e rejeitando o email para o resto.

    check_sender_access type:table

    Search the specified access(5) database for the MAIL FROM address, domain, parent domains, or localpart@, and execute the corresponding action.

    Isso pode ser adicionado a smtpd_sender_restrictions ou smtpd_recipient_restrictions .

  • O que faria o mesmo, mas impedisse ainda mais que os usuários usassem os endereços um do outro, usando reject_sender_login_mismatch . Isso precisa de uma tabela adicional smtpd_sender_login_maps , mas se suas entradas virtual_alias_maps já estiverem formadas como [email protected] username , você pode usar o mesmo arquivo e os endereços de remetente permitidos são atualizados automaticamente sempre que você atualizar seu banco de dados de aliases virtuais com postmap . Um exemplo dessa configuração de envio no master.cf :

    submission inet n - - - - smtpd
    # Other parameters
      -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
      -o smtpd_sender_restrictions=reject_sender_login_mismatch
      -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    # Other parameters
    
por 05.09.2018 / 10:21

Tags