|
Julien Thomas - TELECOM Bretagne
|
![]()
|
|
Informations
Déploiement d'applications
Sécurité des applications
Sécurité SELinux
|
Déploiement de PostfixConcernant les MTA (Mail Transport Agent), deux logiciels se distinguent : sendmail et postfix. Sendmail est le logiciel le plus répendu et historiquement le plus compliqué à configurer. Postfix quant à lui, plus jeune dispose d'autant de fonctionalités et a l'avantage d'être plus simple d'utilisation et d'avoir une documentation plus clair. Après un essai de Sendmail, c'est Postfix qui a été choisit L'installation de Postfix est facile : Un simple USE="ldap pam ssl" emerge -av postfix suffit, ou simplement emerge -av postfix si les options ldap, pam et ssl sont définit dans la variable USE du fichier /etc/make.conf. La version installée est la 2.3.6. Le logiciel SSMTP étant installé par défaut et créant des conflits, il faut auparavant, désinstaller ce logiciel avec la commande emerge -avC ssmtp. ObjectifsLe serveur SMTP a pour but de récuperer et d'envoyer les emails à partir de la plateforme. Il se repose sur le serveur LDAP pour les différentes informations et sur le serveur NFS (dossier partagé) pour permettre l'accès aux serveurs IMAP et POP.Configuration de /etc/postfix/main.cfLa configuration se résume à indiquer à Postfix comment se connecter au serveur LDAP et ou aller chercher ses informations. Dans la première partie du rajout, on spécifie qu'on veut utiliser une gestion des comptes virtuelles. Ainsi il ne sera pas nécessaire de créer un compte sur le machine pour chaque boite mail créée. La figure suivante montre le rajout fait au fichier de conguration initial, sans aucune autre modification. local_transport = virtual virtual_mailbox_base = / virtual_mailbox_maps = ldap :ldapvirtual virtual_uid_maps = static :5000 virtual_gid_maps = static :5000 virtual_minimum_uid = 500 virtual_mailbox_limit = 0 ldapvirtual_server_host = URL_LDAP ldapvirtual_server_port = 389 ldapvirtual_bind = no ldapvirtual_bind_dn = cn=Manager,ROOT_DN ldapvirtual_bind_pw = tutu ldapvirtual_search_base = ou=mails,ou=accounts,ROOT_DN #ldapvirtual_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s)) \ (|(AccountStatus=active)(accountStatus=shared))) ldapvirtual_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s)) \ (accountStatus=active)) ldapvirtual_result_attribute = mailMessageStore mydestination = $myhostname, localhost.$mydomain, localhost.localdomain, $mydomain #mydestination = $myhostname, localhost.$mydomain, localhost.localdomain, ldap :acceptdomains #acceptdomains_server_host = URL_LDAP #acceptdomains_server_port = 389 #acceptdomains_bind = yes #acceptdomains_bind_dn = cn=Manager,ROOT_DN #acceptdomains_bind_pw = tutu #acceptdomains_search_base = ou=postfix,ou=services,ROOT_DN #acceptdomains_query_filter = (associatedDomain=*) #acceptdomains_result_attribute = associatedDomain virtual_maps = ldap :ldapalias ldapalias_server_host = URL_LDAP ldapalias_server_port = 389 ldapalias_bind = no ldapalias_bind_dn = cn=Manager,ROOT_DN ldapalias_bind_pw = tutu ldapalias_search_base = ou=mails,ou=accounts,ROOT_DN #ldapalias_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s)) \ (|(AccountStatus=active)(AccountStatatus=shared))) ldapalias_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s)) \ (accountStatus=active)) ldapalias_result_attribute = mail On voit en commentaire les différences de configuration avec le document précité. La configuration de l'acceptation des domaines dans le LDAP ne peut pas être effectuée à cause d'une erreur dans les combinaisons de schémas utilisées. Toutefois, cela pourra être configuré dans lors de la configuration de la sécurité. On remarque ici que la connexion au serveur LDAP se fait sur le port 389 et non 636, car la restriction aux connexion via LDAPS n'a pas encore été faite. Les modifications des informations sur le serveur smtp doivent étre également suivies des commandes suivantes, afin de prendre en compte les informations telles que les alias des utilisateurs (par défaut, le serveur cherche le fichier de données /etc/mail/aliases.db, lequel n'existe pas et donc arrête silencieusement le serveur smtp) : newaliases postmap virtual Configuration de LDAPEtant donné que l'acceptence de domaines n'est pas configuré dans LDAP pour cause de bug, il n'y est renseigné que les comptes mails sur le domaine polux.org dans la branche ou=mails,ou=accounts,ROOT_DN. Pour associer un compte mail à chaque utilisateur, il faut disposer du schéma qmail.schema à mettre dans /etc/openldap/schema, trouvable facilement sur Internet. Attention il semble qu'il existe plusieurs version sur Internet, il faut s'assurer que qmailUID et qmailGID ont "EQUALITY numericStringMatch", mailMessageStore a "EQUALITY caseExactIA5Match", et tous les autres EQUALITY's dans qmail.schema sont "caseIgnoreIA5Match".
«Design-by-assumption works as long as assumptions hold. Assumptions are
shortcuts to useful efficiencies, provided they are not violated. »
|