Bonjour à tous d'un nouveau venu dans le monde Fedora 🙂,
Je configure actuellement un serveur de messagerie avec Postfix/Amavis/Clamav/Spamassassin et Dovecot. Pour le moment tout fonctionne impeccable (après une petite prise de tête avec SELinux), mis à part un petit détail qui est pour moi inacceptable...
En gros, je veux qu'il puisse :
- Livrer localement les mails à destination de $mydomain
- Envoyer les mails à destination de partout mais uniquement lorsque le client est authentifié (SASL)
ET que le domaine de l'expéditeur est $mydomain
Pour la première partie, aucun problème.
Pour la 2ème, j'arrive à faire fonctionner l'authentification SASL mais dans ce cas je peux mettre n'importe quelle adresse d'expéditeur ! En résumé, à partir du moment où mon client est authentifié, il peut utiliser l'adresse expéditeur qu'il veut, c'est la fête du slip 🙁 !
Donc j'ai testé en utilisant une restriction d'envoyeur (smtpd_sender_restrictions) avec un mapping login/adresse (reject_authenticated_sender_login_mismatch), ça marche, mais je préfère éviter cette solution, car d'une part ça ne convient pas à mon boss, et je trouve également un peu dommage d'avoir à saisir un bête mapping "login -> login@mondomaine" pour chaque compte.
Bref le problème est à la base très simple mais je me prend la tête depuis bientôt 2 jours et je n'ai toujours pas trouvé de solution. Je parcoure les docs, je cherche un peu partout sur le net, mais rien trouvé 🙁 !
Donc ma 1ère question est, avant tout : est-il possible de faire du SASL + filtrage sur le domaine de l'expéditeur dans le cas où le destinataire n'est pas mon domaine, et ce, sans avoir à re-saisir un listing de toutes les adresses autorisées (n'oubliez pas que je dois également pouvoir recevoir des mails depuis n'importe où à destination de mon domaine) ?
La 2ème question : comment :-D ?
La conf (encore à peaufiner 2-3 trucs) :
$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
bounce_template_file = /etc/postfix/bounce.cf
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
disable_vrfy_command = yes
html_directory = no
inet_interfaces = $myhostname, localhost
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = test.mydomain.com
myhostname = smtp.test.mydomain.com
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
notify_classes = bounce, delay, policy, protocol, resource, software
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.4.5/README_FILES
sample_directory = /usr/share/doc/postfix-2.4.5/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname NO UCE ESMTP
smtpd_delay_reject = yes
smtpd_recipient_limit = 50
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, permit_auth_destination, reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
D'avance un immense merci pour votre aide !