Ter uma autenticação SMTP em seu servidor de correio trás vários benefícios. Autenticação SMTP pode adicionar uma outra camada de segurança ao sendmail, e trás o benefício de dar aos usuários móveis que alternam seus hosts a possibilidade de usar o mesmo servidor de correio sem a necessidade de reconfigurar seu cliente de correio toda hora.
Instale o security/cyrus-sasl a partir do ports. Você pode achar este port em security/cyrus-sasl. security/cyrus-sasl tem várias opções na hora da compilação para serem escolhidas, para o método que nós estaremos usando aqui, certifique-se de selecionar a opção pwcheck.
Depois de instalar security/cyrus-sasl, edite o /usr/local/lib/sasl/Sendmail.conf (ou crie-o se não existir) e adicione a seguinte linha:
pwcheck_method: passwd
Este método irá habilitar o sendmail para autenticar na base de dados passwd do seu FreeBSD. Isto resolve o problema de criar um novo usuário e senha para cada usuário que necessitar a autenticação SMTP, e mantém o login e senha e email iguais.
Agora edite o /etc/make.conf e adicione as seguintes linhas:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl
Estas linhas irão dar ao sendmail a opçao de configuração adequada para linkar para o cyrus-sasl no tempo de compilação. Certique-se que o cyrus-sasl está instalado antes de recompilar o sendmail.
Recompile o sendmail executando os seguintes comandos:
# cd /usr/src/usr.sbin/sendmail # make cleandir # make obj # make # make install
A compilação do sendmail não deve ter qualquer problema se o /usr/src não foi alterado bastando ter e as bibliotecas compartilhadas necessárias estarem disponíveis.
Depois do sendmail ter sido compilado e reinstalado, edite o seu arquivo /etc/mail/freebsd.mc (ou qualquer arquivo que você use como arquivo .mc. Muitos administradores escolhem usar a saída do hostname(1) como nome do arquivo .mc). Adicione estas linhas a ele:
dnl set SASL options TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl
Estas opções configuram métodos diferentes disponíveis para o sendmail autenticar usuários. Se você gostaria de usar um método diferente do pwcheck, por favor veja a documentação inclusa do programa.
Finalmente, execute make(1) dentro do /etc/mail. Isto irá gerar seu novo arquivo .mc e criar um arquivo .cf chamado freebsd.cf (ou algum outro nome que você usou para seu arquivo .mc). Então use o comando make install restart, que irá copiar o arquivo para o sendmail.cf, e irá reiniciar corretamente o sendmail. Para mais informações sobre este processo, você deve consultar o /etc/mail/Makefile.
Se tudo ocorreu corretamente, você deve poder inserir sua informação de login em um cliente de emails e enviar uma mensagem de teste. Para uma investigação mais profunda, configure o LogLevel do sendmail para 13 e observe o /var/log/maillog para qualquer erro.
Você pode desejar adicionar as seguintes linhas ao /etc/rc.conf para que este serviço esteja disponível depois de cada reinicialização do sistema:
sasl_pwcheck_enable="YES" sasl_pwcheck_program="/usr/local/sbin/pwcheck"
Isto irá assegurar que a inicialização do SMTP_AUTH será feita no carregamento do sistema.
Para mais informações, por favor veja a página do sendmail a respeito da autenticação SMTP.
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.