Gestion du serveur IMAP dovecot

Dovecot permet de récupérer les informations des utilisateurs depuis un annuaire LDAP. Dans cet exemple, on utilise pas de boite virtuelle, les mails sont remis dans le répertoire personnel de chaque utilisateurs. Les utilisateurs doivent donc avoir un compte UNIX valide, en plus des extensions de mails (à activer dans l'interface de Fusion Directory).

L'agent de remise local de dovecot (LDA) sera utilisé, il pourra donc appliquer des filtres sieve au moment de la remise. Les quotas peuvent être appliqués depuis l'interface de Fusion Directory, dovecot les prendra en compte

Plugins nécessaires

Les plugins systems et mail sont nécessaires pour cette partie, voir cette page pour la configuration d'OpenLDAP

Installation des composants

yum install dovecot dovecot-pigeonhole

Configuration de dovecot

/etc/dovecot/dovecot.conf

auth_username_format = %n auth_verbose = yes lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_plugins = quota quota fts fts_squat managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date passdb { args = /etc/dovecot/conf.d/dovecot-ldap.conf.ext driver = ldap } plugin { quota = maildir:User quota quota2 = fs:Disk quota sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap lmtp service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } shutdown_clients = no ssl_cert = </etc/dovecot/ssl/mail.firewall-services.com.crt ssl_key = </etc/dovecot/ssl/mail.firewall-services.com.key login_trusted_networks = 10.10.1.10/32 userdb { driver = prefetch } userdb { args = /etc/dovecot/conf.d/dovecot-ldap.conf.ext driver = ldap } protocol lmtp { mail_plugins = quota quota fts fts_squat quota sieve postmaster_address = postmaster@firewall-services.com } protocol lda { mail_plugins = quota quota fts fts_squat sieve } protocol imap { mail_plugins = quota quota fts fts_squat imap_quota }
Dans cet exemple, la ligne login_trusted_networks = 10.10.1.10/32 permet de faire tourner un proxy IMAP sur la machine 10.10.1.10. Cette directive permet de: Ne pas imposer de sécurité (SSL/TLS) pour l'authentification depuis cette IP De loguer l'IP réelle du client au lieu de celle du proxy Dans la plupart des cas, vous pouvez commenter cette ligne, si vous n'utilisez pas de proxy IMAP

/etc/dovecot/conf.d/dovecot-ldap.conf.ext

uris = ldap://ldap.firewall-services.com dn = cn=mail,ou=DSA,dc=firewall-services,dc=com dnpass = dsa_p@ssw0rd tls = yes tls_ca_cert_file = /etc/pki/tls/certs/ca-firewall-services.com.pem tls_require_cert = hard ldap_version = 3 auth_bind = yes base = dc=firewall-services,dc=com user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid,gosaMailQuota=quota_rule=*:bytes=%$M user_filter = (&(objectClass=gosaMailAccount)(objectClass=posixAccount)(uid=%u)) pass_filter = (&(objectClass=gosaMailAccount)(objectClass=posixAccount)(uid=%u)) pass_attrs = uid=user,userPassword=password,homeDirectory=userdb_home,uidNumber=userdb_uid,gidNumber=userdb_gid,gosaMailQuota=userdb_quota_rule=*:bytes=%$M iterate_attrs = uid=user iterate_filter = (&(objectClass=posixAccount)(objectClass=gosaMailAccount))
Avec cette configuration, le quota de la boite mail saisi dans l'interface de FusionDirectory est exprimé en Mo

Il ne reste plus qu'à démarrer le service dovecot. Dans cette configuration, les mails seront remis dans des boites au format Maildir dans le répertoire personnel de chaque utilisateur (~/Maildir)