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