MSMTP com OAuth2: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
== Objetivo == | |||
O objetivo deste artigo é ajudar os administradores de sistemas que usam Debian, a configurar o programa '''msmtp''' para envio de mensagens utilizando a autenticação por '''OAuth2'''. Também pode ser configurado em outras distribuições GNU/Linux bastando seguir o mesmo raciocínio. Quem já visitou esse [[Template Servidor Debian|'''artigo''']] para fazer a configuração básica de um servidor Debian, vai poder usar esse artigo aqui para modificar a forma de autenticação. | O objetivo deste artigo é ajudar os administradores de sistemas que usam Debian, a configurar o programa '''msmtp''' para envio de mensagens utilizando a autenticação por '''OAuth2'''. Também pode ser configurado em outras distribuições GNU/Linux bastando seguir o mesmo raciocínio. Quem já visitou esse [[Template Servidor Debian|'''artigo''']] para fazer a configuração básica de um servidor Debian, vai poder usar esse artigo aqui para modificar a forma de autenticação. | ||
Para quem não sabe o msmtp é um programa que vem em diversas distribuições GNU/Linux e ela tem a função de ser um sender de e-mail, ou seja, você não precisa de ter um MTA server configurado em seu servidor para enviar alertas, logs, etc por e-mail, basta configurar por exemplo uma conta Gmail nele e quando algum programa seu no servidor enviar uma mensagem, este se conectará ao Gmail e irá enviar a mensagem por lá. | Para quem não sabe o msmtp é um programa que vem em diversas distribuições GNU/Linux e ela tem a função de ser um sender de e-mail, ou seja, você não precisa de ter um MTA server configurado em seu servidor para enviar alertas, logs, etc por e-mail, basta configurar por exemplo uma conta Gmail nele e quando algum programa seu no servidor enviar uma mensagem, este se conectará ao Gmail e irá enviar a mensagem por lá. | ||
====== | == Motivação == | ||
O Google já vem de longa data fazendo mudanças para remover a velha autenticação de apps usando user e password tradicionais. Mas o que isso pode impactar para nós administradores de sistemas, que cuidamos de diversos servidores? Pois bem, se você é como eu e configura seus sistemas para enviar notificações com logs, relatórios, alertas, etc por e-mail usando a técnica de autenticação por usuário e senha de apps do Google. isso vai acabar conforme essa notícia oficial do Google '''[https://workspaceupdates.googleblog.com/2023/09/winding-down-google-sync-and-less-secure-apps-support.html aqui]'''. | |||
== Exemplos da configuração antiga e nova == | |||
Antes de iniciarmos, apenas para termos uma ideia de como é a configuração legada e como será a nova: | |||
Abaixo a configuração legada usando '''user''' e '''password''': | |||
defaults | |||
port 587 | |||
tls on | |||
tls_trust_file /etc/ssl/certs/ca-certificates.crt | |||
account ISPUP | |||
protocol smtp | |||
host smtp.gmail.com | |||
from [email protected] | |||
auth login | |||
user [email protected] | |||
password xxctxxxxszxxxxzs | |||
account default : ISPUP | |||
Essa outra abaixo já está usando o '''OAuth2''':<pre> | |||
defaults | |||
host smtp.gmail.com | |||
port 587 | |||
protocol smtp | |||
tls on | |||
tls_trust_file /etc/ssl/certs/ca-certificates.crt | |||
account ISPUP | |||
auth oauthbearer | |||
from [email protected] | |||
user [email protected] | |||
passwordeval python3 /root/.config/msmtp/getmail-gmail-xoauth-tokens /root/.config/msmtp/ispup.json | |||
account default : ISPUP | |||
</pre>Bem isso foi apenas para mostrar visualmente as diferenças. Seguiremos agora com a mão na massa. Para esse artigo estarei usando o Debian 12 (Bookworm) mas é bem simples de replicar em outras distribuições GNU/Linux. | |||
== Criando uma conta no Google == |
Edição das 21h14min de 17 de maio de 2024
Objetivo
O objetivo deste artigo é ajudar os administradores de sistemas que usam Debian, a configurar o programa msmtp para envio de mensagens utilizando a autenticação por OAuth2. Também pode ser configurado em outras distribuições GNU/Linux bastando seguir o mesmo raciocínio. Quem já visitou esse artigo para fazer a configuração básica de um servidor Debian, vai poder usar esse artigo aqui para modificar a forma de autenticação.
Para quem não sabe o msmtp é um programa que vem em diversas distribuições GNU/Linux e ela tem a função de ser um sender de e-mail, ou seja, você não precisa de ter um MTA server configurado em seu servidor para enviar alertas, logs, etc por e-mail, basta configurar por exemplo uma conta Gmail nele e quando algum programa seu no servidor enviar uma mensagem, este se conectará ao Gmail e irá enviar a mensagem por lá.
Motivação
O Google já vem de longa data fazendo mudanças para remover a velha autenticação de apps usando user e password tradicionais. Mas o que isso pode impactar para nós administradores de sistemas, que cuidamos de diversos servidores? Pois bem, se você é como eu e configura seus sistemas para enviar notificações com logs, relatórios, alertas, etc por e-mail usando a técnica de autenticação por usuário e senha de apps do Google. isso vai acabar conforme essa notícia oficial do Google aqui.
Exemplos da configuração antiga e nova
Antes de iniciarmos, apenas para termos uma ideia de como é a configuração legada e como será a nova:
Abaixo a configuração legada usando user e password:
defaults port 587 tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account ISPUP protocol smtp host smtp.gmail.com from [email protected] auth login user [email protected] password xxctxxxxszxxxxzs account default : ISPUP
Essa outra abaixo já está usando o OAuth2:
defaults host smtp.gmail.com port 587 protocol smtp tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account ISPUP auth oauthbearer from [email protected] user [email protected] passwordeval python3 /root/.config/msmtp/getmail-gmail-xoauth-tokens /root/.config/msmtp/ispup.json account default : ISPUP
Bem isso foi apenas para mostrar visualmente as diferenças. Seguiremos agora com a mão na massa. Para esse artigo estarei usando o Debian 12 (Bookworm) mas é bem simples de replicar em outras distribuições GNU/Linux.