A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Debian + Postfix + PostfixAdmin + SquirrelMail

Sab

16

Mai

2009


01:19

(19 votos, média 4.53 de 5) 


Configurar SASL e TLS

Informe o Postfix para usar SASL AUTH (faremos um backup do main.cf só por precaução):

cp -i /etc/postfix/main.cf /etc/postfix/main.cf-before-sasl
postconf -e "smtpd_sasl_type = dovecot"
postconf -e "smtpd_sasl_path = private/auth"
postconf -e "broken_sasl_auth_clients = yes"
postconf -e "smtpd_sasl_auth_enable = yes"
postconf -e "smtpd_sasl_local_domain = \$myhostname"
postconf -e "smtpd_sasl_security_options = noanonymous"
postconf -e "smtpd_sasl_authenticated_header = yes"
postconf -e "smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination"

Precisamos configurar master.cf. Talvez o editor do WinSCP seja mais prático. Substitua tudo entre as duas linhas em cinza:

vi /etc/postfix/master.cf
smtp      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=no
# -o receive_override_options=no_address_mappings
# If they want to relay, make them use port 587 (submission) or port 465 (smtps)
# If using submission port, configure client to use CRAM-MD5
submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=may
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o receive_override_options=no_address_mappings  
# Outlook and OE (and others) expect smtpd_tls_wrappermode,
# so have them submit here (port 465):
smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o receive_override_options=no_address_mappings
# We will use port 4650 for clients that use STARTTLS:
4650     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o receive_override_options=no_address_mappings
#628      inet  n       -       -       -       -       qmqpd

Depois disto, é claro, faça um:

/etc/init.d/postfix restart

Neste ponto um 'postconf -n' deve mostrar algo parecido com:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = nome_do_host.exemplo.com, localhost.exemplo.com, localhost
mydomain = exemplo.com
myhostname = nome_do_host.exemplo.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = exemplo.com
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/ssl/certs/cacert.exemplo.com.pem
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf, hash:/etc/postfix/virtual
virtual_gid_maps = static:6060
virtual_mailbox_base = /var/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 6060
virtual_transport = dovecot
virtual_uid_maps = static:6060

Lembre-se: o 'postconf -n' não mostra todas as configurações que temos em main.cf.

Configure uma conta IMAP no Outlook Express para pedir uma autenticação e use SMTPS (também conhecido como SSMTP) na porta 465 como saída e IMAPS (IMAP seguro) na porta 993 como entrada. Algo parecido com isto. A maioria dos outros clientes também podem usar a porta 465. Clientes que não podem usar uma porta TLS dedicada (o Postfix oferece isto via smtpd_tls_wrappermode=yes) podem usar a porta 4650 e usar STARTTLS. A porta 587 será usada para clientes incapazes de fazer com que o TLS funcione ou usarão CRAM-MD5 para encriptar a senha em texto claro.

Há um problema com o Mozilla Thunderbird. Ele tenta usar o CRAM-MD5 antes de tentar o PLAIN (texto claro). Isto resultará num alerta "SASL authentication failure: empty secret", a não ser que você entre com uma senha em texto claro para estes clientes. Se você não quiser fazer isto, você pode dar um jeito no Thunderbird ou não usar CRAM-MD5. Para apaziguar o Thunderbird, vá para Ferramentas -> Opções -> Avançado -> Geral -> Editor de config e depois dê um duplo clique em mail.smtpserver.default.trySecAuth (que é true por padrão) para transformá-lo em false.

Informações adicionais