Pesquisar neste blog

quinta-feira, 27 de novembro de 2008

Criando autenticação no Postfix com ldap no CentOS

Existem vários métodos de autenticação, o exemplo abaixo mostra como autenticar utilizando o sasl com ldap como base consulta de senhas.

1) Instalando o método de autenticação

[root@centos ]# yum install cyrus-sasl*

Bom, depois de instalado vamos as configurações.
Para termos certeza que o mecanismo de autenticação usado pelo sasl está disponível, usamos o seguinte comando abaixo:

[root@centos ]# saslauthd -v
saslauthd 2.1.19
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

Bom, vemos acima na lista que o mecanismo que iramos usar está instalado, então blz.

Vamos definir o tipo de autenticação usado pelo sasl no arquivo /etc/sysconfig/saslauthd:

[root@centos ]# vim /etc/sysconfig/saslauthd

MECH=ldap

salve e feche o arquivo.

Vamos editar o arquivo de configuração chamado smtpd.conf localizado na pasta /usr/lib/sasl2 para definir o servidor de diretório de pesquisa do ldap.

[root@centos ]# vim /usr/lib/sasl2/smtpd.conf

Edite-o deixando exatamente como abaixo:

pwdcheck_method: saslauthd
mech_list: plain login

ldap_servers: ldap://meuservidorldap.com.br
ldap_bind_dn: senha_do_servidor_ldap
ldap_search_base: ou=usuarios,dc=meuservidorldap,dc=com,dc=br

Salve o arquivo e feche.

Agora vamos inicializar o serviço do sasl
[root@centos ]# service saslauthd start

Vamos efetuar um teste para nos certificarmos que o sasl está autenticando nosso usuário na base ldap usando o exemplo do comando abaixo:

[root@centos ]# testsaslauthd -u usuario -p senha
0: OK "Success."

Se aparecer a mensagem acima então sua autenticação ldap está funcionando.

Agora vamos configurar o postfix para que use esse mecanismo de autenticação para seus usuários localizados na base ldap:

[root@centos ]# vim /etc/postfix/main.cf

ao lado do parâmetro smtpd_recipient_restrictions depois do sinal de igual adicione a condição permit_sasl_authenticated ficando conforme abaixo:

smtpd_recipient_restrictions = permit_sasl_authenticated

# Habilita a autehticação no servidor
smtpd_sasl_auth_enable = yes
# desabilitando acesso anonimo
smtpd_sasl_security_options = noanonymous
# Configura o domínio de autenticação SASL
smtpd_sasl_local_domain = $myhostname
# Habilita suporte a clientes de email antigos
broken_sasl_auth_clients = yes

Salve o arquivo e feche.

Reinicializando o serviço do postfix
[root@centos ]# service postfix restart

Testando

[root@centos]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mailserver.meuservidor.com.br ESMTP Postfix (2.2.10 RHEL)
ehlo localhost
250-mailserver.meuservidor.com.br
250-PIPELINING
250-SIZE 15000000
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME

Nenhum comentário: