Dovecot imap-login: Info: Disconnected (no auth attempts)

Bonjour,

Alors voilà, j’essaie de paramétrer ma machine pour avoir mes mails. Étant une machine perso et pour mon quasi unique usage (au niveau mail), j’ai choisi d’après les différents tutos que j’ai lu d’utiliser postfix avec un utilisateur vmail et dovecot (pas de base sql ni d’utilisation LDAP).
Alors jusque là je peux recevoir des mails et en envoyer (en ligne de commande).

Voilà mon /etc/postfix/main.cf

alias_database = $alias_maps
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
delay_warning_time = 4h
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
mailbox_size_limit = 512000000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
masquerade_domains = toto.org
message_size_limit = 50000000
mydestination = $myhostname, localhost.$myhostname, localhost
mydomain = toto.org
myhostname = galois.toto.org
mynetworks = 192.168.1.0/24, 127.0.0.0/8
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
recipient_delimiter = +
relayhost =
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_generic_maps = hash:/etc/postfix/generic
smtpd_banner = $myhostname ESMTP
smtpd_recipient_limit = 50
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/user_aliases
virtual_gid_maps = static:6000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = /etc/postfix/domains
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = hash:/etc/postfix/user_mailboxes_path
virtual_minimum_uid = 6000
virtual_uid_maps = static:6000

Avec les fichiers domains, user_mailboxes_path et user_aliases qui vont bien (vu que je reçois des mails bien rangés dans /home/vmail/toto.org/user/new/).
Je peux les donner s’il le faut.

Maintenant c’est la config de dovecot qui me pose problème. Et souvent les explications que je trouve sur internet utilisent LDAP ou SQL, du coup j’ai du mal à y voir clair.

Voici mon /etc/dovecot/dovecot.conf

#which access protocols to support                                                                                  
protocols = imap imaps   # imap pop3 pop3s                                                                          

# listen on all addresses ipv4 and ipv6                                                                             
listen = *, [::]

#logging - for syslog, set facility                                                                                 
# optional; only for syslog users.                                                                                  
syslog_facility = mail # (the default option)                                                                       

# SSL Certificates                                                                                                  
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
                                                                                            
mail_location = maildir:/home/vmail/%d/%n/
                                                                                                 

protocol imap {
}

auth default {
  # plain login is appropriate for SSL connections                                                                  
  mechanisms=plain login

  # imaps/ smtp user database                                                                                       
  passdb passwd-file {
    args=/etc/dovecot/passwd
  }

  # all mail is mapped to this user.                                                                                
  userdb static {
    args = uid=vmail gid=vmail home=/var/vmail/%d/%u
  }
  user=vmail
  # socket used by postfix to authorize smtp connections                                                            
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}
# Chemin des les logs                                                                                               
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log

Et dans dovecot-info.log, quand j’essaie de me connecter avec Thunderbird, j’ai :

Dec 17 11:17:45 imap-login: Info: Disconnected (no auth attempts): rip=134.157.2.191, lip=192.168.0.10
Dec 17 11:18:09 imap-login: Info: Disconnected (no auth attempts): rip=134.157.2.191, lip=192.168.0.10

Je serai fort heureux si quelqu’un pouvait m’éclairer ! Merci !

Dans le terminal, que retourne cette commande ? :

=> Ces 2 ips peuvent bien se pinger ?

[code]12:17 chupin@roof:~ > telnet toto.org 143
Trying [mon adresse IP publique]…
Connected to toto.org.
Escape character is ‘^]’.

  • OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.
    [/code]

Mon ip publique se ping bien.

L’autre adresse est l’adresse de mon boulot :slightly_smiling: (rip).

Voici l’erreur de connexion sans passer par thunderbird (par contre je n’ai pas de trace de l’echec de connexion dans les log par cette méthode)

[code]12:59 chupin@roof:~ > openssl s_client -connect toto.org:imap -crlf -starttls imap
CONNECTED(00000003)
depth=0 O = Dovecot mail server, OU = galois.toto.org, CN = galois.toto.org, emailAddress = root@toto.org
verify error:num=18:self signed certificate
verify return:1
depth=0 O = Dovecot mail server, OU = galois.toto.org, CN = galois.toto.org, emailAddress = root@toto.org
verify return:1

Certificate chain
0 s:/O=Dovecot mail server/OU=galois.toto.org/CN=galois.toto.org/emailAddress=root@toto.org
i:/O=Dovecot mail server/OU=galois.toto.org/CN=galois.toto.org/emailAddress=root@toto.org

Server certificate
-----BEGIN CERTIFICATE-----
MIIEdDCCA1ygAwIBAgIJAK3qvIn/TZlHMA0GCSqGSIb3DQEBBQUAMIGCMRwwGgYD
VQQKExNEb3ZlY290IG1haWwgc2VydmVyMR4wHAYDVQQLExVnYWxvaXMuZm91Z2Vy
aWVucy5vcmcxHjAcBgNVBAMTFWdhbG9pcy5mb3VnZXJpZW5zLm9yZzEiMCAGCSqG
SIb3DQEJARYTcm9vdEBmb3VnZXJpZW5zLm9yZzAeFw0xMjEyMTUxNzIyMjhaFw0y
MjEyMTUxNzIyMjhaMIGCMRwwGgYDVQQKExNEb3ZlY290IG1haWwgc2VydmVyMR4w
HAYDVQQLExVnYWxvaXMuZm91Z2VyaWVucy5vcmcxHjAcBgNVBAMTFWdhbG9pcy5m
b3VnZXJpZW5zLm9yZzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmb3VnZXJpZW5zLm9y
ZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMJNUGOSrgCaWWpXeLZI
Gf6+WdtvJGRVcpSYpRMLmpdytwbDIKgMRK1JGK0DWfx/TaTO08ppUn3hopKGztbp
AjU2ZTork8V7J9pBY/26tjgu5SK09cUymTU1HniViA8LZpdnClfQ9T/8ddAFmKtc
0AcN8ojqxWwxmrDz60W96l0AmmGqdoj6g9xairkNSonA36c/OiQd06SzFg3KWj20
53NPcZoJbfp4lKRDTydNL3etxQ2A188PVLIj0xNWrIKIVYBmQMJWWdBcLofuNUkr
NKHwcDMBGuV5NBgmwGtjMtUikfhVF1ZTO3ZJwiD1h06B502qej1Vl3SZHgDDauEU
vGsCAwEAAaOB6jCB5zAdBgNVHQ4EFgQUZiUgF9buFAT/HfdQEAr2GPPqrlUwgbcG
A1UdIwSBrzCBrIAUZiUgF9buFAT/HfdQEAr2GPPqrlWhgYikgYUwgYIxHDAaBgNV
BAoTE0RvdmVjb3QgbWFpbCBzZXJ2ZXIxHjAcBgNVBAsTFWdhbG9pcy5mb3VnZXJp
ZW5zLm9yZzEeMBwGA1UEAxMVZ2Fsb2lzLmZvdWdlcmllbnMub3JnMSIwIAYJKoZI
hvcNAQkBFhNyb290QGZvdWdlcmllbnMub3JnggkAreq8if9NmUcwDAYDVR0TBAUw
AwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAlgDUYphIwbEQ96lQYDEUUNmq4nIptvVc
6NKM0yLOTs9rX4dwgqpE62newQ8HbH7jrGyc00Po181bea4icB2PhEum7g/UG1xk
1DAjt1A3lk/0xNEupAiGXwIssoSNwOHM7bwq+ustHoHlX4aFFfORRr43+mpNO/7D
/C/RhBSiORMX6STJcbRr9N+6iKQeKgIUTRdViV7aD3vduf5+DmYM/dTMxbvfsWmX
MeTvNzD5h9fv1/g+9TUx7SVhKB6tC6bCbm8QeXbqUblguXM2SqkBG9lns8F92TeX
v+apicVXFv1eA32dkIb5eV/Li3+cJ3Le23dSgHyf9GupNNSRs0hYFg==
-----END CERTIFICATE-----
subject=/O=Dovecot mail server/OU=galois.toto.org/CN=galois.toto.org/emailAddress=root@toto.org
issuer=/O=Dovecot mail server/OU=galois.toto.org/CN=galois.toto.org/emailAddress=root@toto.org

No client certificate CA names sent

SSL handshake has read 2454 bytes and written 450 bytes

New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 0BDFA68919D97C61AA71A7900C5970876175ECA0CC981CB2043F765947C3F875
Session-ID-ctx:
Master-Key: DCF13B0861707E1E360FEAC92DB42CD154F3F6D4FB250DFDD2C63C28C45263417C00BE5629C6E41FF70467EB2E14C770
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket:
0000 - 0a 6b c0 59 e0 93 d6 af-98 f5 2c 02 7a 6d 65 29 .k.Y…,.zme)
0010 - 3f 00 b9 ad 37 38 45 58-03 44 1b af 70 dd 29 2e ?..78EX.D…p.).
0020 - 64 b5 a9 75 fa 74 32 5d-f3 cf 1c 8a 0b e9 55 09 d…u.t2]…U.
0030 - f4 d8 b0 09 77 9e 82 df-2e f0 68 3c a9 73 99 d0 …w…h<.s…
0040 - fc aa ac 83 54 38 7e c1-0e 55 b6 49 c0 d1 b6 65 …T8~…U.I…e
0050 - e9 c7 59 2d 9e c7 bd 89-26 ec f2 e9 ee 91 1e 83 …Y-…&…
0060 - 97 55 f7 2d 9c 5b 4e 2a-0c 0b 80 36 89 8f cb f8 .U.-.[N*…6…
0070 - ba ee aa 3b ed 26 99 0f-d5 b9 02 ff 9f 5e cd 84 …;.&…^…
0080 - e8 79 56 16 08 7c 0d 7f-26 8c 92 8d e1 37 03 e0 .yV…|…&…7…
0090 - 47 1c 54 48 1f 13 5e 6a-8c 98 d4 f7 ac 6b ad 8d G.TH…^j…k…

Compression: 1 (zlib compression)
Start Time: 1355745590
Timeout   : 300 (sec)
Verify return code: 18 (self signed certificate)

. OK Capability completed.
1 login mc [mot de passe]
1 NO [AUTHENTICATIONFAILED] Authentication failed.
[/code]

[code]12:17 chupin@roof:~ > telnet toto.org 143
Trying [mon adresse IP publique]…
Connected to toto.org.
Escape character is ‘^]’.

  • OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.
    [/code]

=> ok, maintenant teste avec une boite email. Tu tapes juste après

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.

ceci :

a login email mot_de_passe (puis tu tape entrée)

Attention :
-si l’email appartient à un utilisateur unix, tu tape seulement le nom d’utilisateur sans le domaine, càd par exemple toto au lieu de toto@toto.org mot_de_passe
-si l’email appartient à un utilisateur virtuel, tu tape l’email entier, càd utilisateur_virtuel@toto.org mot_de_passe.

Puis donne le résultat.

J’ai posté la réponse au login via openssl, parce que comme il est indiqué dans l’état de Dovecot : LOGINDISABLED (ce qui est plutôt normal vu que je veux la connexion avec SSL), j’obtiens :

Trying 82.245.210.160...
Connected to toto.org.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.
1 login mc [mot de passe]
* BAD [ALERT] Plaintext authentication not allowed without SSL/TLS, but your client did it anyway. If anyone was listening, the password was exposed.
1 NO [CLIENTBUG] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.

Excuse-moi, ce que t’avais fais au début était bon, donc :

12:59 chupin@roof:~ > openssl s_client -connect toto.org:imap -crlf -starttls imap .... 1 login mc [mot de passe] 1 NO [AUTHENTICATIONFAILED] Authentication failed.
=>mc, tu as bien mis l’email complet ?

a priori il faut pas d’email complet, car si je mets mc@toto.org, j’ai ça dans dovecot.log

Dec 17 13:00:48 dovecot: Fatal: chdir(/var/vmail/toto.org/mc@toto.org/) failed: Permission denied (euid=6000(vmail) egid=6000(vmail) missing +x perm: /var/vmail)

Parce que dans mes règles postfix j’ai (fichier user_mailboxes_path):

mc@toto.org toto.org/mc/
mail_location = maildir:/home/vmail/%d/%n/

et

  # all mail is mapped to this user.                                                                                
  userdb static {
    args = uid=vmail gid=vmail home=/var/vmail/%d/%u
  }

se contredisent.

C’est plutôt

  # all mail is mapped to this user.                                                                                
  userdb static {
    args = uid=vmail gid=vmail home=/var/vmail/%d/%n
  }

Fait-nous voir le contenu de /etc/dovecot/passwd

En effet, j’ai tout mis en %n vu que postfix utilise la partie user de user@domain. Cependant ça n’a rien changé…
Voici mon /etc/dovecot/passwd

mc@toto.org:{CRAM-MD5}bb8a6592321e47dac055ad7e7380cd069dab8649baee6a9da70789b717fb061b

Dans ce cas, si c’est cram-md5, alors ce n’est pas

auth default {
  # plain login is appropriate for SSL connections                                                                  
  mechanisms=plain login

  # imaps/ smtp user database                                                                                       
  passdb passwd-file {
    args=/etc/dovecot/passwd
  }

mais

auth default {
  # plain login is appropriate for SSL connections                                                                  
  mechanisms=plain login cram-md5

  # imaps/ smtp user database                                                                                       
  passdb passwd-file {
    args= scheme=cram-md5 /etc/dovecot/passwd
  }

Puis un chmod 0600 /etc/dovecot/passwd

J’espère que tu as suivi la doc wiki.dovecot.org/HowTo/CRAM-MD5 pour générer le mot de passe cram-md5 pour ton email.

Tu restart dovecot, puis donne le résultat de ton test.

Ok, donc j’ai changé tout ça. Par contre si je fais chmod 0600, dovecot ne démarre plus car, me dit-il, il n’a pas les droit de lecture sur le fichien passwd…
Ensuite, si pour tester, je remets la lecture pour tous sur passwd, là il démarre.
J’ai ensuite fait deux tests :

> openssl s_client -connect toto.org:imap -crlf -starttls imap
CONNECTED(00000003)
[...]
. OK Capability completed.
1 login mc [mot de passe]
1 NO [AUTHENTICATIONFAILED] Authentication failed.
1 login mc@toto.org [mot de passe]
closed

Donc si je me connecte avec mc, il me dégage avec aucun mot doux ni dans dovecot.log ni dans dovecot-info.log, et si je me connecte avec mc@toto.org, là il ferme la connection avec deux mots doux :
1/ dans dovecot.log

Dec 17 16:05:13 dovecot: Fatal: chdir(/var/vmail/toto.org/mc/) failed: Permission denied (euid=6000(vmail) egid=6000(vmail) missing +x perm: /var/vmail)
Dec 17 16:05:13 dovecot: Error: child 32285 (imap) returned error 89 (Fatal failure)

2/ dans dovecot-info.log

Dec 17 16:05:13 imap-login: Info: Login: user=<mc@fougeriens.org>, method=PLAIN, rip=134.157.2.191, lip=192.168.0.10, TLS

ON avance ! En passant merci pour ton aide

En fait comme tu utilise SSL, tu devrait utiliser uniquement la méthode PLAIN LOGIN (car ssl crypte déjà ce qui est en clair), comme c’est d’ailleurs décrit dans ton fichier de configuration en commentaire (ce n’est pas pour rien) :

# plain login is appropriate for SSL connections                                                                  
  mechanisms=plain login

Donc remet comme c’était avant, mais en changeant ton fichier /etc/dovecot/passwd, ex :

mc@toto.org:{PLAIN}tonMotDePasse

Et si ça ne marche pas, alors c’est sans le domaine

mc:{PLAIN}tonMotDePasse

J’ai fait ça mais rien ne change… Le domain dans le passwd, change juste celui qui fait fermet la connexion avec openssl (entre mc et mc@toto.org alors, c’est quand je fais

1 login mc@toto.org [mot de passe]

que ça ferme la connexion et donne l’erreur

Dec 17 16:25:49 dovecot: Fatal: chdir(/var/vmail/toto.org/mc/) failed: Permission denied (euid=6000(vmail) egid=6000(vmail) missing +x perm: /var/vmail)
Dec 17 16:25:49 dovecot: Error: child 32720 (imap) returned error 89 (Fatal failure)

Est-ce que /var/vmail/ correspond bien à la home de l’utilisateur vmail ?

Puis tape ces commandes pour voir :

ls -l /var/
ls -l /var/vmail/
ls -l /var/vmail/toto.org/

Par ailleurs, il me semble que postfix est incapable de créer des sous-dossiers dans vmail/, d’après la doc postfix.traduc.org/index.php/VIR … al_mailbox :

Rhalalalalala ! Excuse moi, je n’avais pas vu ce /var/vmail, alors que moi j’ai mis l’utisateur dans le /home/vmail. J’ai changé dans dovecot.conf et je peux me logger avec openssl.

Par contre j’ai toujours la même erreur si je passe par thunderbird

imap-login: Info: Aborted login (no auth attempts): rip=134.157.2.191, lip=192.168.0.10

Et là je vois pas…

Dans postfix aussi, tu as mis virtual_mailbox_base = /home/vmail (même si ça ne change rien au problème)

=> recommence et donne nous le résultat, et aussi les logs.

postfix est opérationnel, il envoie les mails et les range correctement dans /home/vnail/.
Pour ce qui est du loguage via openssl, ça fonctionne, RAS, dans les logs j’ai

Dec 17 16:53:26 imap-login: Info: Login: user=<mc@fougeriens.org>, method=PLAIN, rip=134.157.2.191, lip=192.168.0.10, TLS
Dec 17 16:55:29 IMAP(mc@fougeriens.org): Info: Connection closed bytes=0/285

Par contre via thunderbird, cf. le précédent post.

=>Dans dovecot.conf, tu peux activer les messages de debuggage, c’est les paramètres qui se terminent par _debug, et qui aident beaucoup.

Reessaye avec le debuggage, puis redonne les résultats, les logs.

Redonne aussi le resultat de la commande dovecot -n.

En mettant :

auth_verbose=yes
auth_debug=yes
auth_debug_passwords=yes
mail_debug=yes
verbose_ssl=yes

dans dovecot.conf, j’ai exactement les même logs…

Et le résultat de dovecot -n :

# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-686 i686 Debian 6.0.5 ext3
log_path: /var/log/dovecot.log
info_log_path: /var/log/dovecot-info.log
listen: *, [::]
ssl: required
verbose_ssl: yes
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
mail_location: maildir:/home/vmail/%d/%n/
mail_debug: yes
mbox_write_locks: fcntl dotlock
auth default:
  mechanisms: plain login
  user: vmail
  passdb:
    driver: passwd-file
    args: /etc/dovecot/passwd
  userdb:
    driver: static
    args: uid=vmail gid=vmail home=/home/vmail/%d/%n
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix