Как сделать сертификат сайта безопасным
Вот так браузер сообщает нам, что у этого сайта нет сертификата безопасности. А вот так — что сертификат есть. Но не всё так просто.
На самом деле примерно с 2014 года вместо протокола SSL используют TLS, который задумывался как обновление SSL 3.0. Дело в том, что в 2014 году обнаружили уязвимость в SSL-протоколе, которая позволяет расшифровывать все данные. В TLS конкретно этой уязвимости нет (но наверняка есть другие), поэтому все плавно перешли на него, но по старой памяти и привычке называют всё SSL-соединением и SSL-сертификатами.
Как работает SSL-протокол
А как быть с обычными сайтами без сертификатов?
Если у сайта нет сертификата, это не значит, что сайт плохой. Это значит, что данные, которые вы там будете вводить, передаются в открытом виде. Значит, их проще перехватить. Если вы на сайте ничего не заполняете или оставляете комментарий без регистрации — страшного ничего не произойдёт.
Есть много сайтов, которые не используют сертификаты и ничего не просят от пользователей — сайты-визитки, корпоративные страницы и информационные порталы.
Некоторые считают, что если безопасного соединения нет, то вас сразу атакуют хакеры или заразят вирусы, но это не так. Вирус можно подцепить даже на сайте с SSL-сертификатом, если владелец домена его туда положит.
Получить SSL-сертификат — это сложно?
Нет. Это не только дело десяти минут, но и в некоторых случаях бесплатная операция. Прогресс дошёл до того, что вы можете получить сертификат на любой новый сайт в автоматическом режиме, даже если у вас мошеннический сайт. Достаточно лишь иметь админский доступ к своему сайту.
Что не так с безопасным соединением
Никто не может помешать преступнику получить сертификат, установить на свой сайт и сделать вид, что это безопасная страница. SSL-сертификат гарантирует безопасную передачу данных, но не отвечает за то, куда они отправляются. Поэтому перед тем как вводить на сайте секретную информацию, убедитесь в том, что сайт принадлежит нужной компании. Иногда бывает так: злоумышленники меняют в адресе сайта одну букву, получают сертификат и делают точно такой же дизайн, как в оригинале. Кто-то заходит на такой сайт за покупками, вводит реквизиты карты и. вы понимаете. Будьте внимательны.
Мы будем очень рады, если вы процитируете наш материал, но обязательно укажите активную ссылку на него. Спасибо!
Мы будем очень рады, если вы процитируете наш материал, но обязательно укажите активную ссылку на него. Спасибо!
Как поставить SSL на сайт на Тильде
При регистрации домена вам могут предложить купить SSL-сертификат. Если будущий сайт будет размещаться на Тильде, отказывайтесь от покупки. Тильда предлагает два варианта получения SSL: подключить бесплатный сертификат Let's Encrypt прямо в личном кабинете или воспользоваться сервисом Cloudflare.
Cloudflare
Суть получения сертификата через этот сервис в том, что нужно делегировать управление доменным именем в личный кабинет Cloudflare, после чего можно включить SSL-сертификат уже оттуда. Но мы вообще не рекомендуем пользоваться этим вариантом, если сайт будет работать для российских посетителей: вместе с сертификатом вы получите IP сервиса, которые очень не любит Роскомнадзор. У большинства российских провайдеров они заблокированы, и посетители не смогут увидеть сайт.
Let's Encrypt
Выбирайте этот вариант — он и проще, и работает без блокировок.
1. Если вы размещали сайт давно, то IP-адреса Тильды могли смениться. Убедитесь в настройках DNS у регистратора доменного имени, что там верные записи:
— запись типа A со значением @, которая бы указывала на IP адрес: 185.165.123.36;
— запись типа A для поддомена WWW, которая бы указывала на IP адрес: 185.165.123.36.
Если все верно, можно сразу переходить к следующему шагу, а если вы внесли изменения — подождите сутки, чтобы DNS обновились.
2. В личном кабинете Тильды перейдите в Настройки сайта и нажмите тумблер, чтобы запустить процесс установки сертификата:
Пополняемая библиотека готовых шаблонов сайтов и блоков для Tilda Publishing, Figma, соцсетей, понятных инструкций и чек-листов от практиков
CMS (Content Management System) — система управления контентом, в данном случае — сайтом (например, Тильда, Битрикс, Вордпресс).
ОКВЭД (Общероссийский классификатор видов экономической деятельности) — именно по этим кодам, которые указываются при регистрации ИП или юрлица, можно осуществлять деятельность. Коды можно добавить, но это не дело 5 минут.
Работа с компанией Своёмедиа длится уже более двух лет. За это время реализовано много мероприятий по поддержке и развитию сайта, включая глубокую и неоднократную переработку концепции и взгляда на этот ресурс — в том числе в мыслях у управленцев нашей компании.
Развитие сайта как основного ресурса медийной поддержки компании (мы работаем в достаточно сложном сектор — b2b в химической отрасли) оказывает существенную поддержку нашему бизнесу. И эту поддержку можно разделить на 2 вида — прямую и косвенную.
Общий объем таких работ за последние пару лет можно оценить в 10-15 млн рублей, около 15% от общей выручки. Это является серьезным достижением, безусловно.
Такого рода поддержку трудно оценить в прямых доходах, однако можно уверенно сказать, что она очень важна в нашем бизнесе.
В ближайших планах развития медийного ресурса Инжнирингового центра стоит увеличение доли работ, приходящих через сайт, до 30-50%. У нас есть уверенность, что в сотрудничестве с коллегами из Своёмедиа мы справимся с этой задачей.
Что такое SSL-сертификат и зачем он нужен
Таким образом, наличие SSL-сертификата (в совокупности с грамотной настройкой сервера) гарантирует:
- конфиденциальность, целостность и аутентификацию, что делает обмен информацией безопасным;
- подлинность ресурса, что повышает уровень доверия посетителей и поисковиков.
Типы SSL-сертификатов
Существует несколько типов SSL-сертификатов.
Сертификат с проверкой домена (Domain Validation), например, DomainSSL или AlphaSSL. Самый простой и дешевый тип SSL-сертификатов. Подтверждает только домен. Не содержит информации о владельце, поэтому не предназначен для оказания коммерческих услуг на сайте. Физические лица могут использовать только этот тип сертификатов, но он доступен и для юридических лиц.
Сертификат с расширенной проверкой организации (Extended Validation) – например, ExtendedSSL. Считается самым надёжным и предназначен для крупных организаций. При его оформлении центр сертификации проведет расширенную проверку налоговой и коммерческой деятельности компании. Выпуск сертификата займет продолжительное время (от 5 дней до нескольких недель) в том числе, в зависимости от скорости предоставления необходимых документов центру сертификации.
Еще один термин, который встретится при выборе сертификата – WildCard. Он означает поддержку поддоменов. Один SSL-сертификат с WildCard сможет работать и на основном домене, и на поддоменах без ограничений на их количество.
При заказе сертификатов Extended Validation или Organization Validation, центр сертификации может запросить следующие виды документов:
- Свидетельство ИНН / КПП;
- Свидетельство ОГРН;
- Приказ о назначении директора;
- Свидетельство о регистрации доменного имени;
- Устав организации (первые 3 и последние 3 страницы);
- Счета на оплату телефонных разговоров с номера компании за последние 3 месяца, с обязательным указанием в счетах названия и номера телефона организации и названия организации-поставщика услуг.
Что нужно сделать чтобы установить SSL-сертификат
В зависимости от используемого хостинга или сервера часть шагов может отличаться или отсутствовать, но в целом классический процесс получения и установки сертификата сводится к следующим шагам:
- приобрести SSL-сертификат;
- сгенерировать CSR запрос на сертификат;
- выпустить SSL-сертификат;
- установить SSL-сертификат на хостинг или сервер;
- внести изменения в настройки сайта.
Приобретение SSL-сертификата
Итак, вы знаете, что такое SSL и определились в выборе сертификата, далее его нужно приобрести.
Купить SSL-сертификат можно напрямую у одного из удостоверяющих центров, например Comodo , Thawte , GeoTrust . Однако проще всего это сделать у вашего хостинг-провайдера, где располагается домен, сервер, сайт.
На этапе покупки укажите тип сертификата и домен для которого он приобретается. Затем оплатите сертификат.
В зависимости от поставщика сертификата до или после оплаты нужно будет сгенерировать CSR запрос на сертификат. В некоторых случаях данная процедура, может быть включена в процесс покупки.
Генерация CSR запроса на сертификат
CSR (Certificate Signing Request) – это зашифрованный запрос на получение сертификата, включает в себя информацию о домене и организации.
CSR может быть сгенерирован одним из способов:
В независимости от способа, в результате вы должны получить 2 файла (или их текстовое содержание) — файл запроса (domain.csr) и файл приватного ключа (private.key). Файл запроса потребуется для генерации сертификата. А приватный ключ понадобится в дальнейшем, его вместе с сертификатом нужно будет установить на хостинг или сервер.
Первые два способа не должны вызвать трудностей, генерация на собственном сервере описана ниже, но для начала несколько важных замечаний:
Все данные запроса должны заполняться на английском языке.
Далее при генерации запроса CSR вам потребуется указать адрес электронной почты. Рекомендуется заранее создать почтовый ящик вида admin@domain, administrator@domain, hostmaster@domain, postmaster@domain или webmaster@domain и указать в контактных данных его. Этот же адрес пригодится позже для подтверждения владения доменом.
Генерация CSR запроса на собственном сервере
Потребуется криптографический пакет с открытым исходным кодом – OpenSSL . Он входит в состав большинства UNIX-подобных операционных систем.
Во многих инструкциях рекомендуется генерировать закрытый ключ и CSR запрос на том же сервере, для которого выпускается сертификат. Однако, на самом деле, это не обязательно должен быть один и тот же сервер.
Подключитесь к серверу по SSH и перейдите в домашнюю директорию.
Сгенерируйте закрытый ключ.
- private.key – выходной файл, который будет содержать ключ;
- 4096 – размер ключа, резже 2048.
Закрытый ключ будет создан и сохранен в файл под именем private.key.
Сохраните копию закрытого ключа на своем компьютере. При компрометации ключа или утрате пароля сертификат придется перевыпустить.
Далее сгенерируйте CSR запрос.
- private.key – созданный на предыдущем этапе закрытый ключ;
- domaine.csr – выходной файл с CSR запросом.
Далее последовательно латинскими символами укажите следующие данные:
CSR запрос на сертификат будет сохранен в файле domain.csr в виде закодированного текста.
Проверить корректность введенных данных можно, выполнив следующую команду.
Файлы закрытого ключа и CSR запроса или их содержимое потребуются далее. Вывести (чтобы затем скопировать) содержимое файла можно командой cat.
Для выхода нажмите клавишу Q.
Выпуск SSL-сертификата
Теперь, когда есть запрос, на основании него можно выпустить сертификат.
В зависимости от того, где приобретался сертификат, либо в личном кабинете хостинга или удостоверяющего центра, либо по ссылке из письма подтверждающего покупку, станет доступна страница, на которой нужно ввести ранее сгенерированный CSR запрос на выпуск сертификата, например, как в примере на скриншоте ниже.
После отправки запроса подтвердите владение доменом. Может быть доступно от одного до четырех способов подтверждения:
Подтверждение через электронную почту
Понадобится один из почтовых ящиков admin@domain, administrator@domain, hostmaster@domain, postmaster@domain или webmaster@domain. На него придет электронное письмо либо с уникальной ссылкой, либо с кодом, который нужно ввести для подтверждения управления доменом. Если следовали рекомендациям выше, то скорее всего такой ящик у вас уже есть.
Подтверждение через CNAME-запись
Вам будут предоставлены хеш-значения, которые необходимо ввести в DNS CNAME запись подтверждаемого домена.
Формат CNAME следующий:
Подтверждение через TXT-запись
Вам будет предоставлено хеш-значение, которое нужно добавить в TXT-запись подтверждаемого домена.
Вам будут предоставлены хеш-значения, используя которые, нужно создать текстовый файл и разместить его в подпапке подтверждаемого домена.
После подтверждения владения доменом любым из перечисленных способов, файлы сертификата либо будет предложено скачать, либо они прийдут на почту.
В скачанном архиве или письме будет несколько файлов: SSL-сертификат, один или несколько промежуточных и один корневой.
Например, для сертификатов Comodo:
- domain_ru.crt — SSL-сертификат;
- AddTrustExternalCARoot.crt (или AAACertificateServices.crt) — корневой;
- SectigoRSADomainValidationSecureServerCA.crt, USERTrustRSAAddTrustCA, USERTrustRSAAAACA.crt- промежуточные.
Часто цепочка сертификатов может поставляться в виде одного файла – .CA-BUNDLE.
Установка SSL-сертификата
Дальнейшие шаги зависят от того, где размещается ваш сайт, на хостинге или собственном сервере и какое окружение на нем используется.
Как установить SSL-сертификат на хостинг
Найдите раздел SSL панели управления хостингом.
Если сертификат приобретался в другом месте, вручную загрузите файлы сертификата, файл приватного ключа и укажите домен (хостинг).
Аналогичным образом процедура выглядит для других хостеров. На скриншоте ниже скриншот с примером для Hostland.
Подробные инструкции можно найти у своего хостинг провайдера.
Как установить SSL-сертификат в панели управления ISPmanager
Войдите в панель управления ISPmanager.
На открывшейся странице заполните поля:
- Имя SSL-сертификата – любое имя латиницей, под ним сертификат будет отображаться в панели управления;
- SSL-сертификат – содержимое файла SSL-сертификата;
- Ключ SSL-сертификата – приватный ключ сертификата;
- Цепочка SSL-сертификатов – последовательно укажите сначала корневой сертификат, а затем с новой строки без пробела – промежуточный.
Затем нажмите Завершить.
Как установить SSL-сертификат на сервер с Nginx
Объедините три сертификата (SSL-сертификат, корневой и промежуточный) в один файл. Для этого с помощью блокнота или другого редактора создайте текстовый документ с именем domain.crt и поочередно поместите в него содержимое каждого из сертификатов (без лишних пробелов и пустых строк).
Так же понадобится приватный ключ, который был получен на этапе генерации CSR запроса на сертификат. Переименуйте его в domain.key.
Оба файла загрузите на сервер в директорию /etc/ssl/ или /etc/nginx/ssl/
Отредактируйте виртуальный хост сайта, для которого устанавливается сертификат. Файл /etc/nginx/sites-available/site.conf или или другой, в зависимости от особенностей сервера.
Указаных настроек должно быть достаточно, чтобы SSL заработал.
- /etc/ssl/ca.crt – путь до файла с корневым сертификатом (его предварительно нужно загрузить на сервер);
- 8.8.8.8 – DNS-сервер.
Затем убедитесь, что конфигурационный файл Nginx не содержит ошибок.
Чтобы изменения вступили в силу, перезагрузите сервер Nginx.
Ubuntu
CentOS 6
CentOS 7
Как установить SSL-сертификат на сервер с Apache
Понадобится файл SSL-сертификата, назовите его domain.crt и приватный ключ, который был получен на этапе генерации CSR запроса на сертификат, переименуйте его в domain.key.
Так же, создайте текстовый документ, например с именем chain.crt и поместите в него цепочку сертификатов — поочередно добавьте в него содержимое промежуточного сертификата и следом за ним корневого (без лишних пробелов и пустых строк).
Все 3 файла загрузите на сервер в директорию /etc/ssl/
Откройте конфигурационный файл Apache сайта, для которого устанавливается сертификат. Если сайт один, конфигурационный файл скорее всего будет одним из указанных ниже:
Затем убедитесь, что конфигурационный файл Apache не содержит ошибок.
Чтобы изменения вступили в силу, перезагрузите Apache.
Centos
Debian или Ubuntu
Как установить SSL-сертификат на 1C-Bitrix
Воспользуйтесь официальными инструкциями от 1С-Битрикс:
Генератор конфигурационных файлов SSL
У Mozilla есть инструмент SSL Configuration Generator , он позволяет генерировать конфигурационные файлы для подключения SSL под большинство популярных серверов. Можно взять за основу рекомендуемые настройки или сверить текущим конфиг.
Внесение изменений в настройки сайта
Если в качестве web-сервера используется Apache, внесите изменения в файл .htaccess:
если вариант выше не сработал:
или (если возникает циклическая переадресация):
и последний вариант:
Оповестить поисковые системы об изменениях
Что еще нужно сделать
С помощью инструмента SSL Configuration Generator сравните конфигурацию сервера с рекомендуемой.
Просканируйте сайт на уязвимости в безопасности с помощью сервиса Mozilla Observatory и в случае замечаний исправьте их.
Полезные ссылки
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.
Школа хостинга Редактор: Евгений Буровинский 21149 10 мин Аудио
Работает это так:
Как устроен SSL-сертификат
SSL (англ. Secure Sockets Layer переводится как “слой защищенных подключений”) - это криптографический протокол, который создан для безопасного обмена и хранения информации на сайтах.
Официальные SSL-сертификаты распространяются в виде набора текстовых файлов - ключей. SSL-сертификаты различаются по используемому методу проверки прав владельца на его выпуск. Самый простой вариант - это проверка прав владения доменом. В более сложных вариантах сертификатов, которые обеспечивают защиту инфраструктуры целого предприятия, нужна проверка информации о компании.
Цифровой сертификат содержит следующую информацию:
- назначение сертификата об обеспечении безопасного соединения между браузером и сервером;
- доменное имя, на которое оформлен SSL-сертификат;
- юридическое лицо, которое владеет сертификатом;
- физическое местонахождение владельца сертификата (город, страна);
- дату выдачи и дату окончания действия сертификата;
- название удостоверяющего центра сертификации;
- используемый алгоритм шифрования;
- публичный ключ, применяемый сервером.
Эта информация позволяет браузеру клиента:
1. Проверить достоверность сертификата.
2. Установить, что он был выпущен доверенной организацией специально для конкретного домена.
3. Сделать вывод, что устанавливаемое с сервером соединение - безопасное.
Дополнительные возможности
Как посмотреть информацию о сертификате
Если сайт использует SSL-сертификат, то знак “замок” в адресной строке браузера будет закрыт. Если сертификата нет, то открыт.
Браузер предоставляет пользователю полную информацию о применяемом на сайте SSL-сертификате.
1. Чтобы просмотреть ее в браузере Google Chrome, нажмите на значок в начале адресной строки браузера.
2. Выберите в меню пункт “Сертификат”.
3. Открывшееся окно покажет всю информацию о сертификате:
- для какого домена создан;
- название выпустившей сертификат организации;
- срок действия сертификата.
4. Специалисты могут просмотреть дополнительную техническую информацию о сертификате и участвовавших в его выпуске организациях в закладках “Details” и “Certification Path”.
Взаимодействие с браузером
В браузеры встроены сертификаты всех официальных удостоверяющих центров:
-
; (бывшая Symantec Corporation); ; ; ;
- и другие.
Виды SSL-сертификатов
Различают три вида SSL-сертификатов.
- платные официальные сертификаты, выданные одним из доверенных центров;
- бесплатные сертификаты от Let's Encrypt;
- самоподписанные (самозаверенные, self-signed certificate).
Как получить официальный сертификат для сайта
Для большинства сайтов будет достаточно установить SSL-сертификат начального уровня с проверкой домена (DV-сертификаты, от английского Domain Validation).
Время выдачи таких сертификатов занимает лишь несколько минут.
1. Зайдите в наш каталог и выберите надежную компанию, предлагающую SSL-сертификаты.
2. Зарегистрируйтесь на сайте компании и укажите информацию о себе.
3. Подтвердите, что именно вы являетесь владельцем домена.
4. Создайте запрос на получение сертификата.
5. SSL-сертификат будет сгенерирован автоматически.
Есть несколько способов подтверждения владения доменом:
Официальные SSL-сертификаты - платные. Такие сертификаты выпускаются на срок 1-4 года. Стоимость, в зависимости от срока действия, начинается от 3-5 USD.
2. Скачайте на свой компьютер необходимые для установки сертификата файлы, включая его приватный ключ.
3. На контактный e-mail вам будет прислано письмо с инструкцией по активации сертификата (это делается через добавление специальной записи в DNS).
Как получить бесплатный сертификат от Let's Encrypt
Эти бесплатные сертификаты имеют ограничение срока действия в три месяца.
Существуют три способа получения бесплатного сертификата от Let's Encrypt:
1. В админ-панели провайдера.
2. В панели управления хостингом.
3. Сгенерировать сертификат на сервере (для VPS и выделенных серверов).
Получение сертификата у провайдера
Получить бесплатный SSL-сертификат у провайдера можно в один клик.
Например, у провайдера Beget достаточно просто нажать кнопку “Установить”.
Получение сертификата в панели управления
В большинство популярных панелей управления хостингом встроена поддержка сертификатов от Let's Encrypt.
Например, в ISPmanager вы можете быстро создать сертификат, просто указав в соответствующей форме название домена.
Генерация сертификата Let's Encrypt на сервере
Пользователи услуги VPS и выделенных серверов могут применить специальное программное обеспечение от Let's Encrypt и создать бесплатный сертификат для сайтов на свой сервер. Также существует механизм автоматического обновления этих сертификатов.
Для автоматизированного получения SSL-сертификата был разработан скрипт certbot (или certbot-auto для некоторых версий).
Скрипт работает с web-серверами:
Он считывает список работающих на сервере сайтов и предлагает установить для них сертификаты. Например, так выглядит работа скрипта с web-сервером Apache:
1. Запустите команду “certbot --apache”.
2. Сertbot находит все настроенные на сервере web-сайты, формирует из них список и предлагает вам указать нужные домены из этого списка для установки сертификатов.
3. Затем скрипт запрашивает у сервера Let's Encrypt сертификаты для выбранных вами доменов и прописывает для них настройки в конфигурационные файлы Apache.
5. После окончания своей работы скрипт certbot выведет на экран информацию о том, для каких доменов были выпущены SSL-сертификаты и в каких папках на сервере находятся файлы с ключами от сертификатов.
Создание самоподписанного сертификата на сервере
Самоподписанные сертификаты генерируются владельцем сервера и домена самостоятельно. Подходит только для владельцев виртуальных и выделенных серверов под управлением Linux.
Но такие сертификаты могут:
Для создания самоподписанного сертификата используется набор инструментов из библиотеки OpenSSL.
Для генерации SSL-сертификата из командной строки используйте команду:
- пароль для файла с сертификатом;
- данные о владельце сертификата (страна, город, название организации).
Самый главный параметр, который попросит ввести программа OpenSSL - это Common Name - адрес домена, для которого используется сертификат.
После выполнения данной команды на сервере в каталоге /home/ssl будут сгенерированы файлы сертификата: публичный ключ - в файле my_cert.crt и приватный ключ - в файле my_key.key.
Выводы
Следующая статья для новичков - Как создать почту на собственном домене
Комментарий эксперта
Безопасности данных необходимо уделять пристальное внимание, особенно, когда речь идёт о персональной и платёжной информации.
Для сайтов, которые собирают паспортные данные или на которых есть формы оплаты, более правильным выбором будет официальный платный сертификат. У бесплатных может не быть гарантии сохранности данных сайта, поддержки ряда OC и печати доверия (картинка с логотипом удостоверяющего центра, которая подтверждает, что сайт проверен).
Редактор материала ? Евгений Буровинский Хостинг-эксперт (опыт работы 6 лет) Основная специализация - составление обзоров хостинг-провайдеров, формирование рейтингов, маркетинговые исследования рынка хостинга. Очень дотошный человек, скрупулезно тестирующий каждый хостинг.
Читайте также: