Obtenção de certificados SSL (instalação local)#
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 possui um centro de certificação (CA) interno, consulte o administrador do sistema para obter os certificados. Informe o domínio para os certificados e obtenha 2 arquivos: certificado (.crt) e chave privada (.key). Após recebê-los, instale-os da seguinte forma:
# Crie um diretório para os certificados
sudo mkdir -p /opt/SherpaOrchestrator/backend/config/certs/
# Copie os certificados (renomeie os arquivos conforme recebido)
sudo cp your_certificate.crt /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt
sudo cp your_private.key /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key
# Defina as permissões corretas
sudo chmod 644 /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt
sudo chmod 600 /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key
💡 Comentários sobre a obtenção de certificados corporativos
sudo mkdir -p /opt/SherpaOrchestrator/backend/config/certs/ - cria um diretório para os certificados
-p- cria diretórios pai se necessário
sudo cp your_certificate.crt /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt - copia o certificado sudo cp your_private.key /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key - copia a chave privada
chmod 644 - define permissões de leitura para os certificados (o proprietário pode escrever, todos podem ler) chmod 600 - define permissões apenas para o proprietário nas chaves privadas
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 Debian/Ubuntu
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 pacotessudo apt install certbot- instala o Certbot
CentOS/RHEL:
sudo yum install certbot- instala o Certbot via yum
macOS:
brew install certbot- instala o Certbot via Homebrew
Obtenção de certificado para o domínio#
# Obtenha o certificado para seu domínio (substitua yourdomain.com pelo seu domínio)
sudo certbot certonly --standalone -d yourdomain.com
# Ou para certificado wildcard (requer DNS challenge)
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 o 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 o 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 Encryptyourdomain.com/- subdiretório para o domínio
Arquivos de certificados:
cert.pem- certificado do domíniochain.pem- cadeia de certificados intermediáriosfullchain.pem- certificado completo com a cadeiaprivkey.pem- chave privada
Transferência de certificados para o servidor Sherpa#
Copie os certificados para o servidor onde o Sherpa Orchestrator está instalado:
# Crie um diretório para os certificados no servidor Sherpa
sudo mkdir -p /opt/SherpaOrchestrator/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:/opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt
sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:/opt/SherpaOrchestrator/backend/config/certs/orchestrator.key
# Defina as permissões corretas
sudo chmod 644 /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt
sudo chmod 600 /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key
💡 Comentários sobre a transferência de certificados
sudo scp /etc/letsencrypt/live/yourdomain.com/fullchain.pem user@target-server:/opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt - copia o certificado
scp- secure copyfullchain.pem- certificado completo com a cadeia- Renomeado para
orchestrator.crt
sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:/opt/SherpaOrchestrator/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
sudo mkdir -p /opt/SherpaOrchestrator/backend/config/certs/
# Gere a chave privada
sudo openssl genrsa -out /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key 2048
# Crie um certificado autoassinado
sudo openssl req -new -x509 -key /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key -out /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt -days 365 -subj "/C=BR/ST=Estado/L=Cidade/O=Organização/CN=orchestrator.yourdomain.com"
# Defina as permissões corretas
sudo chmod 644 /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt
sudo chmod 600 /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key
💡 Comentários sobre a criação de certificados autoassinados
sudo mkdir -p /opt/SherpaOrchestrator/backend/config/certs/ - cria um diretório para os certificados
sudo openssl genrsa -out /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key 2048 - gera a chave privada
genrsa- geração da chave RSA-out file.key- arquivo de saída2048- comprimento da chave em bits
sudo openssl req -new -x509 -key keyfile.key -out certfile.crt -days 365 -subj "/C=BR/..." - 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
chmod 644 e chmod 600 - definem as permissões corretas
Verificação dos certificados criados#
# Verifique as informações do certificado
sudo openssl x509 -in /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt -text -noout
# Verifique a correspondência entre a chave e o certificado
sudo openssl rsa -in /opt/SherpaOrchestrator/backend/config/certs/orchestrator.key -check
# Verifique a validade do certificado
sudo openssl x509 -in /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt -enddate -noout
💡 Comentários sobre a verificação dos certificados
sudo openssl x509 -in /opt/SherpaOrchestrator/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
sudo openssl rsa -in /opt/SherpaOrchestrator/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
sudo openssl x509 -in /opt/SherpaOrchestrator/backend/config/certs/orchestrator.crt -enddate -noout - mostra a data de expiração do certificado
Configuração do TLS para o protocolo LDAPS (opcional)#
Importante: Se o suporte a LDAPS não for necessário, pule esta seção.
Copie o certificado rootCA com o nome ca-certificates.crt para o diretório /opt/SherpaOrchestrator/backend/config/certs/
Configuração dos certificados para o servidor IMAP (opcional)#
Importante: Se você não planeja usar Gatilhos com acionamento por e-mail ou seu servidor de e-mail não requer certificados, pule esta seção.
Copie os certificados para imap na pasta /opt/SherpaOrchestrator/backend/config/certs/imap_certs
Ativação dos certificados#
Após a instalação dos certificados, é necessário reiniciar o Nginx:
# Verifique a sintaxe da configuração
sudo nginx -t
# Reinicie o Nginx
sudo systemctl restart nginx
# Verifique o status
sudo systemctl status nginx
Verificação da conexão HTTPS#
# Verifique a disponibilidade do HTTPS
curl -I https://your-domain-or-ip
# Verifique o certificado
openssl s_client -connect your-domain-or-ip:443 -servername your-domain-or-ip < /dev/null 2>/dev/null | openssl x509 -noout -dates
Atualização automática dos certificados Let's Encrypt#
Para atualizar automaticamente os certificados Let's Encrypt, configure o cron:
# Abra o crontab
sudo crontab -e
# Adicione a tarefa de atualização (executada 2 vezes ao dia em horários aleatórios)
0 */12 * * * /usr/bin/certbot renew --quiet && systemctl reload nginx
💡 Comentários sobre a atualização automática
certbot renew --quiet - atualiza todos os certificados cujo prazo de validade expira em menos de 30 dias
--quiet- suprime a saída, exceto para erros
systemctl reload nginx - recarrega a configuração do Nginx após a atualização dos certificados
A tarefa é executada 2 vezes ao dia para garantir a atualização oportuna.
Recomendações de segurança#
- Sempre use certificados confiáveis para ambientes de produção
- Atualize regularmente os certificados antes da expiração
- Armazene chaves privadas em local seguro com permissões restritas
- Monitore a validade dos certificados e configure alertas
- Use suítes de cifra fortes na configuração do servidor
- Configure HSTS (HTTP Strict Transport Security) para forçar HTTPS
Solução de problemas#
Problema: "falha na verificação do certificado ssl"#
Solução:
- Verifique a instalação correta dos certificados
- Certifique-se de que as permissões dos arquivos dos certificados estão corretas
- Verifique o caminho para os certificados na configuração do Nginx
Problema: "cadeia incompleta" ou "não foi possível obter o certificado do emissor local"#
Solução:
- Use
fullchain.pemem vez decert.pempara o certificado - Certifique-se de que o arquivo da cadeia de certificados está presente e correto
Problema: "falha na handshake ssl"#
Solução:
- Verifique a compatibilidade das suítes de cifra
- Certifique-se de que a chave privada corresponde ao certificado
- Verifique os logs do Nginx em busca de erros
Após obter e configurar os certificados de qualquer uma das maneiras descritas, o sistema Sherpa Orchestrator estará disponível via HTTPS.