SASL aceita senhas “erradas”

2

Eu configurei um servidor de e-mail com o Postfix e o configurei para usar o Cyrus SASL para autenticar meus usuários. Funcionou perfeitamente, até que descobri que posso logar com senhas menores do que elas realmente são.

Por exemplo, a senha deve ser uhuh1234h22 , posso fazer login com:

uhuh1234
uhuh1234h
uhuh1234h2
uhuh1234h22

Mas não com nada mais curto ...

Eu testei isso com este comando:

testsaslauthd -u USERNAME -p PASSWORD -s smtp -f /var/spool/postfix/var/run/saslauthd/mux

Minha pergunta é por que isso acontece e como posso evitar isso?

Editar

Meu arquivo de configuração em /etc/pam.d/smtp é:

auth    required   pam_mysql.so user=USR passwd=PASS host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=USR passwd=PASS host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
    
por Matthias Dunkel 09.01.2014 / 14:17

1 resposta

1

O problema está no uso de crypt . De os documentos para pam_mysql :

crypt (0)

Specifies the method to encrypt the user's password:
 0 (or "plain") = No encryption. Passwords stored in plaintext. HIGHLY DISCOURAGED. 
 1 (or "Y") = Use crypt(3) function 
 2 (or "mysql") = Use MySQL PASSWORD() function. It is possible that the encryption function used by pam-mysql is different from that of the MySQL server, as pam-mysql uses the function defined in MySQL's C-client API instead of using PASSWORD() SQL function in the query. 
 3 (or "md5") = Use MySQL MD5() function

Seu parâmetro crypt está definido como 1 , o que significa que a função crypt é usada. E isso é o que o crypt está fazendo :

By taking the lowest 7 bits of each of the first eight characters of the key, a 56-bit key is obtained.

Você deve estar usando um dos outros esquemas de armazenamento (preferencialmente 2 ou 3) para permitir senhas mais longas.

Observe que você provavelmente precisaria verificar outras definições de serviço em /etc/pam.d e certificar-se de que tudo está coberto (se você tiver um servidor Cyrus IMAP autenticado com SASL no mesmo host, pelo menos / etc / pam.d / imap conteria registros semelhantes)

Ao alterar o esquema de criptografia de senha, você também perderá efetivamente todas as suas senhas armazenadas e precisará redefini-las.

    
por 09.01.2014 / 14:49