Postfix/TLS - Configurer main.cf et master.cf

Afin d'utiliser les extensions TLS vous devez renseigner quelques informations a Postfix. Regardez également le fichier conf/sample-tls.cf

main.cf: smtpd (serveur) variables spécifiques
# pour utiliser TLS nous avons besoin d'un certificat et d'une clef privée. Tous les deux doivent être
# au format "PEM ",la clé privée ne doit pas être chiffrée, ce qui signifie:
# elle doit être accessible sans mot de passe. Les deux pièces (certificat et
# clé privée) peuvent être dans le même fichier
#
# RSA et DSA sont des formats de certificats supportées
# Typiquement vous pouvez seulement vous faire délivrer des certificats de RSA par un CA commercial
# Les outils OpenSSL vont, par defaut, générer des certificats RSA
# Vous pouvez avoir les deux en même temps, dans ce cas-ci le chiffrage du client utilisé décide
# Pour les clients Netscape et OpenSSL le certificat de RSA est préféré.
#
# Afin de contrôler les certificats, le certificat CA (dans le cas d'une chaine de certificats, tous les certificats CA) doit être disponible
# Vous devez ajouter ces certificats aux certificat du serveur, ce dernier en premier puis ceux émis par par le(s) CA(s)
#
# exemple: le certificat pour "serveur.chez.moi" a été émis par "Intermediate CA"
# qui lui même a un certificat de "root CA". Creez le fichier server.pem en faisant 'cat server_cert.pem intermediate.pem > server.pem'
#
# Si vous voulez accepter des certificats délivrés par ces derniers en tant que vous-même, vous pouvez aussi ajouter les certificats CA
# au fichier smtpd_tls_CAfile, dans ce cas ce n'et pas nécessaire de les avoir dans le fichier smtpd_tls_[d]cert_file
#
# Un certificat fourni ici doit être utilisable comme SSL certificat serveur et par conséquent passer le test
# "openssl verify -purpose sslserver ..."
#
smtpd_tls_cert_file = /etc/postfix/server.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
#
# Les équivalents DSA
smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
smtpd_tls_dkey_file = $smtpd_tls_dcert_file
#
# le certificat a été délivré par une autorité de certification (CA) le certificat CA de celui-ci doit être disponible
# si il n'est pas dans le fichier de certificats.
# Ce fichier peut également contenir les les certificats de CA d'autres CA de confiance.
# Vous devez utiliser ce fichier pour la liste de CA de confiance si vous voulez utiliser le mode chroot.
# Il n'y a pas de valeurs par defaut
#
# smtpd_tls_CAfile = /etc/postfix/CAcert.pem

# pour vérifier le certificat de pair, nous devons connaître les certificats des autorités de certification. Ces certificats sont au format PEM
# et sont rassemblés dans un répertoire. Les mêmes CA sont offerts aux clients pour la vérification. N'oubliez pas de créer
# les tables de hachages nécessaires avec $OPENSSL_HOME/bin/c_rehash /etc/postfix/certs. Une place classique
# pour les certificats CA peut être aussi $OPENSSL_HOME/certs, il n'y a donc aucune valeur par défaut et vous avez à
# le spécifier ici
#
# Pour utiliser cette option en mode chrooté, ce répertoire ou une copie de celui-ci doit être dans la 'cage'. Veuillez noter également
# que les CA listés dans ce répertoire ne sont pas listés aux clients, Netscape ne peut donc pas offrir de certificats émis par ceux ci.
#
# Je n'encourage pas à l'utilisation de cette option

smtpd_tls_CApath = /etc/postfix/certs

# Pour obtenir des informations supplémentaires pendant la mise en place et les négociations TLS
# vous pouvez augmenter le niveau de journalisation de 0 à 4:
# 0 : rien a propos du TLS
# 1 : Notification de mise en route et information de certificat
# 2 : 1 + impression des niveaux pendant la négociation
# 3 : 2 + hexa et vidage mémoire Ascii du processus de négociation
# 4 : 4: 3 + hexa et vidage mémoire Ascii de transmission complète après STARTTLS
# utilisez le niveau 3 uniquement en cas de problémes. L'utilisation du niveau 4 est fortement déconseillée.
#
# smtpd_tls_loglevel = 0
# Afin d'inclure des informations sur le protocole et le cryptage utilisé aussi bien que le client et l'émetteur
# dans l'entête "Received:", positionnez la variable smtpd_tls_received_header à true. Par défaut elle est a no,
# du fait que cette information n'est pas forcément authentique. Seulement la destination finale est fiable,
# puisque les en-têtes pourraient avoir été modifiées entre temps.
#
# smtpd_tls_received_header = yes

# Vous pouvez IMPOSER l'utilisation de TLS, de sorte qu'on ne permette aucune commande (excepté QUIT naturellement)
# sans TLS. Selon la RFC2487 ceci NE DOIT PAS être appliquée dans le cas d'un serveur SMTP public. Cette option est
# donc inactive par defaut et ne doit être utilisée que rarement. Cette fonction implique
# smtpd_use_tls = yes
#
#smtpd_enforce_tls = no
#
# Sans compter que quelques clients, comme outlook express prefère utiliser un mode d'emballage non-standard et non les
# améliorations STARTTLS de SMTP.
# Ceci est vrai pour outlook express ( Win32 < 5.0 et Win 32 >= 5.0 quand on l'utilise sur un port differents de 25
# et sur 5.01 pour Mac sur tous les ports
# Il est strictement découragé d'utiliser utiliser ce mode depuis main.cf. Si vous voulez
# supporter ce service, rajoutez un port spécial dans master.cf. Le port 465 (smtps) a été choisi pour ce dispositif.
# smtpd_tls_wrappermode = no

# Pour recevoir un certificat de client, le serveur doit explicitement en demander un. Par conséquent Netscape se plaindra
# si aucun certificat n'est disponible (pour la liste des CA dans /etc/postfix/certs) ou vous offrira des certificats clients
# pour choisir. Ceci peut être ennuyeux, ainsi cette option est "Off" par défaut .
# Vous aurez peut être besoin du certificat si vous voulez faire du relayage à partir des certificats
#
# smtpd_tls_ask_ccert = no

# Vous pouvez également décider D'EXIGER d'un certificat de client afin de permettre des connexions de TLS.
# Je ne pense pas que ce sera nécessaire souvent, il est cependant inclus ici. Cette option smtpd_tls_ask_ccert = yes
#
# Notez bien que ceci empêchera des connexions TLS sans un certificat approprié, et n'a de sens que dans le cas
# de soumission normal desactivée (smtpd_enforce_tls). Autrement les clients peuvent éviter ceci en n'utilisant pas du tout
# STARTTLS. Quand TLS n'est pas imposé, la connexion ne sera traitée comme si smtpd_tls_ask_ccert = yes
# était activé et une information est journalisée.

# smtpd_tls_req_ccert = no

# la profondeur de vérification pour des certificats de client. Une profondeur de 1 est suffisante si le certificat
# est émis directement par un CA listé dans la liste des CA.
# La valeur par defaut (5) suffit également pour de plus longues chaînes (le root CA émet le CA spécial
# qui délivre alors le certificat réel...)

# smtpd_tls_ccert_verifydepth = 5

# le serveur et le client négocient une session, qui prend un certain temps machine et une largeur de bande passante.
# La session est cachée seulement dans le processus de smtpd réellement en utilisant cette session et est détruite
# quand le processus meurt pour partager l'information de session entre les processus de smtpd,
# antémémoire de session peut être utilisée avec des bases de données SDBM (sous-programmes inclus dans Postfix/TLS)
# Puisque l'écriture concourante doit être supportée seulement SDBM peut être utilisé.

smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache

# les sessions cachées ont un delais d'attente. Je n'utilise pas le défaut d'OpenSSL de 300sec, mais un plus long temps
# de 3600sec (= 1 heure). RFC2246 recommande un maximum de 24 heures

# smtpd_tls_session_cache_timeout = 3600s

# deux options supplémentaires a été ajoutées pour la commande de relais aux règles d'UCE
# permit_tls_clientcerts (a)
# et
# permit_tls_all_clientcerts. (b)
#
# Si une de ces options est ajoutée
# smtpd_recipient_restrictions
# postfix va relayer si
# (a) Un client valide (vérification faite) est présenté et que son empreinte est inscrite dans la liste des certificats clients
# (relay_clientcerts),
# (b) n'importe quel client valide (vérification faite) est présenté.
#
# L'option (b) doit seulement être utilisée, si un CA spécial délivre les certificats et seulement ce CA
# est énuméré en tant que CA de confiance. Si on fait confiance à d'autres CA tout propriétaire d'un certificat client valide
# peut être relayé. L'option (b) peut être pratique pour un relais spécialement créé. Il est recommande cependant de rester
# avec l'option (a) et d'énumérer tous les certificats, car (b) ne permet aucun contrôle quand un certificat ne doit
# plus être utilisé (par exemple un employé partant).

# smtpd_recipient_restrictions = ... permit_tls_clientcerts ...

# La liste de certificats de client pour lesquels le relais sera permis.
# Malheureusement les sous-programmes pour des listes utilise des espaces comme séparateurs
# et s'emmèle sur les caractères spéciaux
# Ainsi l'utilisation du certificat # du X509ONELINES est tout à fait impraticable. Nous utiliserons donc
# les empreintes digitales à ce point, car il est difficile de les truquer mais facile à utiliser pour la consultation
# pendant que le postmap (en utilisant par exemple le DB) exige d'avoir une paire de clé et de valeur,
# mais nous avons besoin seulement de la clef, la valeur pouvant être choisie librement, par exemple le nom
# de l'utilisateur ou de l'hôte:
# D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home

# relay_clientcerts = hash:/etc/postfix/relay_clientcerts

# Pour influencer la sélection du cryptage, vous pouvez donner une liste de cryptage.
# Une description complète irait troin loin ici, allez voir la documentation sur le site d'OpenSSL
# Si vous ne savez pas quoi faire avec, n'y touchez pas et laissez celui d'openssl par defaut
# N'UTILISEZ PAS " pour entourer la chaîne de caractères, juste la chaîne de caractères!!!
#
# smtpd_tls_cipherlist = default

# Si vous voulez tirer profit du chiffrage avec EDH, les paramètres de DH sont nécessaires.
# Ils sont construits dans les paramètres DH pour à la fois le 1025éme et le 512éme bit disponible
# Il vaut mieux cependant avoir ses "propres" paramètres, puisqu'autrement ce serait "payant" pour un
# 'pirates' d'attaquer en brute force ces paramètres qui sont utilisés communément.
# Pour cette raison, les paramètres choisis sont déjà différents de ceux distribués avec le package TLS

# Pour produire de votre propre ensemble de paramètres, faites :
# openssl gendh -out /etc/postfix/dh_1024.pem -2 -rand /var/run/egd-pool 1024
# openssl gendh -out /etc/postfix/dh_512.pem -2 -rand /var/run/egd-pool 512
# Votre source pour la génération aléatoire peut varier; sur des ystèmes linux c'est /dev/random
# Pour d'autres systèmes vous pouvez consulter "Entropy Gathering Daemon EGD",
# disponible sur http://www.lothar.com/tech/crypto/.

smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem

# le smtpd_starttls_timeout paramètre la limite de temps en secondes pour lire et écrire
# les opérations pendant les procédures de 'serrages de mains' (SSL handshake)
#
# smtpd_starttls_timeout = 300s

# Main.cf smtp (client) variables spécifiques
# Pendant la négociation de démarrage nous pourrions présenter un certificat au serveur. Netscape
# est plutôt intelligent ici et laisse l'utilisateur choisi entre seulement ceux qui corresipondront à ceux reçus du serveur
# Comme j'utilise simplement la commande "SSL_connect()" du package OpenSSL, ceci n'est pas encore possible
# et nous ne devons choisir qu'un certificat.
# Le paramètre par defaut est de n'utiliser aucun certificat/clef a moins de de le définir ici.
# Si un certificat est présent il doit être au format PEM, la clef privée ne doit pas être encryptée : concrétement
# cela veut dire qu'elle doit être accessible sans mot de passe. LA clef et le certificats peuvent être dans le même fichier.

# Afin de contrôler les certificats, le certificat CA doit être disponible (dans le cas d'une chaine de certificats, tous les
# certificats CA).
# Exemple: le certificat pour "moi.chez.moi.fr" a été émis par "intermedaire CA" qui lui-même
# a un certificat de "racine CA". Créez le client.pem par :
# 'cat client_cert.pem intermediaire_CA.pem racine_CA.pem > client.pem'
#
# Si vous voulez accepter vous mêmes les certificats émis par ces CA, vous pouvez également ajouter
# les certificats CA au fichier smtp_tls_CAfile, dans ce cas il n'est pas nécessaire de les avoir
# dans le fichier smtp_tls_[d]cert_file

# Un certificat fourni ici doit être utilisable en tant que certificat de client de SSL et passer le test
# "openssl verify -purpose sslclient ..."

smtp_tls_cert_file = /etc/postfix/client.pem
smtp_tls_key_file = $smtp_tls_cert_file

# Le certificat a été délivré par une autorité de certification (CA), son certificat CA doit être disponible, si il n'est
# pas dans le fichier de certificat
# Ce fichier peut aussi contenir les certificats CA d'autres CA de confiance.
# Vous devez utiliser ce fichier pour lister les CA de confiance si voulez utiiser le mode chroot
# Cette variable n'a aucune valeur fixèe par défaut

smtp_tls_CAfile = /etc/postfix/CAcert.pem

# Pour vérifier le certificat de pair, nous devons connaître les certificats des autorités de certification. Ces certificats
# au format PEM sont rassemblés en répertoire. N'oubliez pas de créer les tables de hachage nécessaires avec
# un $OPENSSL_RACINE/bin/c_rehash /etc/postfix/certs, il n'y a pas de valeurs par defaut et vous devez en
# renseigner une ici
# Pour utiliser cette option en mode chroot, ce repertoire ou une copie de celui-ci doit être dans la cage

smtp_tls_CApath = /etc/postfix/certs

# Pour obtenir des informations suplémentaires pendant la mise en place et les négociations TLS
# vous pouvez augmenter le niveau de journalisation de 0 à 4:
# 0 : rien a propos du TLS
# 1 : Notification de mise en route et information de certificat
# 2 : 1 + impression des niveaux pendant la négociation
# 3 : 2 + hexa et vidage mémoire Ascii du processus de négociation
# 4 : 4: 3 + hexa et vidage mémoire Ascii de transmission complète après STARTTLS
# utilisez le niveau 3 uniquement en cas de problémes. L'utilisation du niveau 4 est fortement déconseillée.

smtp_tls_loglevel = 0

# le serveur et le client négocient une session, qui prend un certain temps machine machine et une certaine bande passante.
# La session est cachée seulement dans le processus de smtpd réellement en utilisant cette session et est détruite
# quand le processus meurt pour partager l'information de session entre les processus de smtpd,
# antémémoire de session peut être utilisée avec des bases de données SDBM (sous-programmes inclus dans Postfix/TLS)
# Puisque l'écriture concourante doit être supportée, seulement SDBM peut être utilisé.

smtp_tls_session_cache_database = sdbm:/etc/postfix/smtp_scache

# les sessions cachées ont un delais d'attente. Je n'utilise pas le défaut d'OpenSSL de 300sec, mais un plus long temps
# de 3600sec (= 1 heure). RFC2246 recommande un maximum de 24 heures

# Par defaut TLS est désactivé, ainsi aucune différence au Postfix ordinaire n'est visible. Si vous l'activez
# TLS sera utilisé quand le serveur l'offrira.
# ATTENTION : Je n'ai pas eu accès à d'autres logiciels (autres que ceux énumérés) pour tester l'interaction.
# Sur certaines listes de diffusions il y a eu une discussion a propos des serveurs MS EXCHANGE qui offre TLS
# même si il n'est pas configuré, ainsi il pourrait être sage de ne pas utiliser ceci sur votre serveur central de messagerie
# car vous ne savez pas à l'avance si vous allez rencontrer ce genre de serveur. Utilisez les options de recipient/site à la place .
# Conseil: je l'ai activé sur mes serveurs de courrier et je n'a eu qu'une panne depuis que la version client de TLS
# est implémentée (c'était un serveur EXCHANGE mal configuré, j'ai contacté l'administrateur).
# Par conséquent j'en suis satisfait de l'utiliser tout le temps, mais je suis toutefois intéressé par des tests.
# Cependant vous aurez été prévenu ;-)

# Dans le cas d'un echec, un code "4xx" (ndt: erreur temporaire) est émis et le message reste dans la file d'attente
# Spécifiez le ici si vous le voulez

smtp_use_tls = yes

# Vous pouvez IMPOSER l'utilisation de TLS, de sorte que seulement des connexions avec TLS soient acceptées
# De plus, le nom de l'hôte doit être identique au nom contenu dans le certificat. En outre, le certtificat doit
# passer avec succès la vérification, le client doit faire confiance à l'entité de certification qui a émis le certificat.
# Si le certificat ne correspond pas au nom de la machine ou si le test de vérification échoue un code "4xx"
# va être envoyé et le message va rester en file d'attente.
# Le nom d'hôte utilisé est évident, en effet il doit être le nom principal de la machine (pas de CNAME ici).
# Le comportement peut être changé avec l'option de smtp_tls_enforce_peername

# smtp_tls_enforce_peername = yes

# Comme offrir TLS par défaut peut être une mauvaise idéee (quelques machines offre STARTTLS mais
# la négociation va échouer avec des erreurs inexpliquables, il peut être une bonne idée de décider selon
# le destinataire ou la machine distante sur laquelle vous vous connectez

# Décider par destinataire peut être difficile, car un seul message peut avoir plusieurs destinataires.
# Nous allons utiliser le mécanisme "nexthop" (prochain saut) interne de Postfix.
# Quand un message va être délivré, the "nexthop" est obtenu. Si il correspond à une entrée
# dans la liste smtp_tls_per_site, une action appropriée est effectuée
# Une entrée dans la table de transport ou l'utilisation de relay_host réecrivent le paramètre "nexthop"
# dans ce cas l'hôte de relayage doit être indiqué dans la liste. Dans tous les cas le nom
# de l'hote à contacter est résolu (en fait l'enregistrement MX ou le nom de la machine si il n'y a pas de MX)
# Conseil spécial pour le renforcement:
# puisqu'il n'y a aucun moyen disponible pour sécuriser les résolutions DNS , le paramètrage recommandé est:
# mettez les domaines sensibles dans une table de transport (vous pouvez ainsi vous assurer de la sécurité
# de cette table à la différence de DNS), puis paramétrez à MUST cet hôte de messagerie.

# Format de la table:
# Le entrées clefs sont sur le coté gauche, les jokers ne sont pas autorisés. Sur la partie droite
# les mots clefs NONE (n'utilise pas TLS), MAY (essaye d'utiliser TLS si il est offert, sinon pas de problèmes)
# MUST (force l'usage de TLS, vérifie le nom du certificat server avec le nom du serveur), MUST_NOPEERMATCH
# (force l'usage de TLS et vérifie le certificat, mais ignore les différences entre le nom commun du certificat et le nom
# de la machine).
# dom.ain NONE
# host.dom.ain MAY
# important.host MUST
# some.host.dom.ain MUST_NOPEERMATCH

# Si une entrée ne correspond pas la politique par défaut est appliquée; si la politique par défaut est "enforce",
# NONE la désactive explicitement, sinon le mode "enforce" est utilisé même pour les entrées "MAY"
#
smtp_tls_per_site = hash:/etc/postfix/tls_per_site

# la profondeur de vérification pour des certificats de client. Une profondeur de 1 est suffisante si le certificat
# est émis directement par un CA listé dans la liste des CA.
# La valeur par defaut (5) suffit également pour de plus longues chaînes (le root CA émet le CA spécial
# qui délivre alors le certificat réel...)

# smtp_tls_scert_verifydepth = 5

# Comme nous avons décidé d'opter pour une politique "par site" afin d'utiliser ou non TLS, il serait interessant
# d'avoir une liste de sites offrant STARTTLS. Nous pouvons la récupérer nous mêmes avec cette option:
# Si ce paramètre est activé et que TLS n'est pas activé pour cet hôte, une ligne est ajouté dans le fichier
# de journalisation:
# postfix/smtp[pid]: Host offered STARTTLS: [nom.de.la.machine]
# smtp_tls_note_starttls_offer = yes

# Pour influencer la sélection du cryptage, vous pouvez donner une liste de cryptage.
# Une description complète irait troin loin ici, allez voir la documentation sur le site d'OpenSSL
# Si vous ne savez pas quoi faire avec, n'y touchez pas et laissez celui d'openssl par defaut
# N'UTILISEZ PAS " pour entourer la chaîne de caractères, juste la chaîne de caractères!!!
#
# smtp_tls_cipherlist = DEFAULT

# le smtp_starttls_timeout paramètre limite le temps en secondes pour lire et écrire
# les opérations pendant les procédures de 'serrages de mains' (SSL handshake)
#
# smtp_starttls_timeout = 300s

main.cf : variables générales

# Afin d'alimenter le PRNG Pseude Random Number Generator (pseudo générateur de nombres aléatoires),
# des données aléatoires sont nécéssaires. Le 'stock' de PRNG est mis à jour par le démon "tlsmgr" et est utilisé (lu)
# par les process smtp(d) après avoir ajouté encore plus d'entropie par l'agitation du temps et de l'identifiant du process.
# le fichier, qui est de temps en temps réécrit par tlsmgr, est créé si il n'existe pas. Une valeur par défaut est donnée
# et doit sûrement être dans la partition /var mais PAS dans la cage de chroot.

# tls_random_exchange_name = /etc/postfix/prng_exch

# Pour alimenter le stock PRNG, l'entropie est lue depuis une source externe, à la fois au démarrage et pendant l'éxecution
# Spécifiez ici une bonne source, comme EGD ou /dev/urandom, soyez certains de ne pas utiliser des sources bloquantes
# Dans les deux cas, 32 octets sont lus à chaque 'alimentation' (qui est une quantité de 256 bits et par conséquent
# assez bon pour des clefs symétriques de 128bits)
# Vous devez spécifier la type de sources : "dev:" pour un pour un fichier spécial de périphérique ou "egd:" pour
# une source avec un port de communication (socket) compatible avec l'interface EGD. Un maximum de 255 octets
# est lu depuis ces sources à chaque étape.
# Si vous spécifiez un fichier normal, un plus grand nombre de données peut être lu.

# La source d'entropie est interrogée de nouveau après un certains temps. ce temps est calculé en utilisant le PRNG,
# il est compris entre 0 et le temps spécifié, un defaut est spécifié à 1 heure

# tls_random_source = dev:/dev/urandom
tls_random_source = egd:/var/run/egd-pool
# tls_random_bytes = 32
# tls_random_reseed_period = 3600s

# Le stock PRNG dans tlsmgr est utilisé pour regénérer le fichier de 1024 octets qui est lu par smtp(d). Le temps, après lequel
# le fichier d'échange se trouve regénéré est calculé en utilisant le PRNG, il est compris entre 0 et le temps spécifié,
# le defaut est un maximum de 60 secondes

# tls_random_upd_period = 60s

# Si vous avez une source d'entropie disponible, qui n'est pas facilement vidée (comme /dev/urandom), les démons
# peuvent aussi charger une entropie supplémentaire au démarrage depuis une source spécifiée. Par défaut une quantité
# de 32 octets est lue, équivalent à 256 bits. Ceci est plus que suffisant pour générer une clef de session de 128 (ou 168) bits
# mais nous avons à en générer plus d'une. L'utilisation de cette option peut vider EGD (en prenant le cas de 50 smtp
# démarrant avec une file d'attente pleine en faisant "postfix start", ceci devrait requérir 1600 octets d'entropie). Ceci
# n'est cependant pas une cause d'arrêt, du fait que les données d'entropie peuvent être lues depuis le fichier d'échange.

# tls_daemon_random_source = dev:/dev/urandom
tls_daemon_random_source = egd:/var/run/egd-pool
# tls_daemon_random_bytes = 32

master.cf: le démon tlsmgr

Si vous n'avez pas de périphérique /dev/urandom ou si vous n'utilisez pas le système de cache de session, vous devez lancer
le démon tlsmgr (voir conf/master.cf). Tlsmgr a besoin d'avoir accés à la source d'entropie et ne peut (encore) être éxécuté
dans une cage. Il peut restreindre ses privilèges, si les sources d'entropie (par exemple /dev/urandom ou un port de communication
(socket) EGD) n'ont pas des restrictions d'accès.

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
tlsmgr fifo - - n 300 1 tlsmgr

master.cf: services supplémenentaires

Il peut être pratique d'avoir postfix écoutant sur des ports supplémentaires, nommés "submission"=587 pour la
soumission d'email comme défini dans la RFC2476; c'est particulièrement utile si vous voulez permettre une authentification
avec des mots de passes en clair (PLAIN,LOGIN) et par conséquent exécuter sur un port avec l'application de
chiffrement. Un autre port utile peut être "smtps"=465 qui a été destiné pour l'emballage TLS et qui est toujours
utlisé par outlook (express)

Les deux entrées d'exemple contiennent déjà les indicateurs pour permettre l'authentification de SASL (qui peut être
desactivé sur le port normal). Puisque les noms réels de service sont utilisés, les smtps et la soumission doivent être définis
dans /etc/services (et probablement aussi dans / var/spool/postfix/etc/services si éxecuté dans une cage)!!!
(utilisez les numéros de ports autrement.)

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
smtps inet n - y - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
submission inet n - y - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes