[Postfix-es] Postfix + LDAP + SMTP

Ender eduvedder en terra.es
Mar Mayo 2 18:28:13 CEST 2006


Hola,

> Me gustaría hacer validaciones de cuentas de correo, en el envio SMTP,
> contra un servidor LDAP.
Creo que mezclas 2 conceptos en tu email: la autenticación SMTP y la
comprobación de que la cuenta de destino del email existe (para mails
entrantes).

Ambas funciones se pueden conseguir contra un servidor LDAP (active
directory).

Siempre que el postfix tenga que preguntar algo al LDAP ha de hacerlo
con unas credenciales predefinidas en la configuración (con permisos de
lectura sobre todas las cuentas), el bind_dn y el bind_pw. No tiene
sentido intentar meter aquí datos introducidos por el usuario.

La autenticación SMTP (hacer que los usuarios puedan utilizar el
servidor de correo mandando nombre y contraseña) se puede hacer contra
el active directory utilizando SASL + WINBIND (el modulo PAM). Además
también se puede hacer mediante kerberos (esta forma no la he
implementado nunca pero me han hablado muy bien de ella). De cualquiera
de las formas se utilizará una cuenta predefinida para consultar al LDAP
si el nombre de usuario y la contraseña son válidos.

La comprobación de que la cuenta existe (los alias) sí que se puede
realizar de la forma que describías en tu email... en mi caso, contra el
active directory de un exchange 2000/2003 hice...


server_host = ip_servidor
search_base = dc=NHT-NORWICK,dc=LOC
bind = yes
bind_dn = cn=NHT-Norwick,cn=Users,dc=NHT-NORWICK,dc=LOC
bind_pw = password
scope = sub
query_filter = (proxyAddresses=SMTP:%s)
result_attribute = mail
lookup_wildcards = no
version = 3

Consejo.... utiliza las utilidades unix ldapsearch para familiarizarte
con la estructura de los LDAPs... si no consigues realizar consultas a
pelo con el ldapsearch nunca harás que te funcione las consultas del
postfix.

Sobre la autenticación yo configuré winbind (una parte de samba). Los 2
ficheros que tuve que tocar eran: /etc/samba/smb.conf y /etc/pam.d/smtpd
(o smtp, no me acuerdo).

Lo que tampoco me acuerdo es como indicaba al postfix o a sasld que
utilizaran pam.

Por cierto, buenísimas las indicaciones que he visto de Jorge Armando
Medina!!!

Saludos,
   Ender

> 
> Esta es la configuracion que he añadido al main.cf
> 
> server_host = ldap.servidor.es
> 
> search_base = dc=servidor, dc=es
> 
> version = 3
> 
> query_filter = (mail=%s)
> 
> result_filter = %s
> 
> scope = sub
> 
> bind = yes
> 
> bind_dn = usuario en servidor.es
> 
> bind_pw = clave
> 
> De este manera, puedo validar todas las cuentas de correo, si existen,
> a traves de un usuario “= usuario en servidor.es “ y una clave constante
> en cualquier consulta
> 
> ¿Se podrian parametrizar los campos “bind_dn y bind_pw” para que las
> consultas ldap se hagan con el usuario y la clave del correo que
> queremos validar?
> 
> Lo pregunto porque el servidor LDAP, es “Windows 2000 Active
> Directory” y no veo manera.
> 
> Gracias.
> 
> _______________________________________________
> List de correo Postfix-es
> Postfix-es en lists.wl0.org
> http://lists.wl0.org/mailman/listinfo/postfix-es



Más información sobre la lista de distribución Postfix-es