Gracias por la documentaci�n, pero no hay una manera de que pille los paswords de los usuarios del sistema? sin ldap,...
> Hola Jaume > > On Wednesday 16 October 2002 09:23, jaume wrote: > > Alguien me puede decir algun documento sobre la autentificacion smtp en > > exim? > > Estoy un poco liado de conceptos y necesitaria aclaraci�n por favor. > > Lo �nico que quiero es que al enviar una red con outlooks express a trav�s > > de exim en una Woody tengan que marcar por fuerza "mi servidor requiere > > autentificacion", y que sea un usuario v�lido del sistema.(shadow passwd). > > Tengo el exim instalado a partir del apt-get y configurado con las > > opciones del eximconf, pero no se si tengo que bajarme los codigos fuentes > > y compilarlo con otro soporte, ...o ke. > > Ayudadme por favor. > > > > Gracias. > > La documentaci�n oficial la puedes encontrar en: > > http://www.exim.org/exim-html-3.30/doc/html/spec_toc.html#TOC763 > > ( creo que incluso el spec viene en la distribuci�n de exim ) > Tienes todo un cap�tulo dedicado a eso, por si acaso y de paso te pego un > documentillo de cocina interna para incomporar smpt autentiticado a un exim > con LDAP en multidominio s�lo para algunos dominios > > -------------------------------------------------------------------------- ------------------------- > ----------------------------------------- > > Paso 1: Compilaci�n de exim con soporte para smtp autenticado: Local/Makefile > AUTH_PLAINTEXT=yes > > Paso 2: Habilitar el uso de smtp autenticado por parte de los clientes: > > desde cualquier direcci�n:host_auth_accept_relay = * > s�lo desde las conexiones con relay permitido: > #puedes utilizar los formatos habituales de exim, o incluso poner una sola > #direcci�n de red con m�scaras > host_auth_accept_relay=/opt/exim/etc/relay.conf > > generar una macro LDAP de este tipo: > LDAP_FILTER_SMTPAUTH=(&([EMAIL PROTECTED])(userpassword=$3)) > > Suponiendo que el mail del usuario de dominio.com contiene la uid del usuario > y el > dominio de no ser asi tendr�as > algo as�: > > LDAP_FILTER_SMTPAUTH=(&(&([EMAIL PROTECTED])(uid=$2))(userpassword=$3)) > > > suponiendo que el atributo userpassword contiene el password del usuario en > texto plano. > en configuraciones m�s trabajadas se podr�a atacar un password cifrado con > MD5, > pero en principio > el soporte de SHA en las comparaciones no se obtiene de forma nativa. si > unimos > esto a que el atributo userpassword > suele estar protegido de las miradas curiosas, con lo que la b�squeda LDAP > se debe hacer con un usario con permisos suficientes para retirar el valor del > atributo. > lo puedes almacenar en otra Macro > CREDENTIALS=user="cn=Directory Manager" pass=password > Evidentemente no deber�a ser el directory manager qui�n haga la b�squeda, lo > mejor, como me comentaba > ernesto ser�a algo as� como utilizar al propio usuario para validar su > password, > te cuento: > > imagina que todos los usuarios de dominio.com siguen la misma norma para > generar > su DN, por ejemplo la > uid que env�an para autenticar en el correo seguido de su posici�n en el > �rbol: > > uid=$uid_de_autentificaci�n,ou=dominio,o=bt > > Como autentico al usuario validando la password.... > > pues creando esto en la macro credentias: > CREDENTIALS_SECURE= user="uid=$2,ou=dominio,o=bt" pass=$3 > > si utilizas este segundo m�todo te ahorras poner el password en el filtro: > LDAP_FILTER_SMTPAUTH=([EMAIL PROTECTED]) > o > LDAP_FILTER_SMTPAUTH=(&(&([EMAIL PROTECTED])(uid=$2)) > > si la uid que utilizan para autententicar no es la misma, o no forma parte del > dn..... > pues tendr�as que ver la manera de hacerte con el dn del usuario, puede que > con > una b�squeda ldap extra > > Evitas as� configurar un usuario con privilegios sobre el LDAP en exim y el > sistema de cifrado de las passwords > es totalmente transparente para exim.... ( �qu� sistema de smtp autenticado da > m�s que esto? ) > > > smtp_auth_driver: > #opciones especificas de autentificaci�n mediante password en claro > #usuario password_codificada_en_base64 > driver = plaintext > public_name = PLAIN > #parametros que el servidor solicita al cliente antes de expandir la condicion > #por defecto usuario y password, cuando las tiene...., parece que a outlook > #solo le gusta este formato concreto > server_prompts = Username : Password > #busqueda LDAP y validaci�n > server_condition = "${lookup ldap {CREDENTIALS_SECURE \ > ldap:///LDAP_BASE?LDAP_ATTRIBUTES?sub?LDAP_FILTER_SMTPAUTH}{true} fail}" > #paso del parametro de identificacion en forma de variable al resto > #de elementos de exim, por ejemplo para a�adir un campo en las cabeceras > server_set_id = $2 > > > tu server condition podr�a hacer usar la funci�n crytpeq, aunque la extracci�n > de los passwords del archivo de shadow te supondr� darle lectura al usuario > que ejecuta exim, tendr�as que obtener tu el texto cifrado, y bla bla bla, > pero bueno, tampoco es : > > -------------------------------------------------------------------------- ---------------------------- > crytpeq {<string1>}{<string2>} > > This condition is included in the Exim binary if it is built to support any > authentication mechanisms (see chapter 35). Otherwise, it is necessary to > define SUPPORT_CRYPTEQ in `Local/Makefile' to get crypteq included in the > binary. > > The crypteq condition has two arguments. The first is encrypted and compared > against the second, which is already encrypted. The second string may be in > the LDAP form for storing encrypted strings, which starts with the encryption > type in curly brackets, followed by the data. For example: > > {md5}CY9rzUYh03PK3k6DJie09g== > > If such a string appears directly in an expansion, the curly brackets have to > be quoted, because they are part of the expansion syntax. For example: > > ${if crypteq {test}{\{md5\}CY9rzUYh03PK3k6DJie09g==}{yes}{no}} > > Two encryption types are currently supported: > > * md5 first computes the MD5 digest of the string, and then expresses this > as printable characters by means of base64 encoding. > * crypt calls the crypt() function as used for encrypting login passwords. > > If the second string does not begin with `{' it is assumed to be encrypted > with crypt(), since such strings cannot begin with `{'. Typically this will > be a field from a password file. > -------------------------------------------------------------------------- ------------------------ > PASSWORDCIFRADO="macro realizada con extract, utilizas $2 como patron de > reconocimiento de l�nea y extraes con los : como separador de campo" > #(recuerda que las macros las defines en main, pueden ir en la misma l�nea > #pero se hacen imposibles de leer" > server_condition = "${if crypteq {$3}{PASSWORDCIFRADA}{yes}{no}" > > La informaci�n de como trabajar con extract ,la tienes tambi�n en la > documentaci�n: > http://www.exim.org/exim-html-3.30/doc/html/spec_toc.html#TOC179 > > Puede que haya un sistema mejor para comparar passwords del sistema pero lo > desconozco, como consejo yo instalar�a un openldap sin mucha floritura y lo > atacar�a para comparar passwords, expones menos la seguridad del sistema y al > mismo tiempo te ahorras la "MACRO" de extracci�n de passwords cifrados ( > aunque le puedas exportar usuario:password a un archivo y extraer de ah� que > es bastante simple.... ) > > Ante cualquier duda de todos modos ya sabes donde estamos > Espero que algo de esto te sirva de ayuda, un saludo > Victor > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > > >

