mails:sasl:mta-serveur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
mails:sasl:mta-serveur [2018/11/18 17:21] cdrom1mails:sasl:mta-serveur [2018/12/17 09:55] (Version actuelle) – supprimée cdrom1
Ligne 1: Ligne 1:
-====== SASL pour l'accès au serveur MTA ====== 
-Nous utilisons Postfix installé sous debian avec saslauthd (Cyrus). 
-On n'utilise pas ldapdb parce que cette lib garde un cache des hashs de mot de passe, alors que Cyrus sait aussi valider l'authentification par un bind ldap, une auth pam, ou encore une auth IMAP sur le MDA. C'est cette dernière solution que nous allons adopter. 
  
-===== Les fichiers de config ===== 
-Le remplissage des fichiers de config est automatisé avec les dockerfiles, mais il peut être intéressant de les inspecter à la main. On détaille ici les paramètres importants pour Cyrus. 
- 
-Sous debian, le fichier de config Cyrus pour postfix est dans <code>/etc/postfix/sasl/smtpd.conf</code> 
- 
-On indique dans le main de Postfix un lien vers ce fichier de config de Cyrus: 
-<code> 
-#/etc/postfix/main.cf: 
-smtpd_sasl_path = smtpd 
-</code> 
-Il est important que smtpd porte le même nom que le fichier de config Cyrus (sans le .conf). 
- 
-===== Le démon saslauthd ===== 
-Ce démon crée un socket UNIX et attend qu'on lui demande de valider des authentifications. La config par défaut de saslauthd veut que ce démon soit dans : 
-<code>/var/run/saslauthd</code> 
-Cependant, Postfix est //chrooted// pour des raisons de sécurité (il n'a accès qu'à une partie de l'arborescence du système de fichiers). Par conséquent, il ne peut accéder à /var/run. 
-Debian recommande de créer des processus saslauthd séparés et spécifiques (nous en créons donc un pour postfix). Pour plus de détails, [[https://wiki.debian.org/PostfixAndSASL|voir cette page du wiki Debian]]. Il y a certaines manips à réaliser pour que Postfix puisse accéder au socket de saslauthd, notamment mettre l'utilisateur //postfix// dans le groupe //sasl//. 
-Le socket de saslauthd-post sera finalement dans <code>/var/spool/postfix/var/run/saslauthd</code>, à l'intérieur du répertoire de travail de Postfix. 
- 
-Pour donner à Postfix l'ordre de contacter saslauthd en tant que démon de vérification de mot de passe, on modifie smtpd.conf (sous debian, dans /etc/postfix/sasl/smtpd.conf, à créer sur une install fraîche): 
-<code> 
-pwcheck_method: saslauthd 
-mech_list: PLAIN LOGIN 
-</code>. 
-On voit que le login est transmis en PLAIN, c'est dû au protocole SMTP. Il faut rajouter une couche de chiffrement pour que ce soit sécurisé. Sur une prod, il faut interdire l'auth PLAIN sur du SMTP non sécurisé. (En revanche, une connexion sans authentification peut se faire en SMTP non sécurisé (typiquement pour de la réception de mails du reste du monde)). 
-==== Le processus saslauthd-postf ==== 
-On crée un processus saslauthd spécifique qui ne sera accessible qu'à Postfix. 
-Pour cela, on copie le processus par défaut et on l'édite: 
-<code>~# cp /etc/default/saslauthd /etc/default/saslauthd-postfix</code> 
-<code>START=yes 
-DESC="SASL Auth. Daemon for Postfix" 
-NAME="saslauthd-postf"      # max. 15 char. 
-# Option -m sets working dir for saslauthd (contains socket) 
-OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"        # postfix/smtp in chroot()</code> 
-(repris du [[https://wiki.debian.org/PostfixAndSASL|Wiki debian]]). 
-Il faut faire d'autres modifications en fonction de la source d'information qui permettra de valider les logins entrés. On va couvrir 3 cas: PAM (framework d'authentification sous UNIX), LDAP (service d'annuaire en TCP), IMAP (service de boîte mail en TCP). 
-=== PAM === 
-Rien de plus simple, la config par défaut de saslauthd sous debian le fait. Il suffit d'un: 
-<code> 
-MECHANISMS="pam" 
-</code> 
-Éventuellement, on peut créer un fragment PAM, qui portera le nom de smtp. Ceci est hors sujet, voir la doc de PAM. 
-=== LDAP === 
-<code> 
-MECHANISMS="ldap" 
-</code> 
-Il faut également modifier /etc/saslauthd.conf (à créer sur une install fraîche): 
-<code> 
-ldap_servers: <ldap uri> 
-ldap_search_base: <search base> 
-ldap_filter: <filter> 
-etc... 
-</code> 
-Pour la configuration du bind LDAP, voir plus bas. 
-=== IMAP === 
- 
- 
-===== Les binds LDAP ===== 
-(Cette section est actuellement incomplète) 
-Si on choisit la solution LDAP, il faut configurer des binds au niveau du SASL serveur. 
-Cette configuration se fait dans /etc/saslauthd.conf: 
-<code> 
-ldap_servers: ldap://hôte:port, ldap://hôte:port 
-ldap_search_base: <search base> 
-ldap_filter: <filter> 
-ldap_use_sasl: yes 
-</code> 
-La doc de ce fichier de config se trouve dans /usr/share/doc/cyrus-sasl2-doc/LDAP_SASLAUTHD.gz (sous debian, installer le paquet cyrus-sasl2-doc). 
-Il est important de préciser ldap_use_sasl, cela précise que le programme qui valide les hash se trouve sur le serveur LDAP et non sur la machine locale. 
  • mails/sasl/mta-serveur.1542558077.txt.gz
  • (modification externe)