Postfix várias verificações

3

Eu quero alcançar o seguinte com o Postfix:

  1. Executar todos os emails por meio de uma lista negra
  2. Permitir que qualquer cliente envie para uma lista de domínios
  3. Permitir que alguns clientes enviem para qualquer domínio

Isto é o que eu tenho: (o postfix está em 10.0.8.0 e alguns dos remetentes são 10.0.8.0 e 10.0.9.0)

mynetworks_style = subnet

smtpd_recipient_restrictions = check_recipient_access sqlite:/etc/postfix/access-bl.query, check_client_access hash:/etc/postfix/trusted_clients, check_recipie
nt_access hash:/etc/postfix/local_domains, reject_unauth_destination, permit

Então, agora a lista negra funciona. O arquivo /etc/postfix/trusted_clients contém quem pode enviar para qualquer lugar (3), o arquivo /etc/postfix/local_domains contém onde você pode enviar (2). Esses dois estão bem, eles retornam corretamente.

Meu problema é conseguir que os três trabalhem juntos. Não tenho certeza se é um problema de encomenda. Atualmente enviando um teste a partir de 10.0.9.17 e recebo Relay access denied . Se eu adicionar:

mynetworks = 10.0.8.0/24 10.0.9.0/24

então qualquer pessoa pode enviar para qualquer lugar, então o segundo item não está funcionando.

A versão do Postfix é 2.10 no Ubuntu 14.04.

Alguma idéia?

Saída de postconf | grep restrictions :

smtpd_client_restrictions =
smtpd_data_restrictions =
smtpd_end_of_data_restrictions = 
smtpd_etrn_restrictions = 
smtpd_helo_restrictions = 
smtpd_recipient_restrictions = check_recipient_access sqlite:/etc/postfix/access-bl.query, check_client_access hash:/etc/postfix/trusted_clients, check_recipient_access hash:/etc/postfix/local_domains, reject_unauth_destination, permit_mynetworks
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination 
smtpd_sender_restrictions = 
    
por xBlue 12.06.2014 / 00:59

1 resposta

2

No postfix 2.10, o novo parâmetro smtpd_relay_restrictions foi introduzido. Essa restrição avaliará ANTES smtpd_recipient_restrictions .

Snippet de documentação oficial

smtpd_relay_restrictions (default: permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination) Access restrictions for mail relay control that the Postfix SMTP server applies in the context of the RCPT TO command, before smtpd_recipient_restrictions. See SMTPD_ACCESS_README, section "Delayed evaluation of SMTP access restriction lists" for a discussion of evaluation context and time.

Portanto, qualquer cliente fora de mynetworks receberá Relay Access Denied porque esta regra defer_unauth_destination .

Uma das soluções é mover sua restrição (2) e (3) em smtpd_relay_restrictions .

smtpd_recipient_restrictions = 
    check_recipient_access sqlite:/etc/postfix/access-bl.query

smtpd_relay_restrictions = 
    permit_mynetworks, 
    permit_sasl_authenticated, 
    check_client_access hash:/etc/postfix/trusted_clients, 
    check_recipient_access hash:/etc/postfix/local_domains,
    reject_unauth_destination

Nota:

  1. Você pode colocar reject_unauth_destination em smtpd_relay_restrictions ou smtpd_recipient_restrictions . Não há necessidade de repetir os dois lugares.
  2. smtpd_relay_restrictions destina-se a colocar onde você colocou a regra de referência, enquanto smtpd_recipient_restrictions é o espaço reservado para a lista negra de spam (por exemplo, reject_non_fqdn_sender ).
por 12.06.2014 / 14:41