SSL-сертификаты · 6 min read · Sep 25, 2025
Защита вашей установки ISPConfig 3 с помощью бесплатного SSL-сертификата Class1 от StartSSL
Этот учебник показывает, как вы можете использовать бесплатный SSL-сертификат Class1 от StartSSL для защиты вашей установки ISPConfig 3 и избавиться от предупреждений о самоподписанных сертификатах. В руководстве рассматривается использование SSL-сертификата для веб-интерфейса ISPConfig (как для Apache2, так и для nginx), Postfix (для TLS-соединений), Courier и Dovecot (для POP3 и IMAP), а также PureFTPd (для TLS/FTPES-соединений). Если вы установили monit и используете HTTPS для его веб-интерфейса, я также покажу вам, как использовать сертификат StartSSL для этого. Это руководство предполагает, что вы используете Debian или Ubuntu; принцип такой же для других дистрибутивов, поддерживаемых ISPConfig 3, но пути могут отличаться.
ОБНОВЛЕНИЕ 20.12.2017
ЦА StartSSL больше не доверяется браузерами и прекратит выдачу SSL-сертификатов 1 января 2018 года. Сегодня доступна хорошая альтернатива, используйте Let’s Encrypt вместо StartSSL, чтобы получить бесплатный SSL-сертификат. Здесь вы можете найти инструкции о том, как использовать SSL-сертификат Let’s Encrypt для ISPConfig, Postfix, Dovecot, Courier, Monit и PureFTPD:
1 Предварительная заметка
Я предполагаю, что вы использовали одно из руководств с http://www.ispconfig.org/ispconfig-3/documentation/ для настройки вашей системы. Как я уже упоминал ранее, я сосредоточусь на Debian/Ubuntu в этом руководстве, но оно должно работать и для других дистрибутивов, поддерживаемых ISPConfig 3 (хотя вам, возможно, придется настроить некоторые пути).
Я буду использовать имя хоста server1.example.com; StartSSL позволяет вам создать сертификат Class1 для основного домена и одного поддомена, поэтому я создам сертификат для example.com и server1.example.com. Это означает, что вы должны сказать своим пользователям использовать основной домен example.com или поддомен server1.example.com для всех услуг (веб-интерфейс ISPConfig, Postfix, Courier/Dovecot, PureFTPD и т. д.), потому что в противном случае они получат предупреждения о сертификате.
Если вы предпочитаете использовать разные имена хостов для ваших услуг (например, mail.example.com для Postfix, ispconfig.example.com для ISPConfig и т. д.), я предлагаю вам получить сертификат Class2 от StartSSL. Он не бесплатный, но позволяет создать его для нескольких поддоменов (вы даже можете использовать *.example.com, чтобы создать его для всех поддоменов) и даже для нескольких доменов. Инструкции те же, за исключением того, что когда я использую промежуточный сертификат sub.class 1.server.ca.pem от StartSSL, вы должны использовать sub.class 2.server.ca.pem вместо этого. Я буду описывать это различие на протяжении всего учебника.
Я выполняю все шаги в этом учебнике с правами root, поэтому убедитесь, что вы вошли как root. Если вы используете Ubuntu, выполните…
sudo su… чтобы получить права root.
2 Создание запроса на подпись сертификата (CSR)
Нам нужен запрос на подпись сертификата (CSR), чтобы получить SSL-сертификат от StartSSL. Поскольку установщик ISPConfig (для версий >= 3.0.4) создает его в любом случае, я буду использовать этот CSR в качестве основы для шифрования всех услуг (ISPConfig, Postfix и т. д.).
С версии ISPConfig 3.0.4 установщик ISPConfig предлагает возможность использовать SSL-шифрование для веб-интерфейса ISPConfig, он создает самоподписанный сертификат (4096 бит) вместе с CSR, если вы ответите на следующий вопрос, нажав ENTER или y:
Хотите ли вы безопасное (SSL) соединение с веб-интерфейсом ISPConfig (y,n) [y]: <– ENTER
Чтобы заставить установщик ISPConfig создать CSR с правильными данными, вы должны ввести правильные данные, когда увидите эти вопросы:
Генерация RSA закрытого ключа, модуль длиной 4096 бит ……………………………………………………++ ……………………………………………………………++ e равно 65537 (0x10001) Вам будет предложено ввести информацию, которая будет включена в ваш запрос на сертификат. То, что вы собираетесь ввести, называется Уникальным именем или DN. Существует довольно много полей, но вы можете оставить некоторые пустыми. Для некоторых полей будет значение по умолчанию. Если вы введете ‘.’, поле останется пустым.
Название страны (2-буквенный код) [AU]: <– DE Название штата или провинции (полное название) [Some-State]: <– Niedersachsen Название населенного пункта (например, город) []: <– Lueneburg Название организации (например, компания) [Internet Widgits Pty Ltd]: <– My Company Ltd. Название организационного подразделения (например, секция) []: <– IT Общее имя (например, ВАШЕ имя) []: <– example.com Адрес электронной почты []: <– [email protected]
Пожалуйста, введите следующие ‘дополнительные’ атрибуты, которые будут отправлены с вашим запросом на сертификат. Пароль для проверки []: <– ENTER Необязательное название компании []: <– ENTER Запись RSA ключа
Если вы изначально создали сертификат с неправильными данными, вы можете либо обновить ISPConfig, выполнив…
ispconfig_update.sh…, или, если у вас уже установлена последняя версия, выполните следующие команды:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.phpЭто позволит вам создать новый сертификат для вашего веб-интерфейса ISPConfig 3, ответив на следующий вопрос “да”:
Создать новый SSL сертификат ISPConfig (да, нет) [нет]: <– да
Если вы используете версию ISPConfig до 3.0.4, вам следует обновиться до последней стабильной версии, выполнив…
ispconfig_update.shЭто также позволит вам создать SSL-соединение для вашего веб-интерфейса ISPConfig 3, ответив на следующий вопрос “да”:
Создать новый SSL сертификат ISPConfig (да, нет) [нет]: <– да
Как указано выше, убедитесь, что вы вводите правильные данные.
После этого у вас должен быть SSL-ключ, CSR и самоподписанный сертификат в каталоге /usr/local/ispconfig/interface/ssl:
ls -l /usr/local/ispconfig/interface/ssl/root@server1:~# ls -l /usr/local/ispconfig/interface/ssl/
total 16
-rwxr-x--- 1 ispconfig ispconfig 2423 Jan 16 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 Jan 16 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 Jan 16 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 3311 Jan 16 13:28 ispserver.key.secure
root@server1:~#Все, что нам нужно в этом учебнике, это закрытый ключ (ispserver.key) и CSR (ispserver.csr); мы заменим ispserver.crt сертификатом Class1 от StartSSL. Вы можете игнорировать ispserver.key.secure.
Также возможно создать ispserver.key и ispserver.csr в командной строке следующим образом:
cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr(Это не даст вам ispserver.crt, что не имеет значения, так как мы получим наш подписанный сертификат от StartSSL.)
Ваш ispserver.csr должен быть похож на этот (я закрыл большие части, потому что это реальный CSR, который я использую):
cat /usr/local/ispconfig/interface/ssl/ispserver.csr| -----BEGIN CERTIFICATE REQUEST----- MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWVkZXJzYWNo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz -----END CERTIFICATE REQUEST----- |
3 Получение бесплатного сертификата Class1 от StartSSL
Теперь перейдите на http://www.startssl.com/ и создайте учетную запись. После того, как вы подтвердите свой домен (на вкладке Validations Wizard), вы можете запросить свой сертификат на вкладке Certificates Wizard - выберите Web Server SSL/TLS Certificate из выпадающего списка Certificate Target:

Поскольку у нас уже есть закрытый ключ и CSR, мы можем пропустить следующий шаг - нажмите на Пропустить >>:

На следующей странице вы заполняете свой CSR, т.е. содержимое файла /usr/local/ispconfig/interface/ssl/ispserver.csr (начиная с —–BEGIN CERTIFICATE REQUEST—– и заканчивая —–END CERTIFICATE REQUEST—–):

Затем следуйте остальной части мастера - он спросит вас о домене и одном поддомене, для которых будет создан сертификат. Если вы используете server1.example.com для всех своих услуг, заполните example.com как домен и server1 как поддомен.
Через несколько минут вы получите электронное письмо о том, что ваш новый сертификат готов. Перейдите в Toolbox > Retrieve Certificate и выберите свой сертификат:

Скопируйте сертификат из веб-интерфейса StartSSL…

… и сделайте резервную копию вашего оригинального файла ispserver.crt и вставьте сертификат Class1 от StartSSL в (пустой) файл ispserver.crt:
mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt| -----BEGIN CERTIFICATE----- MIIHMTCCBhmgAwIBAgIDxxxxxx0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c2x1wonVRVmKovt2OuM1ZqZw0Ynk -----END CERTIFICATE----- |
Затем загрузите корневой ЦА StartSSL и промежуточный серверный ЦА Class1:
cd /usr/local/ispconfig/interface/ssl
wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem(Если вы используете сертификат Class2, пожалуйста, загрузите sub.class2.server.ca.pem вместо sub.class1.server.ca.pem).
Переименуйте оба файла:
mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt(Настройте вторую команду, если вы используете сертификат Class2.)
Некоторые службы требуют файл .pem, который мы создаем следующим образом (опять же, убедитесь, что вы настраиваете команды, если вы используете сертификат Class2):
cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt
cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem
chmod 600 ispserver.pemGet new posts in your inbox
No spam. Unsubscribe anytime.