Translation(s): English - Português Brasileiro

Camada Simples de Autenticação e Segurança (Simple Authentication and Security Layer - SASL) com o SMTP do pt_BR/Postfix.

Autenticação SASL no servidor SMTP Postfix

Implementação usando SASL Cyrus

Uso do saslauthd com PAM

Configura o Postfix com SMTP-AUTH sobre SASL2 com autenticação PAM em um ambiente chroot().


  1. Instale libsasl2-modules, postfix, sasl2-bin

  2. Crie um arquivo /etc/postfix/sasl/smtpd.conf:

    pwcheck_method: saslauthd
    mech_list: PLAIN LOGIN
  3. Configure um processo separado saslauthd para ser usado pelo Postfix:
    • Crie uma cópia do arquivo de configuração saslauthd

      ~# cp /etc/default/saslauthd /etc/default/saslauthd-postfix

      e edite-a

      START=yes
      DESC="SASL Auth. Daemon for Postfix"
      NAME="saslauthd-postf"      # max. 15 char.
      # Option -m sets working dir for saslauthd (contains socket)
      OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"        # postfix/smtp in chroot()

      (Veja /usr/share/doc/sasl2-bin/README.Debian.gz)

      Alternativamente, você pode substituir o diretório /run/saslauthd por um link simbólico para /var/spool/postfix/var/run/saslauthd

      ~# rm -rf /run/saslauthd
      ~# ln -s /var/spool/postfix/var/run/saslauthd   /run/saslauthd
      • Este é um hack rápido e grosseiro, útil apenas para fins de teste. Após a próxima reinicialização, o conteúdo de /run será redefinido.
  4. Crie subdiretórios requeridos no diretório enjaulado do postfix:

    dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
  5. Adicione o usuário "postfix" ao grupo "sasl":

    adduser postfix sasl
  6. Reinicie o saslauthd:

    ~# service saslauthd  restart
    [ ok ] Stopping SASL Auth. Daemon: saslauthd.
    [ ok ] Stopping SASL Auth. Daemon for Postfix: saslauthd-postf.
    [ ok ] Starting SASL Auth. Daemon: saslauthd.
    [ ok ] Starting SASL Auth. Daemon for Postfix: saslauthd-postf.
  7. Edite a configuração do Postfix:

    ~# postconf -e 'smtpd_sasl_local_domain = $myhostname'
    ~# postconf -e 'smtpd_sasl_auth_enable = yes'
    ~# postconf -e 'broken_sasl_auth_clients = yes'
    ~# postconf -e 'smtpd_sasl_security_options = noanonymous'
    ~# postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination'
    1. (Opcional) Crie um novo fragmento PAM e ajuste-o de acordo com suas necessidades:

      ~# cd /etc/pam.d
      ~# cp other smtp
      ~# editor /etc/pam.d/smtp
  8. Reinicie (recarregar não é suficiente) o postfix:

    ~# service postfix restart

É isso aí, está feito, tudo deve funcionar agora.

Usando auxprop com sasldb

Configuração do Postfix com SMTP-AUTH sobre SASL2 com autenticação com sasldb em um ambiente chroot ()


  1. Instale o libsasl2-modules e o sasl2-bin

  2. Crie um arquivo /etc/postfix/sasl/smtpd.conf:

    pwcheck_method: auxprop
    auxprop_plugin: sasldb
    mech_list: plain login
  3. Adicione um usuário para o sasldb2

     ~# saslpasswd2 -c -u domain user
     ~# sasldblistusers2
  4. O postfix precisa do /etc/sasldb2 em seu ambiente enjaulado. Uma solução é alterar o script init para copiar o sasldb2 na inicialização.

    Em /etc/init.d/postfix, adicione etc/sasldb2 na variável FILES:

            FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \
                etc/host.conf etc/nsswitch.conf etc/nss_mdns.config etc/sasldb2"
  5. Edite a configuração do Postfix:

    ~# postconf -e 'smtpd_sasl_local_domain = $myhostname'
    ~# postconf -e 'smtpd_sasl_auth_enable = yes'
    ~# postconf -e 'smtpd_sasl_security_options = noanonymous'
  6. Reinicie (recarregar não é suficiente) o postfix:

    ~# service postfix restart
    ~# systemctl daemon-reload

Isso é aí, você terminou, tudo deve estar funcionando agora.

Dicas de Resolução de Problemas

  1. Verifique sua configuração com o saslfinger:

    ~# saslfinger -s
    1. Se algo der errado (não conseguir se conectar ao servidor, a autenticação falhar), tente ver o que está acontecendo nos bastidores. Tente se conectar ao seu servidor de email via

      ~# telnet server 25

Pode se conectar através do smtpd? Se sim, digite o comando "ehlo dummy". Veja o que o smtpd responde? Para mais informações, consulte Verifique se há suporte SMTP AUTH


Implementação usando Dovecot SASL

Veja também: http://wiki.dovecot.org/HowTo/PostfixAndDovecotSASL

Autenticação SASL no cliente SMTP Postfix

Postfix e sbcglobal/yahoo/att

apt-get install libsasl2-modules

postconf -e "relayhost = [smtp.sbcglobal.yahoo.com]:587"
postconf -e "smtp_sasl_auth_enable = yes"
postconf -e "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd"
postconf -e "smtp_sasl_security_options = noanonymous"

[smtp.sbcglobal.yahoo.com]:587 username@sbcglobal.net:mypassword

chmod 600 /etc/postfix/sasl_passwd

postmap /etc/postfix/sasl_passwd

postfix reload


CategoryNetwork