Instalação e configuração de certificados SSL#
Obtenção de certificados SSL#
Sherpa AIServer suporta conexões HTTPS para garantir comunicação segura. Este guia descreve as 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, 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 diretórios para os certificados
mkdir -p ./oais/backend/config/certs/
mkdir -p ./embed-server/certs/
# Para o servidor principal (renomeie os arquivos conforme recebido)
cp your_certificate.crt ./oais/backend/config/certs/aiserver.crt
cp your_private.key ./oais/backend/config/certs/aiserver.key
💡 Comentários sobre a obtenção de certificados corporativos
mkdir -p ./oais/backend/config/certs/ - cria o diretório para os certificados do servidor principal
-p- cria diretórios pai se necessário
mkdir -p ./embed-server/certs/ - cria o diretório para os certificados do serviço de embedding
cp your_certificate.crt ./oais/backend/config/certs/aiserver.crt - copia o certificado cp your_private.key ./oais/backend/config/certs/aiserver.key - copia a chave privada
chmod 644 ./oais/backend/config/certs/*.crt - define permissões de leitura para os certificados chmod 600 ./oais/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 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 localizados 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 a máquina de destino#
Copie os certificados para a máquina onde o Sherpa AI Server será instalado:
# Crie um diretório para os certificados na máquina de destino
mkdir -p ./oais/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:./oais/backend/config/certs/aiserver.crt
sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./oais/backend/config/certs/aiserver.key
# Para o serviço de embedding
mkdir -p ./embed-server/certs/
sudo scp /etc/letsencrypt/live/yourdomain.com/fullchain.pem user@target-server:./embed-server/certs/embed.crt
sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./embed-server/certs/embed.key
💡 Comentários sobre a transferência de certificados
mkdir -p ./oais/backend/config/certs/ - cria o diretório para os certificados do servidor principal
sudo scp /etc/letsencrypt/live/yourdomain.com/fullchain.pem user@target-server:./oais/backend/config/certs/aiserver.crt - copia o certificado
scp- secure copyfullchain.pem- certificado completo com a cadeia- Renomeado para
aiserver.crt
sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./oais/backend/config/certs/aiserver.key - copia a chave privada
privkey.pem- chave privada- Renomeado para
aiserver.key
De forma semelhante para o serviço de embedding:
- Diretório:
./embed-server/certs/ - Nomes dos arquivos:
embed.crteembed.key
Criação de certificados autoassinados (para testes)#
ATENÇÃO: Certificados autoassinados não são confiáveis e causarã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 ./oais/backend/config/certs/
# Gere a chave privada
openssl genrsa -out ./oais/backend/config/certs/aiserver.key 2048
# Crie um certificado autoassinado
openssl req -new -x509 -key ./oais/backend/config/certs/aiserver.key -out ./oais/backend/config/certs/aiserver.crt -days 365 -subj "/C=BR/ST=Estado/L=Cidade/O=Organização/CN=aiserver.sherparpa.ru"
# Para o serviço de embedding
mkdir -p ./embed-server/certs/
openssl genrsa -out ./embed-server/certs/embed.key 2048
openssl req -new -x509 -key ./embed-server/certs/embed.key -out ./embed-server/certs/embed.crt -days 365 -subj "/C=BR/ST=Estado/L=Cidade/O=Organização/CN=embed.sherparpa.ru"
💡 Comentários sobre a criação de certificados autoassinados
mkdir -p ./oais/backend/config/certs/ - cria o diretório para os certificados
openssl genrsa -out ./oais/backend/config/certs/aiserver.key 2048 - gera a chave privada
genrsa- geração de chave RSA-out file.key- arquivo de saída2048- comprimento da chave em bits
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- período de validade (1 ano)-subj "/C=RU/ST=State/L=City/O=Organization/CN=domain.com"-