Как установить сертификат SSL из коммерческого центра сертификации

Вступление

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

В этом руководстве рассказывается, как получить сертификат SSL у следующих доверенных центров сертификации:

  • GoDaddy

  • RapidSSL (через Namecheap)

Вы также можете использовать любой другой CA по вашему выбору.

После того, как вы приобрели свой SSL-сертификат, мы покажем вам, как установить его на HTTP-веб-серверах Nginx и Apache.

Предпосылки

Есть несколько предварительных условий, которые вы должны убедиться, прежде чем пытаться получить сертификат SSL от коммерческого ЦС. В этом разделе будет рассказано о том, что вам нужно для получения сертификата SSL от большинства ЦС.

Деньги

Сертификаты SSL, которые выдаются коммерческими центрами сертификации, должны быть приобретены. Лучшей бесплатной альтернативой являются сертификаты, выданные по адресу Let’s Encrypt. Let’s Encrypt - это новый центр сертификации, который выдает бесплатные сертификаты SSL / TLS, которым доверяют большинство веб-браузеров.

Зарегистрированное доменное имя

Прежде чем получить сертификат SSL, вы должны владеть или контролировать зарегистрированное доменное имя, с которым вы хотите использовать сертификат. Если у вас еще нет зарегистрированного доменного имени, вы можете зарегистрировать его у одного из множества регистраторов доменных имен (например, Namecheap, GoDaddy и т. Д.).

Права на валидацию домена

Для базового процесса проверки домена вы должны иметь доступ к одному из адресов электронной почты в записи WHOIS вашего домена или к адресу электронной почты «типа администратора» в самом домене. Центры сертификации, которые выдают сертификаты SSL, обычно проверяют контроль домена, отправляя электронное письмо с подтверждением на один из адресов в записи WHOIS домена или на общий адрес электронной почты администратора в самом домене. Некоторые центры сертификации предоставляют альтернативные методы проверки домена, такие как проверка на основе DNS или HTTP, которые выходят за рамки данного руководства.

Если вы хотите получить SSL-сертификат для организации (OV) или расширенной проверки (EV), вам также необходимо будет предоставить ЦС документы, удостоверяющие личность владельца веб-сайта, среди прочего.

Веб сервер

В дополнение к ранее упомянутым пунктам вам потребуется веб-сервер для установки сертификата SSL. Это сервер, доступный по доменному имени, для которого будет выдан сертификат SSL. Обычно это сервер Apache HTTP, Nginx, HAProxy или Varnish. Если вам нужна помощь в настройке веб-сервера, доступного через ваше зарегистрированное доменное имя, выполните следующие действия:

  1. Настройте веб-сервер по вашему выбору. Например, LEMP (Nginx) или LAMP (Apache) сервер - обязательно настроить программное обеспечение веб-сервера на использование имени вашего зарегистрированного домена

  2. Настройте свой домен для использования соответствующих серверов имен. Если ваш веб-сервер размещен в DigitalOcean, это руководство может помочь вам настроить: https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain- регистраторы [Как указать на серверы имен DigitalOcean от обычных регистраторов доменов]

  3. Добавьте записи DNS для вашего веб-сервера на ваши сервера имен. Если вы используете серверы имен DigitalOcean, следуйте этому руководству, чтобы узнать, как добавить соответствующие записи: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean [Как настроить имя хоста с помощью DigitalOcean]

Выберите свой центр сертификации

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

Членство в программе Root Certificate

Наиболее важным моментом является то, что выбранный ЦС является участником программ корневых сертификатов наиболее часто используемых операционных систем и веб-браузеров, т.е. это «доверенный» ЦС, а его корневому сертификату доверяют обычные браузеры и другое программное обеспечение. Если SSL-сертификат вашего веб-сайта подписан доверенным «ЦС», его подлинность считается действительной для программного обеспечения, которому доверяют ЦС - это отличается от самозаверяющих SSL-сертификатов, которые также предоставляют возможности шифрования, но сопровождаются предупреждениями проверки личности это отталкивает большинство посетителей сайта.

Большинство коммерческих ЦС, с которыми вы столкнетесь, будут членами общих программ корневых ЦС и скажут, что они совместимы с 99% браузеров, но это не помешает проверить перед покупкой сертификата. Например, Apple предоставляет свой список доверенных корневых сертификатов SSL для iOS8 here.

Типы сертификатов

Убедитесь, что вы выбрали центр сертификации, который предлагает требуемый тип сертификата. Многие центры сертификации предлагают варианты этих типов сертификатов под различными, часто путающими, именами и структурами ценообразования. Вот краткое описание каждого типа:

  • * Один домен *: используется для одного домена, например, + Example.com +. Обратите внимание, что дополнительные субдомены, такие как + www.example.com +, не включены

  • * Подстановочный знак *: используется для домена и любых его поддоменов. Например, подстановочный сертификат для + *. Example.com + может также использоваться для + www.example.com + и + store.example.com +

  • * Multiple Domain *: известный как сертификат SAN или UC, он может использоваться с несколькими доменами и поддоменами, которые добавляются в поле Subject Alternative Name. Например, один многодоменный сертификат может использоваться с + example.com +, + www.example.com + и + example.net +

В дополнение к вышеупомянутым типам сертификатов, существуют различные уровни проверок, которые предлагают ЦС. Мы рассмотрим их здесь:

  • * Проверка домена * (DV): сертификаты DV выдаются после того, как центр сертификации подтверждает, что запрашивающий объект владеет или контролирует рассматриваемый домен

  • * Подтверждение организации (OV) *: Сертификаты OV могут быть выданы только после того, как выдающий CA подтвердит юридическую принадлежность запрашивающей стороны.

  • * Расширенная проверка (EV) *: сертификаты EV могут быть выданы только после того, как выдающий CA подтвердит юридическую принадлежность запрашивающей стороны, в соответствии со строгим набором руководящих принципов. Целью этого типа сертификата является предоставление дополнительной гарантии законности идентичности вашей организации посетителям вашего сайта. Сертификаты EV могут быть одним или несколькими доменами, но не подстановочными

Это руководство покажет вам, как получить однодоменный или подстановочный SSL-сертификат от GoDaddy и RapidSSL, но получение других типов сертификатов очень похоже.

Дополнительные возможности

Многие центры сертификации предлагают широкий спектр «бонусных» функций, чтобы отличаться от остальных поставщиков, выдающих SSL-сертификаты. Некоторые из этих функций могут в конечном итоге сэкономить ваши деньги, поэтому важно тщательно сопоставить свои потребности с предложениями, прежде чем совершать покупку. Пример функций, на которые стоит обратить внимание, включает в себя бесплатные переиздания сертификатов или отдельный сертификат с ценой домена, который работает для + www. + И базового имени домена, например. + www.example.com + с SAN из + example.com +

Создать CSR и закрытый ключ

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

Если вы планируете использовать Apache HTTP или Nginx в качестве веб-сервера, используйте + openssl + для генерации вашего личного ключа и CSR на вашем веб-сервере. В этом руководстве мы просто сохраним все соответствующие файлы в нашем домашнем каталоге, но не стесняемся хранить их в любом безопасном месте на вашем сервере:

cd ~

Чтобы сгенерировать закрытый ключ с именем + example.com.key + и CSR с именем + example.com.csr +, запустите эту команду (замените + example.com + именем вашего домена):

openssl req -newkey rsa:2048 -nodes -keyout .key -out .csr

На этом этапе вам будет предложено ввести несколько строк информации, которые будут включены в ваш запрос сертификата. Наиболее важной частью является поле * Common Name *, которое должно соответствовать имени, с которым вы хотите использовать свой сертификат - например, + example.com +, + www.example.com + или (для сертификата с подстановочными знаками) запрос) + *. example.com +. Если вы планируете получить сертификат OV или EV, убедитесь, что все остальные поля точно отражают детали вашей организации или бизнеса.

Например:

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Это сгенерирует файлы + .key и` + .csr`. Файл + .key + является вашим закрытым ключом и должен храниться в безопасности. Файл + .csr + - это то, что вы отправите в ЦС для запроса вашего SSL-сертификата.

Вам нужно будет скопировать и вставить ваш CSR при отправке запроса на сертификат в ваш CA. Чтобы распечатать содержимое вашего CSR, используйте эту команду (замените имя файла своим собственным):

cat .csr

Теперь мы готовы купить сертификат в ЦС. Мы покажем два примера, GoDaddy и RapidSSL через Namecheap, но не стесняйтесь получить сертификат от любого другого поставщика.

Пример CA 1: RapidSSL через Namecheap

Namecheap предоставляет возможность купить SSL-сертификаты в различных центрах сертификации. Мы пройдем через процесс получения одного сертификата домена от RapidSSL, но вы можете отклониться, если вам нужен сертификат другого типа.

Примечание. Если вы запрашиваете один сертификат домена у RapidSSL для субдомена + www + вашего домена (например, + www.example.com +), они выдадут сертификат с SAN вашего базового домена. Например, если ваш запрос сертификата предназначен для + www.example.com +, полученный сертификат будет работать как для + www.example.com +, так и + example.com +.

Выберите и купите сертификат

Перейдите на страницу SSL-сертификата Namecheap: https://www.namecheap.com/security/ssl-certificates.aspx.

Здесь вы можете начать выбирать уровень проверки, тип сертификата («Домены защищены») или CA («Бренд»).

В нашем примере мы нажмем кнопку «Сравнить продукты» в поле «Проверка домена». Затем мы найдем «RapidSSL» и нажмем кнопку «Добавить в корзину».

На данный момент, вы должны зарегистрироваться или войти в Namecheap. Затем завершите процесс оплаты.

Запросить сертификат

После оплаты выбранного сертификата перейдите по ссылке * Управление SSL-сертификатами * в разделе «Привет».

изображение: https: //assets.digitalocean.com/articles/ssl/namecheap-ssl-menu.png [Namecheap: SSL]

Здесь вы увидите список всех сертификатов SSL, которые вы приобрели через Namecheap. Нажмите на ссылку * Активировать сейчас * для сертификата, который вы хотите использовать.

изображение: https: //assets.digitalocean.com/articles/ssl/namecheap-sslmanagement.png [Namecheap: Управление SSL]

Теперь выберите программное обеспечение вашего веб-сервера. Это определит формат сертификата, который Namecheap предоставит вам. Обычно выбираются параметры «Apache + MOD SSL», «nginx» или «Tomcat».

Вставьте CSR в поле, затем нажмите кнопку * Далее *.

Теперь вы должны перейти к шагу «Выбор утверждающего», который отправит электронное письмо с запросом проверки на адрес в записи WHOIS вашего домена или на адрес типа administrator домена, для которого вы получаете сертификат. Выберите адрес, на который хотите отправить письмо с подтверждением.

Предоставьте «Административную контактную информацию». Нажмите кнопку * Отправить заказ *.

Проверить домен

В этот момент на адрес «утверждающего» будет отправлено электронное письмо. Откройте письмо и подтвердите запрос сертификата.

Скачать сертификаты

После утверждения сертификата сертификат будет отправлен по электронной почте Technical Contact. Сертификат, выданный для вашего домена, и промежуточный сертификат центра сертификации будут указаны в нижней части электронного письма.

Скопируйте и сохраните их на свой сервер в том же месте, где вы создали свой личный ключ и CSR. Назовите сертификат с помощью доменного имени и расширения + .crt +, например. + example.com.crt + и назовите промежуточный сертификат + middle.crt +.

Теперь сертификат готов к установке на вашем веб-сервере.

Пример CA 2: GoDaddy

GoDaddy является популярным центром сертификации и имеет все основные типы сертификатов. Мы пройдем через процесс получения одного сертификата домена, но вы можете отклониться, если вам нужен сертификат другого типа.

Выберите и купите сертификат

Перейдите на страницу SSL-сертификата GoDaddy: https://www.godaddy.com/ssl/ssl-certificates.aspx.

Прокрутите вниз и нажмите кнопку * Get Started *.

изображение: https: //assets.digitalocean.com/articles/ssl/godaddy-getstarted.png [Go Daddy: начало работы]

В раскрывающемся меню выберите нужный тип SSL-сертификата: один домен, несколько доменов (UCC) или подстановочный знак.

изображение: https: //assets.digitalocean.com/articles/ssl/godaddy-certtype.png [GoDaddy: Тип сертификата]

Затем выберите тип вашего плана: домен, организация или расширенная проверка.

Затем выберите срок (срок действия).

Затем нажмите кнопку * Добавить в корзину *.

Проверьте ваш текущий заказ, затем нажмите кнопку * Перейти к оформлению заказа *.

Завершите процесс регистрации и оплаты.

Запросить сертификат

После завершения заказа нажмите кнопку SSL Certificates * (или нажмите * Моя учетная запись *> * Управление сертификатами SSL * в правом верхнем углу).

Найдите сертификат SSL, который вы только что приобрели, и нажмите кнопку * Настроить *. Если вы ранее не использовали GoDaddy для SSL-сертификатов, вам будет предложено настроить продукт «SSL-сертификаты» и связать ваш недавний заказ на сертификаты с продуктом (нажмите зеленую кнопку «Настройка» * и подождите несколько минут, прежде чем обновлять). ваш браузер).

После добавления продукта «SSL-сертификаты» в вашу учетную запись GoDaddy вы должны увидеть свой «Новый сертификат» и кнопку «Запустить». Нажмите кнопку * Launch * рядом с вашим новым сертификатом.

Укажите свой CSR, вставив его в поле. Алгоритм SHA-2 будет использоваться по умолчанию.

Установите флажок * Я согласен * и нажмите кнопку * Запросить сертификат *.

Проверить домен

Теперь вам нужно будет подтвердить, что у вас есть контроль над доменом, и предоставить GoDaddy несколько документов. GoDaddy отправит электронное письмо с подтверждением владения доменом на адрес, указанный в записи WHOIS вашего домена. Следуйте инструкциям в электронных письмах, которые вы отправили вам, и разрешите выдачу сертификата.

Скачать сертификат

После проверки GoDaddy того, что вы управляете доменом, проверьте свою электронную почту (ту, которую вы зарегистрировали в GoDaddy) на наличие сообщения о том, что ваш SSL-сертификат выдан. Откройте его и перейдите по ссылке загрузки сертификата (или нажмите кнопку * Launch * рядом с вашим сертификатом SSL на панели управления GoDaddy).

Теперь нажмите кнопку * Скачать *.

Выберите используемое серверное программное обеспечение в раскрывающемся меню * Тип сервера * - если вы используете Apache HTTP или Nginx, выберите «Apache» - затем нажмите кнопку * Download Zip File *.

Распакуйте архив ZIP. Он должен содержать два файла + .crt +; ваш SSL-сертификат (который должен иметь произвольное имя) и промежуточный пакет сертификатов GoDaddy (+ gd_bundle-g2-1.crt +). Скопируйте оба двух ваших веб-сервера. Переименуйте сертификат в доменное имя с расширением + .crt +, например. + example.com.crt + и переименуйте промежуточный комплект сертификатов в + промежуточный.crt +.

Теперь сертификат готов к установке на вашем веб-сервере.

Установить сертификат на веб-сервере

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

В этом разделе мы рассмотрим основные конфигурации HTTP Nginx и Apache для Ubuntu 14.04.

Мы примем следующие вещи:

  • Закрытый ключ, сертификат SSL и, если применимо, промежуточные сертификаты центра сертификации находятся в домашнем каталоге по адресу + / home / sammy +.

  • Закрытый ключ называется + example.com.key

  • Сертификат SSL называется + example.com.crt +

  • Промежуточный сертификат (ы) CA находится в файле с именем + interval.crt +

  • Если у вас включен брандмауэр, убедитесь, что он разрешает порт 443 (HTTPS)

  • Примечание: * В реальной среде эти файлы должны храниться где-то, к чему может иметь доступ только пользователь, который запускает главный процесс веб-сервера (обычно + root +). Закрытый ключ должен храниться в безопасности.

Nginx

Если вы хотите использовать свой сертификат с Nginx в Ubuntu 14.04, следуйте этому разделу.

В Nginx, если ваш ЦС включал промежуточный сертификат, вы должны создать один «цепочечный» файл сертификата, который содержит ваш сертификат и промежуточные сертификаты ЦС.

Перейдите в каталог, который содержит ваш закрытый ключ, сертификат и промежуточные сертификаты CA (в файле + interval.crt +). Предположим, что они находятся в вашем домашнем каталоге, например:

cd ~

Предполагая, что ваш файл сертификата называется + example.com.crt +, используйте эту команду для создания комбинированного файла с именем + example.com.chained.crt + (замените выделенную часть своим собственным доменом):

cat .crt intermediate.crt > .chained.crt

Теперь перейдите в каталог конфигурации блоков вашего сервера Nginx. Предполагая, что он находится в + / etc / nginx / sites-enabled +, используйте эту команду, чтобы перейти к нему:

cd /etc/nginx/sites-enabled

Предполагая, что вы хотите добавить SSL в файл блокировки вашего сервера + default +, откройте файл для редактирования:

sudo vi default

Найдите и измените директиву + listen + и измените ее так, чтобы она выглядела следующим образом:

   listen 443 ssl;

Затем найдите директиву + server_name + и убедитесь, что ее значение соответствует общему имени вашего сертификата. Кроме того, добавьте директивы + ssl_certificate + и + ssl_certificate_key +, чтобы указать пути к файлам вашего сертификата и личного ключа (замените выделенную часть фактическим путем к вашим файлам):

   server_name ;
   ssl_certificate ;
   ssl_certificate_key ;

Чтобы разрешить только самые безопасные протоколы и шифры SSL, добавьте в файл следующие строки:

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

Если вы хотите, чтобы HTTP-трафик перенаправлялся на HTTPS, вы можете добавить этот дополнительный блок сервера вверху файла (замените выделенные части своей собственной информацией):

server {
   listen 80;
   server_name ;
   rewrite ^/(.*) https:///$1 permanent;
}

Затем сохраните и выйдите.

Теперь перезапустите Nginx, чтобы загрузить новую конфигурацию и включить TLS / SSL через HTTPS!

sudo service nginx restart

Проверьте это, зайдя на ваш сайт через HTTPS, например, + Https: // example.com +.

апаш

Если вы хотите использовать свой сертификат с Apache в Ubuntu 14.04, следуйте этому разделу.

Сделайте резервную копию вашего файла конфигурации, скопировав его. Предполагая, что ваш сервер работает с файлом конфигурации виртуального хоста по умолчанию, + / etc / apache2 / sites-available / 000-default.conf +, используйте эти команды для создания копии:

cd /etc/apache2/sites-available
cp 000-default.conf 000-default.conf.orig

Затем откройте файл для редактирования:

sudo vi 000-default.conf

Найдите запись + <VirtualHost *: 80> + и измените ее так, чтобы ваш веб-сервер прослушивал порт + 443 +:

<VirtualHost *:443>

Затем добавьте директиву + ServerName +, если она еще не существует (подставьте здесь имя вашего домена):

ServerName

Затем добавьте следующие строки, чтобы указать путь к сертификату и ключу (замените ваши фактические пути здесь):

SSLEngine on
SSLCertificateFile
SSLCertificateKeyFile

Если вы используете Apache _2.4.8 или выше, укажите промежуточный комплект CA, добавив следующую строку (подставьте путь):

SSLCACertificateFile

Если вы используете более старую версию Apache, укажите промежуточную связку CA с этой строкой (замените путь):

SSLCertificateChainFile

На этом этапе ваш сервер настроен на прослушивание только по HTTPS (порт 443), поэтому запросы к HTTP (порт 80) не будут обслуживаться. Чтобы перенаправить HTTP-запросы в HTTPS, добавьте следующее в начало файла (замените имя в обоих местах):

<VirtualHost *:80>
  ServerName
  Redirect permanent / https:///
</VirtualHost>

Сохранить и выйти.

Включите модуль Apache SSL, выполнив эту команду:

sudo a2enmod ssl

Теперь перезапустите Apache, чтобы загрузить новую конфигурацию и включить TLS / SSL через HTTPS!

sudo service apache2 restart

Проверьте это, зайдя на ваш сайт через HTTPS, например, + Https: // example.com +. Вы также можете попробовать подключиться через HTTP, например, + http: // example.com +, чтобы убедиться, что перенаправление работает правильно!

Заключение

Теперь у вас должно быть хорошее представление о том, как добавить доверенный сертификат SSL для защиты вашего веб-сервера. Обязательно присмотритесь к CA, которым вы довольны!

Related