http://www.hyperlinux.com.br/
ecbr@hyperlinux.com.br
Éderson Carlos B. Reis
Postfix Autenticando com o SASL
Neste tutorial vamos abordar com fazer o Postfix autenticar SMTP com SASL.
Ambiente: Conectiva 
Linux 8
Pacotes a serem instalados:
-  linuxconf-postfixconf-1.25r3-38cl
 -  postfix-1.1.13-1U80_1cl
 -  sasl-plug-plain-1.5.24-16U80_1cl
 -  sasl-plug-digestmd5-1.5.24-16U80_1cl
 -  sasl-programs-1.5.24-16U80_1cl
 -  sasl-plug-anonymous-1.5.24-16U80_1cl
 -  sasl-doc-1.5.24-16U80_1cl
 -  sasl-plug-crammd5-1.5.24-16U80_1cl
 -  sasl-devel-1.5.24-16U80_1cl
 -  sasl-1.5.24-16U80_1cl
 -  sasl-plug-login-1.5.24-16U80_1cl
 -  pwdb-0.58-8cl
 -  pwdb-devel-0.58-8cl
 
Vou descrever aqui duas formas de autenticação, usando o 
sasldb e usando o 
pwcheck.
Bom, chega de conversa e vamos o que interessa...
A intenção desse tutorial é de mostrar a configuração do Postfix + SASL, então não levarei em consideração o resto da configuração do Postfix.
O primeiro passo será adicionar essas linhas no final do arquivo 
main.cf do Postfix:
 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_unauth_pipelining, reject_maps_rbl
# essa linha serve para ativar o a autenticação smtp
smtpd_sasl_auth_enable = yes 
# essa linha serve para não permitir que autenticação smtp seja anônima.
smtpd_sasl_security_options = noanonymous 
# essa linha serve para evitar problemas com o outlook express 4.0 / 5.x
broken_sasl_auth_clients = yes 
# essa linha serve para configurar as permissões de envio e recebimento, para mais detalhes eu aconselho entrar na página oficial www.postfix.org.
smtpd_recipient_restrictions 
Feitas as configurações no main.cf, nós iremos agora criar o arquivo smtpd.conf.
 
Entre dentro do diretório /usr/lib/sasl/  e crie o arquivo smtpd.conf:
 
# cd /usr/lib/sasl
# touch smtpd.conf
 
Mude as permissões desse arquivo para maior segurança:
 
# chmod 644 smtpd.conf
 
Agora você vai escolher o meio de autenticação que será usado. Vou dar duas opções:
 
1. Opção sasldb
Edite o arquivo que acabamos de criar no passo anterior (smtpd.conf):
 
# vi /usr/lib/sasl/smtpd.conf
 
Crie as seguintes linhas:
 
pwcheck_method: sasldb
mech: plain
 
Feito isso, salve o arquivo e saia.
 
Agora só nos resta criar os usuários para o SMTP... vamos lá!
 
# sasldblistusers 
O comando sasldblistusers acima serve para listar os usuários criados no banco de dados sasldb e o comando saslpasswd serve para gerenciar usuários no banco de dados sasldb, para mais detalhes digite "saslpasswd -help".
 
Vamos criar um usuário "teste":
 
# saslpasswd -c teste -u entrada_MX_do_dns
# saslpasswd -c teste -u mail.dominio.com.br
 
Para deletar:
 
# saslpasswd -d teste -u mail.dominio.com.br
 
Ele automaticamente criará um arquivo no /etc chamado sasldb, que é o arquivo que contém os dados dos usuários.
 
Para listar os usuários criados, no shell digite:
# sasldblistusers
 
Feito isso é só iniciar o Postfix:
 
# service postfix start
 
 
2. Opção pwcheck
Essa é mais simples, no arquivo /usr/lib/sasl/smtpd.conf, mude:
 
pwcheck_method: sasldb
mech: plain
 
para:
 
pwcheck_method: pwcheck
mech: plain
 
Depois temos eu editar o arquivo /etc/pwdb.conf e deixá-lo da seguinte forma:
 
# vi /etc/pwdb.conf
 
#
# This is the configuration file for the pwdb library
#
 
user:
      shadow
      shadow
 
group:
      shadow
      shadow
 
É simples, ele usará o arquivo /etc/shadow para autenticar, ou seja, usar os usuários do sistema para fazer autenticação.
 
Feito isso, digite o comando:
 
# pwcheck
 
Isso iniciará o serviço de autenticação pelo arquivo shadow.
 
Para quem gosta de mais segurança, no arquivo main.cf do Postfix você pode fazer da seguinte forma:
 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject
Nessa configuração até sua rede vai ter que autenticar SMTP.
Este tutorial é bem simples e objetivo, para qualquer dúvida ou acréscimo eu estou a seu dispor...
ecbr@hyperlinux.com.br
http://www.hyperlinux.com.br
Éderson Carlos B. Reis
msn - ecbr2003@hotmail.com
ICQ - 154445662