Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/02/2019, à 10:25

salsbo

Postfix > smtpd_recipient_restrictions > check_recipient_access

Bonjour

sauriez vous me donner des pistes pour résoudre un soucis sur POSTFIX. J'utilise exclusivement ce SMTP pour l'envoie de mail depuis une source authentifiée (SASL)
A priori une conf de base.
Je souhaite que Postfix ne relai que les mails à destination d'un seul domaine.

J'ai utilisé pour cela la directive : check_recipient_access hash :/etc/postfix/recipient_access, avec le fichier recipient_access qui ne contient que "domaine_autorisé.com OK"

J'ai donc ajouté a priori dans le bonne ordre pour les stage les directives ? mais j'ai l'impression que les mails sont relayés sans passer par ce stage.
j'ai mis dans le fichier /etc/postfix/recipient_access volontairement une adresse en REJECT et l'envoie se fait malgré tout (j'ai fais le postmap)

Avez vous des pistes ?

Voila mon main.cf :

smtpd_banner = mopieur !
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/home/lamedicale/ca.pem
smtpd_tls_key_file=/home/lamedicale/pkey.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

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

smtpd_relay_restrictions = 
	permit_mynetworks,
	permit_sasl_authenticated,
	defer_unauth_destination

myhostname = *************
smtp_helo_name = ****************
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, **************, localhost.localdomain, , localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

smtpd_recipient_restrictions = 
 	check_recipient_access hash:/etc/postfix/recipient_access,
	permit_sasl_authenticated, 
	permit_mynetworks, 
	reject_unauth_destination
Voila me master.cf

# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or
# on-line: [url]http://www.postfix.org/master.5.html)[/url].
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       y       -       -       qmqpd
pickup    unix  n       -       y       60      1       pickup
cleanup   unix  n       -       y       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       y       1000?   1       tlsmgr
rewrite   unix  -       -       y       -       -       trivial-rewrite
bounce    unix  -       -       y       -       0       bounce
#bounce	  unix	-	-	y       -       0	discard
defer     unix  -       -       y       -       0       bounce
trace     unix  -       -       y       -       0       bounce
verify    unix  -       -       y       -       1       verify
flush     unix  n       -       y       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       y       -       -       smtp
relay     unix  -       -       y       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       y       -       -       showq
error     unix  -       -       y       -       -       error
retry     unix  -       -       y       -       -       error
discard   unix  -       -       y       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       y       -       -       lmtp
anvil     unix  -       -       y       -       1       anvil
scache    unix  -       -       y       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
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}

Dernière modification par salsbo (Le 14/02/2019, à 11:12)

Hors ligne

#2 Le 14/02/2019, à 10:42

bruno

Re : Postfix > smtpd_recipient_restrictions > check_recipient_access

Bonjour,

Merci de remettre en forme ton premier message en utilisant les balises code (icône < >) pour le contenu de tes fichiers de configuration (cf. https://forum.ubuntu-fr.org/viewtopic.php?id=1614731). Là c'est assez peu lisible…

Pour restreindre les domaines vers les quels Postfix est autorisé à envoyer des courriels tu devrais plutôt utiliser relay_domains.

Si tu utilises check_recipient_access, vérifie bien que ton fichier ne contient bien que le nom du domaine concerné sur une ligne et que tu as bien lancé la commande postmap sur ce fichier (cf. http://www.postfix.org/access.5.html) puis rechargé la configuration de Postfix.

Hors ligne

#3 Le 14/02/2019, à 11:18

salsbo

Re : Postfix > smtpd_recipient_restrictions > check_recipient_access

merci pour cette réponse rapide

je vais exploiter la piste du relay_domains car ma directive check_recipient_access, semble ne jamais être utilisée. Je vais fouiller dans le master.cf car je viens de lire sur un forum que le master.cf pouvais overrider le main.fr

merci encore et désolé pour la mise en forme, j'ai corrigé

bonne journée

Hors ligne

#4 Le 14/02/2019, à 11:43

bruno

Re : Postfix > smtpd_recipient_restrictions > check_recipient_access

Merci pour les balises code wink

Effectivement dans la partie smtps du master.cf, tu as :

  -o smtpd_recipient_restrictions=

qui enlève toute restriction pour les utilisateurs se connectant en smtps.

Hors ligne

#5 Le 14/02/2019, à 20:16

salsbo

Re : Postfix > smtpd_recipient_restrictions > check_recipient_access

C'est bon j'arrive à faire fonctionner le recipient_restriction mais maintenant j'ai un autre soucis

dans mon fichier, j'ai mis

domaine.com OK
et rien d'autre pensant que par defaut, ce qui n'était pas OK etait REJECTED mais non smile

j'ai essayé d'ajouter * REJECT mais ça ne fonctionne pas.

Une idée ? je vais regarder en // du côté de relay_domains

Hors ligne

#6 Le 14/02/2019, à 21:28

salsbo

Re : Postfix > smtpd_recipient_restrictions > check_recipient_access

finalement, c'est le transport map qui fait remarquablement bien le job !

main.cf

transport_maps = hash:/etc/postfix/transport

avec /etc/postfix/transport

domain.com        relay:[le.smtp.du.domaine.autorise]
* error:no mail accepted for this domain

Dernière modification par salsbo (Le 14/02/2019, à 21:29)

Hors ligne