что нужно сделать чтобы установить ssl сертификат
Всё о SSL-сертификатах простыми словами: устройство, типы, выбор
Если вы уже сталкивались с созданием собственного сайта, то наверняка краем уха слышали про сертификат SSL и HTTPS — поэтому в нашем новом посте расскажем, как защитить данные посетителей сайта, чем HTTPS отличается от HTTP, что такое SSL-сертификат и какие виды сертификатов существуют?
Что такое SSL-сертификат
SSL (Secure Sockets Layer — уровень защищённых сокетов) — это протокол шифрования, который позволяет кодировать данные для более безопасного обмена.
Проще говоря, сертификат обеспечивает зашифрованное соединение между человеком и используемым сайтом. Когда вы смотрите видео на YouTube, загружаете фотографию в Facebook или открываете Instagram, ваш браузер и сервер обмениваются информацией.
Благодаря SSL информация, которая передаётся, защищена от посторонних: администратора Wi-Fi сети, провайдера, оператора и других лиц — значит она не может быть перехвачена и использована в мошеннических целях. Кроме того, SSL-сертификат выступает в качестве подтверждения надёжности ресурса и даёт возможность проверить, кто является его настоящим владельцем.
Можно сказать, что SSL-сертификат — это своего рода уникальная цифровая подпись сайта.
Такой сертификат нужен всем сайтам, которые в каком-либо виде работают с персональными данными пользователей: от логинов и паролей до более подробных. В первую очередь это, конечно, банки, платёжные системы, интернет-магазины и коммерческие платформы.
Проверить наличие SSL несложно. Для этого достаточно посмотреть на адресную строку в браузере. Слева от адреса сайта вы увидите значок с изображением закрытого замка.
А если на сайт установлен OV или EV сертификат, то при клике на замочек, появятся данные об организации, которой принадлежит сайт.
В таких типах сертификатов во вкладке «Подробнее» вы найдёте следующую информацию:
Разница между HTTP и HTTPS
Как вы уже знаете, каждый вбитый в поисковую строку запрос проходит путь от вас (пользователя) к серверу и обратно. Такая коммуникация возможна благодаря работе протокола HTTP. Аббревиатура расшифровывается как Hypertext Transfer Protocol. И всем он хорош — только данные не шифрует, а значит злоумышленники могут перехватить вашу личную информацию (данные банковских карт, пароли, реквизиты).
Для безопасности данных был внедрён протокол HTTPS — HyperText Transfer Protocol Secure (то есть защищённый протокол HTTP). В этом случае передача данных осуществляется по такому же протоколу, но с криптографическим шифрованием, о чём говорит дополнительная буква «S». HTTPS работает благодаря SSL/TLS-сертификату.
SSL/TLS-сертификат ― это цифровая подпись сайта. С её помощью подтверждается его подлинность.
Перед тем как установить защищённое соединение, браузер запрашивает этот SSL-сертификат и обращается к центру сертификации, чтобы подтвердить легальность документа. Если он действителен, то браузер и сервер доверяют друг другу и договариваются о разовом шифре. Так происходит каждую сессию, то есть каждый раз при обмене запросами и ответами. Вот откуда взялась и что означает «S» в HTTPS.
Каким сайтам нужен SSL?
SSL-сертификат необходимо подключать к сайтам, которые работают с финансами и персональными данными пользователей. Это интернет-магазины, банки, платёжные системы, социальные сети, почтовые сервисы и любые другие проекты.
SSL-сертификат лучше ставить с самого начала, чтобы иметь более высокие позиции в поисковых системах. Если всё же изначально не использовался сертификат, то переехать можно быстро, а вот поисковики могут увидеть это только спустя пару месяцев. Тем более сегодня поставить SSL можно и бесплатно.
Какие виды SSL-сертификатов есть и кто их выдаёт?
Есть специальные центры сертификации или как ещё называют — удостоверяющие центры (УЦ). Вы могли встречать названия таких УЦ: Symantec, Comodo, GlobalSign, Thawte, GeoTrust, DigiCert. Они подтверждают подлинность ключей шифрования с помощью сертификатов электронной подписи.
Кроме того, есть проекты, CloudFlare или LetsEncrypt, где можно получить сертификат бесплатно и самостоятельно. Такой сертификат выпускается на 3 месяца и далее требует продления. Однако во время их установки и дальнейшей работы есть ряд нюансов, которые стоит учитывать. Например, при выборе сертификата Cloudflare учтите, что он выдаётся сразу на 50 сайтов. Тем самым сертификат будет защищать не только ваш домен, но и ещё несколько чужих, что несёт за собой риски безопасности. Также у Cloudflare нет печати доверия. Если говорить о недостатках LetsEncrypt, то сюда можно отнести поддержку далеко не всех браузеров, отсутствие гарантии сохранности данных сайта и печати доверия.
Печать доверия — это особый знак, позволяющий посетителям видеть, что соединение с вашим сайтом и все передаваемые данные надёжно защищены.
Итак, существует несколько типов SSL-сертификатов по источнику подписи и типу проверки данных.
Так вот, разница между самоподписанными сертифкатами и, выданными УЦ, как раз и заключается в том, что браузер знаком с УЦ и доверяет ему, и при использовании такого сертификата ваш посетитель никогда не увидит огромное уведомление о небезопасности ресурса. Купить такой SSL-сертификат можно как напрямую в УЦ, так и через хостинг-провайдеров.
Подписанные доверенным центром сертификаты, в свою очередь, тоже подразделяются по типу проверки данных:
Сертификаты всех указанных типов обеспечивают шифрование трафика между сайтом и браузером. Кроме того, у них есть дополнительные опции:
Какой SSL-сертификат выбрать?
Итак, мы определились с тем, что SSL-сертификаты различаются между собой не только брендом и ценой. Сегодняшний ассортимент предложений предусматривает широкий круг задач, для которых может потребоваться SSL.
Например, если вы просто хотите уберечь пользователей вашего веб-сайта от навязчивых предупреждений браузера о посещении непроверенного сайта, будет достаточно за несколько минут получить простой DV (Domain Validation) сертификат. Если же вы используете свою интернет-площадку для операций, требующих повышенного уровня безопасности данных компании и клиентов — стоит задуматься об EV (Extended Validation) сертификате. А если вы используете не один, а несколько веб-адресов для сайта или сайтов компании — для вас на рынке представлены сертификаты Wildcard и SAN.
Для выбора оптимального сертификата для определённого сайта нужно изучить, что предлагают центры сертификации, обращая внимание на следующие аспекты:
4 причины установить SSL-сертификат
Безопасность данных
Конечно же, стоит начать с этого пункта, ведь в этом заключается основная цель использования SSL-сертификатов. Если вы работаете с персональными данными пользователей, вам просто необходимо их шифровать при передаче к серверу. Само по себе использование сертификата не лекарство от всех бед, злоумышленники могут перехватить данные ещё до момента передачи их на сервер на заражённом компьютере или устройстве посетителя сайта. Однако использование протокола шифрования — значительный вклад в снижение уязвимости сайта.
Доверие к сайту
Пользователи привыкают, что все крупные проекты используют SSL-сертификаты. Надпись «Защищено» и замочек дают посетителю сайта представление о том, что он и его данные находятся в безопасности.
Поддержка сторонних сервисов
Некоторые платёжные системы (Яндекс.Деньги) и сервисы (Голосовой помощник Google Chrome) работают только с сайтами с HTTPS протоколом. Если специфика вашей работы подразумевает взаимодействие с аналогичными сервисами, рекомендуем вам установить SSL-сертификат.
Фактор ранжирования
Google не раз заявлял, что поддержка HTTPS протокола станет одним из факторов ранжирования. Для Яндекса сайты по HTTP и HTTPS протоколам участвуют в ранжировании на равных, однако, поисковик обозначает, что подключать SSL стоит, если на сайте можно совершать покупки и другие финансовые операции.
SSL-сертификат от авторитетного УЦ говорит о надёжной защите пользовательских данных — это не только хороший способ заслужить доверие пользователей и поисковых систем, но и большой вклад в стабильное продвижение и развитие сайта.
Как установить SSL-сертификат
В статье приведена инструкция как установить SSL-сертификат (на хостинг или сервер) и перевести сайт на защищенный протокол HTTPS.
Что такое SSL-сертификат и зачем он нужен
Протокол HTTPS (HTTP Over TLS) нужен для безопасного обмена информацией. При его использовании, данные между пользователем и интернет-ресурсом передаются в зашифрованном виде, защищены от перехвата и модификации. Так же проверятся, что ресурс, с которым осуществляется взаимодействие действительно тот, за который себя выдает. Это важно для персональных данных, паролей, переписки и совершения платежей. Однако даже, если сайт собирает минимальную информацию о пользователях, например ФИО и email, он уже становится оператором персональных данных и по закону обязан соблюдать меры по защите информации, установка SSL-сертификата – одна из них.
SSL-сертификат – это цифровая подпись интернет-ресурса. Он необходим, чтобы протокол HTTPS заработал.
У сайтов защищенных SSL-сертификатом в URL в начале адреса вместо http будет указано https («s» значит secure – защищенный). Пользователь такого сайта, будет видеть характерный «замочек» рядом со строкой браузера, что означает безопасную передачу данных. Кликнув на «замочек», пользователь увидит доменное имя, на которое выпущен сертификат, срок действия, информацию о компании выпустившей сертификат, организацию-владельца (для сертификатов уровня «бизнес») и местонахождение.
Кроме защиты данных, сертификат полезен для SEO-продвижения сайта. С 2017 года поисковики (Google, Яндекс и др.) выше ранжируют сайты, которые работают через безопасное соединение, а сайты без HTTPS помечают как небезопасные.
Таким образом, наличие SSL-сертификата (в совокупности с грамотной настройкой сервера) гарантирует:
Типы SSL-сертификатов
Существует несколько типов SSL-сертификатов.
Сертификат с проверкой домена (Domain Validation), например, DomainSSL или AlphaSSL. Самый простой и дешевый тип SSL-сертификатов. Подтверждает только домен. Не содержит информации о владельце, поэтому не предназначен для оказания коммерческих услуг на сайте. Физические лица могут использовать только этот тип сертификатов, но он доступен и для юридических лиц.
Сертификат с проверкой домена и организации (Organization Validation), например, OrganizationSSL. Подтверждает не только домен, но и его принадлежность компании. Центр авторизации проверит ее существование, а пользователь сможет увидеть ее название на сайте в информации о сертификате, кликнув на «замок» рядом с адресной строкой браузера. Используются, например для интернет-магазинов. Такие сертификаты могут быть зарегистрированы только юридическими лицами и ИП. При этом важно, чтобы и доменное имя было зарегистрировано на организацию, а не на физическое лицо.
Сертификат с расширенной проверкой организации (Extended Validation) – например, ExtendedSSL. Считается самым надёжным и предназначен для крупных организаций. При его оформлении центр сертификации проведет расширенную проверку налоговой и коммерческой деятельности компании. Выпуск сертификата займет продолжительное время (от 5 дней до нескольких недель) в том числе, в зависимости от скорости предоставления необходимых документов центру сертификации.
Еще один термин, который встретится при выборе сертификата – WildCard. Он означает поддержку поддоменов. Один SSL-сертификат с WildCard сможет работать и на основном домене, и на поддоменах без ограничений на их количество.
При заказе сертификатов Extended Validation или Organization Validation, центр сертификации может запросить следующие виды документов:
Документы нужно будет отправить по факсу или электронной почте. Заверять скан-копии не требуется. Центр сертификации может запросить и другие документы, не указанные в списке. Кроме того, с вами могут связаться по телефону для подтверждения телефонного номера организации и заказа сертификата.
Что нужно сделать чтобы установить SSL-сертификат
В зависимости от используемого хостинга или сервера часть шагов может отличаться или отсутствовать, но в целом классический процесс получения и установки сертификата сводится к следующим шагам:
Приобретение SSL-сертификата
Итак, вы знаете, что такое SSL и определились в выборе сертификата, далее его нужно приобрести.
На этапе покупки укажите тип сертификата и домен для которого он приобретается. Затем оплатите сертификат.
В зависимости от поставщика сертификата до или после оплаты нужно будет сгенерировать CSR запрос на сертификат. В некоторых случаях данная процедура, может быть включена в процесс покупки.
Генерация CSR запроса на сертификат
CSR (Certificate Signing Request) – это зашифрованный запрос на получение сертификата, включает в себя информацию о домене и организации.
CSR может быть сгенерирован одним из способов:
В независимости от способа, в результате вы должны получить 2 файла (или их текстовое содержание) — файл запроса (domain.csr) и файл приватного ключа (private.key). Файл запроса потребуется для генерации сертификата. А приватный ключ понадобится в дальнейшем, его вместе с сертификатом нужно будет установить на хостинг или сервер.
Первые два способа не должны вызвать трудностей, генерация на собственном сервере описана ниже, но для начала несколько важных замечаний:
Все данные запроса должны заполняться на английском языке.
При заказе сертификатов типа WildCard доменное имя необходимо указывать со знаком звездочка (Пример: *.domain.com).
В некоторых случаях, для того, чтобы сертификат защищал домены с префиксом www и без него, необходимо указать домен с префиксом, например: www.domain.ru. В противном случае сертификат не будет защищать домен с www даже если он поддерживает его.
Далее при генерации запроса CSR вам потребуется указать адрес электронной почты. Рекомендуется заранее создать почтовый ящик вида admin@domain, administrator@domain, hostmaster@domain, postmaster@domain или webmaster@domain и указать в контактных данных его. Этот же адрес пригодится позже для подтверждения владения доменом.
Генерация CSR запроса на собственном сервере
Во многих инструкциях рекомендуется генерировать закрытый ключ и CSR запрос на том же сервере, для которого выпускается сертификат. Однако, на самом деле, это не обязательно должен быть один и тот же сервер.
Подключитесь к серверу по SSH и перейдите в домашнюю директорию.
Сгенерируйте закрытый ключ.
На запрос «Enter pass phrase for private.key» укажите пароль для защиты закрытого ключа, а затем «Verifying – Enter pass phrase for private.key» – подтвердите его, повторив ввод пароля еще раз.
Закрытый ключ будет создан и сохранен в файл под именем private.key.
Сохраните копию закрытого ключа на своем компьютере. При компрометации ключа или утрате пароля сертификат придется перевыпустить.
Далее сгенерируйте CSR запрос.
На запрос «Enter pass phrase for private.key» введите пароль от закрытого ключа.
Далее последовательно латинскими символами укажите следующие данные:
CSR запрос на сертификат будет сохранен в файле domain.csr в виде закодированного текста.
Проверить корректность введенных данных можно, выполнив следующую команду.
Файлы закрытого ключа и CSR запроса или их содержимое потребуются далее. Вывести (чтобы затем скопировать) содержимое файла можно командой cat.
Для выхода нажмите клавишу Q.
Выпуск SSL-сертификата
Теперь, когда есть запрос, на основании него можно выпустить сертификат.
В зависимости от того, где приобретался сертификат, либо в личном кабинете хостинга или удостоверяющего центра, либо по ссылке из письма подтверждающего покупку, станет доступна страница, на которой нужно ввести ранее сгенерированный CSR запрос на выпуск сертификата, например, как в примере на скриншоте ниже.
После отправки запроса подтвердите владение доменом. Может быть доступно от одного до четырех способов подтверждения:
Подтверждение через электронную почту
Понадобится один из почтовых ящиков admin@domain, administrator@domain, hostmaster@domain, postmaster@domain или webmaster@domain. На него придет электронное письмо либо с уникальной ссылкой, либо с кодом, который нужно ввести для подтверждения управления доменом. Если следовали рекомендациям выше, то скорее всего такой ящик у вас уже есть.
Подтверждение через CNAME-запись
Вам будут предоставлены хеш-значения, которые необходимо ввести в DNS CNAME запись подтверждаемого домена.
Формат CNAME следующий:
Хеш SHA-256 разделен символом «.» (точка) на две метки, каждая длиной 32 символа;
в конце доменного имени необходимо поставить точку.
Подтверждение через TXT-запись
Вам будет предоставлено хеш-значение, которое нужно добавить в TXT-запись подтверждаемого домена.
Подтверждение через HTTP
Вам будут предоставлены хеш-значения, используя которые, нужно создать текстовый файл и разместить его в подпапке подтверждаемого домена.
После подтверждения владения доменом любым из перечисленных способов, файлы сертификата либо будет предложено скачать, либо они прийдут на почту.
В скачанном архиве или письме будет несколько файлов: SSL-сертификат, один или несколько промежуточных и один корневой.
Например, для сертификатов Comodo:
Установка SSL-сертификата
Дальнейшие шаги зависят от того, где размещается ваш сайт, на хостинге или собственном сервере и какое окружение на нем используется.
Как установить SSL-сертификат на хостинг
Найдите раздел SSL панели управления хостингом.
Если сертификат приобретался в другом месте, вручную загрузите файлы сертификата, файл приватного ключа и укажите домен (хостинг).
Аналогичным образом процедура выглядит для других хостеров. На скриншоте ниже скриншот с примером для Hostland.
Подробные инструкции можно найти у своего хостинг провайдера.
Как установить SSL-сертификат в панели управления ISPmanager
Войдите в панель управления ISPmanager.
Перейдите в раздел «SSL-сертификаты» и нажмите «Создать».
Укажите тип сертификата «Существующий» и нажмите «Далее».
На открывшейся странице заполните поля:
Затем нажмите Завершить.
В разделе «SSL-сертификаты» появится добавленный сертификат.
Далее сертификат следует подключить к домену, для этого перейдите в раздел «WWW-домены», дважды кликните по домену, для которого добавляется сертификат, поставьте галочку напротив Защищенное соединение (SSL) и нажмите «Ок». Здесь же можно включить редирект с HTTP на HTTPS.
Как установить SSL-сертификат на сервер с Nginx
Объедините три сертификата (SSL-сертификат, корневой и промежуточный) в один файл. Для этого с помощью блокнота или другого редактора создайте текстовый документ с именем domain.crt и поочередно поместите в него содержимое каждого из сертификатов (без лишних пробелов и пустых строк).
Так же понадобится приватный ключ, который был получен на этапе генерации CSR запроса на сертификат. Переименуйте его в domain.key.
Оба файла загрузите на сервер в директорию /etc/ssl/ или /etc/nginx/ssl/
Отредактируйте виртуальный хост сайта, для которого устанавливается сертификат. Файл /etc/nginx/sites-available/site.conf или или другой, в зависимости от особенностей сервера.
Указаных настроек должно быть достаточно, чтобы SSL заработал.
Дополнительно можно внести еще несколько настроек для работы HTTPS. Оптимизация и безопасность Nginx тема отдельной статьи, поэтому используйте их на свое усмотрение или ограничьтесь конфигурацией выше.
Затем убедитесь, что конфигурационный файл Nginx не содержит ошибок.
Чтобы изменения вступили в силу, перезагрузите сервер Nginx.
Ubuntu
CentOS 6
CentOS 7
Как установить SSL-сертификат на сервер с Apache
Понадобится файл SSL-сертификата, назовите его domain.crt и приватный ключ, который был получен на этапе генерации CSR запроса на сертификат, переименуйте его в domain.key.
Так же, создайте текстовый документ, например с именем chain.crt и поместите в него цепочку сертификатов — поочередно добавьте в него содержимое промежуточного сертификата и следом за ним корневого (без лишних пробелов и пустых строк).
Все 3 файла загрузите на сервер в директорию /etc/ssl/
Откройте конфигурационный файл Apache сайта, для которого устанавливается сертификат. Если сайт один, конфигурационный файл скорее всего будет одним из указанных ниже:
Убедиться, что открытый файл действительно является конфигурацией сайта можно, найдя в нем строку ServerName. Ее значение должно соответствовать домену, для которого устанавливается SSL-сертификат (напр. domain.ru).
В конце файла создайте копию секции «VirtualHost». Измените в ней порт на 443 и добавьте следующие строки.
Затем убедитесь, что конфигурационный файл Apache не содержит ошибок.
Чтобы изменения вступили в силу, перезагрузите Apache.
Centos
Debian или Ubuntu
Как установить SSL-сертификат на 1C-Bitrix
Воспользуйтесь официальными инструкциями от 1С-Битрикс:
Генератор конфигурационных файлов SSL
Внесение изменений в настройки сайта
Как настроить HTTPS для WordPress
HTTPS для WordPress посвящена отдельная заметка.
Настроить 301 редирект с http на https
Чтобы страницы ресурса вместо незащищенного протокола HTTP стали открываться по HTTPS со свежеустановленным SSL-сертификатом, нужно настроить редирект.
если вариант выше не сработал:
или (если возникает циклическая переадресация):
и последний вариант:
Теперь сайт будет работать по протоколу HTTPS.
Оповестить поисковые системы об изменениях
В файле robots.txt поправьте ссылку на карту сайта (Sitemap), вместо http укажите https.
Чтобы не потерять позиции в поисковых выдачах нужно сообщить Яндекс и Google о том, что теперь ресурс работает по протоколу HTTPS. Для этого добавьте HTTPS-версию сайта в Яндекс Вебмастер и Google Search Console. При этом старый сайт из панели вебмастера удалять не рекомендуется, пока индекс качества сайта не «переедет» на новый сайт. В Яндекс Вебмастер рекомендуется оставить его не менее чем на год. В Google Search Console сайт лучше не удалять совсем.
Переезд может занять от недели до месяца. Затем нужно убедиться, что с поисковой выдачи в ссылках на ваш сайт содержится https вместо http. Если это так, то переезд произошел успешно.
Что еще нужно сделать
На страницах сайта могут присутствовать внутренние ссылки сайта с абсолютными URL адресами с HTTP (в контенте, в меню и т.п.), которые нуждаются в корректировке, измените их на относительные, чтобы они вели на URL с HTTPS.
Убедитесь, что ресурс не не открывается по HTTP, вместо этого происходит редирект на HTTPS. Доступность ресурса одновременно по HTTP и HTTPS является потенциальной уязвимостью.
С помощью инструмента SSL Configuration Generator сравните конфигурацию сервера с рекомендуемой.
Просканируйте сайт на уязвимости в безопасности с помощью сервиса Mozilla Observatory и в случае замечаний исправьте их.
Полезные ссылки
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.
Как установить SSL-сертификат на VPS или выделенный сервер
Перед установкой SSL перейдите в Личный кабинет, кликните по строке нужного SSL-сертификата и убедитесь, что статус услуги «Активна»:
Также вы можете использовать для установки сертификат, купленный в сторонней компании.
Облачные серверы нового поколения
Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 8 доступных ОС на выбор!
Установка SSL-сертификата
Способ установки сертификата безопасности на VPS/выделенный сервер зависит от того, используете ли вы панель ISPmanager для управления сервером.
Установка в панели управления ISPmanager
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс»
Убедитесь, что у вас создан пользователь, у которого есть доступы к использованию SSL. Подключить эту функцию можно в разделе «Пользователи». Дважды кликните по нужному пользователю, пролистайте открывшуюся страницу до блока «Доступы». Поставьте галочку напротив Может использовать SSL и нажмите Ok внизу страницы:
Перейдите в раздел «SSL-сертификаты» и нажмите Создать:
Выберите на открывшейся странице «Существующий» и нажмите Далее:
На открывшейся странице выберите нужного пользователя, введите имя сертификата (используйте латинские символы) и заполните поля. Данные для установки сертификата высылаются на почту после активации услуги: Где взять данные для установки SSL-сертификата.
Нажмите Завершить внизу страницы:
В разделе «SSL-сертификаты» появится строка установленного сертификата:
Чтобы подключить установленный SSL-сертификат к сайту, перейдите в раздел «WWW-домены», дважды кликните по нужному домену и поставьте галочку напротив Защищенное соединение (SSL). Нажмите Ok внизу страницы:
Готово! Вы установили сертификат на VPS (выделенный сервер). Проверьте правильность установки по инструкции.
Автоматическая установка в Личном кабинете
Кликните по строке нужного SSL-сертификата:
Нажмите Установить во вкладке «Управление»:
На открывшейся странице выберите сертификат, купленный в REG.RU, и приложите файл с приватным ключом в формате .txt или .key: Где взять приватный ключ установки SSL-сертификата. Затем выберите VPS или выделенный сервер, на который хотите установить сертификат, и нажмите Отправить заявку на установку:
Готово! После установки вы получите уведомление на контактный email.