Dovecot con autenticazione LDAP (centos 6.2)

Se avete gli utenti di sistema in un db LDAP ecco come configurare dovecot per l'autenticazione dei client di posta:
Server: CentOS 6.2
Installate dovecot: yum install dovecot

Ora aprite /etc/dovecot/dovecot.conf e fate le seguentio modifiche:
protocols = imap pop3 lmtp #qua lasciate solo il protocollo che volete utilizzare
disable_plaintext_auth = no #questo serve per permettere l'autenticazione in chiaro, ovviamente non sicuro se il server esposto all'esterno, ma se accettate solo per la lan locale non ci sono problemi
pop3_uidl_format = %08Xu%08Xv #questo utile solo se utilizzate anche il protocollo pop3 per gli utenti che usano outlook express
mail_location = mbox:/var/empty:INBOX=/var/spool/mail/%u:INDEX=MEMORY #queste impostazioni servono se utilizzate fetchmail per recuperare le mail da pop esterni, la locazione/formato di default dove salva le mail recuperate

Salvate e chiudete il file.

Passate a /etc/dovecot/conf.d/10-auth.conf:
Se vi serve l'autenticazione in chiaro verificate che non sia commentato/assente: auth_mechanisms = plain
Andate alla fine del file e togliete il commento (il simbolo #) alla riga !include auth-ldap.conf.ext
Salvate e chiudete il file.

Passate a /etc/dovecot/conf.d/auth-ldap.conf.ext:
Alle voci passdb e userdb aggiungete:
args = /etc/dovecot/dovecot-ldap.conf.ext #percorso e file di configurazione per l'accesso a LDAP, potete benissimo cambiarne nome e percorso, l'importante che l'utenza sotto cui gira dovecot abbia accesso
Salvate e chiudete il file.

A questo punto create il file /etc/dovecot/dovecot-ldap.conf.ext (se al passo precedente avete cambiato il percorso/nome file adeguatelo):
hosts = inserite indirizzo ip o il nome dell'hot del server ldap
auth_bind = yes
dn = cn=admin,ou=user,dc=my_org,dc=local #utilizzate una utenza che abbia accesso al server ldap
dnpass = secret #mettete la password dell'utenza di cui sopra
tls = no
scope = subtree
base = ou=user,dc=my_org,dc=local #base per la ricerca degli utenti
#ora le impostazioni per la ricerca di utenti e password, i seguenti sono per utilizzare gli utenti di sistema presenti solo in ldap e senza home
user_attrs = uidNumber=uid, gidNumber=gid
user_filter = (&(objectClass=posixAccount)(uid=%u))
pass_attrs = uid=user,userPassword=password
pass_filter = (&(objectClass=posixAccount)(uid=%u))
default_pass_scheme = CRYPT #adattatelo allo schema che avete utilizzato in ldap (SSHA, CRYPT, ecc)
ldap_version = 3


Salvate e chiudete il file.

Ora facciamo un paio di test per verificare che tutto funzioni a dovere:
service dovecot start

Ora testiamo la verifica delle autorizzazioni di accesso:
indirizzo_ip mettete un ip che sia abilitato ad accedere al server
service= imap potete usare uno qualsiasi dei protocolli che avete indicato in configurazione

doveadm auth -x service=imap -x rip=indirizzo_ip nome_utente password
e se tutto funziona correttamente dovreste ottenere:

passdb: nome_utente auth succeeded

extra fields: user=nome_utente

Infine chkconfig dovecot on per attivarlo nei runlevel predefiniti.


Se avete voglia di sperimentare potete anche utilizzare uno schema personalizzato per gli utenti da aggiungere a LDAP, nonostante abbia cercato non c' niente di standard a riguardo (sempre in riferimento a sistemi di posta), ricordatevi poi per di aggiornare i filtri di ricerca nel file dovecot-ldap.conf.ext!

Se non avete ldap potete seguire la parte alla sua installazione e configurazione di questa guida:
Creare Pdc Samba su Centos 6 con Openldap Smbldap Samba ( http://www.centos-italia.org/index.php?page=89 )

Adattando base ed i filtri di ricerca di utenti e password potete anche gestire allo stesso modo domini/utenti virtuali

Note:
Se utilizzate fetchmail scaricate i sorgenti dal sito ufficiale, troverete un file di init gi pronto e funzionante per red hat che potrete utilizzare per l'avvio automatico:
salvatelo in init.d e sar utilizzabile come tutti gli altri servizi con chkonfig e service.

SMF 2.0.13 | SMF © 2013, Simple Machines
TinyPortal © 2005-2012

Indietro all'articolo