URL: https://linuxfr.org/forums/linux-debian-ubuntu/posts/serveur-mail-postfixcyrus-imap-avec-authentification-cyrus-sasl Title: Serveur mail Postfix+Cyrus-IMAP avec authentification Cyrus-SASL Authors: David Date: 2007年07月30日T12:48:34+02:00 Tags: debian Score: 0 Bonjour à tous, Je suis actuellement en stage dans une boite d'info et j'ai des problèmes pour déployer un serveur mail, sur la base d'un backup (de la plupart) des fichiers de configuration d'un serveur mail sous mandrake ayant rendu l'âme. Le serveur mail est un Postfix, avec une authentification SMTP passant par Cyrus-SASL et des certificats pour le SSL. On relève les mails en POP3 avec Postfix directement, tandis que les mails en IMAP sont relevés avec Cyrus-IMAP. La liste des utilisateurs est partagée par Postfix et Cyrus et est stockée dans une base de données sasldb. Cette dernière n'ayant pû etre backupée, j'ai juste crée quelques utilisateurs pour pouvoir tester le tout. Le fait est que les fichiers de conf de Postfix/Cyrus sur l'ancien serveur mail étaient sur une mandrake avec un postfix ancienne version (2.1si mes souvenirs sont bons) alors que maintenant c'est une Debian avec la dernière version de Postfix en date. N'ayant pas encore beaucoup de connaissances sur les serveurs mails j'ai donc deja pas mal galéré à retrouver les bons paths pour que le tout ne plante pas dès le lancement. Maintenant, j'arrive deja à envoyer des mails avec authentification en SSL par outlook, la commande de test telnet localhost 25 sur le serveur fonctionne, ainsi que testsaslauthd -u username -p password sachant que j'ai crée des utilisateurs de la manière suivante : saslpasswd2 david -u telecom.setec.fr postmap /var/lib/sasl2/recipients Mais voilà, impossible d'envoyer de mails, ou plutot de me connecter au serveur de mails, ni en passant par POP3 ni par IMAP. Par ailleurs, lorsque je teste sur le serveur les services pop3 et imap avec telnet localhost 110 ou 143 J'obtiens : Unable to connect to remote host: Connection refused Et je n'arrive pas a créer de boite mail pour les utilsateurs, puisque lorsque je tape: cyradm localhost en tant qu'utilsateur cyrus ou meme root, J'ai : cyradm : cannot connect to server alors que la commande /etc/init.d/cyrus2.2 lance bien le tout. Je vois donc bien que le problème de réception de mail vient du service POP3 de Postfix et du service IMAP de Cyrus-IMAP qui ne veulent pas démarrer ou sont mal configurés, mais apres moult tentatives je n'arrive tjrs pas a établir de connection. Peut etre quelqu'un pourrait-il m'aider :)? Je mets ici mes fichiers de conf, je ne les ai pas bcp retouchés sachant que la majorité de la configuration provient de l'ancien serveur: Fichier /etc/postfix/main.cf # These are changed by postfix install script readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES sample_directory = /usr/share/doc/postfix-2.1.5/samples html_directory = /usr/share/doc/postfix-2.1.5/html sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop command_directory = /usr/sbin manpage_directory = /usr/share/man daemon_directory = /usr/lib/postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix queue_directory = /var/spool/postfix mail_owner = postfix # User configurable parameters inet_interfaces = all mynetworks_style = subnet delay_warning_time = 30m bounce_queue_lifetime = 3d mailbox_size_limit = 102400000 message_size_limit = 66000000 smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrake Linux) unknown_local_recipient_reject_code = 450 smtp-filter_destination_concurrency_limit = 2 lmtp-filter_destination_concurrency_limit = 2 smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination local_recipient_maps = $alias_maps, hash:/var/lib/sasl2/recipients smtpd_sasl_path = /etc/postfix/sasl:/usr/lib/sasl2 recipient_delimiter = + owner_request_special = no alias_maps = hash:/etc/postfix/aliases # , hash:/var/lib/mailman/data/aliases myorigin = $mydomain mydestination = $myhostname localhost.$mydomain $mydomain mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp transport_maps = hash:/etc/postfix/transport_maps smtpd_use_tls = yes smtpd_tls_loglevel = 2 smtpd_tls_CAfile = /etc/ssl/postfix/cacert.pem smtpd_tls_cert_file = /etc/ssl/postfix/primary.cert.pem smtpd_tls_key_file = /etc/ssl/postfix/primary.key.pem smtpd_use_tls = yes mtpd_tls_auth_only = yes /etc/postfix/master.cf: # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - - smtpd #submission inet n - n - - smtpd # -o smtpd_etrn_restrictions=reject smtps inet n - n - - smtpd £spaces£ £/spaces£-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes submission inet n - n - - smtpd # -o smtpd_etrn_restrictions=reject # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes #628 inet n - n - - qmqpd pickup fifo n - n 60 1 pickup £spaces£ £/spaces£-o content_filter= £spaces£ £/spaces£-o receive_override_options= cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - n 300 1 oqmgr tlsmgr unix - - n 300 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp relay unix - - n - - smtp # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - n - - showq error unix - - n - - error local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil # # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # maildrop. See the Postfix MAILDROP_README file for details. # maildrop unix - n n - - pipe £spaces£ £/spaces£flags=DRhu user=nobody argv=/usr/bin/maildrop -d ${recipient} cyrus-deliver unix - n n - - pipe £spaces£ £/spaces£user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user} # # for default cyrus socket placement cyrus unix - n n - - lmtp £spaces£ £/spaces£-o lmtp_cache_connection=yes # # if you configure cyrus socket in the chroot jail cyrus-chroot unix - - y - - lmtp £spaces£ £/spaces£-o lmtp_cache_connection=yes # # for lmtp to cyrus via tcp cyrus-inet unix - - y - - lmtp £spaces£ £/spaces£-o lmtp_cache_connection=yes £spaces£ £/spaces£-o lmtp_sasl_auth_enable=yes £spaces£ £/spaces£-o lmtp_sasl_password_maps=hash:/etc/postfix/cyrus_lmtp_sasl_pass £spaces£ £/spaces£-o lmtp_sasl_security_options=noanonymous uucp unix - n n - - pipe £spaces£ £/spaces£flags=Fqhu user=uucp argv=/usr/bin/uux -r -n -z -a$sender - $nexthop!rmail ($recipient) 127.0.0.1:10026 inet n - n - - smtpd £spaces£ £/spaces£-o content_filter= £spaces£ £/spaces£-o smtpd_restriction_classes= £spaces£ £/spaces£-o smtpd_client_restrictions= £spaces£ £/spaces£-o smtpd_helo_restrictions= £spaces£ £/spaces£-o smtpd_sender_restrictions= £spaces£ £/spaces£-o smtpd_recipient_restrictions=permit_mynetworks,reject £spaces£ £/spaces£-o mynetworks=127.0.0.0/8 £spaces£ £/spaces£-o mynetworks_style=host £spaces£ £/spaces£-o strict_rfc821_envelopes=yes £spaces£ £/spaces£-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks £spaces£ £/spaces£-o smtpd_client_connection_limit_exceptions=127.0.0.0/8 lmtp-filter unix - - n - - lmtp £spaces£ £/spaces£-o lmtp_data_done_timeout=1200 £spaces£ £/spaces£-o disable_dns_lookups=yes smtp-filter unix - - n - - smtp £spaces£ £/spaces£-o smtp_data_done_timeout=1200 £spaces£ £/spaces£-o disable_dns_lookups=yes ##### END OF CONTENT FILTER CUSTOMIZATIONS ##### Le fichier /etc/postfix/sasl/smtpd.conf: # SASL library configuration file for postfix # all parameters are documented into: # /usr/share/doc/cyrus-sasl-2.*/options.html # The mech_list parameters list the sasl mechanisms to use, # default being all mechs found. mech_list: plain login # To authenticate using the separate saslauthd daemon, (e.g. for # system or ldap users). Also see /etc/sysconfig/saslauthd. #pwcheck_method: saslauthd #saslauthd_path: /var/lib/sasl2/mux # To authenticate against users stored in sasldb. pwcheck_method: auxprop auxprop_plugin: sasldb #sasldb_path: /var/lib/sasldb2 Ficher /etc/cyrus.conf: # standard standalone server implementation START { £spaces£ £/spaces£# do not delete this entry! £spaces£ £/spaces£recover cmd="ctl_cyrusdb -r" £spaces£ £/spaces£# this is only necessary if using idled for IMAP IDLE # idled cmd="idled" } # UNIX sockets start with a slash and are put into /var/lib/imap/sockets SERVICES { £spaces£ £/spaces£# add or remove based on preferences # imap cmd="imapd" listen="imap" prefork=5 £spaces£ £/spaces£imaps cmd="imapd -s" listen="imaps" prefork=10 # pop3 cmd="pop3d" listen="pop3" prefork=3 £spaces£ £/spaces£pop3s cmd="pop3d -s" listen="pop3s" prefork=10 # sieve cmd="timsieved" listen="sieve" prefork=0 £spaces£ £/spaces£# these are only necessary if receiving/exporting usenet via NNTP # nntp cmd="nntpd" listen="nntp" prefork=3 # nntps cmd="nntpd -s" listen="nntps" prefork=1 £spaces£ £/spaces£# at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=0 £spaces£ £/spaces£lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1 £spaces£ £/spaces£# this is only necessary if using notifications # notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1 } EVENTS { £spaces£ £/spaces£# this is required £spaces£ £/spaces£checkpoint cmd="ctl_cyrusdb -c" period=30 £spaces£ £/spaces£# this is only necessary if using duplicate delivery suppression, £spaces£ £/spaces£# Sieve or NNTP £spaces£ £/spaces£delprune cmd="cyr_expire -E 3" at=0400 £spaces£ £/spaces£# this is only necessary if caching TLS sessions £spaces£ £/spaces£tlsprune cmd="tls_prune" at=0400 } Et enfin /etc/mapd.conf: configdirectory: /var/lib/cyrus partition-default: /var/spool/cyrus/mail admins: cyrus allowanonymouslogin: no sieveusehomedir: no sievedir: /var/spool/sieve sendmail: /usr/sbin/sendmail hashimapspool: true sasl_pwcheck_method: auxprop sasl_mech_list: PLAIN tls_ca_file: /etc/ssl/cyrus-imapd/cacert.pem tls_cert_file: /etc/ssl/cyrus-imapd/primary.cert.pem tls_key_file: /etc/ssl/cyrus-imapd/primary.key.pem postuser: archives autocreatequota: 100000 autocreateinboxfolders: INBOX defaultacl: anyone all lmtp_downcase_rcpt: 1