• Версия для печати

[How To] Бесплатные SSL сертификаты

Описание: Настройка, обслуживание, эксплуатация, управление панелью ISPConfig 3. А так же обсуждение установки и оптимизация сайта под ISPConfig 3
Правила раздела: Условием использования нашего форума, является соблюдение настоящих Правил форума.


Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.
Модератор: kulia

Автор
Сообщение
andrew
Автор темы
Аватара
andrew
Автор темы
Возраст: 30
Репутация: 11
Лояльность: 13
Сообщения: 12
С нами: 6 лет 6 месяцев
Откуда: Moscow
Сайт ВКонтакте

#1 andrew » Чт, 24 марта 2016, 16:40

Задался я как-то целью избавиться от надоевшего оповещения об ошибке SSL сертификата. Уж очень меня раздражало, когда при входе в ISPConfig 3 или Webmin или на мой же собственный сайт с включённым шифрованием браузер категорически заявлял, что сайт не защищён, что при шифровании используется неверная или даже ложная информация, что сертификат не подтверждён никем, кроме какого-то дяди с улицы. И стал я искать, как это это поправить, как же без вложений килобаксов получить сертификат. Оказывается, есть такая возможность.
Существует сервис, StartSSL, выдающий подписанный сертификат любому желающему. Бесплатный сертификат выдаётся сроком на год.

Собственно, как всё происходит:

Регистрация и подтверждение домена:
1) Заходим на сайт StartSSL и регистрируемся. При регистрации желательно использовать верные, честные, существующие данные.

2) После регистрации необходимо подтвердить права на домен. Жмём "Validations Wizard".

3) Выбираем первый пункт - Domain Validation (for SSL certificate).

4) Вводим доменное имя, на которое желаем получить сертификат.

5) Для выполнения этого условия необходимо иметь почтовый ящик вида:
а) postmaster@домен.зона
б) hostmaster@домен.зона
в) webmaster@домен.зона
Рекомендую, если у вас ещё нет своего почтового сервера, воспользоваться яндекс-почтой для домена (займёт некоторое время на обновление DNS).

6) Получив на почту письмо с кодом, вводите код в поле Verification code. На этом подтверждение владения доменом закончено.

Получение сертификата:
1) Жмём на Certificates Wizard.

3) Выбираем Web Server SSL/TLS Certificate.

4) Вводим точное доменное имя, на которое хотим получить сертификат. Скорее всего, это будет ваш домен верхнего уровня. Внимательно отнеситесь к этому пункту, т.к. при неверном заполнении сертификат будет принадлежать другому сайту, о чём браузер неприменёт вам сообщить.

5) Выбираем способ получения CSR (Certificate Signing Request). Есть два варианта:
а) Сгенерировать самостоятельно любым способом. На сайте предлагается воспользоваться их программой или же воспользоваться терминалом и скопипастить команду - openssl req -newkey rsa:2048 -keyout вашеимя.key -out вашеимя.csr
б) Воспользоваться Internet Explorer. Это, на мой вкус, не лучший вариант. Но кому, как удобно.

6) Сгенерировав CSR любым способом, копируйте его и вставляете в соответствующее поле.

Всё. Самое сложное сделано. Идём в Tool Box - Certificate List и скачиваем сертификат, нажав на Retrieve. Далее идём в StartCom CA Certificates и скачиваем оттуда ca.crt(pem).

Итак, по завершении этих действий у нас должны быть на руках:
а) Архив с сертификатом.
б) Файл ключа вида "вашдомен.зона.key", сгенерированный на шаге получения CSR.
в) Файл ca.crt

Распаковываем архив и так же распаковываем архив с нужной версией сертификата. В моём случае это Apache. Сертификат выглядит, как файл с именем 2_вашдомен.зона.crt Переименовываем для удобства в вашдомен.зона.crt

Теперь нужно подсунуть эти сертификаты ISPConfig. Тут всё просто:
1) Копируем три файла (сертификат, ключ и ca.crt) в папку /usr/local/ispconfig/interface/ssl
Не забудьте выставить права на файлы в соответствии с уже существующими в этой папке.
2) Меняем настройки виртуального хоста ISPConfig в файле ispconfig.vhost. У меня он лежит в папке /etc/apache2/sites-available. Нужно изменить строки, где указаны сертификаты так, чтобы они указывали на ваш сертификат, это должно выглядеть так:
SSLCertificateFile /usr/local/ispconfig/interface/ssl/вашсертификат.crt
SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/вашключ.key
SSLCACertificateFile /usr/local/ispconfig/interface/ssl/ca.crt

Перегружаем apache сервер. Всё. Всё должно работать.

Если возникает проблема с ключом, его нужно будет дешифровать через специальную утилиту на сайте StartSSL. В Tool Box есть пункт Decrypt Private Key. Вставляете информацию из файла ключа, вводите выбранную при генерации фразу-ключ, кликаете Decrypt и ответную информацию копируете с заменой в файл ключа, сохраняете. У меня Webmin согласился работать с ключом только после этой процедуры. К слову, в Webmin достаточно в настройках указать все файлы сертификатов и ключей, поэтому отдельного описания, думаю, не требует.

Как-то так. Надеюсь, всё достаточно понятно.
Последний раз редактировалось andrew Вс, 15 мая 2016, 3:14, всего редактировалось 1 раз.

SinglWolf M
Аватара
SinglWolf M
Возраст: 46
Репутация: 199
Лояльность: 71
Сообщения: 1298
С нами: 5 лет 8 месяцев
Откуда: Башкирия
ICQ

#2 SinglWolf » Чт, 24 марта 2016, 17:47

andrew писал(а):Существует сервис, StartSSL, выдающий подписанный сертификат любому желающему.
Ограничений нет на уровень домена? Как с WWW? А то я в своё время добивался получить сертификат на домен третьего уровня, не срослось :(

andrew
Автор темы
Аватара
andrew
Автор темы
Возраст: 30
Репутация: 11
Лояльность: 13
Сообщения: 12
С нами: 6 лет 6 месяцев
Откуда: Moscow
Сайт ВКонтакте

#3 andrew » Чт, 24 марта 2016, 18:39

Ограничений нет на уровень домена? Как с WWW? А то я в своё время добивался получить сертификат на домен третьего уровня, не срослось :(
WWW точно работает. Насколько я понял, поддерживаются домены второго уровня. Насчёт третьего не уверен.

kocik799
kocik799
Репутация: 0
Лояльность: 1
Сообщения: 11
С нами: 3 года 8 месяцев

#4 kocik799 » Сб, 26 марта 2016, 23:03

andrew Спасибо. Помог ваш способ получить и установить сертификат. Вот если бы еще написали как в вебмин закинуть их, было бы отлично. У самого не вышло(

andrew
Автор темы
Аватара
andrew
Автор темы
Возраст: 30
Репутация: 11
Лояльность: 13
Сообщения: 12
С нами: 6 лет 6 месяцев
Откуда: Moscow
Сайт ВКонтакте

#5 andrew » Вс, 27 марта 2016, 14:29

kocik799 писал(а):andrew Спасибо. Помог маш способ получить и установить сертификат. Вот если бы еще написали как в вебмин закинуть их, было бы отлично. У самого не вышло(
Всегда пожалуйста. Я рад, что всё понятно и по инструкции у вас всё получилось. :-)

В Webmin сертификаты добавляются средствами самого Webmin, что на мой взгляд очень удобно. Сделать это можно так:

1) Для удобства копируем три файла - сертификат, ключ и ca.pem - в папку /etc/webmin/cert. Этого можно не делать, но так действительно удобнее. Не забываем выставить права.
2) Заходим, очевидно, в вебмин. И там ищем "настройка webmin".
3) В куче настроек ищем "Шифрование SSL"
4) И вот, мы уже там, где всё настраивается. Выбираем "Файл личного ключа", "Файл сертификата" и "Файлы дополнительных сертификатов
(для связанных сертификатов)". Указываем, соответственно, по порядку - ваш ключ, ваш сертификат и ca.pem

Сохраняемся, перегружаемся. Всё, должно работать. :-)

P.S. Как я и писал выше, у меня вебмин отказался работать с зашифрованным ключом. Тогда я прошёл процедуру дешифрования на сайте StartSSL, после чего вебмин заработал.

kocik799
kocik799
Репутация: 0
Лояльность: 1
Сообщения: 11
С нами: 3 года 8 месяцев

#6 kocik799 » Пн, 28 марта 2016, 11:52

andrew, Спасибо еще раз, вот вся проблема и составляет в файле ca.pem , не нашел его))) или как его оздать

andrew
Автор темы
Аватара
andrew
Автор темы
Возраст: 30
Репутация: 11
Лояльность: 13
Сообщения: 12
С нами: 6 лет 6 месяцев
Откуда: Moscow
Сайт ВКонтакте

#7 andrew » Вт, 29 марта 2016, 1:21

kocik799 писал(а):andrew, Спасибо еще раз, вот вся проблема и составляет в файле ca.pem , не нашел его))) или как его оздать
Вот так:
andrew писал(а):Далее идём в StartCom CA Certificates и скачиваем оттуда ca.crt(pem).
Идём сюда и качаем ca.crt(pem)
Изображение

Ещё может понадобиться переименовать ca.crt в ca.pem

kocik799
kocik799
Репутация: 0
Лояльность: 1
Сообщения: 11
С нами: 3 года 8 месяцев

#8 kocik799 » Вт, 29 марта 2016, 14:56

andrew,
Ещё может понадобиться переименовать ca.crt в ca.pem
Вот оно что)))

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#9 kulia » Пн, 9 мая 2016, 21:30

Спасибо за развернутый мануал, удалось прикрутить сертификаты на панель и webmin. Никак не выходит настроить ssl для сайта. Использую связку nginx+apache, установлена 4 full скриптом. lsof -i tcp:443 вывод не дает никакой. В панели все галки ssl на сайт выставлены, после включения ssl из админки Joomla 3.5 получаю - ERR_CONNECTION_REFUSED. Причем сайт не доступен ни по http:// ни по https://. На форуме ответов не нашел *WALL* . Подскажите куда копать?

А копать надо сюда: :-D *CRAZY*

Дополнение к решению по вопросу включения SSL для Joomla 3.5:

Как описано ниже, все заработало. Но при включении SSL из админки Joomla осталась ошибка с циклической переадресацией. Лечится так:

Ошибка появляется при включении в админке сайта "Система > Общие настройки > Сервер" Включить SSL в положение "Весь сайт" или "Только для панели управления" получаете белый лист или ошибку "Циклическая переадресация" (ERR_TOO_MANY_REDIRECTS).

Скрытый текст. Необходимо зарегистрироваться

Одна буковка, а столько проблем создает...
Последний раз редактировалось kulia Чт, 23 июня 2016, 23:26, всего редактировалось 3 раза.
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...

SinglWolf M
Аватара
SinglWolf M
Возраст: 46
Репутация: 199
Лояльность: 71
Сообщения: 1298
С нами: 5 лет 8 месяцев
Откуда: Башкирия
ICQ

#10 SinglWolf » Вт, 10 мая 2016, 6:13

kulia писал(а):Подскажите куда копать?
Какая ОС?

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#11 kulia » Вт, 10 мая 2016, 8:14

Server Ubuntu 14.04.4 Linux 4.2.0-35-generic on x86_64, не на виртуалке.
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...

SinglWolf M
Аватара
SinglWolf M
Возраст: 46
Репутация: 199
Лояльность: 71
Сообщения: 1298
С нами: 5 лет 8 месяцев
Откуда: Башкирия
ICQ

#12 SinglWolf » Вт, 10 мая 2016, 14:55

kulia, как прикручивали сертификат к сайту? Опишите действия. Доступ к панели есть после всех манипуляций?

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#13 kulia » Вт, 10 мая 2016, 15:34

Да, доступ к панели есть, я и к ней и к webmin прикрутил сертификаты, все нормальное и зеленое. Сертификаты прикручивал на вкладке SSL (мог напортачить, т.к. нет пошаговой инструкции куда какой сертификат пихать особенно непонятно с SSL Bundle и Запрос SSL). Буду много благодарен (думаю не только я :-D ) если кто подскажет применительно к startssl.com из каких файлов ключи в какие ячейки закидывать, нужно ли какие-то промежуточные сертификаты как-то делать, желательно вот в таком виде:

SSL Key: домен.key
Запрос SSL: домен.csr или домен.crt и т.д.
SSL сертификат:
SSL Bundle:

Информации в гугле много, разной, понимаю, что рано или поздно разберусь методом проб и ошибок, но если есть знающие форумчане просьба поделиться информацией как правильно прикручивать сертификаты *DRINK*

Продолжу:
Перепробовал различные варианты комбинаций сертификатов в панели, но lsof -i tcp:443 вывод не дает никакой. Вывод появляется только после добавления listen 443; в раздел server, файла /etc/nginx/sites-enabled/мойдомен.vhost. Но, после рестарта апача указанный конфиг приводится к изначальному виду, т.е. listen 443; пропадает из конфига. И все по новой. Не могу понять почему nginx не слушает 443 порт.
Еще вопрос: какой сертификат вставлять в панель для apache или для nginx?
Последний раз редактировалось kulia Ср, 11 мая 2016, 8:44, всего редактировалось 1 раз.
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...

rewuxiin
Супер модератор
Супер модератор
rewuxiin
Супер модератор
Супер модератор
Репутация: 14
Лояльность: 22
Сообщения: 211
С нами: 4 года 11 месяцев

#14 rewuxiin » Вт, 10 мая 2016, 16:23

Сертификаты полученные из старпоста обузоустойчевые? или по запросу какого-либо органа могут отозвать?

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#15 kulia » Ср, 11 мая 2016, 8:54

По идее, сертификат может отозвать только выпускающая организация, если обнаружит (или ей помогут обнаружить) несоответствие предоставленных данных для выпуска сертификата, ведь только она публикует список действительных сертификатов, а органы могут запретить доступ к ресурсу.

Добавлено спустя 15 часов 5 минут:
#27 SinglWolf » Сб, 11 апреля 2015, 8:42
Ларчик просто открывался. Надо правильно настроить сертификаты. Тема закрыта.

http://serverdoma.ru/viewtopic.php?p=6875#p6875

Так как же их настроить? *WALL*
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...

andrew
Автор темы
Аватара
andrew
Автор темы
Возраст: 30
Репутация: 11
Лояльность: 13
Сообщения: 12
С нами: 6 лет 6 месяцев
Откуда: Moscow
Сайт ВКонтакте

#16 andrew » Чт, 12 мая 2016, 15:00

К сайту сертификат я прикручивал руками, через замену тех, что генерируются на вкладке SSL в панели. Может это и не совсем верно, но я сделал именно так.
Т.е. я делал вот это:
1) Сгенерировал для сайта сертификаты через панель.
2) Через MC просто заменил их теми, что были созданы на сайте StartSSL.
3) На всякий случай проверил конфиг сайта и убедился, что сертификаты на своих местах, по указанным в конфиге директориям.

SSL бандл так же включён в архив, который скачивается с сайта StartSSL. Для Apache он так и назван - root_bundle.crt

Мой конфиг касательно SSL выглядит так:

Код: Выделить всё

<IfModule mod_ssl.c>
                SSLEngine on
                SSLProtocol All -SSLv2 -SSLv3
                SSLCertificateFile /var/www/clients/client1/web1/ssl/myhorrorstory.ru.crt
                SSLCertificateKeyFile /var/www/clients/client1/web1/ssl/myhorrorstory.ru.key
                </IfModule>


Думаю, можно просто копировать информацию из файлов сертификатов StartSSL и вставлять в соответствующие ячейки в панели. Поскольку я уже сгенерировал сертификаты через панель, мне оказалось проще подменить.

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#17 kulia » Чт, 12 мая 2016, 16:35

andrew,
Мой конфиг касательно SSL выглядит так
Можно путь до этого конфига (для чайников :-) )

А какой у Вас состав сервера - apache или связка apache+nginx? И есть ли вывод lsof -i tcp:443 ?

Добавлено спустя 10 часов 4 минуты:
Мегареспект Andrew, SinglWolf!!! *THUMBS UP* *DRINK*

Все работает! *YAHOO*

Теперь по делу:
Спойлер
Скрытый текст. Необходимо зарегистрироваться

Вывод один - все проблемы измеряются радиусом кривизны рук! *CRAZY*

P.S.: Уважаемые Админы, учитывая время затраченное на изучение вопроса и то, что этот топик закрывает теперь все вопросы по прикручиванию SSL к ISPConfig 3, создаваемым панелью сайтам и Webmin, я бы разместил его в объявлениях. Полагаю это сэкономит много времени многим пользователям... *YES*
Последний раз редактировалось kulia Чт, 23 июня 2016, 23:43, всего редактировалось 1 раз.
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#18 kulia » Сб, 14 мая 2016, 14:17

Andrew, маленькая очепятка :-)
Теперь нужно подсунуть эти сертификаты ISPConfig. Тут всё просто:
1) Копируем три файла (сертификат, ключ и ca.crt) в папку /usr/local/ispconfig/interfaces/ssl

Правильно так (по крайней мере у меня):

/usr/local/ispconfig/interface/ssl

Еще дополнение к Вашему мануалу:

2) Меняем настройки виртуального хоста ISPConfig в файле ispconfig.vhost. У меня он лежит в папке /etc/apache2/sites-available. Нужно изменить строки, где указаны сертификаты так, чтобы они указывали на ваш сертификат, это должно выглядеть так:
SSLCertificateFile /usr/local/ispconfig/interface/ssl/вашсертификат.crt
SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/вашключ.key
SSLCACertificateFile /usr/local/ispconfig/interface/ssl/ca.crt

Для корректного прохождения проверки SSL ваш-домен:8080 на сайте (я пользуюсь, например этим) https://www.sslshopper.com/ssl-checker.html?hostname=
в ca.crt нужно вставлять

Код: Выделить всё

sudo nano /usr/local/ispconfig/interface/ssl/ca.crt

содержимое файла 1_ваш-домен_bundle.crt (nginx) или 1_root_bundle.crt (apache), из полученного ранее архива.
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...

andrew
Автор темы
Аватара
andrew
Автор темы
Возраст: 30
Репутация: 11
Лояльность: 13
Сообщения: 12
С нами: 6 лет 6 месяцев
Откуда: Moscow
Сайт ВКонтакте

#19 andrew » Вс, 15 мая 2016, 3:18

kulia писал(а):Andrew, маленькая очепятка
Очепятку исправил. Спасибо! :-)
И за дополнения спасибо!

kulia M
Аватара
kulia M
Репутация: 25
Лояльность: 22
Сообщения: 132
С нами: 3 года 4 месяца
Откуда: Москва

#20 kulia » Вс, 15 мая 2016, 14:35

andrew писал(а):
Ограничений нет на уровень домена? Как с WWW? А то я в своё время добивался получить сертификат на домен третьего уровня, не срослось :(
WWW точно работает. Насколько я понял, поддерживаются домены второго уровня. Насчёт третьего не уверен.

Работает и с 3-м уровнем. Подтверждаете ваш-домен, потом вводите для получения поддомен.ваш-домен и получаете архив с одноименным названием. Кстати, для браузеров сертификаты для ваш-домен и поддомен.ваш-домен разные, и сертификат от первого не будет валиден для второго. Лично протестил, номер не прошел. :-D
Создал на Линукс-форуме тему "Установка Internet Explorer под Убунту".
Тему удалили через 4 минуты, выдали бан на 10 дней...


Вернуться в «ISPConfig 3»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость