[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: exim autentificación



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jaume
On Wednesday 23 October 2002 08:59, jaume wrote:
>  Alguien sabe como hacer que los clientes de un servidor de correo con exim
>  tengan que marcar "el servidor requiere autentificación"  y que la
>  autentificación sea el mismo passwd del sistema (shadow)?
>  Agradeceria ordenes muy concretas, ya que con el manual no me aclaro
> mucho.
>
>  Gracias

He sentido curiosidad por los problemas que nos comentabas con la
autentificación y he estado haciendo mis pruebas con el exim precompilado de
debian, a falta de probar el soporte PAM te puedo decir que funciona, y que
esta correctamente documentado aunque me atrevería a decir que la
configuración  de debian, al menos para el método PLAIN tiene un error, pero
, con el exim en modo debug exim -bd -d6 y unas pruebas se ve claramente, en
el fondo la autentificación con crypt (el soporte de md5 es directo también)
para el método PLAIN compara $2 con el password, cuando debería comparar $3


archivo /etc/exim/passwd ( cifrado con crypt )
- ------------------------------------------------------------------------------------------
vcalzado:p8Ok/hjudyDmU:11957:0:99999:7:::
- -------------------------------------------------------------------------------------------

configuración del driver plain
- ---------------------------------------------------------------------------------------------
 plain:
   driver = plaintext
   public_name = PLAIN
   server_condition = "${if
crypteq{$3}{${extract{1}{:}{${lookup{$2}lsearch{/etc/exim/passwd}{$value}{*:*}}}}}{1}{0}}"
   server_set_id = $2

- ------------------------------------------------------------------------------------------------

hipotético driver login
( no está probado )
#
# login:
#   driver = plaintext
#   public_name = LOGIN
#   server_prompts = "Username:: : Password::"
#   server_condition = "${if
crypteq{$3}{${extract{1}{:}{${lookup{$1}lsearch{/etc/exim/passwd}{$value}{*:*}}}}}{1}{0}}"
#   server_set_id = $1
- ---------------------------------------------------------------------------------------------------------------

Evidentemente si decides configurar exim para tirar contra shadow  lo harás
bajo tu propio riesgo.....

Alternativa no probada, pero visto lo visto debería funcionarte, procede
directamente del FAQ de exim, no digo nada, pero a veces somos muy cómodos
todos...

Tienes todos los pasos aquí:
http://www.e-admin.de/pam_exim/

llegas desde la FAQ de exim
por ejemplo aquí:
http://redvip.homelinux.net/varios/Exim/FAQ-html/FAQ_0.html

buscando PAM :
- ------------------------------------------------------------------------------------------------------
Q0029:  I can't seem to figure out why PAM support doesn't work correctly.

A0029:  There is a problem using PAM with shadow passwords when the calling
program is not running as root. Exim is normally running as the Exim user
when authenticating a remote host. See this posting for one way round the
problem:

http://www.exim.org/mailman/htdig/exim-users/Week-of-Mon-20010917/030371.html

PAM 0.72 allows authorization as non-root, using setuid helper programs.
Furthermore, in /etc/pam.d/exim you can explicitelly specify that this
authorization (using setuid helpers) is only permitted for certain users and
groups.
- ---------------------------------------------------------------------------------------------------

pasando por aquí:
http://www.exim.org/mailman/htdig/exim-users/Week-of-Mon-20010917/030371.html

No puedo probar el soporte PAM compilando ese módulo, pero vamos, es evidente
que te ha de funcionar, los "drivers" para soportarlo serían tal que así
(evidentemente no están probados):

- ------------------------------------------------------------------------------------------------
#SMTP AUTH conf
fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "User Name : Password"
server_condition = "${if pam{$1:$3}{1}{0}}"
server_set_id = $1

fixed_plain:
driver = plaintext
public_name = PLAIN2
server_condition = "${if pam{$2:$3}{1}{0}}"
server_set_id = $2
- ---------------------------------------------------------------------------------------------------

Respecto al PAM ten en cuenta que no funciona, salvo que se configure
apropiadamente para ello con usuarios que no son root, siento que tal vez mi
correo al respecto te despistara.

Respecto a los métodos de autentificación usando texto plano creo que PLAIN y
LOGIN son los más comunes, no me atrevo a decir los únicos, entre los
clientes de correo más frecuentes, si te fijas en las distintas
configuraciones es meramente un problema semántico, el driver y la validación
es igual sólo que la petición se le presenta al cliente de una manera
determinada, kmail utiliza PLAIN ciego, por decirlo de alguna manera y m$
outlook espera un prompt de User Name: y posterior Password:  , espero que
con todo esto consigas hacer funcionar el soporte.

Un saludo
Victor

PD: La verdad es que la curva de aprendizaje para exim, siempre que se dedique
tiempo, pica hacia arriba muy pronto, en mi opinión la documentación de exim
no tiene nada que envidiarle a la de qmail, salvo el trabajo alabable de
traducción que se ha hecho, y como MTA es de lo más potente que me he
encontrado.

PD: Si te fijas en las cabeceras verás que este mensaje se ha mandado 
utilizando autentificación contra un exim :))
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9tmQMEzqHF8R72ekRAqQaAJ9a8LA+lbHRuBj8RtOacvWAHhbrHgCfXAmn
Kvyre0wELJGZIse250oyr/Y=
=4VX5
-----END PGP SIGNATURE-----



Reply to: