MSMTP com OAuth2: mudanças entre as edições

De ISPUP!
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 43: Linha 43:


== Criando acesso API no Google Cloud ==
== Criando acesso API no Google Cloud ==
Para que possamos usar esse tipo de autenticação, vamos precisar criar um projeto no Google Cloud, uma aplicação e gerar as credenciais de acesso para essa aplicação. Se você já possui essas informações então só pular essa parte.
Para que possamos usar esse tipo de autenticação, vamos precisar criar um projeto no Google Cloud, uma aplicação e gerar as credenciais de acesso para essa aplicação. Se você já possui essas informações então só pular essa parte. Para essa tarefa acesse esse '''[https://console.cloud.google.com/apis/credentials link]''' e vamos seguir as telas abaixo:
 
Inicie fazendo a autenticação com a conta de e-mail que você irá administrar seu Google Cloud:
[[Arquivo:Google1.png|nenhum|commoldura]]
Precisa concordar com os termos para seguir em frente:
[[Arquivo:Google2.png|nenhum|commoldura]]
Nessa tela vamos criar nosso projeto, então siga a seta.
[[Arquivo:Google3.png|nenhum|miniaturadaimagem|1631x1631px]]
Vamos dar um nome ao projeto, no meu exemplo chamei de ISPUP e clicar em criar:
[[Arquivo:Google4.png|nenhum|miniaturadaimagem|1633x1633px]]
Após criar o projeto precisamos configurar as permissões em '''CONFIGURAR TELA DE CONSENTIMENTO''':
[[Arquivo:Google5.png|nenhum|miniaturadaimagem|1632x1632px]]

Edição das 22h27min 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.

Criando acesso API no Google Cloud

Para que possamos usar esse tipo de autenticação, vamos precisar criar um projeto no Google Cloud, uma aplicação e gerar as credenciais de acesso para essa aplicação. Se você já possui essas informações então só pular essa parte. Para essa tarefa acesse esse link e vamos seguir as telas abaixo:

Inicie fazendo a autenticação com a conta de e-mail que você irá administrar seu Google Cloud:

Precisa concordar com os termos para seguir em frente:

Nessa tela vamos criar nosso projeto, então siga a seta.

Vamos dar um nome ao projeto, no meu exemplo chamei de ISPUP e clicar em criar:

Após criar o projeto precisamos configurar as permissões em CONFIGURAR TELA DE CONSENTIMENTO: