QMail – Courier testing (CentOS 7)

Published by Lello on

Testiamo il funzionamento del nostro imap server; la cosa più semplice da fare è quella di configurare in un client una nuova casella di posta elettronica per accedere alle mail conservate nel nostro mail server; i parametri sono i seguenti:

NomeServer               mail.anthesia.lan
Porta                    143
SSL                      No
Autenticazione           Password normale

               oppure

NomeServer               mail.anthesia.lan
Porta                    993
SSL                      SSL/TLS
Autenticazione           Password normale

Di seguito invece mostreremo come testarne il funzionamento tramite shell:

# telnet mail.anthesia.lan imap
Trying 192.168.44.19...
Connected to mailtest.anthesia.lan.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2011 Double Precision, Inc.  See COPYING for distribution information.
a1 LOGIN dave dave
a1 OK LOGIN Ok.
a2 LIST "" "*"
* LIST (Marked HasNoChildren) "." "INBOX"
a2 OK LIST completed
a3 EXAMINE INBOX
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS ()] No permanent flags permitted
* 5 EXISTS
* 5 RECENT
* OK [UIDVALIDITY 392725274] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
a3 OK [READ-ONLY] Ok
a4 FETCH 1 BODY[]
........................................
a4 OK FETCH completed.
a5 LOGOUT
* BYE Courier-IMAP server shutting down
a5 OK LOGOUT completed
Connection closed by foreign host.

La connessione è stata effettuata al mail server utilizzando l’utente dave con password dave; in assenza di dominio, abbiamo istruito il nostro courier ad usare come dominio predefinito “anthesia.lan”. L’Imap server risponde correttamente alle nostre richieste di elencare le cartelle che abbiamo (a2 LIST “” “*”), di esaminare le mail che sono nella cartella INBOX (a3 EXAMINE INBOX) e di farciu vedere il messaggio n.1 (a4 FETCH 1 BODY[]). Infine anche la disconnessione funziona perfettamente (a5 LOGOUT).

Per testare il funzionamento della parte ssl, facciamo precedere al comando telnet di cui sopra, il seguente comando:

# openssl s_client -connect mail.anthesia.lan:993

Questo comando aprirà un canale sicuro verso il nostro server, dentro il quale passeranno i dati di login e gli altri comandi imap; quindi tutti i nostri dati viaggeranno dentro un canale sicuro (le nostre login e le nostre mail saranno protette da “sguardi” indiscreti).

Vediamo contemporaneamente cosa ha scritto il servizio nel file di log /var/log/maillog, considerando che il debug in questo istante è impostato a 2 (per cui posso vedere le password in chiaro):

Feb 18 13:10:08 mailtest authdaemond: received auth request, service=imap, authtype=login
Feb 18 13:10:08 mailtest authdaemond: authmysql: trying this module
Feb 18 13:10:08 mailtest authdaemond: SQL query: SELECT CONCAT(pw_name,'@', pw_domain) AS username, pw_passwd AS cryptpw, '' AS clearpw, '66' AS uid, '66' AS gid, pw_dir AS home, './Maildir/' AS maildir, pw_shell AS quota, pw_gecos AS fullname, 'disablewebmail=0,disablepop3=1,disableimap=0,disableshared=0' AS options FROM vpopmail WHERE pw_name = 'dave' AND pw_domain = 'anthesia.lan'
Feb 18 13:10:08 mailtest authdaemond: password matches successfully
Feb 18 13:10:08 mailtest authdaemond: authmysql: sysusername=, sysuserid=66, sysgroupid=66, homedir=/home/vpopmail/domains/anthesia.lan/dave, address=dave@anthesia.lan, fullname=dave, maildir=./Maildir/, quota=NOQUOTA, options=disablewebmail=0,disablepop3=1,disableimap=0,disableshared=0
Feb 18 13:10:08 mailtest authdaemond: authmysql: clearpasswd=, passwd=$1$zMhsFvSP$iyShFArxez6wF4ccMAmDJ1
Feb 18 13:10:08 mailtest authdaemond: Authenticated: sysusername=, sysuserid=66, sysgroupid=66, homedir=/home/vpopmail/domains/anthesia.lan/dave, address=dave@anthesia.lan, fullname=dave, maildir=./Maildir/, quota=NOQUOTA, options=disablewebmail=0,disablepop3=1,disableimap=0,disableshared=0
Feb 18 13:10:08 mailtest authdaemond: Authenticated: clearpasswd=dave, passwd=$1$zMhsFvSP$iyShFArxez6wF4ccMAmDJ1
Feb 18 13:10:08 mailtest imapd: LOGIN, user=dave@anthesia.lan, ip=[::ffff:192.168.44.19], port=[54495], protocol=IMAP

Visto il corretto funzionamento del modulo authmysql, togliamo dal file /usr/local/etc/authlib/authdaemonrc il DEBUG, in maniera tale che vengano registrati nel file di log solamente gli accessi:

...
DEBUG_LOGIN=0
...

Riavviamo il modulo di autenticazione:

# service courier-authlib restart

Se andiamo ad analizzare il nostro file di log, questa volta troveremo solo questa informazione:

Feb 18 13:23:26 mailtest imapd: LOGIN, user=dave@anthesia.lan, ip=[::ffff:192.168.44.19], port=[54496], protocol=IMAP
Feb 18 13:23:32 mailtest imapd: LOGOUT, user=dave@anthesia.lan, ip=[::ffff:192.168.44.19], headers=0, body=0, rcvd=11, sent=82, time=6

Quindi possiamo tranquillamente accedere alle mail del nostro mail server tramite protocollo imap messo a dispoosizione da Courier Imap Server.

← QMail – Courier Imap (CentOS 7)                                     QMail – Horde/Imp (CentOS 7) →