Linux

Como instalar o Postfix e configurar o SMTP do Office 365

Criar um relay de SMTP utilizando o Postfix

Escrito originalmente em meados de 1977 o Postfix é um famoso software de encaminhamento de e-mails de código aberto. Seu principal objetivo é ser uma alternativa mais robusta e segura do que o Sendmail.

O Postfix é amplamente utilizado em servidores Linux para criar um “Relay de SMTP”, ou seja, uma ponte para encaminhamento de e-mails. 

Em muitos ambientes o Postfix é configurado como Relay de SMTP interno para aplicações legadas que não possuem suporte a comunicação SSL/TLS. Com ele é possível permitir que as aplicações se conectem de forma não segura internamente, porém a saída para o SMTP externo utilize a criptografia.

Sendo assim, se você precisa configurar um Relay de SMTP usando o Office 365 para aquela aplicação legada, esse artigo vai te ajudar. (E se possível atualizar essa aplicação…)

Para esse laboratório estaremos utilizando o Red Hat 9.1 mas ele deve funcionar perfeitamente em distribuições baseadas no mesmo kernel.

Preparando para instalação:

Antes de iniciarmos a instalação do Postfix vamos executar o comando para atualizar as dependências do sistema operacional:

yum update

Aguarde a finalização da atualização dos pacotes para prosseguir.

Instalando o Postfix no Red Hat Linux e derivados

Agora vamos executar o comando de instalação dos pacotes do Postfix

yum -y install postfix cyrus-sasl-plain
Como instalar o Postfix e configurar o SMTP do Office 365 yum -y install postfix cyrus-sasl-plain

O próximo passo é iniciar o Postfix e habilitar ele para subir com o sistema operacional.

systemctl start postfix
systemctl enable postfix
Como iniciar o Postifix

Vamos editar as configurações do arquivo de parametrização do Postfix para que ele funcione com o Office 365.

vi /etc/postfix/main.cf

Adicione as seguintes linhas ao no final do arquivo:

########### CONFIGURACAO SMTP OFFICE365 ##########
myhostname = redhat1.localhost

smtp_sender_dependent_authentication = yes
relayhost = [smtp.office365.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
# Corrigir o problema do sender
sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps =  regexp:/etc/postfix/sender_canonical_maps
smtp_header_checks = regexp:/etc/postfix/header_check
Configurando SMTP do Office 365 no Postfix

Configurando as credenciais do SMTP

Uma vez que adicionamos as configurações será necessário informar as credenciais utilizadas.

vi /etc/postfix/sasl_passwd

Coloque as suas credenciais conforme mostrado na imagem abaixo:

Configurando credenciais no Postfix

Feito isso, vamos executar o comando para que Postfix possa ler as informações e gerar a tabela com os dados de acesso.

postmap /etc/postfix/sasl_passwd
Configurando o Postfix com Office 365

Opa! Deu ruim rs, caso se depare com o alerta é normal pois inserimos esse parâmetro abaixo e ele sobrescreve um já existente. Para resolver isso vamos garantir que a linha 731 esteja comentada.

Como corrigir o Warning /etc/postfix/main.cf, line 748: overriding earlier entry: smtp_tls_CAfile=/etc/pki/tls/certs/ca-bundle.crt

Salve o arquivo e execute o comando novamente:

Agora vamos criar mais dois arquivos para que ele possa funcionar corretamente. O primeiro é o sender_canonical_maps.

vi /etc/postfix/sender_canonical_maps

Insira o seguinte conteúdo:

/.+/    email@dominio.com.br
Configurando o arquivo Sender Canonical Maps Postfix

O segundo arquivo é o header_check:

vi /etc/postfix/header_check

/From:.*/ REPLACE From: email@dominio.com.br
Configurando o arquivo Header Check no Postfix

Reinicie o postfix para que as configurações possam surtir efeito:

systemctl reload postfix

Configurações de segurança para o Postfix

O acesso ao arquivo que contém as credenciais deve ser o mais restrito possível, por isso vamos ajustar o proprietário e as permissões:

chown root:postfix /etc/postfix/sasl_passwd*
Configurações de segurança do Postfix

O resultado deve ficar da seguinte forma, root como proprietário e o grupo como postfix:

Ajustando os proprietários dos arquivos sasl_passwd e sals_passwd.db no Postfix

Mas ainda não está legal, vamos remover essa permissão de leitura para qualquer um e manter apenas o proprietário e o grupo com permissões adequadas.

chmod 640 /etc/postfix/sasl_passwd*
Definindo as permissões corretas para os arquivos sasl_passwd no Postfix

Verificando novamente, só para garantir que está correto.

Permissões corretas para os arquivos sasl_passwd e sasl_passwd.db no Postfix

Pronto! Agora você já pode começar a utilizar o seu relay de SMTP. Basta na sua aplicação informar o e-mail de origem.

Caso a aplicação esteja fora do servidor onde o Postfix está instalado é preciso liberar a comunicação da interface, pois por padrão ele funciona apenas como localhost.

Portanto, para isso vamos editar novamente o arquivo main.cf e ajustar um campo, comente o campo: 

#inet_interfaces = 127.0.0.1

E descomente o campo:

inet_interfaces = all
Como permitir acesso ao Postfix para outros computadores na rede

Reinicie o serviço do Postfix:

systemctl restart postfix

Isso deve ser o suficiente para você conectar a sua aplicação, lembrando que o padrão é a porta 25. Você pode alterar caso queira.

Algo importante restringir o acesso apenas para endereços de IP’s específicos, para fazer essa configuração você deve ajustar o campo “mynetworks”.

Nesse campo você pode informar endereços de IP’s específicos ou ranges de IP’s de acordo com a sua necessidade. Exemplo:


mynetworks = 192.168.0.1, 192.168.0.0/24

Chegamos ao fim desse breve tutorial, comente abaixo se ele foi útil para você e compartilhe nas suas redes sociais.

Fonte
sv.netWikipedia

Equipe Tech Start

Tech Start XYZ, o seu portal de informações sobre tecnologia, hacking, malware e curiosidades.