Postfix: relê dependente de remetente e correio para host

1

Gostaria de estender minha configuração do postfix para poder receber e-mails para o meu domian.

Atualmente, configurei o postfix como um smarthost que aceita mensagens após a autenticação e as encaminha, dependendo do remetente, para diferentes servidores (como o gmail). Isso funciona bem até agora. Gostaria de estender a configuração de modo que o correio para o meu domínio (mydomain.com) também seja aceito, mas sem a necessidade de autenticação (todos devem ter permissão para enviar e-mails para usuários nesse domínio). A capacidade do smarthost deve permanecer. O postfix deve, portanto, levar essas duas tarefas:

  1. Atua como um smarthost e encaminha o e-mail com receivers arbitrários após a autenticação de cliente com êxito
  2. Receber emails de remetentes arbitrários sem autenticação buth com o destinatário no domínio local

A configuração atual (main.cf) é anexada abaixo. Eu acho que o que eu preciso fazer é alterar os parâmetros de 'smtpd_client_restrictions' e 'smtpd_receipient_restrictions', mas não tenho certeza sobre isso. Se alguém pudesse confirmar isso, isso já me ajudaria muito.

main.cf:

    [...]
    myhostname = mydomain.com
    mynetworks = 127.0.0.0/8
    mydestination = mydomain.com localhost localhost.mydomain.com
    canonical_maps = regexp:/etc/postfix/canonical-redirect
    home_mailbox = Mail/

    # POSTFIX SERVER AUTHENTICATION
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noplaintext, noanonymous
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    smtpd_client_restrictions = permit_sasl_authenticated, reject
    smtpd_recipient_restrictions = permit_sasl_authenticated, reject
    smtpd_tls_security_level = encrypt

    # SENDER DEPENDENT RELAYs
    # relays
    smtp_sender_dependent_authentication = yes
    sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
    # auth
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_mechanism_filter = GSSAPI, DIGEST-MD5, CRAM-MD5, login, plain
    smtp_tls_security_level = encrypt
    smtp_sasl_security_options = noplaintext, noanonymous
    smtp_sasl_tls_security_options = noplaintext, noanonymous

    #TLS
    smtpd_tls_cert_file=/etc/ssl/cert.pem
    smtpd_tls_key_file=/etc/ssl/cert.key
    [...]
  • Edit: De acordo com o comentário do NickW, eu modifiquei as permissões para

    smtpd_client_restrictions = 
    smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unknown_recipient_domain, permit
    

No meu entender, essa regra primeiro permitiria todos os e-mails de usuários autenticados, negaria e-mails para destinatários que não estivessem no mydomain e, finalmente, permitiriam esses e-mails. Está correto até agora?

No entanto, o postfix depois reclama do 'parâmetro fatal' smtpd_recipient_restrictions ": especifique pelo menos uma instância de trabalho de: check_relay_domains, reject_unauth_destination, reject, defer ou defer_if_permit '. Se eu colocar um 'rejeitar' APÓS a 'permissão', o postfix mostrará apenas um aviso ('restrição' rejeitar 'depois que' permissão 'for ignorada'), mas o erro não está aparecendo ...

    
por user236012 04.08.2014 / 18:43

2 respostas

1

Como você definiu mydomain.com em mydestination , pode colocar permit_auth_destination sua restrição.

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_auth_destination, reject

Como NickW diz, smtpd_client_restrictions foi redundante. Você pode excluir essa linha.

    
por 02.03.2015 / 03:49
0

Estou postando isso como resposta, como para manter a formatação monoespaçada com os comentários, esta é a minha configuração atual para o meu domínio.

# === Incoming mail restriction ================================================

#smtpd_client_restrictions    =
#                               check_client_access hash:/etc/postfix/access

smtpd_recipient_restrictions =
# Whitelisting or blacklisting:
#                                check_recipient_access proxy:mysql:/etc/postfix/mysql-virtual_recipient.cf,
# Mails from our users:
                                permit_mynetworks,
# Greylist
                                check_policy_service unix:private/postgray,
# Everyone should play by the rules:
                                reject_non_fqdn_recipient,
                                reject_non_fqdn_sender,
                                reject_unknown_recipient_domain,
                                reject_unknown_sender_domain,
                                reject_unauth_pipelining,
# Allow authenticated users / 587 TLS/465 SSL
                                permit_sasl_authenticated,
# This will block mails from domains with no reverse DNS record. Will affect both spam and ham mails, but mostly spam.
#                                reject_unknown_reverse_client_hostname,

# Instead of reject_unknown_reverse_client_hostname you can also use reject_unknown_client_hostname, which is an even harder rule. 
# Reject ugly HELO/EHLO-hostnames (could also affect regular mails):
#                                reject_non_fqdn_hostname,
#                                reject_invalid_helo_hostname,
# Reject everything you're not responsible for:
                                reject_unauth_destination,
# Only take mails for existing accounts:
                                reject_unverified_recipient,
# DNS lookups are "expensive", therefore should be at bottom
#                                reject_rbl_client zen.spamhaus.org
    
por 04.08.2014 / 23:05

Tags