20.9. Autenticação SMTP

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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>.