Modifications entre les versions 9 et 10
Version 9 à la date du 2007-11-30 11:01:28
Taille: 6227
Éditeur: ThomasNoël
Commentaire: je crois que j'ai tout mis pour 576+TLS+SASL (rfc2476)... il faudra en faire une page à part, un jour
Version 10 à la date du 2007-11-30 11:12:35
Taille: 6397
Éditeur: JérômeSantini
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 69: Ligne 69:
<!> {{{disable_plaintext_auth = no}}} pour le moment !! à remettre à yes dès que Darko aura fini de basculer les clients de messagerie sur la nouvelle configuration.

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

<!> disable_plaintext_auth = no pour le moment !! à remettre à yes dès que Darko aura fini de basculer les clients de messagerie sur la nouvelle configuration.

  • anti-spam + exceptions

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 :
    1. 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" }}}

  1. 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 }}}

  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 }}}

  1. 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

ZA/Montréal/ArchitectureDeLaMessagerie (dernière édition le 2010-08-26 17:11:38 par MoussaNombre)