Установка и настройка SSL сертификатов
Получение SSL-сертификатов
Sherpa AIServer поддерживает HTTPS-соединения для обеспечения безопасной коммуникации. В этом руководстве описаны способы получения SSL-сертификатов для использования в системе.
Рекомендации по получению сертификатов
Важно: Прежде чем получать сертификаты, обратитесь к администратору вашей внутренней сети или в центр сертификации вашей компании. Корпоративные сертификаты обычно предоставляются ИТ-отделом и обеспечивают лучшую интеграцию с существующей инфраструктурой безопасности.
Если корпоративные сертификаты недоступны, рассмотрите следующие варианты получения сертификатов для внешних доменов в следующих разделах.
Получение корпоративных сертификатов
Если в вашей организации есть внутренний центр сертификации (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💡 Комментарии к получению корпоративных сертификатов
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
💡 Комментарии к установке Certbot
Ubuntu/Debian:
sudo apt update- обновляет список пакетовsudo apt install certbot- устанавливает Certbot
CentOS/RHEL:
sudo yum install certbot- устанавливает Certbot через yum
macOS:
brew install certbot- устанавливает Certbot через Homebrew
Получение сертификата для домена
💡 Комментарии к получению сертификата
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/:
💡 Комментарии к расположению сертификатов
sudo ls -la /etc/letsencrypt/live/yourdomain.com/ - показывает содержимое директории с сертификатами
/etc/letsencrypt/live/- стандартная директория Let's Encryptyourdomain.com/- поддиректория для домена
Файлы сертификатов:
cert.pem- сертификат доменаchain.pem- цепочка промежуточных сертификатовfullchain.pem- полный сертификат с цепочкойprivkey.pem- приватный ключ
Перенос сертификатов на целевую машину
Скопируйте сертификаты на машину, где будет установлен Sherpa AI Server:
💡 Комментарии к переносу сертификатов
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 copyfullchain.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
Создание самоподписных сертификатов (для тестирования)
ВНИМАНИЕ: Самоподписные сертификаты не являются доверенными и будут вызывать предупреждения безопасности в браузерах. Используйте этот метод только для тестирования или в изолированных сетях!
Создание самоподписного сертификата с помощью OpenSSL
💡 Комментарии к созданию самоподписных сертификатов
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"- информация о субъекте
Проверка созданных сертификатов
💡 Комментарии к проверке сертификатов
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- проверяет корректность ключа
Установка правильных прав доступа
После копирования или создания сертификатов установите правильные права доступа:
💡 Комментарии к установке прав доступа
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 (чтение и запись только для владельца)
Рекомендации по безопасности
Всегда используйте доверенные сертификаты для production-сред
Регулярно обновляйте сертификаты до истечения срока действия
Храните приватные ключи в безопасном месте с ограниченными правами доступа
Мониторьте срок действия сертификатов и настраивайте оповещения
Используйте strong cipher suites в конфигурации сервера
После получения и настройки сертификатов любым из описанных способов вернитесь к основному руководству по установке Sherpa AI Server.
Last updated