Lista de permissões do domínio Postfix em combinação com a autenticação por remetente

2

Gostaria de colocar na lista de permissões vários domínios em minha configuração do Postfix de forma que todos os e-mails desses domínios sejam aceitos, desde que sejam devidamente autenticados usando SPF e / ou DKIM, caso sejam usados por ele domínio. Isso significa que os e-mails provenientes desses domínios não devem ser submetidos ao processo normal de DNSBL e Greylisting, apenas a uma verificação de SPF e DKIM.

Agora, consegui salvar e-mails provenientes desses domínios do Milterador de lista cinza configurando um arquivo sender_access e usando o utilitário postmap para convertê-lo em um banco de dados hash adequado.

main.cf :

...
parent_domain_matches_subdomains = yes
smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_rbl_client zen.spamhaus.org
  reject_unauth_destination
  check_sender_access hash:/etc/postfix/sender_access
  check_policy_service unix:private/tumgreyspf
...

sender_access :

domain1.com OK
domain2.net OK

Descobri post-screen e também encontrei um pequeno exemplo , mas parece que é uma medida apenas de DNSBL e é apenas um pouco útil no meu caso.

    
por Big-Blue 14.07.2014 / 12:39

2 respostas

3

Sempre que a sua restrição não puder ser aplicada globalmente a todos os casos, pode utilizar as classes de restrição do Postfix . A ideia é excluir alguns domínios para separar restrições.

Eu reorganizo sua configuração atual seguindo os princípios "verificações leves devem ser executadas antes das pesadas". Então, sugiro que a configuração se torne

smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_unauth_destination
  check_sender_access hash:/etc/postfix/sender_access
  reject_rbl_client zen.spamhaus.org    
  check_policy_service unix:private/tumgreyspf

Agora, as classes de restrição de postfix devem ser aplicadas por meio dessa linha check_sender_access hash:/etc/postfix/sender_access . Antes disso, defina o parâmetro smtpd_restriction_classes em main.cf .

smtpd_restriction_classes = whitelistdomain
whitelistdomain = 
  check_policy_service unix:private/tumgreyspf

Portanto, o conteúdo de /etc/postfix/sender_access tornou-se

example.com  whitelistdomain
example.org  whitelistdomain

A lógica é que o postfix aplicará restrições padrão ( permit_mynetwork, permit_sasl_authenticated, reject_unauth_destination ) para todo o domínio. Então, porque example.com e example.org na classe whitelistdomain , o postfix somente executa check_policy_service unix: private / tumgreyspf . Outros domínios devem passar por restrições padrão.

Agora, o problema é como configurar tumgreyspf para excluir esses domínios do greylisting.

Com base em esta página , aqui está o passo para excluir greylisting . Note que este caminho é aplicado ao Debian. Outro sistema pode ter um caminho diferente.

Primeiro, crie uma pasta para cada domínio

mkdir -p /var/lib/tumgreyspf/config/envelope_sender/example.com/
mkdir -p /var/lib/tumgreyspf/config/envelope_sender/example.org/

Criar configuração de arquivo em /etc/tumgreyspf/disablegreylist.conf

SPFSEEDONLY = 0
GREYLISTTIME = 600
CHECKERS = spf
OTHERCONFIGS =

Agora, crie um link simbólico para cada um dos diretórios do domínio

ln -s /etc/tumgreyspf/disablegreylist.conf /var/lib/tumgreyspf/config/envelope_sender/example.org/__default__
ln -s /etc/tumgreyspf/disablegreylist.conf  /var/lib/tumgreyspf/config/envelope_sender/example.com/__default__

Mais informações, página do github do tumgreyspf

    
por 14.07.2014 / 16:38
2

Apenas classifique seu smtpd_recipient_restrictions de acordo. Esta lista é processada de frente para trás. Alguns filtros podem retornar uma rejeição ou nada (listas negras, spf; seja um remetente mal-intencionado ou não sabemos) ou uma permissão (SASL, Redes, se não corresponderem, continuar)

No seu caso, seria:

smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  check_policy_service unix:private/tumgreyspf
  check_sender_access hash:/etc/postfix/sender_access
  reject_rbl_client zen.spamhaus.org
  reject_unauth_destination

Os remetentes locais e autenticados são sempre permitidos. Para todos os outros, verificamos nosso arquivo sender_access . Se não houver correspondência, continue com listas negras, SPF e Greylisting.

    
por 14.07.2014 / 13:30