# postfix SMTP authentication

## .:chrome:.

sto cercando disperatamente e senza successo di implementar l'autenticazione SMTP per un mailserver multidominio con db utenti su PostgreSQL.

non vuole saperne di funzionare. sembra che la query attraverso saslauthd venga fatta correttamente ma che la password non venga riconosciuta.

ci sono suggerimenti?

----------

## makoomba

come hai configurato sasl ?

```
cat /etc/sasl2/smtpd.conf
```

----------

## .:chrome:.

 *Quote:*   

> pwcheck_method: saslauthd auxprop
> 
> mech_list: login plain
> 
> auxprop_plugin: sql
> ...

 

ovviamente il db è in ascolto su localhost. i db esistono, gli utenti pure

l'unica cosa che ottengo è questa:

 *Quote:*   

> connect from ...
> 
> setting up TLS connection from ...
> 
> TLS connection established from ...: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
> ...

 

----------

## makoomba

```
pwcheck_method: auxprop
```

----------

## .:chrome:.

 *makoomba wrote:*   

> 
> 
> ```
> pwcheck_method: auxprop
> ```
> ...

 

già provato.

questa è l'ennesima variante

la soluzione originale era passare attraverso PAM, attraverso nss-pgsql, ma se ne è andata a tr**e dopo un aggiornamento del suddetto pacchetto (nel quale, per di più, mi sono ben guardato dall'aggiornare i file di configurazione)

mi sa tanto che abbandonerò presto questa strada e demanderò l'autenticazione all'authdaemond di courier

----------

## makoomba

dovrebbe funzionare.

le pw sono in chiaro ?

versione di postfix/sasl ?

----------

## drakkan

se le password sono criptate devi usare una versione di cyrus-sasl che le supporti (USE=crypt) la versione stabile non funziona, in alternativa se usi anche courier puoi usare authdaemond come metodo di autenticazione che funziona sia con password in chiaro che con quelle criptate

----------

## .:chrome:.

 *makoomba wrote:*   

> dovrebbe funzionare.
> 
> le pw sono in chiaro ?
> 
> versione di postfix/sasl ?

 

e invece non funziona. le versioni di postfix e sasl sono quelle stabili per x86 (non ho voglia di verificare, scusa la pigrizia)

 *drakkan wrote:*   

> se le password sono criptate devi usare una versione di cyrus-sasl che le supporti (USE=crypt) la versione stabile non funziona, in alternativa se usi anche courier puoi usare authdaemond come metodo di autenticazione che funziona sia con password in chiaro che con quelle criptate

 

questa mi è nuova. mi riferisco alla versione instabile si sasl

la USE c'è già

ormai comunque ho ripiegato su authdaemond, che a ben pensarci è una soluzione più elegante e di certo più robusta della precedente.

però voglio capire anche cosa non va in questa conifgurazione. replicherò le funzioni su un'altra macchina e cercherò di risolvere

----------

## drakkan

 *Quote:*   

> 
> 
> questa mi è nuova. mi riferisco alla versione instabile si sasl
> 
> la USE c'è già
> ...

 

io vedo la use crypt solo nella versione instabile di cyrus-sasl   :Laughing: 

```

emerge -pv cyrus-sasl

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild  N    ] dev-libs/cyrus-sasl-2.1.20  -authdaemond +berkdb +gdbm +java -kerberos +ldap +mysql +pam -postgres +ssl -static 0 kB

Total size of downloads: 0 kB

d810 pixmaps # vi /etc/portage/package.keywords

d810 pixmaps # emerge -pv cyrus-sasl

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild  N    ] dev-libs/cyrus-sasl-2.1.21-r2  -authdaemond +berkdb +crypt +gdbm +java -kerberos +ldap +mysql -ntlm_unsupported_patch +pam -postgres -sample -srp +ssl -urandom 1,547 kB

Total size of downloads: 1,547 kB

```

in ogni caso ho testato l'autenticazione sull'smtp sia con authdaemond che con sasl e ti dico che se le password sono criptate e non vuoi usare authdaemond devi applicare a cyrus-sasl una patch che è presente in portage solo per la versione instabile di cyrus-sasl guarda in  /usr/portage/dev-libs/cyrus-sasl/files la patch è cyrus-sasl-2.1.19-checkpw.c.patch che nonostante la versione che vedi funziona anche con cyrus-sasl-2.1.20 e 2.1.21, ti posto qualche riga dell'ebuild di cyrus-sasl-2.1.21-r2 che dovrebbe fugare ogni dubbio:

```

# Support for crypted passwords. Bug #45181

    use crypt && epatch "${FILESDIR}/cyrus-sasl-2.1.19-checkpw.c.patch"

```

ciao   :Smile: 

----------

## makoomba

 *k.gothmog wrote:*   

> e invece non funziona.

 

uso quella conf su tutti i mail server e non ho mai avuto problemi....

sarà perchè usi pgsql invece di mysql :p 

authdaemond è una soluzione valida, considerato che devi cmq usarlo per imap/pop3

----------

