Instalación y configuración de certificados SSL#

Obtención de certificados SSL#

Sherpa AIServer admite conexiones HTTPS para garantizar una comunicación segura. Esta guía describe las formas de obtener certificados SSL para su uso en el sistema.

Recomendaciones para la obtención de certificados#

Importante: Antes de obtener certificados, consulte con el administrador de su red interna o con el centro de certificación de su empresa. Los certificados corporativos suelen ser proporcionados por el departamento de TI y garantizan una mejor integración con la infraestructura de seguridad existente.

Si los certificados corporativos no están disponibles, considere las siguientes opciones para obtener certificados para dominios externos en las secciones siguientes.

Obtención de certificados corporativos#

Si su organización tiene un centro de certificación (CA) interno, consulte con el administrador del sistema para obtener certificados. Indíquele el dominio para los certificados y obtenga 2 archivos: el certificado (.crt) y la clave privada (.key). Después de recibirlos, instálelos de la siguiente manera:

# Cree directorios para los certificados
mkdir -p ./oais/backend/config/certs/
mkdir -p ./embed-server/certs/

# Para el servidor principal (renombre los archivos según lo recibido)
cp your_certificate.crt ./oais/backend/config/certs/aiserver.crt
cp your_private.key ./oais/backend/config/certs/aiserver.key
💡 Comentarios sobre la obtención de certificados corporativos

mkdir -p ./oais/backend/config/certs/ - crea el directorio para los certificados del servidor principal

  • -p - crea directorios padres si es necesario

mkdir -p ./embed-server/certs/ - crea el directorio para los certificados del servicio de embebidos

cp your_certificate.crt ./oais/backend/config/certs/aiserver.crt - copia el certificado cp your_private.key ./oais/backend/config/certs/aiserver.key - copia la clave privada

chmod 644 ./oais/backend/config/certs/*.crt - establece permisos de lectura para los certificados chmod 600 ./oais/backend/config/certs/*.key - establece permisos solo para el propietario en las claves

Obtención de certificados confiables a través de Let's Encrypt#

Para obtener certificados confiables gratuitos de Let's Encrypt, utilice Certbot en una máquina con acceso a Internet.

Instalación de Certbot#

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

# En CentOS/RHEL
sudo yum install certbot

# En macOS (con Homebrew)
brew install certbot
💡 Comentarios sobre la instalación de Certbot

Ubuntu/Debian:

  • sudo apt update - actualiza la lista de paquetes
  • sudo apt install certbot - instala Certbot

CentOS/RHEL:

  • sudo yum install certbot - instala Certbot a través de yum

macOS:

  • brew install certbot - instala Certbot a través de Homebrew

Obtención de un certificado para el dominio#

# Obtenga un certificado para su dominio (reemplazar yourdomain.com por su dominio)
sudo certbot certonly --standalone -d yourdomain.com

# O para un certificado wildcard (requiere desafío DNS)
sudo certbot certonly --manual --preferred-challenges=dns -d yourdomain.com -d *.yourdomain.com
💡 Comentarios sobre la obtención del certificado

sudo certbot certonly --standalone -d yourdomain.com - obtiene un certificado para el dominio

  • certonly - obtiene solo los certificados, sin configurar el servidor web
  • --standalone - inicia un servidor web temporal para el desafío HTTP-01
  • -d yourdomain.com - especifica el dominio para el certificado

*sudo certbot certonly --manual --preferred-challenges=dns -d yourdomain.com -d .yourdomain.com - obtiene un certificado wildcard

  • --manual - modo manual (requiere registro DNS)
  • --preferred-challenges=dns - utiliza el desafío DNS-01
  • -d *.yourdomain.com - dominio wildcard

Ubicación de los certificados obtenidos#

Después de obtener los certificados con éxito, estarán en el directorio /etc/letsencrypt/live/yourdomain.com/:

# Verifique el contenido del directorio con los certificados
sudo ls -la /etc/letsencrypt/live/yourdomain.com/

# La salida debe contener:
# cert.pem (certificado)
# chain.pem (cadena de certificados)
# fullchain.pem (cadena completa)
# privkey.pem (clave privada)
💡 Comentarios sobre la ubicación de los certificados

sudo ls -la /etc/letsencrypt/live/yourdomain.com/ - muestra el contenido del directorio con los certificados

  • /etc/letsencrypt/live/ - directorio estándar de Let's Encrypt
  • yourdomain.com/ - subdirectorio para el dominio

Archivos de certificados:

  • cert.pem - certificado del dominio
  • chain.pem - cadena de certificados intermedios
  • fullchain.pem - certificado completo con cadena
  • privkey.pem - clave privada

Transferencia de certificados a la máquina de destino#

Copie los certificados a la máquina donde se instalará Sherpa AI Server:

# Cree un directorio para los certificados en la máquina de destino
mkdir -p ./oais/backend/config/certs/

# Copie los certificados (reemplazar yourdomain.com por su dominio)
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 el servicio de embebidos
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
💡 Comentarios sobre la transferencia de certificados

mkdir -p ./oais/backend/config/certs/ - crea el directorio para los certificados del servidor principal

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

  • scp - copia segura
  • fullchain.pem - certificado completo con cadena
  • Se renombra a aiserver.crt

sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./oais/backend/config/certs/aiserver.key - copia la clave privada

  • privkey.pem - clave privada
  • Se renombra a aiserver.key

De manera similar para el servicio de embebidos:

  • Directorio: ./embed-server/certs/
  • Nombres de archivos: embed.crt y embed.key

Creación de certificados autofirmados (para pruebas)#

ATENCIÓN: Los certificados autofirmados no son de confianza y generarán advertencias de seguridad en los navegadores. ¡Utilice este método solo para pruebas o en redes aisladas!

Creación de un certificado autofirmado con OpenSSL#

# Cree un directorio para los certificados
mkdir -p ./oais/backend/config/certs/

# Genere una clave privada
openssl genrsa -out ./oais/backend/config/certs/aiserver.key 2048

# Cree un certificado autofirmado
openssl req -new -x509 -key ./oais/backend/config/certs/aiserver.key -out ./oais/backend/config/certs/aiserver.crt -days 365 -subj "/C=RU/ST=State/L=City/O=Organization/CN=aiserver.sherparpa.ru"

# Para el servicio de embebidos
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=RU/ST=State/L=City/O=Organization/CN=embed.sherparpa.ru"
💡 Comentarios sobre la creación de certificados autofirmados

mkdir -p ./oais/backend/config/certs/ - crea el directorio para los certificados

openssl genrsa -out ./oais/backend/config/certs/aiserver.key 2048 - genera la clave privada

  • genrsa - generación de clave RSA
  • -out file.key - archivo de salida
  • 2048 - longitud de la clave en bits

openssl req -new -x509 -key keyfile.key -out certfile.crt -days 365 -subj "/C=RU/..." - crea un certificado autofirmado

  • req -new -x509 - crea un nuevo certificado autofirmado* -key keyfile.key - utiliza la clave privada especificada
  • -out certfile.crt - archivo de salida del certificado
  • -days 365 - duración (1 año)
  • -subj "/C=RU/ST=State/L=City/O=Organization/CN=domain.com" - información del sujeto

Verificación de certificados creados#

# Verifique la información del certificado
openssl x509 -in ./oais/backend/config/certs/aiserver.crt -text -noout

# Verifique la correspondencia entre la clave y el certificado
openssl rsa -in ./oais/backend/config/certs/aiserver.key -check
💡 Comentarios sobre la verificación de certificados

openssl x509 -in ./oais/backend/config/certs/aiserver.crt -text -noout - muestra información del certificado

  • x509 - comando para trabajar con certificados X.509
  • -in file.crt - archivo de entrada del certificado
  • -text - muestra información en texto
  • -noout - no muestra el certificado codificado

openssl rsa -in ./oais/backend/config/certs/aiserver.key -check - verifica la clave privada

  • rsa - comando para trabajar con claves RSA
  • -in file.key - archivo de entrada de la clave
  • -check - verifica la validez de la clave

Establecimiento de los permisos correctos#

Después de copiar o crear certificados, establezca los permisos correctos:

# Para el servidor principal
chmod 644 ./oais/backend/config/certs/*.crt
chmod 600 ./oais/backend/config/certs/*.key

# Para el servicio de embebidos
chmod 644 ./embed-server/certs/*.crt
chmod 600 ./embed-server/certs/*.key
💡 Comentarios sobre el establecimiento de permisos

chmod 644 ./oais/backend/config/certs/*.crt - establece permisos para los certificados

  • 644 - rw-r--r-- (lectura para todos, escritura solo para el propietario)
  • *.crt - todos los archivos de certificados

chmod 600 ./oais/backend/config/certs/*.key - establece permisos para las claves privadas

  • 600 - rw------- (lectura y escritura solo para el propietario)
  • *.key - todos los archivos de claves privadas

Requisitos de permisos:

  • Archivos .crt: 644 (lectura para todos, escritura para el propietario)
  • Archivos .key: 600 (lectura y escritura solo para el propietario)

Recomendaciones de seguridad#

  1. Siempre use certificados de confianza para entornos de producción
  2. Actualice regularmente los certificados antes de que caduquen
  3. Almacene las claves privadas en un lugar seguro con permisos de acceso restringidos
  4. Monitoree la fecha de caducidad de los certificados y configure alertas
  5. Utilice suites de cifrado fuertes en la configuración del servidor

Después de obtener y configurar los certificados de cualquiera de los métodos descritos, regrese a la guía principal de instalación de Sherpa AI Server.