[Linuxtrent] Postfix e dovecot connessi ad un server LDAP

  • From: Marco Agostini <comunelevico@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 18 Aug 2011 14:22:14 +0200

Premessa: sarò un po logorroico :-)

Ciao, in questi giorni sto ragagnando con un server di posta, nello specifico:

postfix   2.7.1-1+squeeze1
postfix-ldap   2.7.1-1+squeeze1
dovecot-common    1:1.2.15-7
dovecot-imapd         1:1.2.15-7

ho configurato postfix e dovecot per utilizzare i "virtual user"
recuperando le informazioni da un LDAP server (nel mio caso si stratta
di un Active Directory di Windows 2000).

Tutto funziona correttamente (nel senso che riesco a inviare posta
tramite postfix e ad accedere alle cassette postali tramite dovecot)
senza dover creare degli utenti locali sulla macchina server di posta
utilizzando come protocollo LDAP

.... ma se provo ad utilizzare LDAPS in fase di invio della posta il
processo "/usr/lib/postfix/smtpd" si pianta, al contrario di dovecot,
che anche configurato per gestire l'autenticazione tramite LDAPS
continua a funzionare perfettamente.

Vi fornisco qualche informazione in più per capire se qualcuno di voi
ha già affrontato la cosa e magari l'ha già risolta:
- ho configurato un apposito utente in AD con i permessi di lettura su
tutta la struttura di AD
- ldap e ldaps funzionano correttamente sul server AD
- ho installato sul server di posta ldap-utils e tramite il comando
ldapsearch riesco ad accedere tranquillamente sia tramite LDAP che
tramite LDAPS
- ho creato un utente locale di nome vmail con uid=1001 e guid=1001
- ho creato il file /etc/postfix/ldap-users.cf il quale contiene quanto segue

# cat /etc/postfix/ldap-users.cf
server_host = ldaps://IP_DEL_SERVER_AD
starttls = no
version = 3
bind = yes
bind_dn = MIODOMINIO\ADlinux
bind_pw = PASSWORD
search_base = dc=MIODOMINIO,dc=LOCALE
query_filter = 
(&(objectclass=person)(|(userPrincipalName=%s)(samaccountname=%s)(cn=%s)(mail=%s)(othermailbox=%s)))
result_attribute = samaccountname
result_format = %s/Maildir/

- ho aggiunto queste righe a /etc/postfix/main.cf
virtual_mailbox_domains = $mydomain
virtual_mailbox_base = /home/vmail/
virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cf
virtual_uid_maps = static:1001
virtual_gid_maps = static:1001

- ho riavviato il servizio postfix
- ho fatto un test tramite postmap e ottengo questo

# postmap -q INDIRIZZODIPOSTA@ILMIODOMINIO ldap:/etc/postfix/ldap-users.cf
NOMEUTENTE/Maildir/

da quello che ho capito, se postmap restituisce il valore che mi
aspetto significa che sta utilizzando LDAPS e che tutto il giro
funziona.

PROBLEMA:
Se provo a testare postfix tramite un telnet sulla porta 25 (sia
direttamente dal server locale che da un client remoto) quando digito
il comando:
"rcpt to:INDIRIZZODIPOSTA@ILMIODOMINIO"  ricevo questo come risposta
"Connection closed by foreign host." e vengo miserabilmente
disconnesso.

Controllando il contenuto del file /var/log/mail.info trovo questo:
Aug 18 13:47:40 srvimap postfix/smtpd[12768]: connect from
NOMEDELCLIENT [IPDELCLIENT]
questo messaggio appare alla connessione del client (ovviamente)
Aug 18 13:48:08 srvimap postfix/master[12739]: warning: process
/usr/lib/postfix/smtpd pid 12768 killed by signal 6
Aug 18 13:48:08 srvimap postfix/master[12739]: warning:
/usr/lib/postfix/smtpd: bad command startup -- throttling
questi due messaggi appaiono non appena confermo con invio
l'istruzione "rcpt to:......."

Al contrario, se nel file /etc/postfix/ldap-users.cf dico a postfix di
utilizzare LDAP al posto di LDAPS, il test tramite telnet funziona
correttamente.

Googolando ho trovato questo post
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572841 il quale però
fa riferimento a delle versioni più vecchie di postfix rispetto a
quella che sto utilizzando io e pur provando a disabilitare starttls,
come riportato nel post, il problema rimane.

Cosa stò sbagliando ? ... suggerimenti ?

grazie mille.
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: