Acesso ao Postfix Relay negado após atualização de 2.11 para 3.4

Acesso ao Postfix Relay negado após atualização de 2.11 para 3.4

A versão 2.11.3 do Postfix funcionou perfeitamente nos últimos dois anos. Depois de atualizá-lo para a versão 3.4.14, o servidor não consegue mais enviar e-mails externos.

No mail.errarquivo, encontrei a seguinte linha:

postfix/smtpd[1043]: fatal: in parameter smtpd_relay_restrictions or smtpd_recipient_restrictions, specify at least one working instance of: reject_unauth_destination, defer_unauth_destination, reject, defer, defer_if_permit or check_relay_domains

Depois disso, configurei os dois parâmetros master.cfno

  -o smtpd_recipient_restrictions=reject_unauth_destination
  -o smtpd_relay_restrictions=reject_unauth_destination

No Postfix versão 2.11, ambos os parâmetros foram comentados.

Após essa configuração a mensagem desapareceu mail.errmas encontrei outro erro no mail.logarquivo

Jun  3 08:01:22 smtp-out postfix/smtpd[19915]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[127.0.0.1]>

Já que estou usando sender_dependent_relayhost_maps = hash:/etc/postfix/transport_senderqual seria a configuração correta desses dois parâmetros (caso seja esse o problema)?

Aqui está meu main.cfarquivo:

inet_protocols = ipv4
smtpd_banner = Company ESMTP NO UCE/UBE
biff = no
append_dot_mydomain = no
myhostname = smtp-out.company.com
mydomain = company.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = smtp-out.local, localhost.dmz.local.dmz.local, localhost, $mydomain, localhost.$mydomain

relayhost = [mail.external-relayserver.com]

relay_domains =
mynetworks = 192.168.10.0/24, 192.168.15.0/24, 127.0.0.0/8, [::1]/128
header_checks = regexp:/etc/postfix/regexp/header_checks
message_size_limit = 47185920
recipient_delimiter = +

transport_maps = hash:/etc/postfix/transport

undisclosed_recipients_header=
local_recipient_maps =
smtp_tls_security_level=may
smtp_tls_loglevel=1

# relay transport
sender_dependent_relayhost_maps = hash:/etc/postfix/transport_sender
smtp_sender_dependent_authentication = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

default_destination_concurrency_limit = 2
default_destination_rate_delay = 1s

master.cfarquivo:

smtp      inet  n       -       -       -       -       smtpd
  -o smtpd_recipient_restrictions=reject_unauth_destination
  -o smtpd_relay_restrictions=reject_unauth_destination

pickup    unix  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}

uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)

ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -   n   n   -   2   pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Responder1

Você precisa especificar quem tem permissão para retransmitir através do seu servidor postfixanteso reject_unauth_destination.

por exemplo, para permitir que suas próprias redes retransmitam através do seu servidor:

smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination

ou se você estiver usando sasl_authentication:

smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,
                           reject_unauth_destination

Lembre-se de que essas regras são especificadas na ordem listada... portanto, o procedimento acima permite que os clientes em suas redes retransmitam mensagens sem precisar se autenticar. Os clientes de fora da sua rede precisam se autenticar. As tentativas de retransmissão de todos os outros são rejeitadas.


Aliás, para uma configuração simples do postfix como a sua, é melhor colocar essas opções no main.cfarquivo, não no master.cf.

informação relacionada