Retourner en haut de la page Aller au bas de la page
Logo de mon site
Logo de mon site

Yasser Arafat

Item 1 Description

Yasser Arafat

Hugo Chávez

Item 1 Description

Hugo Chávez

Mikhaïl Gorbatchev

Item 1 Description

Mikhail Sergueievitch Gorbatchev

L'Abbé Pierre

Item 1 Description

Abbe Pierre

Salvadore Allende

Item 1 Description

Salvadore Allende

Angela Yvonne Davis

Item 1 Description

Angela Yvonne Davis

Jean Moulin

Item 1 Description

Jean Moulin

Nelson Mandela

Item 1 Description

Nelson Mandela

Martin Luther King

Item 1 Description

Martin Luther King

Gamal Abdel Nasser

Item 1 Description

Gamal Abdel Nasser

Richard Stallman

Item 1 Description

Richard Stallman

Simone Veil

Item 1 Description

Simone Veil

Hand Shake

Item 1 Description

Hand Shake

Wangari Muta Maathai

Item 1 Description

Wangari Muta Maathai

Michel Colucci

Item 1 Description

Coluche

Mère Teresa

Item 1 Description

Mère Térésa

Charles de Gaulle

Item 1 Description

Charles de Gaulle

Che Guevara

Item 1 Description

Ernesto Rafael Guevara

Mohandas Gandhi

Item 1 Description

Mohandas Karamchand Gandhi

Lech Walesa

Item 1 Description

Lech Walesa

Linus Benedict Torvalds

Item 1 Description

Linus Benedict Torvalds

Sous-commandant Marcos

Item 1 Description

Sous commandant Insurge Marcos

Ahmed Shah Massoud

Item 1 Description

Ahmed Shah Massoud

Luxpopuli / Internet / Postfix + Cyrus IMAP + SSL + LDAP / Postfix : le fichier master.cf





Right menu

OBLIGATOIRE

Un professeur témoigne

La brigade canine dans un collège du Gers.
Réaction d'une internaute Québécoise:
«quand on est rendu à accepter que (...) les autorité mettent leurs sales pattes dans les culottes de vos enfants (...) il est temps (...) de vous réveiller.»
OBLIGATOIRE

Les mensonges de R. Dati

La note de recadrage statistique du sociologue L. Mucchielli recadre également les mensonges de la propagande sécuritaire dont on nous rabat les oreilles depuis déjà trop longtemps et dont les mineurs de France sont à présents la cible.
Le rapport de L. Mucchielli
OBLIGATOIRE

L'aveu de Jean-Marc Sylvestre

«Le système financier s'effondre aujourd'hui comme un jeu de carte... parce que... il a été géré d'une part.... par les États-Unis sans règle... et il a été d'autre part géré... par une bande de voyous... qui se sont gouinfrés... au détriment des autres.»
VOIR LES VIDÉOS

OBLIGATOIRE

prev prev prev prev


Postfix : le fichier master.cf

Date de publication: le Mardi 15 Mai 2007 à 15h20
Dernière modification: par Pascal BOYER le Dimanche 15 Juillet 2007 à 08h56
« Article précédent: Postfix : tables et contrôle anti-spam
» Article suivant: Postfix : le fichier smtpd.conf

Avant propos

Dans cet article sera abordée la configuration du fichier /etc/postfix/master.cf
Les informations, présentées ici, sont pratiquement toutes issues du livre Postfix - La référence, ed. O’REILLY.

:
A la fin de cet article, je fais un récapitulatif de tout ce qui permet de faire fonctionner le serveur correctement avec Thunderbird.

Rappels

Postfix, devant tantôt jouer le rôle de serveur tantôt le rôle de client, intègre un serveur et un client SMTP.

  • smtpd désigne le serveur SMTP de Postfix.
  • smtp désigne le client SMTP de Postfix.

D’une façon générale, le nom d’un service se terminant par un d désigne un serveur: imapd, lmtpd, pop3d, mysqld, slapd etc...

Le démon master

Le démon master est le processus général qui contrôle les autres démons Postfix pour la gestion du courrier (p31). Pour obtenir les informations sur sa configuration, le démon master utilise le fichier /etc/postfix/master.cf (p31)

Le démon master lance, selon les besoins, tous les autres services de Postfix. (p48)
Le fichier /etc/postfix/master.cf contient une ligne par service ou transport fourni par Postfix (p31). Et chaque ligne est divisée en colonnes indiquant comment chaque programme doit s’exécuter dans le cadre du système global. (p31)

:
Dans la plupart des cas il est fort probable que vous n’ayez pas à modifier ce fichier.

Mais ce ne sera pas ici notre cas, puisque nous allons commenter les lignes concernant les services dont nous ne nous servirons point et apporter quelques modifications aux valeurs par défaut.

Le fichier master.cf

Bien qu’un certain nombre d’informations soient indiquées directement dans le fichier sous forme de commentaires, en voici quelques unes supplémentaire relatives à la syntaxe de ce fichier. (p49-50)

Colonne Service name

Indique le nom du service qui doit être lancé.

Il est possible d’indiquer uniquement un numéro de port, en lieu et place du nom du service, si et seulement si ce service tourne sur la même machine que Postfix.

Il est également possible (uniquement pour les services dont le transport type est inet) de remplacer le nom du service par l’adresse IP d’une machine suivi du numéro de port (e.g: 192.168.4.137: 12368) (il n’y a pas d’espace avant 12368 )

Colonne Transport type

Valeurs possibles: inet, unix ou fifo

  • type inet
    Désigne des sockets internes. Une socket est l’association "port d’écoute + adresse IP" (e.g: 127.0.0.1: 25) (il n’y a pas d’espace avant 25 )

    Le type inet désigne des processus capables de communiquer avec d’autres processus se trouvant sur la même machine mais également sur une machine distante.

  • type unix
    Ne représente que les processus qui communiquent avec d’autres processus situés sur la même machine.
    Pour communiquer avec de tels processus, Postfix utilise des fichiers.
  • type fifo
    Idem à type unix

Colonne private

La valeur y (pour yes) désigne les composantes du serveur Postfix dont l’accès est restreint à Postfix.

Les services dont le Transport type vaut inet ne peuvent avoir un accès restreint car les sockets doivent rester accessibles pour les autres processus du système Linux.

Colonne unpriv

Désigne (si y) les processus qui s’exécuteront avec le moins de privilèges possible, c’est à dire avec les privilèges définis par la règle mail_owner du fichier /etc/postfix/main.cf et dont la valeur par défaut vaut postfix

Colonne chroot

Désigne les composantes de Postfix qui seront (si y) chrootées. Le répertoire du chroot est défini par la règle queue_directory dans le fichier /etc/postfix/main.cf

Chrooter un service ajoute un niveau de sécurité mais aussi de complexité.
Cette option est impossible pour les services pipe, virtual, local et proxymap

Colonne wakeup

Définit l’intervalle de temps au bout duquel un processus devra être réveillé. Par exemple, lorsque j’indique 60 (secondes) pour le démon pickup cela veut dire que toutes les 60 secondes ce processus devra contrôler la présence de messages dans la file d’attente maildrop

C’est le démon master qui réveille les processus qui doivent être réveillés. Les trois composantes concernées par le réveil sont: pickup, flush et qmgr

Si on ajoute un ? après la valeur numérique, cela indique que le signal de réveil ne devra être envoyé que si la composante est vraiment utilisée. Enfin, un intervalle de temps dont la valeur est 0 indique qu’aucun signal de réveil n’est requis.

Colonne maxproc

Indique le nombre maximum de processus pouvant être invoqués simultanément.

Si aucune valeur n’est indiquée, la valeur par défaut utilisée est celle définie par la règle default_process_limit dans le fichier /etc/postfix/main.cf

La valeur par défaut de la règle default_process_limit est 100
Ici, la valeur 0 indiquerait qu’aucune limite n’est fixée.

Colonne command

Indique la véritable commande utilisée pour lancer le service indiqué dans la première colonne.

Aucune information sur le chemin ou l’emplacement du binaire n’est fournie puisque ce binaire (ou cet exécutable) est censé se trouver dans le répertoire des démons de Postfix.

Ce répertoire est défini par la règle daemon_directory du fichier /etc/postfix/main.cf

Pour connaître la valeur de cette règle, utilisez la commande: ~# postconf -h daemon_directory

  • L’option -v indique que l’on souhaite obtenir des logs verbeux. -vvv augmente encore la verbosité les logs produits par un service.
  • L’option -D permet d’obtenir des informations destinées à un programme de débogage.

Ci-dessous, le fichier master.cf

Je poursuis avec la couleur orange indiquant ainsi les règles qui peuvent être initiées si uniquement les serveurs imapd et smtpd tournent. Ceci constituant encore et toujours le fonctionnement basic du serveur de mails.

Bien sûr, la couleur verte indique les règles relatives à la configuration du protocole SSL/TLS appliqué à Postfix.

#

#########################################################

#

 

#

Ci-dessous, sont répertoriés et configurés tous les services que le démon master de Postfix peut lancer en fonction des besoins du serveur Postfix.

#

 

#

Chaque ligne indique donc le nom du service et la façon dont il sera lancé.

#

 

#

#########################################################

#

=======

=======

=======

=======

=======

=======

=======

=======

#

service

type

private

unpriv

chroot

wakeup

maxproc

command + args

#

name

 

(yes)

(yes)

(yes)

(never)

(100)

 

#

=======

=======

=======

=======

=======

=======

=======

=======

 

smtp

inet

n

-

n

-

-

smtpd -v

 

pickup

fifo

n

-

-

60

1

pickup

 

cleanup

unix

n

-

-

-

0

cleanup

 

qmgr

fifo

n

-

-

300

1

qmgr

 

qmgr

fifo

n

-

-

300

1

qmgr

 

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

 

smtp

unix

-

-

-

-

-

smtp

 

relay

unix

-

-

-

-

-

smtp

 

showq

unix

n

-

-

-

-

showq

 

error

unix

-

-

-

-

-

error

 

local

unix

-

n

n

-

-

local

 

virtual

unix

-

n

n

-

-

virtual

#

Je commente la ligne ci-dessous car c’est le lmtp de Cyrus-IMAP que je souhaite faire tourner (voir plus bas)

#

La commande netstat -anp |grep lmtp doit renvoyer ceci:

#

 

#

unix

2

[ ACC ]

STREAM

LISTENING

558026

19293/cyrmaster

/var/run/cyrus/socket/lmtp

#

 

#

et non ceci:

#

 

#

unix

2

[ ACC ]

STREAM

LISTENING

558026

19293/cyrmaster

/var/run/cyrus/socket/lmtp

#

unix

2

[ ACC ]

STREAM

LISTENING

596256

24511/master

private/lmtp

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

lmtp

unix

-

-

n

-

-

lmtp

 

anvil

unix

-

-

n

-

1

anvil

#

Les trois services ci-dessous sont utilisés par Postfix-tls uniquement:

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

 

tlsmgr

fifo

-

-

n

300

1

tlsmgr

#

Malgré la RFC 2487, certains clients, nommés Outlook (Express) prefèrent utiliser le mode non-standard "wrapper" au lieu d’utiliser l’extension SMTP STARTTLS. Ceci est vrai pour OE (Win32 < 5.0 et Win32 >= 5.0 lorsque port<>25 et OE (5.01 Mac et tous les portages).

#

 

#

ATTENTION:

Aucune des trois lignes ci-dessous ne permet de recevoir de mails de l’exterieur !!!
Chacune de ces ligne définit un port d’écoute différent du port 25
Donc même pour l’utilisation de SSL/TLS on conserve la toute première option de ce fichier

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

smtps

inet

n

-

n

-

-

smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

#

smtps

inet

n

-

n

-

-

smtpd -o smtpd_sasl_auth_enable=yes

#

587

inet

n

-

n

-

-

smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

#

#########################################################

#

 

#

Ci-dessous, on trouve les programmes externes à Postfix.

#

 

#

Consulter les docs/man de ces programmes pour connaître les options que réclame Postfix.

#

 

#

Pour "maildrop" lire le fichier "MAILDROP_README" consacré à Postfix ou consulter ce lien

#

 

#

#########################################################

#

La ligne ci-dessous déclare Cyrus-IMAP comme MDA.

#

Cette ligne n’existe pas par défaut, il faut donc l’ajouter (p49) et ce lien

#

Noter que /usr/sbin/cyrdeliver est le binaire qui délivre le courrier (package cyrus21-common)

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

 

cyrus

unix

-

n

n

-

-

pipe flags=R user=cyrus argv=/usr/sbin/cyrdeliver -e -q -r $sender -m $extension $user

#

Je peux commenter la ligne ci-dessous car maildrop n’existe pas sur ma machine.

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

maildrop

unix

-

n

n

-

-

pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d $recipient

#

Je peux commenter la ligne ci-dessous car l’agent de transport UUCP (Unix to Unix Copy Program) n’est pas installé.

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

uucp

unix

-

n

n

-

-

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

#

Je peux commenter la ligne ci-dessous car bsmtp (Batched SMTP) dépend de "uucp" et n’est pas installé.

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

bsmtp

unix

-

n

n

-

-

pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient

#

Je peux commenter la ligne ci-dessous car ifmail n’est pas installé.

#

"ifmail" fait partie du package "ifgate"

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

ifmail

unix

-

n

n

-

-

pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)

#

Je peux commenter la ligne ci-dessous car le package scalemail n’est pas installé.

#

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

-----------------

#

scalemail- backend

unix

-

n

n

-

2

pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store $nexthop $user $extension

Récapitulatif

1°/ Serveur smtpd + imapd uniquement:

TLS n’est donc pas installé.

Donc maintenant, si vous avez respecté les valeurs des règles vert/jaune (elles ne sont pas toutes nécessaires mais je garantis que les valeurs que je présente fonctionnent) et correctement construit vos fichiers externes, vous avez un serveur de mail en état de marche !

  • Le serveur d’authentification saslauthd ne tourne pas.
  • Postfix n’est pas chrooté
  • L’utilisateur postfix appartient au groupe mail
  • Les droits sur la base de données /etc/sasldb2 sont 640
  • L’adresse IP de la machine sur la quelle est exécuté Thunderbird est dans la liste de la règle mynetworks
  • Il y a une entrée pour l’utilisateur test0 dans /etc/postfix/aliases
  • Vous n’avez oubliez de créer aucun fichier externe alors qu’il est déclaré par une règle dans /etc/postfix/main.cf

... et voici comment doivent être configurés, dans Thunderbird, les serveurs smtpd et impad

Fig 1: Configuration du serveur SMTP sans TLS

Fig 2: Configuration du serveur imapd pour test0

Alors vous pouvez envoyer et recevoir des mails et votre serveur n’est pas un relai ouvert.

De plus, votre serveur effectue un certain nombre de tests sur le respect des normes par les clients mail et leurs messages ainsi qu’un tri des messages non désirables (requêtes DNRBL).

2°/ Serveur smtpd + TLS:

Si vous avez initialisé les règles relatives à la mise en oeuvre du protocole TLS avec Postfix, alors, avec Thunderbird, le serveur SMTP doit être ainsi défini:

Fig 3: Configuration du serveur SMTP avec TLS

Lien vers l'article précédent
Postfix : tables et contrôle anti-spam
Postfix : le fichier smtpd.conf
Lien vers l'article suivant

Commentaires