« LINUX:Postfix-Services à l'écoute » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 96 : Ligne 96 :


Voici les options retenues:
Voici les options retenues:
* smtpd_tls_security_level=none : Il n'y a pas de cryptage (défaut)
* '''smtpd_tls_security_level=none''' : Il n'y a pas de cryptage (défaut)
* smtpd_tls_security_level=may : Elle spécifie que le cryptage n'est pas exigé.
* '''smtpd_tls_security_level=may''' : Elle spécifie que le cryptage n'est pas exigé.
* smtpd_tls_security_level=encrypt : Elle spécifie que le cryptage est exigé.
* '''smtpd_tls_security_level=encrypt''' : Elle spécifie que le cryptage est exigé.
* smtpd_tls_wrappermode=yes : Elle exige le cryptage et qu'il soit de type SSL/TLS. L'option "smtpd_tls_security_level=encrypt" est imposée. Sinon l'absence ou le cryptage de type STARTTLS sont acceptés. (défaut: no)
* '''smtpd_tls_wrappermode=yes''' : Elle exige le cryptage et qu'il soit de type SSL/TLS. L'option "smtpd_tls_security_level=encrypt" est imposée. Sinon l'absence ou le cryptage de type STARTTLS sont acceptés. (défaut: no)




==Authentification==
==Authentification==
Voici les options concernant l'authentification:
Voici les options concernant l'authentification:
* smtpd_sasl_auth_enable=yes : L'authentification est activée. (défaut: no)
* '''smtpd_sasl_auth_enable=yes''' : L'authentification est activée. (défaut: no)
* smtpd_sasl_security_options=noanonymous : Les authentifications anonymes sont refusées.
* '''smtpd_sasl_security_options=noanonymous''' : Les authentifications anonymes sont refusées.
* smtpd_sasl_type=dovecot : La tâche de vérification du couple "utilisateur:mot de passe" est transférée au service Dovecot.
* '''smtpd_sasl_type=dovecot''' : La tâche de vérification du couple "utilisateur:mot de passe" est transférée au service Dovecot.
* smtpd_sasl_path=private/auth : Canal de transfert entre SMTPD et SASL.
* '''smtpd_sasl_path=private/auth''' : Canal de transfert entre SMTPD et SASL.
* smtpd_tls_auth_only=yes : Dans le cas, du cryptage de type STARTTLS, le cryptage des données d'authentification sont effectuées. Dans le cas du cryptage de type SSL/TLS ce n'est pas nécessaire. Dans le cas de l'absence de cryptage, cette option peut être mise à "yes" mais certains clients sont incompatibles avec ce cas; il est donc conseillé de le laisser à "no" dans ce cas. (défaut: no)
* '''smtpd_tls_auth_only=yes''' : Dans le cas, du cryptage de type STARTTLS, le cryptage des données d'authentification sont effectuées. Dans le cas du cryptage de type SSL/TLS ce n'est pas nécessaire. Dans le cas de l'absence de cryptage, cette option peut être mise à "yes" mais certains clients sont incompatibles avec ce cas; il est donc conseillé de le laisser à "no" dans ce cas. (défaut: no)
* smtpd_client_restrictions=permit_sasl_authenticated,reject : Elle spécifie que l'utilisateur doit s'authentifier pour pouvoir envoyer un mail.
* '''smtpd_client_restrictions=permit_sasl_authenticated,reject''' : Elle spécifie que l'utilisateur doit s'authentifier pour pouvoir envoyer un mail.
 
 
==Vérification du couple "Utilisateur-Mot de passe" auprès de Dovecot==
Par l'option "'''smtpd_sasl_type=dovecot'''", Postfix transfère la tâche de vérification du nom de l'utilisateur et de son mot de passe à Dovecot.
 
Dans l'article [[LINUX:Postfix et Dovecot-Configuration de gestion|Postfix et Dovecot-Configuration de gestion]], nous avons présenté une configuration de Dovevcot basique et simplifiée. Pour supporter cette nouvelle fonctionnalité, il faut amender cette configuration.
 
Deux fichiers sont concernés:
* Dans le fichier "'''10-auth.conf'''", il faut ajouter la ligne:
----
auth_mechanisms = plain login
----
* Le fichier "'''10-master.conf'''" doit accueillir la section:
----
service auth {
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
}
----




==Relay==
==Relay==
La fonctionnalité de Relay n'est pas à prendre à la légère. Il faut laisser cette fonction aux FAIs. Si vous laissez cette porte ouverte, vous serez une plateforme pour la diffusion des SPAMs et des malwares. Et au final, vous vous retrouverez sur une des listes noires des serveurs de messagerie et plus aucun autre serveur de messagerie n'acceptera vos mails.
La fonctionnalité de Relay n'est pas à prendre à la légère. Il faut laisser cette fonction aux FAIs. Si vous laissez cette porte ouverte, vous serez une plateforme pour la diffusion des SPAMs et des malwares. Et au final, vous vous retrouverez sur une des listes noires des serveurs de messagerie et plus aucun autre serveur de messagerie n'acceptera vos mails.
* smtpd_relay_restrictions=reject
* '''smtpd_relay_restrictions=permit_auth_destination,defer_unauth_destination''': La fonction de Relay est désactivée. On ne délivre que les messages des domaines locaux.
* smtpd_relay_restrictions=permit_sasl_authenticated,reject : Elle spécifie que la fonctionnalité de Relay n'est acceptée que pour les utilisateur authentifiés. Cette fonction permet qu'un mail arrivant sur le serveur qui n'est pas destiné à une boîte postale locale, peut être envoyé à un autre serveur de messagerie.
* '''smtpd_relay_restrictions=permit_sasl_authenticated,reject''' : Elle spécifie que la fonctionnalité de Relay n'est acceptée que pour les utilisateur authentifiés. Cette fonction permet qu'un mail arrivant sur le serveur qui n'est pas destiné à une boîte postale locale, peut être envoyé à un autre serveur de messagerie.




=Configuration spécifique de ces services=
=Configuration spécifique de ces services=
Le fichier "/etc/postfix/main.cf" applique sa configuration à tous les services SMTPD. Mais il est plus judicieux de spécifier certaines options au service concerné. Nous nous concentrerons sur les services de réception de mails usuels: SMTP, SUBMISSION et SMTPS qui utilisent un même démon: "smtpd".
Le fichier "/etc/postfix/main.cf" applique sa configuration à tous les services SMTPD. Mais il est plus judicieux de spécifier certaines options au service concerné. Nous nous concentrerons sur les services de réception de mails usuels: SMTP, SUBMISSION et SMTPS qui utilisent un même démon: "smtpd".
Les exemples qui suivent présentent différents scenarios. Ils ont pour but de démontrer que ces différentes options sont des blocs que l'on agence comme on veut hors des conventions.
==Service SMTP==
Le service SMTP écoute par défaut sous le port TCP 25. C'est le premier service qui est apparu en messagerie électronique; il est encore utilisé classiquement entre serveurs de messagerie. Mais il est de plus en plus désactivé auprès des clients de messagerie au profit des services SUBMISSION ou SUBMISSIONS avec authentification.
Voici une première configuration classique sans authentification ni cryptage:
----
smtp      inet  n      -      n      -      -      smtpd
  -o smtpd_relay_restrictions=permit_auth_destination,defer_unauth_destination
----
Le Relay est exclu.
La seconde configuration est toujours sans authentification mais ici, le cryptage de type STARTTLS ou son absence sont acceptés:
----
smtp      inet  n      -      n      -      -      smtpd
  -o smtpd_tls_security_level=may
  -o smtpd_relay_restrictions=permit_auth_destination,defer_unauth_destination
----
Le Relay est exclu.
==Service SUBMISSION==
Le service SUBMISSION écoute par défaut sous le port TCP 587. Dans ces configurations, l'authentification est exigée mais le Relay est accepté pour ceux qui se sont authentifiés. Ces configurations sont destinées aux clients de messagerie tel Thunderbird. La validation de l'authentification est dévolue au service Dovecot.
Dans cette configuration, l'absence de cryptage et le cryptage de type STARTTLS sont acceptés.
----
submission inet n      -      n      -      -      smtpd
# authentification
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# cryptage
  -o smtpd_tls_security_level=may
  -o smtpd_tls_auth_only=no
----
Dans cette configuration, seul le cryptage de type STARTTLS est accepté. La phase d'authentification est également cryptée.
----
submission inet n      -      n      -      -      smtpd
# authentification
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# cryptage
  -o smtpd_tls_security_level=encrypt
  -o smtpd_tls_auth_only=yes
----
==Service SMTPS (ou SUBMISSIONS)==
Le service SMTPS écoute par défaut sous le port TCP 465. Dans cette configuration, l'authentification est désactivée mais le cryptage est de type SSL/TLS.
----
smtps    inet  n      -      n      -      -      smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_relay_restrictions=permit_auth_destination,defer_unauth_destination
----
Le Relay est exclu.