[Debian 4.0] Envoi de mail - Postfix

Résolu/Fermé
Brazhak Messages postés 40 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 7 juin 2011 - 14 mai 2009 à 04:33
Brazhak Messages postés 40 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 7 juin 2011 - 14 mai 2009 à 18:56
Bonjour,

Suite à l'installation de postfix, j'arrive parfaitement à envoyer des mails vers l'extérieur mais par contre ça merdouille en local : un mail envoyé par root vers l'utilisateur toto va directement dans /var/spool/mail/nobody

Et pareil pour tous les destinataires du serveur.

Aucune erreur dans la log à priori :
May 14 04:16:49 postfix/pickup[2312]: 0C7FA11568F: uid=0 from=<root>
May 14 04:16:49 postfix/cleanup[3174]: 0C7FA11568F: message-id=<20090514021649.0C7FA11568F@mon.domaine.com>
May 14 04:16:49 postfix/qmgr[2314]: 0C7FA11568F: from=<root@mon.domaine.com>, size=375, nrcpt=1 (queue active)
May 14 04:16:49 postfix/local[3176]: 0C7FA11568F: to=<root@mon.domaine.com>, orig_to=<toto@mon.domaine.com>, relay=local, delay=0.06, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
May 14 04:16:49 postfix/qmgr[2314]: 0C7FA11568F: removed


Avez-vous une idée d'où cela peut provenir ?

Un petit coup de postconf au cas ou ca proviendrait de là :

alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
default_transport = smtp
inet_interfaces = all
mail_owner = postfix
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = domaine.com
myhostname = mon.domaine.com
mynetworks = 127.0.0.0/8
myorigin = $myhostname
queue_directory = /var/spool/postfix
recipient_delimiter = +
sender_canonical_maps = hash:/etc/postfix/canonical


Merci d'avance.
A voir également:

2 réponses

Bonjour,

La doc complete est la : https://postfix.traduc.org/

La methode de relai est define dans /etc/postfix/master.cf

Dans votre cas c'est en local. Ce n'est pas une bonne chose car dans ce cas une adresse email implique qu'il y a un compte identique derrière : c'est une source d'attaque du serveur.
Il vaut mieux utiliser une config "virtual" et que Postfix transfere le courrier local a un autre service : cyrus ou courrier.

Il faut dans postfix definir la liste des adresses recevant le courrier local.
C'est dans votre cas : "local_recipient_maps = hash:/etc/postfix/quelquechose"

En effet tous les utilisateurs déclarés dans /etc/passwd n'ont pas à recevoir du courrier...
On utilise "alias_maps = hash:/etc/aliases" pour définir l'adresse de l'utilisateur qui vas collecter tous les mails "systeme" (les logs et les alertes par exemple).

Cordialement,
0
Brazhak Messages postés 40 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 7 juin 2011 3
14 mai 2009 à 16:45
Merci de votre réponse.

Je ne comprend pas en quoi le fait que je ne reçois pas les mails envoyés en local dans /var/spool/mail/toto (si je reprend mon exemple) puisse être une source d'attaque serveur.
Pouvez-vous m'éclairer sur ce point ?

J'ai suivis vos conseils et j'ai installé cyrus-imap.
A partir de là, j'ai modifié en conséquence le main.cf en y ajoutant :


mail_transport = cyrus


J'en ai profité pour ajouter :

local_recipient_maps = $alias_maps

avec alias_maps = hash:/etc/postfix/aliases

Le problème reste toujours présent.
0
Brazhak Messages postés 40 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 7 juin 2011 3 > Brazhak Messages postés 40 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 7 juin 2011
14 mai 2009 à 18:14
En fait, il y avait un cafouillage dans le fichier aliases :
toto: root

donc les mails de toto étaient transmis à root. J'ai supprimé cette ligne et maintenant toto recoit bien ses mails.

Par contre, root ne reçoit rien : les mails ayant comme destinataire root sont envoyés dans nobody.


J'ai remarqué que dans postconf figuré la ligne suivante :

default_privs = nobody

Pour test, je l'ai donc changé en mettant :

default_privs = toto
Et cette fois, lorsque j'envoi un mail à root, c'est toto qui le receptionne !
Par contre, si je met :

default_privs = root

Postfix pousse une gueulante lors du reload :
Reloading Postfix configuration...postfix: fatal: file /etc/postfix/main.cf: parameter default_privs: user root has privileged user ID
failed.


Si je comprend bien, les utilisateurs ayant des droits "root" ne sont pas autorisés à recevoir de mail. C'est ca ou je me trompe ?
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
14 mai 2009 à 18:35
bonjour,

En fait, il y avait un cafouillage dans le fichier aliases :
toto: root

donc les mails de toto étaient transmis à root. J'ai supprimé cette ligne et maintenant toto recoit bien ses mails.


donc root n'existe plus dans le fichier /etc/postfix/aliases ???


Par contre, root ne reçoit rien : les mails ayant comme destinataire root sont envoyés dans nobody.

si root est supprimé, peut-être que ceci explique cela ...


or il y a cette information en bas de mon fichier aliases

# Note to the user: You must create the alias above!
# The root alias *must* exist under postfix because
# postfix runs as a non-privileged user and cannot
# touch a spool file which is UID/GID root
# The mapping to the postfix user is to ensure that root's mail
# doesn't get lost on a system installed out of the box.


0
Brazhak Messages postés 40 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 7 juin 2011 3
14 mai 2009 à 18:56
hummm sympa ton fichier aliases <3

Non, effectivement root n'avait de ce fait aucun alias dans le fichier.

Donc si je résume : root ne pourra définitivement pas recevoir de mail dans son propre spool/mail.
Pour se faire, un alias devra être créé afin de renvoyer les mails de root vers un compte beta (root: titi par exemple). Ce dernier ayant des privilèges assez souples pour que postfix puisse écrire dans le spool de ce celui-ci.
0