O Postfix é o Agente de Transporte de Correio (MTA) pré-definido no Ubuntu. Este tenta ser rápido e fácil de administrar e seguro. É compativel com o MTA sendmail. Esta secção explica como instalar e configurar o postfix. Também explica como configurá-lo como servidor SMTP utilizando uma ligação segura (para envio de email de forma segura).
Para instalar postfix com SMTP-AUTH e Transport Layer Security (TLS), execute o comando seguinte:
sudo apt-get install postfix
Pressione enter quando o processo de instalação lhe colocar questões, a configuração será feita com mais detalhe posteriormente.
Para configurar o postfix, execute o seguinte comando:
sudo dpkg-reconfigure postfix
A interface do utilizador será mostrada. Em cada ecrã, seleccione os valores seguintes:
Ok
Internet Site
NONE
mail.example.com
mail.example.com, localhost.localdomain, localhost
No
127.0.0.0/8
Yes
0
+
all
![]() |
|
Substitua mail.example.com com o nome do seu servidor de correio electrónico. |
Os passos seguintes são para configurar o postfix para utilizar o SASL para SMTP AUTH. Em vez de editar o ficheiro de configuração directamente, pode utilizar o comando postconf para configurar todos os parâmetros do postfix. Os parâmetros de configuração serão armazenados no ficheiro /etc/postfix/main.cf
. Mais tarde, se desejar reconfigurar um parâmetro em particular, pode executar o comando ou alterá-lo manualmente o ficheiro.
Configure Postfix to do SMTP AUTH using SASL (saslauthd):
postconf -e 'smtpd_sasl_local_domain =' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'smtpd_sasl_security_options = noanonymous' postconf -e 'broken_sasl_auth_clients = yes' postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' postconf -e 'inet_interfaces = all'
Open the /etc/postfix/sasl/smtpd.conf
file and add
the following lines to end of the file:
pwcheck_method: saslauthd mech_list: plain login
Next, configure the digital certificate for TLS. When asked questions, follow the instructions and answer appropriately.
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 chmod 600 smtpd.key openssl req -new -key smtpd.key -out smtpd.csr openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt openssl rsa -in smtpd.key -out smtpd.key.unencrypted mv -f smtpd.key.unencrypted smtpd.key openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 sudo mv smtpd.key /etc/ssl/private/ sudo mv smtpd.crt /etc/ssl/certs/ sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/
![]() |
|
You can get the digital certificate from a certificate authority. Alternatively, you can create the certificate yourself. Refer to Creating a self Signed Certification sub-section for more details. |
Configurar Postfix para efectuar encriptação TSL para correio electrónico de entrada e de saída:
postconf -e 'smtpd_tls_auth_only = no' postconf -e 'smtp_use_tls = yes' postconf -e 'smtpd_use_tls = yes' postconf -e 'smtp_tls_note_starttls_offer = yes' postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' postconf -e 'smtpd_tls_loglevel = 1' postconf -e 'smtpd_tls_received_header = yes' postconf -e 'smtpd_tls_session_cache_timeout = 3600s' postconf -e 'tls_random_source = dev:/dev/urandom' postconf -e 'myhostname = mail.example.com'
![]() |
|
Após ter executado todos os comandos, o SMTP AUTH está configurado no postfix. O certificado auto-assinado é criado para TLS e configurado no postfix. |
Agora, o ficheiro /etc/postfix/main.cf
deverá ser semelhante a este.
A configuração inicial do postfix está completa. Execute o comando seguinte para iniciar o controlador postfix:
sudo /etc/init.d/postfix start
Agora o controlador postfix está instalado, configurado e é executado com sucesso. Postfix suporta SMTP AUTH como definido em RFC2554. É baseado em SASL. Contudo ainda é necessário configurar autenticação SASL antes de poder utilizar SMTP.
The libsasl2, sasl2-bin and libsasl2-modules are necessary to enable SMTP AUTH using SASL. You can install these applications if you have not installed them already.
sudo apt-get install libsasl2 sasl2-bin
São necessárias algumas alterações para funcionar devidamente. Porque o Postfix é executado “chrooted” em /var/spool/postfix
, SASL necessita de ser configurado para correr no root falso (/var/run/saslauthd
torna-se /var/spool/postfix/var/run/saslauthd
):
mkdir -p /var/spool/postfix/var/run/saslauthd rm -rf /var/run/saslauthd
Para activar saslauthd, edite o ficheiro /etc/default/saslauthd
, e altere ou adicione a variável START. De forma a configurar saslauthd para correr em root falso, adicione as variáveis PWDIR, PIDFILE e PARAMS. Finalmente, configure a variável MECHANISMS conforme pretender. O ficheiro deverá parecer-se com:
# Isto necessita reconfigurado antes que o saslauthd funcione # automaticamente START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" PARAMS="-m ${PWDIR}" PIDFILE="${PWDIR}/saslauthd.pid" # Necessita especificar o mecanismo de autenticação que deseja utilizar # O pré-definido é o "pam" para suportar o PAM, mas também pode incluir # "shadow" ou "sasldb", assim: # MECHANISMS="pam shadow" MECHANISMS="pam"
![]() |
|
Se preferir, pode usar shadow em vez de pam. Isto usará a transferência de senha MD5 hashed e é perfeitamente segura. O nome de utilizador e senha que precisam de autenticação serão os mesmos que os utilizadores do sistema onde executa o servidor. |
Em seguida, actualize o estado dpkg de /var/spool/portfix/var/run/saslauthd
. O script de inicialização saslauthd usa esta definição para criar o directório em falta com as permissões e proprietário adequados.
dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
A configuração de SMTP AUTH está completa. Agora está na hora de iniciar e testar a configuração. Pode executar o seguinte comando para iniciar o serviço SASL:
sudo /etc/init.d/saslauthd start
Para verificar se o SMTP-AUTH e o TLS trabalham correctamente, execute o comando seguinte:
telnet mail.example.com 25
Após ter estabelecido a ligação ao servidor de correio postfix, escreva:
ehlo mail.example.com
Se obtiver as linhas seguintes entre outras, então tudo estará a funcionar perfeitamente. Escreva quit para sair.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME