3 votes

Postfix : "Accès au relais refusé"

J'ai suivi ce tutoriel : http://flurdy.com/docs/postfix/index.html

Pour une raison quelconque, même après m'être assuré que je l'ai configuré correctement, il n'envoie pas de courrier à des domaines externes. Il peut toujours en recevoir, mais l'envoi donne ce résultat :

postfix/smtpd[26338]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <xxxx@gmail.com>: Relay access denied; from=<user@domain.com> to=<xxxx@gmail.com> proto=ESMTP helo=<domain.com>

J'ai activé TLS, ainsi qu'amavis. La désactivation de l'un ou l'autre (ou des deux) ne change rien. Je peux également envoyer le message à mon propre domaine, et il arrivera correctement.

Voici mon /etc/postfix/main.cf :

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
myorigin = domain.com
masquerade_domains = mail.domain.com
masquerade_exceptions = root

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/postfix/postfix.cert
smtpd_tls_key_file=/etc/postfix/postfix.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtp_tls_security_level = may

smtpd_tls_security_level = may

smtp_tls_note_starttls_offer = yes

smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = mail.domain.com
mydestination = domain.com, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8, [::ffff:127.0.0.0]/104, [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
mynetworks_style = host

local_recipient_maps =
mydestination =
delay_warning_time = 4h
unknown_local_recipient_reject_code = 450
maximum_queue_lifetime = 7d
minimal_backoff_time = 1000s
maximal_backoff_time = 8000s

smtp_helo_timeout = 60s
smtpd_recipient_limit = 32
smtpd_soft_error_limit = 3
smtpd_hard_error_limit = 12

smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname,  reject_invalid_hostname, permit
smtpd_sender_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit_sasl_authenticated, permit
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_unauth_destination, permit
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, permit
smtpd_data_restrictions = reject_unauth_pipelining

smtpd_helo_required = yes
smtpd_delay_reject = yes
disable_vrfy_command = yes

alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf

virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf

virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf

virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

content_filter = amavis:[127.0.0.1]:10024

# SASL
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = no
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = domain.com

6voto

Sveatoslav Points 101

Retirer reject_unauth_destination de smtpd_client_restrictions .

EDIT

Vous utilisez SMTP pour envoyer des e-mails, donc postfix utilise toujours tous les smtpd_*_restrictions même si vous vous connectez depuis 127.0.0.1 . Ces smtpd_*_restrictions sont appliquées dans les cas suivants commander : client, hébergeur, expéditeur, destinataire, données, ou fin des données. reject_unauth_destination rejette tout courrier sauf si le domaine dans RCPT TO correspond à $mydestionation ou $relay_domains . Dans votre cas, lorsque reject_unauth_destination est utilisé dans smtpd_client_restrictions qui est vérifié en premier, votre courrier est presque immédiatement (après avoir vérifié deux RBL) rejeté parce que vos postfix n'est manifestement pas la destination finale de gmail.com et toutes les règles permettant de relayer le courrier des clients locaux ou authentifiés ( permit_mynetworks , permit_sasl_authenticated ) sont a sauté parce que vous avez déjà été rejeté par smtpd_client_restrictions .

2voto

dominus.ceo Points 21

Merci, j'ai trié toutes les restrictions smtpd_client_restrictions et ma configuration fonctionne.

Cette configuration devrait fonctionner :

smtpd_recipient_restrictions =
check_policy_service unix:/var/spool/postfix/postgrey/socket,
reject_rbl_client xbl.spamhaus.org,
reject_rbl_client pbl.spamhaus.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client multi.uribl.com,
reject_rbl_client rbl-plus.mail-abuse.org,
reject_rbl_client dialups.mail-abuse.org,
permit_mynetworks,
reject_unauth_destination,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain

Le tri est important.

0voto

deadrunk Points 101

J'ai eu un problème similaire, ceci m'a sauvé :

smtpd_relay_restrictions = permit_mynetworks, 
  permit_sasl_authenticated,
  reject_unauth_destination

-1voto

Ivan Points 196

Vous devez configurer votre serveur pour le relais.

Essayez d'ajouter un hôte smtp externe pour l'option relayhost :

postconf -e 'relayhost = smtp.example.com'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X