Instalação e configuração de certificados SSL#

Sherpa Orchestrator suporta conexões HTTPS para garantir comunicação segura. Este guia descreve maneiras de obter certificados SSL para uso no sistema.

Recomendações para obtenção de certificados#

Importante: Antes de obter certificados, consulte o administrador da sua rede interna ou o centro de certificação da sua empresa. Certificados corporativos geralmente são fornecidos pelo departamento de TI e garantem melhor integração com a infraestrutura de segurança existente.

Se certificados corporativos não estiverem disponíveis, considere as seguintes opções para obter certificados para domínios externos nas seções a seguir.

Obtenção de certificados corporativos#

Se sua organização tiver um centro de certificação (CA) interno, entre em contato com o administrador do sistema para obter os certificados. Informe o domínio para os certificados e receba 2 arquivos: certificado (.crt) e chave privada (.key). Após recebê-los, instale-os da seguinte forma:

# Crie um diretório para os certificados
mkdir -p ./backend/config/certs/

# Copie os certificados (renomeie os arquivos conforme recebidos)
cp your_certificate.crt ./backend/config/certs/orchestrator.crt
cp your_private.key ./backend/config/certs/orchestrator.key
💡 Comentários sobre a obtenção de certificados corporativos

mkdir -p ./backend/config/certs/ - cria um diretório para os certificados

  • -p - cria diretórios pai se necessário

cp your_certificate.crt ./backend/config/certs/orchestrator.crt - copia o certificado cp your_private.key ./backend/config/certs/orchestrator.key - copia a chave privada

chmod 644 ./backend/config/certs/*.crt - define permissões de leitura para os certificados chmod 600 ./backend/config/certs/*.key - define permissões apenas para o proprietário nas chaves

Obtenção de certificados confiáveis através do Let's Encrypt#

Para obter certificados confiáveis gratuitos do Let's Encrypt, use o Certbot em uma máquina com acesso à internet.

Instalação do Certbot#

# No Ubuntu/Debian
sudo apt update
sudo apt install certbot

# No CentOS/RHEL
sudo yum install certbot

# No macOS (com Homebrew)
brew install certbot
💡 Comentários sobre a instalação do Certbot

Ubuntu/Debian:

  • sudo apt update - atualiza a lista de pacotes
  • sudo apt install certbot - instala o Certbot

CentOS/RHEL:

  • sudo yum install certbot - instala o Certbot através do yum

macOS:

  • brew install certbot - instala o Certbot através do Homebrew

Obtenção de certificado para o domínio#

# Obtenha um certificado para seu domínio (substitua yourdomain.com pelo seu domínio)
sudo certbot certonly --standalone -d yourdomain.com

# Ou para um certificado wildcard (requer desafio DNS)
sudo certbot certonly --manual --preferred-challenges=dns -d yourdomain.com -d *.yourdomain.com
💡 Comentários sobre a obtenção do certificado

sudo certbot certonly --standalone -d yourdomain.com - obtém um certificado para o domínio

  • certonly - obtém apenas os certificados, sem configurar o servidor web
  • --standalone - inicia um servidor web temporário para o desafio HTTP-01
  • -d yourdomain.com - especifica o domínio para o certificado

*sudo certbot certonly --manual --preferred-challenges=dns -d yourdomain.com -d .yourdomain.com - obtém um certificado wildcard

  • --manual - modo manual (requer registro DNS)
  • --preferred-challenges=dns - utiliza o desafio DNS-01
  • -d *.yourdomain.com - domínio wildcard

Localização dos certificados obtidos#

Após a obtenção bem-sucedida dos certificados, eles estarão no diretório /etc/letsencrypt/live/yourdomain.com/:

# Verifique o conteúdo do diretório com os certificados
sudo ls -la /etc/letsencrypt/live/yourdomain.com/

# A saída deve conter:
# cert.pem (certificado)
# chain.pem (cadeia de certificados)
# fullchain.pem (cadeia completa)
# privkey.pem (chave privada)
💡 Comentários sobre a localização dos certificados

sudo ls -la /etc/letsencrypt/live/yourdomain.com/ - mostra o conteúdo do diretório com os certificados

  • /etc/letsencrypt/live/ - diretório padrão do Let's Encrypt
  • yourdomain.com/ - subdiretório para o domínio

Arquivos de certificados:

  • cert.pem - certificado do domínio
  • chain.pem - cadeia de certificados intermediários
  • fullchain.pem - certificado completo com a cadeia
  • privkey.pem - chave privada

Transferência de certificados para a máquina de destino#

Copie os certificados para a máquina onde o Sherpa Orchestrator será instalado:

# Crie um diretório para os certificados na máquina de destino
mkdir -p ./backend/config/certs/

# Copie os certificados (substitua yourdomain.com pelo seu domínio)
sudo scp /etc/letsencrypt/live/yourdomain.com/fullchain.pem user@target-server:./backend/config/certs/orchestrator.crt
sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./backend/config/certs/orchestrator.key
💡 Comentários sobre a transferência de certificados

mkdir -p ./backend/config/certs/ - cria um diretório para os certificados

sudo scp /etc/letsencrypt/live/yourdomain.com/fullchain.pem user@target-server:./backend/config/certs/orchestrator.crt - copia o certificado

  • scp - secure copy
  • fullchain.pem - certificado completo com a cadeia
  • Renomeado para orchestrator.crt

sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./backend/config/certs/orchestrator.key - copia a chave privada

  • privkey.pem - chave privada
  • Renomeado para orchestrator.key

Criação de certificados autoassinados (para testes)#

ATENÇÃO: Certificados autoassinados não são confiáveis e gerarão avisos de segurança em navegadores. Use este método apenas para testes ou em redes isoladas!

Criação de um certificado autoassinado com OpenSSL#

# Crie um diretório para os certificados
mkdir -p ./backend/config/certs/

# Gere a chave privada
openssl genrsa -out ./backend/config/certs/orchestrator.key 2048

# Crie um certificado autoassinado
openssl req -new -x509 -key ./backend/config/certs/orchestrator.key -out ./backend/config/certs/orchestrator.crt -days 365 -subj "/C=RU/ST=State/L=City/O=Organization/CN=orchestrator.sherparpa.ru"
💡 Comentários sobre a criação de certificados autoassinados

mkdir -p ./backend/config/certs/ - cria um diretório para os certificados

openssl genrsa -out ./backend/config/certs/orchestrator.key 2048 - gera a chave privada

  • genrsa - geração de chave RSA
  • -out file.key - arquivo de saída
  • 2048 - comprimento da chave em bits

openssl req -new -x509 -key keyfile.key -out certfile.crt -days 365 -subj "/C=RU/..." - cria um certificado autoassinado

  • req -new -x509 - cria um novo certificado autoassinado
  • -key keyfile.key - usa a chave privada especificada
  • -out certfile.crt - arquivo de saída do certificado
  • -days 365 - validade (1 ano)
  • -subj "/C=RU/ST=State/L=City/O=Organization/CN=domain.com" - informações sobre o sujeito

Verificação dos certificados criados#

# Verifique as informações do certificado
openssl x509 -in ./backend/config/certs/orchestrator.crt -text -noout

# Verifique a correspondência entre a chave e o certificado
openssl rsa -in ./backend/config/certs/orchestrator.key -check
💡 Comentários sobre a verificação dos certificados

openssl x509 -in ./backend/config/certs/orchestrator.crt -text -noout - mostra informações sobre o certificado

  • x509 - comando para trabalhar com certificados X.509
  • -in file.crt - arquivo de entrada do certificado
  • -text - exibe informações em texto
  • -noout - não exibe o certificado codificado

openssl rsa -in ./backend/config/certs/orchestrator.key -check - verifica a chave privada

  • rsa - comando para trabalhar com chaves RSA
  • -in file.key - arquivo de entrada da chave
  • -check - verifica a validade da chave

Configurando as permissões corretas#

Após copiar ou criar os certificados, configure as permissões corretas:

# Configure as permissões dos certificados
chmod 644 ./backend/config/certs/*.crt
chmod 600 ./backend/config/certs/*.key
💡 Comentários sobre a configuração das permissões

chmod 644 ./backend/config/certs/*.crt - configura as permissões dos certificados

  • 644 - rw-r--r-- (leitura para todos, escrita apenas para o proprietário)
  • *.crt - todos os arquivos de certificados

chmod 600 ./backend/config/certs/*.key - configura as permissões das chaves privadas

  • 600 - rw------- (leitura e escrita apenas para o proprietário)
  • *.key - todos os arquivos de chaves privadas

Requisitos de permissões:

  • arquivos .crt: 644 (leitura para todos, escrita para o proprietário)
  • arquivos .key: 600 (leitura e escrita apenas para o proprietário)

Recomendações de segurança#

  1. Sempre use certificados confiáveis para ambientes de produção
  2. Atualize regularmente os certificados antes do vencimento
  3. Armazene as chaves privadas em um local seguro com permissões restritas
  4. Monitore a validade dos certificados e configure alertas
  5. Utilize suítes de cifra fortes na configuração do servidor

Após obter e configurar os certificados de qualquer uma das maneiras descritas, retorne ao guia principal de instalação do Sherpa Orchestrator.