IT & Engineering
Alertas de servidor Linux confiáveis com o Mailgun
Esta publicação foi escrita por Major Hayden, arquiteto principal na Rackspace.
O mundo multinuvem atual oferece muita flexibilidade, mas a dispersão da infraestrutura cria sérios desafios para a entrega de e-mail. Mailgun os clientes já sabem como a plataforma pode ajudar no envio de e-mails comerciais importantes, como recibos, newsletters e promoções. E quanto àqueles outros e-mails que os servidores precisam enviar quando algo dá errado?
Os servidores frequentemente precisam enviar um alerta por e-mail quando algo dá errado ou quando a pessoa administradora precisa saber de uma alteração. Por exemplo, a maioria das falhas de cron jobs acaba criando e-mails que são enviados para alguém no sistema. Geralmente, esses e-mails caem na caixa de correio da conta de usuário root.
Para alguns servidores, a caixa de correio da conta root é um buraco negro porque a conta não está configurada para encaminhar o e-mail para outro lugar. Para outros, quem administra o sistema pode configurar outro endereço para receber os e-mails da conta de usuário root. Conseguir que esse e-mail seja entregue fora do servidor é um desafio em ambientes de nuvem por vários motivos:
- Muitos endereços IP em plataformas de nuvem estão já em listas de bloqueio de e-mail
- O DNS reverso nem sempre é configurado corretamente por quem administra ambientes de nuvem
- Mantendo registros SPF para ambientes em constante mudança é difícil
- Distribuir configurações de DomainKeys de forma confiável também é difícil
- Alguns e-mails de alerta podem cair nas pastas de spam devido ao seu conteúdo, apesar de tudo estar correto na configuração do servidor de e-mail
- Alguns provedores de nuvem bloqueiam conexões de saída em portas SMTP comuns (como 25, 465 e 587)
O Mailgun pode entregar esses e-mails importantes de forma confiável em quase todos os sistemas com acesso à internet. MTAs comuns, como o postfix ou o sendmail, podem se conectar ao serviço do Mailgun Retransmissão SMTP e enviar e-mails com pouquíssima configuração. Além disso, todos esses e-mails podem ser entregues com segurança via SSL/TLS.
Facilitei um pouco esse processo ao criar uma função do Ansible chamada ansible-mailgun que instalará o postfix e o configurará para usar o Mailgun como uma retransmissão SMTP. A função pode ser facilmente adicionada a qualquer playbook existente do Ansible:
Há apenas três variáveis a serem configuradas para a função operar corretamente. Primeiro, mailgunusername e mailgunpassword aparecem no painel do Mailgun para cada domínio, na seção Domain Information . A variável rootforward_ deve ser configurada com um endereço de e-mail que possa receber os e-mails da conta de usuário root em cada servidor.
Veja como funciona quando um e-mail de alerta é gerado em um dos servidores com a função ansible_mailgun aplicada:
- O e-mail de alerta é colocado na fila de entrega do postfix para root
- O Postfix se conecta ao Mailgun via SMTP para encaminhar o e-mail (o endereço configurado como
rootforward_ nafunção do Ansible) - O Mailgun entrega o e-mail para o usuário configurado para receber os e-mails da conta
root
Esse caminho de entrega de e-mail garante que seus alertas sejam entregues de forma confiável, independentemente de onde sejam gerados.