Установка SSL-сертификата
Для установки сертификата потребуется:
- файл сертификата и цепочка сертификата;
- ключ сертификата. Ключ генерируется перед заказом сертификата, на основе ключа генерируется CSR-запрос.
- root-доступ к серверу.
Где взять данные для установки SSL-сертификата?
Архив с данными для установки SSL-сертификата отправляется после выпуска сертификата на контактный e-mail, который вы указали при регистрации на сайте ispmanager.ru.
Также вы можете скачать архив в личном кабинете на сайте ispmanager.ru в разделе SSL сертификаты.
Где взять приватный ключ сертификата?
Если при заказе SSL-сертификата вы не включали опцию «Не сохранять ключ в системе», ключ можно найти в личном кабинете в разделе SSL сертификаты.
Если вы по каким-либо причинам не сохранили ключ, выпустите сертификат повторно с помощью нового CSR-запроса.
Как установить SSL-сертификат на VPS или выделенный сервер?
Установка SSL-сертификата через панель управления ISPmanager
- Включите возможность использования SSL для пользователя, которому принадлежит домен: Пользователи → выберите пользователя → Доступ.
- Авторизуйтесь под учётной записью этого пользователя.
- Перейдите в SSL-сертификаты → кнопка Добавить сертификат.
- Укажите Тип сертификата «Существующий» и заполните все поля:
Имя SSL-сертификата — имя сертификата, под которым он будет отображаться в системе. Может содержать буквы латинского алфавита, цифры, точки, а также знаки _ и -.
SSL-сертификат — содержимое SSL-сертификата в PEM-формате.
Ключ SSL-сертификата — содержимое ключа SSL-сертификата в PEM-формате.
Цепочка SSL-сертификатов — содержимое файла цепочки SSL-сертификатов (Certificate bundle) в PEM-формате. В письме от центра сертификации обычно приходит архив, в котором есть два файла — сам сертификат и цепочка сертификата (файл с расширением .ca-bundle).
После добавления сертификата его можно включить для сайта: Сайты → выберите сайт → Редактировать → в раскрывшемся меню нажмите Изменить → в поле SSL-сертификаты выберите нужный SSL-сертификат.
- Детальная проверка установленного сертификата доступна по ссылкам:
- https://www.ssllabs.com/ssltest/analyze.html;
- https://www.sslshopper.com/ssl-checker.html.
Ручная установка SSL сертификата
Чтобы узнать какой веб-сервер обрабатывает SSL-запросы — Apache или Nginx, выполните команду:
netstat -napt | grep 443
CODE
Установка SSL-сертификата на Apache
Cертификат устанавливается в файле конфигурации Apache:
- для ОС Debian — /etc/apache2/apache2.conf;
- для ОС CentOS — /etc/httpd/conf/httpd.conf.
Добавьте данные о сертификате в секцию VirtualHost вашего домена:
Пример конфигурации
<VirtualHost 10.0.0.1:443> DocumentRoot /var/www/user/data/www/domain.com ServerName domain.com SSLEngine on SSLCertificateFile /path/to/domain.crt SSLCertificateKeyFile /path/to/domain.key SSLCACertificateFile /path/to/ca. crt </VirtualHost>
CODE
Пояснения
domain.com — имя вашего домена
10.0.0.1 — IP-адрес, на котором находится домен
/var/www/user/data/www/domain.com — путь до домашней директории вашего домена
/path/to/domain.crt — файл, в котором находится сертификат
/path/to/domain.key — файл, в котором находится ключ сертификата
/path/to/ca.crt — файл корневого сертификата
Перезапустите Apache:
Команда для ОС CentOS
apachectl restart
CODE
Команда для ОС Debian
apache2ctl restart
CODE
Установка SSL-сертификата на Nginx
Сертификат устанавливается в файле конфигурации Nginx.
Объедините SSL-сертификат, промежуточный и корневой сертификаты в один файл your_domain.crt. Данные сертификатов вы можете найти в электронном сообщении, отправленным на ваш контактный e-mail после выпуска сертификата. Также вы можете скачать их вместе с основным сертификатом в личном кабинете на сайте ispmanager.ru
Пример файла
-----BEGIN CERTIFICATE----- #Ваш сертификат# -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- #Промежуточный сертификат# -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- #Корневой сертификат# -----END CERTIFICATE-----
CODE
- Создайте файл your_domain.key и скопируйте в него содержание приватного ключа сертификата.
- Скопируйте файлы your_domain.crt и your_domain.key в одну директорию. Например, /etc/ssl/.
Настройте блок server в конфигурационном файле Nginx следующим образом:
server { listen 443; ssl on; ssl_certificate /etc/ssl/your_domain.crt; ssl_certificate_key /etc/ssl/your_domain.key; server_name your.domain.com; }
CODE
Пояснения
/etc/ssl/your_domain.
/etc/ssl/your_domain.key — путь к файлу с приватным ключом сертификата
your.domain.com — доменное имя
Перезагрузите сервер Nginx:
/etc/init.d/nginx restart
CODE
Как установить SSL-сертификат на веб-сервер Apache под Linux?
Зачем нужен SSL-сертификат
Secure Sockets Layer — уровень защищённых сокетов. По сути это означает: шифрование, аутентификацию и проверку целостности данных. Без SSL-сертификата:
- веб-сервер может отдавать контент по протоколу https, но браузер будет слева в адресной строке подсвечивать протокол красным и сообщать, что соединение не защищено;
- поисковики Яндекс и Google будут ранжировать ваш сайт ниже конкурентов с валидными SSL-сертификатами;
- страницу вашего сайта смогут за дефейсить хакеры, т.е. открыть сайт, который в доменном имене будет отличаться от вашего на один символ;
- если не включить принудительный редирект на https в настройках веб-сервера, то трафик будет идти по http без шифрования;
- без SSL-сертификата вы не сможете принимать платежи на сайте.
Хакеры, конечно, могут получить SSL-сертификат и на схожий домен, но для серьёзного сертификата им потребуется компания, а это уже целая история, время, расходы и куча следов.
И не факт, что они ещё получат сертификат на домен, который до степени смешения похож на другой, на сайт, которого нет в поисковиках.
Какие бывают SSL-сертификаты и чем они отличаются
- Self-Signed Certificate (cамоподписанный) — бесполезный и бесплатный. Его можно сгенерировать самому и тут нет удостоверяющего центра. Уровень доверия нулевой.
- SGC (Server Gated Cryptography) — сертификат с высоким уровнем шифрования для старых браузеров. Браузеры настолько старые, что смысла в нём нет.
- SAN/UCC (United Communications Certificate) — мультидоменный сертификат для Microsoft Exchange.
- Code Signing — для разработчиков, чтобы подписывать программное обеспечение, чтобы была гарантия, что это оригинальный дистрибутив и никто не внёс туда изменений.
- Wildcard SSL Certificate (и на все поддомены) — на домен и все поддомены. Но это не может быть сертификат с расширенной проверкой организации.
- Domain Validation (DV SSL) — проверка домена — проверяется только то, что вы собственник домена. Подойдёт физическим лицам, у которых на сайте нет передачи данных пользователей, коммерческой деятельности.
- Organization Validation (OV SSL) — проверка организации. В браузере не будет в адресной строке отображаться зелёным цветом сертификат.
- Extended Validation (EV SSL) — с расширенной проверкой организации. Зелёным будет отображаться в адресной строке. Такой сертификат следует приобретать, если ведётся коммерческая деятельность или передаются персональные данные. Есть варианты Multi-Domain, т.е. включить заданный список дополнительных доменов, которые не обязательно должны быть поддоменами.
Цена SSL-сертификатов слабо зависит от его типа, поэтому, если у вас организация, то получайте Extended Validation (EV SSL) сертификат. При покупке SSL-сертификата полезно, чтобы он распространялся и на поддомены, если они у вас, конечно, есть.
Ещё у SSL-сертификатов есть такой параметр как гарантия. Это количество денег, которое вам выплатит удостоверяющий центр, если ваш сайт взломают именно по причине дыры в SSL-сертификате. Пока о подобных случаях слышать не приходилось. Сайты взламывают из-за кривых рук и разгильдяйства разработчиков. Перехватить и расшифровать трафик — задача совершенно другого порядка сложности.
Установка SSL-сертификата
Итак, вы приобрели сертификат. Теперь его нужно установить к вам на сайт. Здесь мы рассмотрим установку на сайт под управлением веб-сервера Apache.
yum install mod_ssl #устанавливаем модуль SSL веб-сервера Apache vi /etc/httpd/conf.d/puzzle.itsoft.ru.conf # редактируем конфиг сайта добавляем строки с SSL и Redirect <VirtualHost *:80> ServerName puzzle.itsoft.ru ServerAlias www.puzzle.itsoft.ru Redirect 301 / https://puzzle.itsoft.ru/ </VirtualHost> <VirtualHost *:443> ServerName puzzle.itsoft.ru ServerAlias www.puzzle.itsoft.ru DocumentRoot /site/puzzle/public SSLEngine on SSLCertificateFile /etc/ssl/itsoft.ru-wc-dv/itsoft_star.crt SSLCertificateKeyFile /etc/ssl/itsoft.ru-wc-dv/itsoft_star.key SSLCertificateChainFile /etc/ssl/itsoft.ru-wc-dv/itsoft_star.crt <Directory /site/puzzle/public> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /site/puzzle/logs/error.log CustomLog /site/puzzle/logs/access.log common </VirtualHost> #сохраняем конфиг apachectl configtest #тестируем конфиги веб-сервера Apache systemctl restart httpd #перезапускаем веб-сервер Apache
В браузере вводим адрес нашего сервера и проверяем, что Apache работает и есть сертификат.
Важно учесть
Весь контент на сайте должен отдаваться по https и загружаться тоже по https. Это касается каких-то внешних библиотек, шрифтов, картинок, где есть внешняя ссылка http://. Веб-мастер Яндекса подскажет вам есть ли у вас такой контент. Если есть, то сайт не получит значок Защищённое соединение. Если хотя бы какая-то часть контента страницы подгружается по http://, то вся страница уже не может считаться безопасной.
В интернет встречаются и другие советы как сделать редирект. Например, с помощью mod_rewrite. Но это всё же не то. Этот модуль предназначен для других целей.
Что такое SSL-сертификат?
Узнайте о протоколе Secure Sockets Layer (SSL), о том, как работают SSL-сертификаты и почему они необходимы для безопасности в Интернете.
Что такое сертификат SSL?
Как работает SSL?
Сравнить
Получив сертификат SSL, вы устанавливаете его на свой сервер. Вы также устанавливаете промежуточный сертификат, который устанавливает надежность вашего SSL-сертификата, привязывая его к корневому сертификату ЦС. Инструкции по установке и тестированию вашего сертификата будут отличаться в зависимости от вашего сервера.
На изображении ниже вы можете увидеть то, что называется цепочкой сертификатов. Он соединяет сертификат вашего сервера с корневым сертификатом ЦС (в данном случае DigiCert) через промежуточный сертификат.
Наиболее важной частью SSL-сертификата является то, что он имеет цифровую подпись доверенного ЦС, такого как DigiCert. Любой может создать сертификат, но браузеры доверяют только сертификатам, полученным от организации из их списка доверенных центров сертификации. Браузеры поставляются с предварительно установленным списком доверенных ЦС, известным как хранилище доверенных корневых ЦС. Чтобы быть добавленным в хранилище доверенных корневых ЦС и, таким образом, стать центром сертификации, компания должна соблюдать стандарты безопасности и аутентификации, установленные браузерами, и пройти аудит.
SSL-сертификат, выданный ЦС организации и ее домену/веб-сайту, подтверждает, что доверенная третья сторона аутентифицировала личность этой организации. Поскольку браузер доверяет ЦС, браузер теперь также доверяет удостоверению этой организации. Браузер сообщает пользователю, что веб-сайт защищен, и пользователь может чувствовать себя в безопасности, просматривая сайт и даже вводя свою конфиденциальную информацию.
Что такое Secure Sockets Layer (SSL)?
Secure Sockets Layer (SSL) — это стандартная технология безопасности для установления зашифрованной связи между сервером и клиентом — обычно веб-сервером (веб-сайтом) и браузером или почтовым сервером и почтовым клиентом (например, Outlook). Он более известен, чем TLS или Transport Layer Security, технология-преемник SSL.
Как SSL-сертификат создает безопасное соединение?
Когда браузер пытается получить доступ к веб-сайту, защищенному с помощью SSL, браузер и веб-сервер устанавливают SSL-соединение с помощью процесса, называемого «SSL Handshake» (см. схему ниже). Обратите внимание, что рукопожатие SSL невидимо для пользователя и происходит мгновенно.
По сути, для установки SSL-соединения используются три ключа: открытый, закрытый и сеансовый ключи. Все, что зашифровано открытым ключом, может быть расшифровано только закрытым ключом, и наоборот.
Поскольку шифрование и дешифрование с помощью закрытого и открытого ключа требуют больших вычислительных мощностей, они используются только во время SSL-рукопожатия для создания симметричного сеансового ключа. После установления защищенного соединения сеансовый ключ используется для шифрования всех передаваемых данных.
- Браузер подключается к веб-серверу (веб-сайту), защищенному с помощью SSL (https). Браузер запрашивает, чтобы сервер идентифицировал себя.
- Сервер отправляет копию своего SSL-сертификата, включая открытый ключ сервера.
- Браузер проверяет корень сертификата по списку доверенных ЦС и проверяет, что сертификат не просрочен, не отозван и что его общее имя действительно для веб-сайта, к которому он подключается. Если браузер доверяет сертификату, он создает, шифрует и отправляет обратно симметричный сеансовый ключ, используя открытый ключ сервера.
- Сервер расшифровывает симметричный ключ сеанса, используя свой закрытый ключ, и отправляет обратно подтверждение, зашифрованное с помощью ключа сеанса, для запуска зашифрованного сеанса.
- Сервер и Браузер теперь шифруют все передаваемые данные с помощью сеансового ключа.
Сравните использование сертификатов TLS/SSL
Информационные сайты и блоги
Веб-сайты, которые не собирают платежи или конфиденциальную информацию, нуждаются в HTTPS для сохранения конфиденциальности действий пользователей, даже блогов.
Панели входа и формы
TLS/SSL шифрует и защищает имена пользователей и пароли, а также формы, используемые для отправки личной информации, документов или изображений.
Страницы оформления заказа
Покупатели с большей вероятностью совершат покупку, если будут знать, что ваша зона оформления заказа (и данные кредитной карты, которыми они делятся) защищены.
Рекомендуемый тип сертификата TLS/SSL
OV (подтвержденный организацией) Сертификаты TLS/SSL — второй по величине уровень подлинности и следующие самые строгие проверки организации.
OV (подтвержденные организацией) Сертификаты TLS/SSL — второй по величине уровень подлинности и самые строгие проверки организации.
EV (расширенная проверка) Сертификаты TLS/SSL — высочайший уровень подлинности и самые строгие проверки подлинности.
Продукты DigiCert
Digicert Secure Site или
Digicert Basic
Digicert Secure Site
Digicert Secure Site Pro
и рискованное ручное управление сертификатами.Получить руководство
Установка CSR и SSL (OpenSSL)
Создайте CSR и установите сертификат SSL на свой сервер Ubuntu с Apache2, используя OpenSSL
Используйте инструкции на этой странице, чтобы использовать OpenSSL для создания запроса на подпись сертификата (CSR), а затем для установки сертификата SSL на сервере Ubuntu с помощью Apache2.
Перезапуск Примечание: После установки сертификата SSL/TLS и настройки сервера для его использования необходимо перезапустить экземпляр Apache2.
Инструкции по Apache см. в разделе Apache: создание CSR и установка SSL-сертификата (OpenSSL). Инструкции для других ОС/платформ см. в разделе Создание CSR (запрос на подпись сертификата).
Вы можете использовать эти инструкции для создания OpenSSL CSR и установки всех типов SSL-сертификатов DigiCert на ваш сервер Ubuntu с Apache2: стандартный SSL, EV SSL, многодоменный SSL, многодоменный EV SSL и Wildcard SSL.
Чтобы создать запрос на подпись сертификата (CSR), см. Ubuntu с Apache2: создание CSR с OpenSSL.
Чтобы установить сертификат SSL, см. Ubuntu с Apache2: установка и настройка сертификата SSL.
I. Ubuntu с Apache2: создание CSR с помощью OpenSSL
Используйте инструкции в этом разделе, чтобы создать свои собственные команды оболочки для создания Ubuntu с Apache2 CSR с OpenSSL.
Рекомендовано: Сэкономьте время. Используйте мастер DigiCert OpenSSL CSR, чтобы сгенерировать команду OpenSSL для создания вашего Ubuntu с Apache2 CSR. Просто заполните форму, нажмите Generate , а затем вставьте настроенную команду OpenSSL в свой терминал.
Как создать CSR для Ubuntu с Apache 2 с помощью OpenSSL
Если вы предпочитаете создавать свои собственные команды оболочки для создания Ubuntu с Apache2 CSR, следуйте приведенным ниже инструкциям.
Войдите на свой сервер через терминальный клиент (ssh).
Команда запуска
В командной строке введите следующую команду:
Примечание. Обязательно замените server на имя вашего сервера.
openssl req –new –newkey rsa:2048 –nodes –keyout server.key –out server.csr
Создать файлы
Теперь вы начали процесс создания следующих двух файлов:
- Файл закрытого ключа : используется для создания CSR, а затем для защиты и проверки соединений с использованием сертификата.
- Файл запроса на подпись сертификата (CSR) : используется для заказа сертификата SSL, а затем для шифрования сообщений, которые может расшифровать только его соответствующий закрытый ключ.
Когда будет предложено ввести Common Name (имя домена), введите полное доменное имя (FQDN) для сайта, который вы собираетесь защитить.
Примечание. Если вы создаете CSR Apache для сертификата Wildcard, убедитесь, что ваше обычное имя начинается со звездочки (например, *.example.com ).
При появлении запроса введите информацию об организации, начиная с географической информации.
Примечание. Возможно, вы уже установили информацию по умолчанию.
Теперь ваш файл OpenSSL .csr создан.
Закажите сертификат SSL/TLS
Откройте созданный файл .csr в текстовом редакторе.
Скопируйте текст, включая теги ——BEGIN NEW CERTIFICATE REQUEST—— и ——END NEW CERTIFICATE REQUEST—— , и вставьте его в форму заказа DigiCert.
Сохранить закрытый ключ
Сохраните (создайте резервную копию) созданного файла .key. Он понадобится вам позже, чтобы установить сертификат SSL.
Установить сертификат
После того, как вы получили сертификат SSL от DigiCert, вы можете установить его на свой сервер.
II. Ubuntu с Apache2: установка и настройка SSL-сертификата
Если вам по-прежнему нужно создать запрос на подпись сертификата (CSR) и заказать сертификат, см. раздел Ubuntu с Apache2: как использовать OpenSSL для создания CSR.
После того, как мы проверили и выпустили ваш SSL-сертификат, вы можете установить его на Ubuntu с сервером Apache2 (где был сгенерирован CSR) и настроить сервер для использования сертификата.
Как установить и настроить сертификат SSL на вашем сервере Ubuntu с Apache2
Скопируйте файлы сертификатов на свой сервер.
Войдите в свою учетную запись DigiCert и загрузите файлы промежуточного (DigiCertCA.crt) и основного сертификата ( your_domain_name.crt ).
Скопируйте эти файлы вместе с файлом .key, который вы создали при создании CSR, в каталог на сервере, где вы храните сертификат и файлы ключей.
Примечание. Сделайте их доступными для чтения только пользователю root для повышения безопасности.
Найдите файл конфигурации Apache, который нужно отредактировать.
Расположение и имя файла конфигурации могут различаться от сервера к серверу, особенно если вы используете специальный интерфейс для управления конфигурацией сервера.
Сервер Ubuntu с основным файлом конфигурации Apache2 для вашего сайта SSL/TLS обычно находится в /etc/apache2/sites-enabled/your_site_name .
Если он не найден в каталоге «sites-enabled», выполните приведенную ниже команду.
sudo a2ensite your_site_name
Откройте файл в текстовом редакторе и найдите блоки
Определите блок SSL
, который необходимо настроить. Если ваш сайт должен быть доступен как через безопасное (https), так и через незащищенное (http) соединение, вам нужны два отдельных файла в /etc/apache2/sites-enabled/ . Один файл предназначен для порта 80, а другой — для порта 443. Настройте оба файла для SSL, как описано в шаге 4.
Если к вашему сайту нужен только безопасный доступ, настройте существующий виртуальный хост для SSL, как описано в шаге 4.
Настройте блок
для сайта с поддержкой SSL Ниже приведен очень простой пример виртуального хоста, настроенного для SSL. Части, перечисленные синим цветом, — это части, которые необходимо добавить для настройки конфигурации SSL; они могут быть разбросаны по всему файлу.
DocumentRoot /var/www/
SSLEngine на
SSLCertificateFile /path/to/your_domain_name. crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
Убедитесь, что имена файлов соответствуют вашим файлам сертификатов.
SSLCertificateFile — это ваш файл сертификата DigiCert (например, your_domain_name.crt ).
SSLCertificateKeyFile — это файл .key, сгенерированный при создании CSR (например, your_private.key ).
SSLCertificateChainFile — файл промежуточного сертификата DigiCert (например, DigiCertCA. crt )
Примечание: Если директива SSLCertificateChainFile не работает, попробуйте вместо нее использовать директиву SSLCACertificateFile .
Проверьте файл конфигурации Apache2 перед перезапуском.
Перед перезапуском Apache рекомендуется проверить файл конфигурации Apache2 на наличие ошибок.
Внимание! Apache2 не запустится снова, если в файлах конфигурации есть синтаксические ошибки.
Выполните следующую команду, чтобы проверить файл конфигурации (в некоторых системах это apache2ctl ):
конфигурационный тест апачектл
Перезапустите Apache2.
Вы можете использовать команды apachectl для остановки и запуска Apache2 с поддержкой SSL.
остановка apachectl
запуск apachect1Перезапуск Примечания:
Если Apache2 не перезапускается с поддержкой SSL, попробуйте использовать apachectl startupsl вместо apachectl start . Если поддержка SSL загружается только с , apachectl запускает sl , мы рекомендуем изменить конфигурацию запуска apache, включив поддержку SSL в обычную команду apachectl start . В противном случае ваш сервер может потребовать ручного перезапуска Apache2 с помощью apachectl startupsl в случае перезагрузки сервера. Обычно это включает удаление тегов
и , которые окружают вашу конфигурацию SSL.Поздравляем! Вы успешно установили свой SSL-сертификат.
Проверка установки сертификата SSL/TLS
Тест браузера
Для достижения наилучших результатов обязательно сначала закройте веб-браузер, а затем снова запустите его.
Посетите свой сайт с защищенным URL-адресом https (т. е. перейдите по адресу https://www.example.com , а не http://www.example.com ).
Обязательно протестируйте свой сайт не только в Internet Explorer. IE загружает отсутствующие промежуточные сертификаты; тогда как другие браузеры выдают ошибку, если все сертификаты в цепочке сертификатов установлены неправильно.
DigiCert ® Средство диагностики установки SSL
Если ваш сайт общедоступен, используйте наш тестер сертификатов сервера, чтобы проверить установку сертификата SSL/TLS; он обнаруживает распространенные проблемы установки.
Настройка и полезные команды
Установка Apache2
Требуется для использования сертификатов SSL/TLS:
sudo apt-get установить apache2
Включить модуль SSL
Замените «default-ssl» реальным именем сайта, которое вы установили в /etc/apache2/sites-available/ .
sudo a2enmod ssl
Как только сайт, указанный в приведенной выше команде, включен, он появляется в /etc/apache2/sites-enabled .