Ferramentas do usuário

Ferramentas do site


start

Essa é uma revisão anterior do documento!


🔐 Aula: Let's Encrypt no Proxmox VE

📘 Introdução

Ao acessar o painel do Proxmox VE pela primeira vez, é comum ver um alerta no navegador dizendo que a conexão não é segura. Isso acontece porque, por padrão, o Proxmox utiliza um certificado autoassinado.

Embora funcione, esse tipo de certificado não é confiável para navegadores, APIs, ferramentas externas ou clientes corporativos. Em muitos casos, pode causar bloqueios, insegurança e dificultar integrações.

Nesta aula prática, vamos resolver isso com uma solução profissional, gratuita e automatizada: o Let's Encrypt, integrado ao Proxmox via protocolo ACME.

⚠️ Importante: Certificados autoassinados não garantem a identidade do servidor e podem ser rejeitados por sistemas de autenticação e serviços de terceiros.

🚧 Motivação e Problemática

Manter um ambiente seguro e profissional vai além da performance: passa pela forma como acessamos e expomos o painel de gerenciamento.

  • ❌ Acesso com certificado inválido transmite insegurança
  • 🚫 Navegadores modernos bloqueiam/ocultam HTTPS autoassinado
  • 🔐 Scripts, integrações e APIs podem falhar sem CA confiável
  • 🌐 Ambientes em nuvem ficam menos confiáveis
  • 📉 Impacto na percepção de profissionalismo
🎯 Objetivo: Usar um certificado válido demonstra que o ambiente é confiável, bem mantido e pronto para integração com ferramentas externas.

🎯 Por que usar o Let's Encrypt?

  • ✅ Gratuito — sem custos de aquisição/renovação
  • 🔁 Renovação automática via ACME
  • 🔐 Confiável — reconhecido por navegadores e sistemas
  • ⚙️ Integrado nativamente ao Proxmox VE
  • 📦 Serve para laboratórios, nuvem e produção
🔐 O Let's Encrypt elimina a insegurança do autoassinado com poucos passos.

📈 Benefícios práticos

  • 🌐 Acesso sem alertas no navegador
  • 🔒 Identidade do servidor validada
  • 📲 APIs e integrações (Zabbix, scripts) funcionam corretamente
  • 🚪 Facilidade para expor o Proxmox em nuvem
  • 💼 Melhor percepção em contextos corporativos/educacionais
💡 Certificados válidos também comunicam credibilidade.

🖱️ Passo a passo via GUI

O Proxmox possui integração nativa com ACME.

  1. Datacenter → ACME → Account → Add
    1. Informe um e-mail válido e selecione Let's Encrypt V2
  2. (Opcional) Para validação DNS (Cloudflare): Datacenter → ACME → Plugins → Add
  3. Node → System → Certificates
    1. Adicione seu domínio (ex.: `proxmox.seudominio.com`)
    2. Selecione a conta ACME e o plugin (se usar DNS)
    3. Clique Order Certificate Now
📌 Após a emissão, a renovação é feita automaticamente pelo Proxmox.

Dica de imagem (opcional): Criando conta ACME Adicionando plugin DNS


☁️ Validação DNS (Cloudflare)

Útil quando a porta 80 está bloqueada (ambientes de nuvem, por exemplo).

  1. Crie um API Token no painel da Cloudflare (template *Edit zone DNS*, restringindo ao seu domínio)
  2. No Proxmox, crie o arquivo de token:
echo 'dns_cloudflare_api_token = SEU_TOKEN_AQUI' > /root/cloudflare.ini
chmod 600 /root/cloudflare.ini
  1. GUI: Datacenter → ACME → Plugins → Add
    1. Tipo: dns, Método: acme.sh
    2. Caminho: /root/cloudflare.ini
  2. Associe o plugin ao domínio e clique Order Certificate Now
⚠️ Validação DNS dispensa porta 80 aberta no host.

💻 Passo a passo via CLI

# 1) Registrar conta ACME
pvenode acme account register default admin@seudominio.com
 
# 2) Adicionar plugin Cloudflare (exemplo)
pvenode acme plugin add dns cloudflare_plugin --api cf --data /root/cloudflare.ini
 
# 3) Associar domínio ao plugin
pvenode config set --acmedomain0 proxmox.seudominio.com,plugin=cloudflare_plugin
 
# 4) Solicitar certificado
pvenode acme cert order
🧠 Útil para automação; renovação continua automática.

🌍 HTTP vs DNS (comparativo)

Método Quando usar Requisitos
HTTP Porta 80 aberta e acessível externamente Domínio apontado para o IP do Proxmox + porta 80 liberada
DNS (plugin) Nuvem/ambiente sem porta 80, ou busca de maior robustez Acesso ao painel DNS + plugin configurado (ex.: Cloudflare)
⚠️ Em provedores de nuvem, a porta 80 pode estar bloqueada ⇒ prefira DNS.

🔧 Domínio, subdomínios e DDNS

  • 🌐 O domínio/subdomínio deve apontar para o IP público do host Proxmox
  • 🗂️ Subdomínios como `pve.seudominio.com` são suportados
  • 📛 DDNS pode funcionar com validação HTTP (se resolver para seu IP e a porta 80 estiver acessível).

Para validação DNS, depende do provedor oferecer API (ex.: DuckDNS/Cloudflare etc.).

  • ✅ Tenha acesso ao painel de DNS para HTTP-01 (apontamento) ou DNS-01 (plugin)
⚠️ Certificados não funcionam para IP puro (ex.: `https://1.2.3.4:8006`). É preciso um domínio.

📦 Script de renovação (forçar/testar)

#!/bin/bash
pvenode acme cert renew --force
systemctl restart pveproxy

Este script:

  • 🔁 Força tentativa de renovação com o Let's Encrypt
  • 🔄 Reinicia o pveproxy para aplicar o certificado

Download (opcional): 🔽 Baixar script pronto


⏰ Agendamento com cron

Abra o cron:

crontab -e

Execute diariamente às 03:00:

0 3 * * * /root/renova_ssl.sh >> /var/log/ssl_letsencrypt.log 2>&1
  • 🔂 Tentativa diária de renovação
  • 📝 Log em `/var/log/ssl_letsencrypt.log`
  • 🔕 Silencioso
📌 Embora a validade seja 90 dias, renovações adiantadas são recomendadas (~30 dias).

❓ FAQ

  • Posso usar Let's Encrypt com domínio “gratuito”?

✅ Sim, desde que você tenha controle do DNS ou consiga apontar corretamente para seu host.

  • Funciona com IP fixo sem domínio?

❌ Não. O Let's Encrypt exige um nome de domínio público válido.

  • O que acontece se vencer?

⚠️ O navegador exibirá erro e integrações podem falhar.

  • Preciso repetir toda configuração a cada renovação?

❌ Não. Após a primeira emissão, a renovação é automática.

  • DDNS funciona com Let's Encrypt?

✅ Pode funcionar com HTTP-01 (se o domínio resolver para seu IP e a porta 80 estiver aberta).

  Para **DNS-01**, depende do provedor DDNS oferecer **API** compatível.

🖼️ Inserindo imagens no DokuWiki (exemplo)

Organize suas imagens numa *namespace* (ex.: `:proxmox:`) e insira assim:

{{:proxmox:acme_conta.png?600|Criando conta ACME}}

* `?600` ajusta a largura (opcional). * Use nomes descritivos e capturas de tela das etapas.


📚 Sobre o Projeto Empresa Livre

Esta aula faz parte do curso Virtualização do Zero com Proxmox VE, do Projeto Empresa Livre — iniciativa educacional focada em prática real com tecnologias de código aberto para ambientes corporativos e educacionais.

  • 🎓 Aulas práticas e atualizadas
  • 🧑‍💻 Laboratório virtual
  • 📂 Scripts, templates e casos reais
  • 💬 Comunidade e suporte

Saiba mais: projetoempresalivre.com.br Atendimento (WhatsApp): Clique para falar conosco

start.1758404769.txt.gz · Última modificação: (edição externa)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki