Установка и настройка SSL сертификатов

Получение SSL-сертификатов

Sherpa AIServer поддерживает HTTPS-соединения для обеспечения безопасной коммуникации. В этом руководстве описаны способы получения SSL-сертификатов для использования в системе.

Рекомендации по получению сертификатов

circle-exclamation

Если корпоративные сертификаты недоступны, рассмотрите следующие варианты получения сертификатов для внешних доменов в следующих разделах.

Получение корпоративных сертификатов

Если в вашей организации есть внутренний центр сертификации (CA), обратитесь к системному администратору для получения сертификатов. Сообщите ему домен для сертификатов и получите 2 файла: сертификат (.crt) и приватный ключ (.key). После получения установите их следующим образом:

# Создайте директории для сертификатов
mkdir -p ./oais/backend/config/certs/
mkdir -p ./embed-server/certs/

# Для основного сервера (переименуйте файлы согласно полученным)
cp your_certificate.crt ./oais/backend/config/certs/aiserver.crt
cp your_private.key ./oais/backend/config/certs/aiserver.key
chevron-right💡 Комментарии к получению корпоративных сертификатовhashtag

mkdir -p ./oais/backend/config/certs/ - создает директорию для сертификатов основного сервера

  • -p - создает родительские директории при необходимости

mkdir -p ./embed-server/certs/ - создает директорию для сертификатов сервиса эмбеддингов

cp your_certificate.crt ./oais/backend/config/certs/aiserver.crt - копирует сертификат cp your_private.key ./oais/backend/config/certs/aiserver.key - копирует приватный ключ

chmod 644 ./oais/backend/config/certs/*.crt - устанавливает права чтения для сертификатов chmod 600 ./oais/backend/config/certs/*.key - устанавливает права только для владельца на ключи

Получение доверенных сертификатов через Let's Encrypt

Для получения бесплатных доверенных сертификатов от Let's Encrypt используйте Certbot на машине с доступом к интернету.

Установка Certbot

chevron-right💡 Комментарии к установке Certbothashtag

Ubuntu/Debian:

  • sudo apt update - обновляет список пакетов

  • sudo apt install certbot - устанавливает Certbot

CentOS/RHEL:

  • sudo yum install certbot - устанавливает Certbot через yum

macOS:

  • brew install certbot - устанавливает Certbot через Homebrew

Получение сертификата для домена

chevron-right💡 Комментарии к получению сертификатаhashtag

sudo certbot certonly --standalone -d yourdomain.com - получает сертификат для домена

  • certonly - получает только сертификаты, без настройки веб-сервера

  • --standalone - запускает временный веб-сервер для HTTP-01 challenge

  • -d yourdomain.com - указывает домен для сертификата

*sudo certbot certonly --manual --preferred-challenges=dns -d yourdomain.com -d .yourdomain.com - получает wildcard сертификат

  • --manual - ручной режим (требует DNS-записи)

  • --preferred-challenges=dns - использует DNS-01 challenge

  • -d *.yourdomain.com - wildcard домен

Расположение полученных сертификатов

После успешного получения сертификатов они будут находиться в директории /etc/letsencrypt/live/yourdomain.com/:

chevron-right💡 Комментарии к расположению сертификатовhashtag

sudo ls -la /etc/letsencrypt/live/yourdomain.com/ - показывает содержимое директории с сертификатами

  • /etc/letsencrypt/live/ - стандартная директория Let's Encrypt

  • yourdomain.com/ - поддиректория для домена

Файлы сертификатов:

  • cert.pem - сертификат домена

  • chain.pem - цепочка промежуточных сертификатов

  • fullchain.pem - полный сертификат с цепочкой

  • privkey.pem - приватный ключ

Перенос сертификатов на целевую машину

Скопируйте сертификаты на машину, где будет установлен Sherpa AI Server:

chevron-right💡 Комментарии к переносу сертификатовhashtag

mkdir -p ./oais/backend/config/certs/ - создает директорию для сертификатов основного сервера

sudo scp /etc/letsencrypt/live/yourdomain.com/fullchain.pem user@target-server:./oais/backend/config/certs/aiserver.crt - копирует сертификат

  • scp - secure copy

  • fullchain.pem - полный сертификат с цепочкой

  • Переименовывается в aiserver.crt

sudo scp /etc/letsencrypt/live/yourdomain.com/privkey.pem user@target-server:./oais/backend/config/certs/aiserver.key - копирует приватный ключ

  • privkey.pem - приватный ключ

  • Переименовывается в aiserver.key

Аналогично для сервиса эмбеддингов:

  • Директория: ./embed-server/certs/

  • Имена файлов: embed.crt и embed.key

Создание самоподписных сертификатов (для тестирования)

circle-exclamation

Создание самоподписного сертификата с помощью OpenSSL

chevron-right💡 Комментарии к созданию самоподписных сертификатовhashtag

mkdir -p ./oais/backend/config/certs/ - создает директорию для сертификатов

openssl genrsa -out ./oais/backend/config/certs/aiserver.key 2048 - генерирует приватный ключ

  • genrsa - генерация RSA ключа

  • -out file.key - выходной файл

  • 2048 - длина ключа в битах

openssl req -new -x509 -key keyfile.key -out certfile.crt -days 365 -subj "/C=RU/..." - создает самоподписной сертификат

  • req -new -x509 - создает новый самоподписной сертификат

  • -key keyfile.key - использует указанный приватный ключ

  • -out certfile.crt - выходной файл сертификата

  • -days 365 - срок действия (1 год)

  • -subj "/C=RU/ST=State/L=City/O=Organization/CN=domain.com" - информация о субъекте

Проверка созданных сертификатов

chevron-right💡 Комментарии к проверке сертификатовhashtag

openssl x509 -in ./oais/backend/config/certs/aiserver.crt -text -noout - показывает информацию о сертификате

  • x509 - команда для работы с X.509 сертификатами

  • -in file.crt - входной файл сертификата

  • -text - выводит текстовую информацию

  • -noout - не выводит закодированный сертификат

openssl rsa -in ./oais/backend/config/certs/aiserver.key -check - проверяет приватный ключ

  • rsa - команда для работы с RSA ключами

  • -in file.key - входной файл ключа

  • -check - проверяет корректность ключа

Установка правильных прав доступа

После копирования или создания сертификатов установите правильные права доступа:

chevron-right💡 Комментарии к установке прав доступаhashtag

chmod 644 ./oais/backend/config/certs/*.crt - устанавливает права на сертификаты

  • 644 - rw-r--r-- (чтение для всех, запись только для владельца)

  • *.crt - все файлы сертификатов

chmod 600 ./oais/backend/config/certs/*.key - устанавливает права на приватные ключи

  • 600 - rw------- (чтение и запись только для владельца)

  • *.key - все файлы приватных ключей

Требования к правам:

  • .crt файлы: 644 (чтение для всех, запись для владельца)

  • .key файлы: 600 (чтение и запись только для владельца)

Рекомендации по безопасности

  1. Всегда используйте доверенные сертификаты для production-сред

  2. Регулярно обновляйте сертификаты до истечения срока действия

  3. Храните приватные ключи в безопасном месте с ограниченными правами доступа

  4. Мониторьте срок действия сертификатов и настраивайте оповещения

  5. Используйте strong cipher suites в конфигурации сервера

После получения и настройки сертификатов любым из описанных способов вернитесь к основному руководству по установке Sherpa AI Server.

Last updated