saslauthd erro de autenticação

6

Meu servidor desenvolveu um problema esperado no qual não consigo me conectar de um cliente de e-mail.

Eu olhei os logs do servidor e a única coisa que parece identificar um problema são eventos como os seguintes:

Nov 23 18:32:43 hig3 dovecot: imap-login: Login: user=, method=PLAIN, rip=xxxxxxxx, lip=xxxxxxx, TLS Nov 23 18:32:55 hig3 postfix/smtpd[11653]: connect from xxxxxxx.co.uk[xxxxxxx] Nov 23 18:32:55 hig3 postfix/smtpd[11653]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory Nov 23 18:32:55 hig3 postfix/smtpd[11653]: warning: xxxxxxx.co.uk[xxxxxxxx]: SASL LOGIN authentication failed: generic failure Nov 23 18:32:56 hig3 postfix/smtpd[11653]: lost connection after AUTH from xxxxxxx.co.uk[xxxxxxx] Nov 23 18:32:56 hig3 postfix/smtpd[11653]: disconnect from xxxxxxx.co.uk[xxxxxxx]

O problema é incomum, porque apenas meia hora antes no meu escritório, eu não estava sendo solicitado para um nome de usuário e senha corretos no meu cliente de email. Eu não fiz nenhuma alteração no servidor, então não consigo entender o que teria acontecido para que esse erro ocorresse.

As pesquisas pelas mensagens de erro geram vários resultados, com 'correções' das quais não tenho certeza (obviamente, não quero piorar ou consertar algo que não está quebrado).

Quando eu corro

testsaslauthd -u xxxxx -p xxxxxx

Eu também recebo o seguinte resultado:

connect() : No such file or directory

Mas quando eu corro

testsaslauthd -u xxxxx -p xxxxxx -f /var/spool/postfix/var/run/saslauthd/mux -s smtp

Eu recebo:

0: OK "Success."

Encontrei esses comandos em outro fórum e não tenho certeza do que eles significam, mas espero que eles possam dar uma indicação de onde o problema pode estar.

Quando eu corro

ps -ef|grep saslauthd

Esta é a saída:

root 1245 1 0 Nov24 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5 root 1250 1245 0 Nov24 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5 root 1252 1245 0 Nov24 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5 root 1254 1245 0 Nov24 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5 root 1255 1245 0 Nov24 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5 root 5902 5885 0 08:51 pts/0 00:00:00 grep --color=auto saslauthd

Se isso faz alguma diferença, estou executando o Ubuntu 10.04.1, o Postfix 2.7.0 e o Webmin / Virtualmin.

    
por James 24.11.2012 / 02:12

4 respostas

12

O postfix pode ser executado em um chroot (por padrão, em /var/spool/postfix ) ou não. Se estiver, ele tentará abrir /var/spool/postfix/var/run/saslauthd/mux para autenticação sasl. Se não estiver, ele tentará abrir /var/run/saslauthd/mux

Parece que, por algum motivo, sua instância de postfix estava sendo executada em um chroot, e não é mais. É estranho, mas é o que eu acho dos detalhes da sua pergunta. Se foi o que aconteceu, você pode alterar a configuração do saslauthd para usar /var/run/saslauthd ou executar o postfix em um chroot novamente.

Para saber se o seu Postfix está executando o chroot, você pode verificar o /etc/postfix/master.cf :

  1. Se tiver a linha smtp inet n - y - - smtpd ou smtp inet n - - - - smtpd , o seu Postfix está sendo executado em um chroot ;
  2. Se tiver a linha smtp inet n - n - - smtpd , seu Postfix NÃO estará em execução em um chroot .

Esta verificação vem de /etc/default/saslauthd (arquivo de configuração do sasl do Ubuntu).

    
por 27.11.2012 / 09:31
4

Parece que postfix sempre procura na localização chroot'ed saslauthd , mesmo que esteja configurada para NOT usar o ambiente chroot para seus serviços.

Eu achei essa postagem do blog muito útil, apesar de ser de 2005!

link

postfix does a chroot so it can’t communicate with saslauthd. This is the tricky part:

rm -r /var/run/saslauthd/ 
mkdir -p /var/spool/postfix/var/run/saslauthd 
ln -s /var/spool/postfix/var/run/saslauthd /var/run 
chgrp sasl /var/spool/postfix/var/run/saslauthd 
adduser postfix sasl

Você pode executar saslauthd no modo de depuração usando:

saslauthd -c -d -a pam -m /var/run/saslauthd

Do seu cliente, faça o seguinte:

openssl s_client -CApath /etc/ssl/certs/ -starttls smtp -connect mail.mydomain.com:587

Quando solicitado, digite:

HELO mynotebook.com
LOGIN PLAIN <base64code>

onde o base64code bit vem disso:

perl -MMIME::Base64 -e 'print encode_base64("
HELO mynotebook.com
LOGIN PLAIN <base64code>
0username
perl -MMIME::Base64 -e 'print encode_base64("%pre%0username%pre%0password");'
0password");'
    
por 11.11.2014 / 00:01
2

Toda vez que eu encontrei um problema parecido com o saslauthd (e quando tudo foi checado duas vezes), tem sido sobre permissões de diretório / arquivo. Verifique cada etapa desse caminho /var/spool/postfix/var/run/saslauthd para ter certeza de que o saslauthd realmente possa chegar lá.

    
por 27.11.2012 / 09:48
2

Nenhum arquivo ou diretório ao tentar conectar sugere que o soquete UNIX para o qual o SASLAuthd está procurando não existe.

Se você executar ps -ef | grep saslauthd , verá que ainda está em execução?

Se sim, talvez veja se ele tem seu próprio local de registro.

Se não, só precisa de um reinício.

    
por 24.11.2012 / 16:35