3233
Commentaire: pas la peine de parler de ça ici : ça devrait faire partie de la conf' "normale" d'un postfix auf de toutes façons. rien de spécifique à montréal
|
6227
je crois que j'ai tout mis pour 576+TLS+SASL (rfc2476)... il faudra en faire une page à part, un jour
|
Texte supprimé. | Texte ajouté. |
Ligne 70: | Ligne 70: |
* port 587 + SASL + TLS | === Reception de mail sur le port 587 (submission) avec TLS et authentification obligatoire === 1. Mise en place du chiffrage TLS : {{{# TLS parameters, ajouté dans /etc/postfix/main.cf : smtpd_tls_cert_file=/etc/postfix/ssl/smtp-sortant-ca-auf-org.crt smtpd_tls_key_file=/etc/postfix/ssl/smtp-sortant-ca-auf-org.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache }}} 1. Mise en place de l'authentification SASL : a. dans `/etc/default/saslauthd`, on demande à SASL de passer par PAM : {{{START=yes MECHANISMS="pam" MECH_OPTIONS="" THREADS=5 OPTIONS="-r -m /var/spool/postfix/var/run/saslauthd" }}} a. dans `/etc/pam.d/smtp`, on dit à PAM d'utiliser MySQL pour le service smtp : {{{# (attention, la suite ne fait que deux lignes, c'est votre nagivateur web qui coupe) auth required pam_mysql.so user=messagerie passwd=vousrevez host=127.0.0.1 db=mail table=auforg_virtual [where=length(password)>1] usercolumn=source passwdcolumn=password crypt=1 account sufficient pam_mysql.so user=messagerie passwd=vousrevez host=127.0.0.1 db=mail table=auforg_virtual [where=length(password)>1] usercolumn=source passwdcolumn=password crypt=1 }}} a. dans `/etc/postfix/sasl/smtpd.conf` on configure SASL au niveau de Postfix pour lui dire de passer par saslauthd : {{{pwcheck_method: saslauthd mech_list: PLAIN LOGIN ANONYMOUS log_level: 7 }}} a. et enfin dans `/etc/postfix/main.cf` on dit à Postfix d'utiliser SASL, de ne permettre l'authentification QUE si le canal est crypté en TLS, et on libéralise l'utilisation pour les gens authentifiés : {{{# lignes ajoutées dans /etc/postfix/main.cf : # on active l'authentification SASL smtpd_sasl_auth_enable = yes # l'authentification n'est possible que sur une connexion cryptée en TLS smtpd_tls_auth_only = yes # si une personne est authentifiée, elle peut envoyer des messages à n'importe qui smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination }}} A partir de là, le port 25 est déjà capable de recevoir des messages avec TLS+SASL. Cependant, comme le port 25 est de plus en plus filtré (lutte anti-spam) on va utiliser le port 587 comme le recommande la [http://www.ietf.org/rfc/rfc2476.txt RFC 2476] : '''ce port sera ouvert uniquement en TLS et forcera l'authentification'''. Pour cela, on active un nouveau service au niveau du fichier `/etc/postfix/master.cf` : {{{# lignes ajoutées dans /etc/postfix/master.cf pour activer submission (rfc 2476) : # sur le service submission (présent dans /etc/services) on force le chiffrage TLS # et l'authentification SASL. # service type private unpriv chroot wakeup maxproc command + args submission inet n - - - - smtpd -o smtpd_enforce_tls=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject }}} |
Messagerie de Montréal
Le système de messagerie de Montréal gère plusieurs aspects de la messagerie de l'agence :
le MX principale du domaine auf.org
la messagerie locale du domaine ca.auf.org, avec un serveur IMAP
les listes de diffusions dans le domaine auf.org
- un relais SMTP avec authentification, pour les postes nomades
- les boîtes aux lettres de secours
Schéma général de la messagerie
attachment:schéma%20général.png attachment:schéma%20général.svg
Serveur pour le domaine auf.org
Documenter :
- Postfix + MySQL
- vacations
- boîtes de secours
- anti-spam + exceptions
transports pour ca.auf.org
choix de la valeur du délai avant avertissement (warning)
- choix de la valeur d'expiration des mails en queue
Adresses en auf.org et ré-écriture des adresses
Aucune boite aux lettres n'est présente sur ce serveur, tous les domaines en destination finale sont traités en domaines virtuels (liste des domaines dans la variable virtual_alias_domains). Cela permet d'activer le smtpd_reject_unlisted_sender pour rejeter les adresses en ...@auf.org qui n'existerait pas :
# pour rejeter les mails from: xxx@auf.org avec xxx qui n'existerait pas smtpd_reject_unlisted_sender = yes unverified_sender_reject_code=550
Les adresses qui existent sont listée dans la variable virtual_alias_maps :
# attention : expressions regulieres dans le fichier mailman : # toujours le laisser en dernier virtual_alias_maps = proxy:mysql:/etc/postfix/auforg_virtual.cf, hash:/etc/postfix/virtual-auf.org, regexp:/etc/postfix/virtual-mailman
auforg_virtual.cf : une table MySQL qui correspond à la liste du personnel, extraite automatiquement du PostgreSQL de intranet.auf.
virtual-auf.org : un fichier hash géré à la main, pour toutes les exceptions
virtual-mailman : une expression régulière, pour renvoyer tout ce qui ressemble à des adresses administratives Mailman vers listes.auf.org.
Relais des sous-domaines auf.org
Le domaine auf.org est géré directement par le serveur, en destination finale, via virtual_alias_domains, qui ne tiens pas compte des sous-domaines. La variable relay_domains doit donc seulement tenir compte des sous-domaines xx.auf.org.
# a lire comme "tous les sous-domaines de auf.org SAUF auf.org lui-meme relay_domains = .auf.org,!auf.org # a verifier, mais on peut *suremement* laisser cette variable completement vide # l'important est que relay_domains ne soit pas listé dedans parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,smtpd_access_maps
Serveur pour le domaine ca.auf.org
Documenter :
- config' Postfix + MySQL
- config' Dovecot + MySQL
- anti-spam + exceptions
Reception de mail sur le port 587 (submission) avec TLS et authentification obligatoire
- Mise en place du chiffrage TLS :
- {{{# TLS parameters, ajouté dans /etc/postfix/main.cf :
smtpd_tls_cert_file=/etc/postfix/ssl/smtp-sortant-ca-auf-org.crt smtpd_tls_key_file=/etc/postfix/ssl/smtp-sortant-ca-auf-org.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache }}}
- Mise en place de l'authentification SASL :
dans /etc/default/saslauthd, on demande à SASL de passer par PAM :
- {{{START=yes
MECHANISMS="pam" MECH_OPTIONS="" THREADS=5 OPTIONS="-r -m /var/spool/postfix/var/run/saslauthd" }}}
dans /etc/pam.d/smtp, on dit à PAM d'utiliser MySQL pour le service smtp :
- {{{# (attention, la suite ne fait que deux lignes, c'est votre nagivateur web qui coupe)
auth required pam_mysql.so user=messagerie passwd=vousrevez host=127.0.0.1 db=mail table=auforg_virtual [where=length(password)>1] usercolumn=source passwdcolumn=password crypt=1 account sufficient pam_mysql.so user=messagerie passwd=vousrevez host=127.0.0.1 db=mail table=auforg_virtual [where=length(password)>1] usercolumn=source passwdcolumn=password crypt=1 }}}
dans /etc/postfix/sasl/smtpd.conf on configure SASL au niveau de Postfix pour lui dire de passer par saslauthd :
- {{{pwcheck_method: saslauthd
mech_list: PLAIN LOGIN ANONYMOUS log_level: 7 }}}
et enfin dans /etc/postfix/main.cf on dit à Postfix d'utiliser SASL, de ne permettre l'authentification QUE si le canal est crypté en TLS, et on libéralise l'utilisation pour les gens authentifiés :
- {{{# lignes ajoutées dans /etc/postfix/main.cf :
# on active l'authentification SASL smtpd_sasl_auth_enable = yes # l'authentification n'est possible que sur une connexion cryptée en TLS smtpd_tls_auth_only = yes # si une personne est authentifiée, elle peut envoyer des messages à n'importe qui smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination }}}
A partir de là, le port 25 est déjà capable de recevoir des messages avec TLS+SASL. Cependant, comme le port 25 est de plus en plus filtré (lutte anti-spam) on va utiliser le port 587 comme le recommande la [http://www.ietf.org/rfc/rfc2476.txt RFC 2476] : ce port sera ouvert uniquement en TLS et forcera l'authentification.
Pour cela, on active un nouveau service au niveau du fichier /etc/postfix/master.cf :
- {{{# lignes ajoutées dans /etc/postfix/master.cf pour activer submission (rfc 2476) :
# sur le service submission (présent dans /etc/services) on force le chiffrage TLS # et l'authentification SASL. # service type private unpriv chroot wakeup maxproc command + args submission inet n - - - - smtpd
- -o smtpd_enforce_tls=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
}}}
Basculement d'un domaine xx.auf.org en urgence sur le serveur IMAP de Montréal
Listes de diffusion
forwarding via smtp.ca.auf.org à travers le transport auf: ; expliquer pourquoi
- synchro' des listes de diffusions ; les scripts