No postfix como posso impor condicionalmente check_sender_access

1

Estou atendendo a dois domínios virtuais: domain1.org, domain2.org. Quero impor a seguinte política:

Se um cliente conectar de um endereço IP em $ mynetworks , eu quero permitir apenas emails para os quais o remetente endereço domina pertence a um dos meus domínios.

Se um cliente conectar de qualquer outro endereço IP , eu quero permitir somente e-mails para os quais o remetente endereço do domínio faz não pertence a um dos meus domínios.

Para isso, temos dois arquivos de acesso a hash (sender_for_local_clients e sender_for_remote_clients)

sender_for_local_clients contém

domain1.org OK
domain2.org OK

sender_for_remote_clients contém

domain1.org REJECT
domain2.org REJECT

Mas eu não sei como combiná-los na diretiva smtpd_sender_restrictions. Parte do problema é que as ações OK não são PERMITIDAS automaticamente, enquanto as ações REJEITAS são REJEITADAS automaticamente, então eu não consigo encontrar uma seqüência apropriada de smtpd_sender_restrictions que irá cumprir minha política declarada acima. Alguma idéia?

    
por Paralife 24.02.2013 / 11:55

1 resposta

1

Você precisará de uma classe de restrição para isso. Reproduzir o conteúdo de $ mynetworks em um mapa CIDR, por exemplo cidr: / etc / postfix / local_clients com algo parecido com isto:

# local networks
192.168.0.0/24 local_senders

smtpd_restriction_classes = local_senders
local_Senders = check_sender_access hash:/etc/postfix/sender_for_local_clients, reject

smtpd_recipient_restrictions = 
 ...
 check_client_access cidr:/etc/postfix/local_clients
 ...
 check_sender_access hash:/etc/postfix/sender_for_remote_clients
 ...
    
por 31.08.2013 / 12:16