bg-tutorials

Как установить SSL-сертификат на Sentora

Это руководство показывает, как установить SSL-сертификат на Sentora, панель управления веб-хостингом с открытым исходным кодом, созданную как форк ZPanel. В нём рассматривается создание CSR, вставка сертификата, ключа и связки CA в модуль Apache Admin Sentora, а также усиление получившегося виртуального хоста современными настройками TLS.

Примечание о статусе поддержки Sentora

Прежде чем начать: официальная разработка Sentora за последние несколько лет резко замедлилась. Последний стабильный релиз в репозитории sentora/sentora-corev2.0.2 (май 2024, PHP 7.4); ветка 2.1.x, ориентированная на PHP 8.x, до сих пор помечена как только для разработки и не предназначена для промышленного использования. Существует форк от сообщества, Sentora-NG, но он небольшой. Если вы настраиваете новый сервер, активно поддерживаемым преемником с открытым исходным кодом, на который переходит большинство администраторов, является HestiaCP — форк VestaCP с похожим интерфейсом, актуальной поддержкой PHP и TLS, а также встроенным Let’s Encrypt. Для коммерческой поддержки обычно выбирают Plesk. Приведённые ниже шаги по-прежнему применимы к существующей установке Sentora, и процесс работы с SSL не изменился.

Создание кода CSR на Sentora

Если вы уже создали CSR и получили выпущенный сертификат от вашего CA, перейдите к разделу установки.

Каждый коммерческий SSL/TLS-сертификат начинается с CSR (запроса на подпись сертификата) — блока закодированного текста, который содержит данные вашего домена и контактную информацию и связан с закрытым ключом. У вас есть два варианта:

  • Создать CSR автоматически с помощью нашего Генератора CSR. CSR и его закрытый ключ создаются в вашем браузере, поэтому сохраните ключ в надёжном месте: во время установки вы вставите его на сервер как yourdomain.key.
  • Создать CSR непосредственно на сервере, следуя нашему руководству как создать CSR на Sentora.

Откройте CSR в любом текстовом редакторе (например, в Блокноте), скопируйте весь блок (включая строки BEGIN CERTIFICATE REQUEST и END CERTIFICATE REQUEST) и вставьте его в форму заказа. После проверки CA отправит вам по электронной почте файлы выпущенного сертификата.

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

В Sentora нет встроенной формы для вставки SSL-сертификата от третьей стороны, как это есть в cPanel или VestaCP. Установка состоит из двух этапов: скопировать файлы сертификата на сервер, а затем подключить их к Apache через модуль Apache Admin Sentora, чтобы панель переписала виртуальный хост при следующей синхронизации.

Шаг 1: Подготовьте файлы SSL

После того как удостоверяющий центр выпустит ваш сертификат, скачайте ZIP-архив и распакуйте его. У вас должно получиться три файла:

  • Основной сертификат сервера для вашего домена (файл .crt).
  • Закрытый ключ, созданный вместе с CSR (файл .key).
  • Связка CA, содержащая промежуточные сертификаты (файл .ca-bundle или .crt от CA).

Некоторые CA предоставляют единый объединённый файл цепочки; другие отправляют корневой и промежуточный сертификаты отдельными файлами. Если они разделены, откройте их в обычном текстовом редакторе и вставьте сначала промежуточный, затем корневой сертификат в один файл, сохранённый как yourdomain.ca-bundle.crt. Не оставляйте пустых строк между сертификатами и убедитесь, что каждый блок сохраняет свои маркеры BEGIN CERTIFICATE и END CERTIFICATE.

Шаг 2: Скопируйте файлы на сервер

Откройте сессию SSH к серверу и получите права root, либо добавляя перед каждой командой sudo, либо открыв корневую оболочку с помощью sudo -i. Создайте каталог SSL в директории Apache и скопируйте туда три файла (используйте scp, sftp или редактор по вашему выбору, чтобы предварительно загрузить их):

sudo mkdir -p /etc/apache2/ssl
sudo cp yourdomain.crt /etc/apache2/ssl/yourdomain.crt
sudo cp yourdomain.key /etc/apache2/ssl/yourdomain.key
sudo cp yourdomain.ca-bundle.crt /etc/apache2/ssl/yourdomain.ca-bundle.crt
sudo chmod 600 /etc/apache2/ssl/yourdomain.key

Ограничение прав доступа к файлу ключа до режима 600 не позволяет другим локальным пользователям читать закрытый ключ.

Шаг 3: Включите модуль SSL для Apache

Если модуль SSL ещё не активен, включите его и перезапустите Apache:

sudo a2enmod ssl
sudo service apache2 restart

Команда a2enmod ssl сама создаёт символические ссылки mods-enabled/ssl.conf и mods-enabled/ssl.load, поэтому создавать их вручную не нужно. Вы можете убедиться, что модуль загружен, с помощью команды apache2ctl -M | grep ssl.

Шаг 4: Добавьте виртуальный хост SSL через Apache Admin

Войдите в Sentora как пользователь-администратор, затем перейдите в Admin > Module Admin > Apache Admin. Вставьте следующий текст в поле Global Sentora entry, скорректировав пути к файлам и имена хостов в соответствии с вашей установкой:

##################################################
# Apache vhost configuration for Sentora
# Adds an HTTPS virtual host that uses your cert
##################################################

<VirtualHost *:443>
    ServerAdmin zadmin@localhost
    DocumentRoot "/etc/sentora/panel/"
    ServerName panel.example.com
    ServerAlias sentora.example.com

    SSLEngine on
    SSLCertificateFile      /etc/apache2/ssl/yourdomain.crt
    SSLCertificateKeyFile   /etc/apache2/ssl/yourdomain.key
    SSLCertificateChainFile /etc/apache2/ssl/yourdomain.ca-bundle.crt

    # Modern TLS only. SSLv2, SSLv3, TLS 1.0 and TLS 1.1
    # are deprecated and unsafe (POODLE, BEAST).
    SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder     on
    SSLCipherSuite          HIGH:!aNULL:!MD5:!3DES:!RC4
    SSLCompression          off
</VirtualHost>

Замените panel.example.com и имена файлов на ваше действительное имя хоста и пути к сертификату. Сохраните запись. Sentora переписывает конфигурацию Apache при следующей синхронизации демона (и при сохранении), поэтому не редактируйте /etc/apache2/sites-available напрямую: панель перезапишет её.

О SSLProtocol SSLv3: в более старых руководствах по Sentora, включая предыдущие версии этого руководства, в поле Apache Admin вставляется SSLProtocol SSLv3. Не используйте это значение. SSL 3.0 признан скомпрометированным после раскрытия уязвимости POODLE в 2014 году (CVE-2014-3566) и отключён во всех современных браузерах; виртуальный хост Apache, принудительно использующий только SSLv3, будет отвергать современные клиенты, а если бы они его принимали, это было бы небезопасно. Приведённый выше блок ограничивает Apache только TLS 1.2 и 1.3, что является актуальным безопасным стандартом.

Шаг 5: Перезапустите Apache

После сохранения записи в Apache Admin проверьте конфигурацию и перезагрузите службу:

sudo apache2ctl configtest
sudo service apache2 restart

Если configtest сообщает Syntax OK, новый виртуальный хост работает. Откройте панель по адресу https://panel.example.com и проверьте значок замка.

Дополнительно: использование Let’s Encrypt через модуль Sencrypt

Если вам не нужен платный сертификат, модуль сообщества Sencrypt (поддерживается по адресу TGates71/sencrypt одним из первоначальных разработчиков Sentora) выпускает и автоматически продлевает бесплатные сертификаты Let’s Encrypt для панели и для размещённых доменов. Он входит в состав некоторых установок Sentora и доступен как отдельное дополнение для других; после установки перейдите в Admin > Module Admin > Sencrypt SSL (или Sencrypt в разделе управления доменами для размещённого сайта), выберите домен и запустите действие выпуска сертификата. Sencrypt выполняет проверку HTTP-01 через порт 80 и автоматически размещает полученный сертификат, ключ и цепочку. Домен должен уже разрешаться в DNS на этот сервер, чтобы проверка прошла успешно.

Проверка установки SSL

После перезапуска Apache откройте ваш сайт по https:// и проверьте значок замка. Для более глубокой проверки, подтверждающей промежуточную цепочку и поддержку протоколов, запустите проверку имени хоста через наш SSL Checker. Если в отчёте указано на отсутствующий промежуточный сертификат, снова откройте Apache Admin, убедитесь, что путь в SSLCertificateChainFile указывает на связку CA, скопированную в Шаге 2, сохраните и перезапустите Apache ещё раз.

Часто задаваемые вопросы

Поддерживается ли Sentora активно в 2026 году?

Официальная разработка Sentora за последние несколько лет резко замедлилась. Последний стабильный релиз в репозитории sentora/sentora-corev2.0.2 от мая 2024 года (PHP 7.4), а ветка 2.1.x, ориентированная на PHP 8.x, до сих пор помечена как только для разработки, без LTS или активного потока релизов безопасности. Существует форк от сообщества, Sentora-NG, но он небольшой. Большинство администраторов, ищущих активно поддерживаемого преемника с открытым исходным кодом, переходят на HestiaCP; Plesk обычно выбирают для коммерческой поддержки. Существующие установки Sentora продолжают работать, а описанный выше процесс установки SSL всё ещё позволяет установить действующие сертификаты.

Где Sentora хранит файлы сертификата и ключа?

Sentora не устанавливает фиксированное расположение для сертификатов от третьих сторон. В этом руководстве используется соглашение /etc/apache2/ssl/yourdomain.crt, yourdomain.key и yourdomain.ca-bundle.crt, на которые ссылается виртуальный хост, добавляемый через Apache Admin. Сертификаты, выпущенные модулем сообщества Sencrypt для Let’s Encrypt, находятся в собственном каталоге данных модуля Sencrypt и автоматически подключаются к Apache.

Почему следует избегать SSLProtocol SSLv3 в записи Apache Admin?

SSL 3.0 был скомпрометирован атакой POODLE в 2014 году (CVE-2014-3566) и был удалён из всех основных браузеров много лет назад. Указание SSLProtocol SSLv3 заставляет Apache согласовывать только этот протокол, поэтому современные клиенты не смогут подключиться, а любой клиент, который всё же подключился бы, оказался бы под угрозой. Используйте SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1, чтобы разрешить только TLS 1.2 и 1.3 — это актуальный безопасный стандарт.

Нужно ли создавать символические ссылки для mods-enabled/ssl.conf вручную?

Нет. sudo a2enmod ssl сама создаёт символические ссылки ssl.conf и ssl.load в каталоге /etc/apache2/mods-enabled/. В более старых руководствах по Sentora приводятся отдельные команды ln -s, но они дублируют то, что уже сделала команда a2enmod. Выполните apache2ctl -M | grep ssl, чтобы убедиться, что модуль загружен.

Могу ли я редактировать файлы сайтов Apache напрямую, вместо использования Apache Admin?

Можете, но изменение не сохранится. Sentora регенерирует конфигурацию Apache из собственных шаблонов при каждой синхронизации и перезапишет всё, что вы вручную добавили в /etc/apache2/sites-available. Используйте Global Sentora entry модуля Apache Admin для глобальных директив или запись для конкретного домена для отдельного сайта, чтобы Sentora сохраняла ваши изменения при перезаписи конфигурации.

Почему SSL Checker сообщает, что моя цепочка неполна?

Наиболее распространённая причина — отсутствующий или неверный путь SSLCertificateChainFile в записи Apache Admin. Убедитесь, что путь указывает на файл связки CA, скопированный в Шаге 2, и что связка содержит все промежуточные сертификаты между сертификатом вашего домена и корневым сертификатом, причём каждый блок ограничен маркерами BEGIN CERTIFICATE и END CERTIFICATE. Сохраните запись в Apache Admin, перезапустите Apache, затем снова запустите наш SSL Checker.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

Опытный автор контента, специализирующийся на SSL-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.