Сертификаты ssl и tls: предназначение, отличия и проверка

Протокол TLS

Протокол TLS представляет собой криптографический протокол, который применяется для защищенной передачи данных между различными узлами в сети интернет. Данный протокол нашел применение в VoIP-приложениях, веб-браузерах, приложениях для мгновенного обмена сообщениями. TLS реализован на спецификации SSL 3.0. Разработкой и развитием протокола занимается компания IETF.

К основным мерам безопасности, которые обеспечивает протокол TLS, относятся:

  • Применение ключа для проверки кода аутентификации сообщения.
  • Исключена вероятность понижения версии TLS или подмены на менее защищенный сетевой протокол.
  • Сообщение с подтверждением связи содержит хэш всех сообщений, которыми обменивались стороны.
  • Использование нумерации записей приложения с применением MAC.
  • Применение псевдослучайной функции, разбивающей входные сообщения на 2 части, каждая из которых обрабатывается разной хэш-функцией.

Seсtigo

Sectigo–один из самых крупных поставщиков SSL-сертификатов на сегодняшний день. Многие уже знакомы с продуктами этой компании: до ноября 2018 года они выпускались под названием Comodo. В результате ребрендинга изменилось название и логотип, но в техническом плане компания осталась одним из лидеров рынка сертификатов. За более чем 20 лет работы по всему миру было продано свыше 100 млн сертификатов.

Наша компания предлагает 3 основных варианта сертификатов от Sectigo:

  • Sectigo Positive SSL
  • Sectigo EV SSL
  • Sectigo Postitive Wildcard SSL

Функции у этих сертификатов разные, как и стоимость.

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

Второй сертификат, который можно приобрести,–Sectigo EV SSL. Это сертификат расширенной проверки (EV сокращение от “extended validation”). В этом случае центры сертификации устанавливают владельца сайта и подтверждают, что домен действительно принадлежит этой компании или юридическому лицу. Браузеры отмечают такие сайты зеленым выделением, а также указывают название компании перед доменом. Если сайт принадлежит крупной компании, на нем каждый день происходит много финансовых операций, то есть смысл задуматься о приобретении именно этого SSL-сертификата.

Из-за расширенной проверки выпуск EV SSL-сертификатов занимает больше времени, чем приобретение других сертификатов, но в итоге вы получаете один из самых востребованных и надежных SSL-сертификатов, который повышает доверие пользователей и помогает увеличить продажи.

Наконец, есть третий вид сертификата, он называется Sectigo Postitive Wildcard SSL. Он используется в качестве единого сертификата для домена и нескольких поддоменов. То есть вместо того, чтобы устанавливать отдельный сертификат на каждый поддомен, вы можете просто купить Sectigo Postitive Wildcard SSL и установить его сразу и на домен, и на любое количество поддоменов. При этом оформление занимает примерно столько же времени, сколько и обычного Sectigo Positive SSL.

Sectigo Postitive Wildcard SSL–идеальный вариант для сайтов с большим количеством региональных поддоменов, а также проектов, которые размещают на поддоменах отдельные разделы своего сайта: блог, форум, личный кабинет и так далее.

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

  • Sectigo использует надежные алгоритмы шифрования SHA2 и ECC;
  • сертификаты имеют 2048-битный ключ шифрования и поддерживают 128/256-битное шифрование;
  • сертификаты можно устанавливать на национальные (в том числе кириллические) домены;
  • корневые сертификаты Sectigo уже встроены в подавляющее большинство современных браузеров, поэтому 99,9% распознают их как доверенные;
  • вы получаете гарантированную выплату в случае, если понесете убытки из-за неправильной работы SSL-сертификата (от 250 000 до 1 750 000 долларов в зависимости от выбранного сертификата);
  • при покупке SSL-сертификата Sectigo у нас вы получаете выделенный IP-адрес в подарок.

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

Как настроить 301 редирект с HTTP на HTTPS

Для NGINX мы настраивали редирект выше, поэтому если редирект настроили в нём, в Apache ничего не меняем. Но, для примера, покажу блок, ответственный за него

301 редирект с HTTP на HTTPS в NGINX

Тут нужно указать 2 блока , для http (там мы настраиваем редирект) и для https

server {
 server_name example.com www.example.com;  # Можно указать любые домены и поддомены, смотря как вы настроили сертификат
 listen 1.2.3.4:80; #где 1.2.3.4 - айпи вашего сервера
 rewrite ^(.*) https://$host$1 permanent; # Редирект HTTP/1.1 301 Moved Permanently с http на https
}

server {
 server_name example.com www.example.com;  # Можно указать любые домены и поддомены, смотря как вы настроили сертификат
 listen 1.2.3.4:443 ssl; #где 1.2.3.4 - айпи вашего сервера
 ### Остальные правила
}

301 редирект с HTTP на HTTPS в .htaccess (Apache)

Если у Вас основной сервер Apache, в его конфигурационном файле () или в в корне сайта прописываем

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 

Или

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} 

Эта конструкция отлавливает все запросы к портам, отличным от 443 (а именно на 443 порту сидит SSL), и редиректит на нужную версию сайта с HTTPS.

301 редирект с HTTP на HTTPS в WordPress

Чтобы сделать 301 редирект на https в wordpress, достаточно найти в корне сайта и прописать там в любом месте (если ещё не прописано, меняете на свой домен):

define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

В большинстве ситуаций этого достаточно.

<?php // Эту строку удалить, если код вставляется в существующий файл php

/**
  Plugin Name: Sheensay HTTP HTTPS Redirect
  Plugin URI: http://sheensay.ru/?p=2013
  Description: Плагин, который редиректит с HTTP на HTTPS
  Version: 1.0.0
  Author: Sheens
  Author URI: http://sheensay.ru/
  License: GPLv2
 */

defined( 'ABSPATH' ) or exit;

// Редирект с HTTP на HTTPS
add_action( 'template_redirect', function () {

	if ( 'on' != $_SERVER ) {

		$url = get_option( 'siteurl' ) . $_SERVER;

		wp_redirect( $url, 301 );

		exit;
	}
} );

Как получить SSL-сертификат для сайта

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

Дело за малым – выбрать продавца и купить SSL-сертификат для сайта. То есть найти подходящие удостоверяющие центры (УЦ), которые с помощью сертификатов электронной подписи подтвердят, что ключи шифрования подлинные.

На официальном веб-сайте CA/Browser Forum есть список всех доверенных удостоверяющих центров.

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

Процесс получения сертификата зависит от того, где его покупают. Обычно последовательность действий такая:

  • в УЦ или на сайте посредника выбираете SSL;
  • вводите требуемую информацию:

— домен, адрес почты, телефон контактного лица – этих данных достаточно для DV-сертификата;

— чтобы получить OV или EV, потребуется сообщить и удостоверить документами сведения, подтверждающие юридический статус организации и соответствие заявленной деятельности – ИНН, выписка из ЕГРЮЛ, наличие в справочниках, находящихся в общем доступе, например nalog.ru или yellowpages.com и других;

  • получаете по почте письмо активации, переходите по указанной ссылке;
  • ждете, когда завершится проверка (на это может потребоваться от 20 минут до нескольких суток или недель – смотря какой SSL заявлен), в процессе могут быть запрошены дополнительные документы для УЦ;
  • получаете на почту файлы сертификата и устанавливаете.

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

История SSL[править]

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

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

Протоколы SSL и TLS[править]

SSL (Secure Sockets Layer) и TLS (Transport Level Security) — криптографические протоколы, обеспечивающие защищенную передачу данных в компьютерной сети. Они широко используются в веб-браузерах, а также при работе с электронной почтой, обмене мгновенными сообщениями и в IP-телефонии.

Соединение, защищенное протоколом TLS, обладает одним или несколькими следующими свойствами:

  • Безопасность: симметричное шифрование защищает передаваемую информацию от прочтения посторонними лицами.
  • Аутентификация: «личность» участника соединения можно проверить с помощью асимметричного шифрования.
  • Целостность: каждое сообщение содержит код (Message Authentication Code, MAC), с помощью которого можно проверить, что данные не были изменены или потеряны в процессе передачи.

Так как большинство протоколов связи могут быть использованы как с TLS/SSL, так и без него, при установке соединения необходимо явно указать серверу, хочет ли клиент устанавливать TLS. Один способ добиться этого — использовать порт, по которому соединение всегда устанавливается с использованием TLS (например, 443 для HTTPS). Другой способ — использовать специальную команду серверу от клиента переключить соединение на TLS (например, STARTTLS для протоколов электронной почты).

Виды SSL-сертификатов

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

Самоподписанный сертификат можно выпустить самостоятельно при наличии нужных инструментов. К примеру, это доступно в некоторых панелях управления веб-сервером (ISPmanager, Cpanel и т.д.). Из хорошего здесь то, что такой сертификат бесплатный, из плохого — его можно использовать только для служебных целей, а вот доверие посетителей сайта он не вызывает, потому что в адресной строке сообщается «Не защищено». Иначе говоря, сайт выглядит точно так же, как и если бы у него не было сертификата.

Доверенный сертификат выпускается Удостоверяющим центром — организацией, обладающей правом на выдачу сертификатов

Из всего того, что дает такой SSL-сертификат, стоит выделить самое важное: для посетителей сайта — это гарантия безопасности, а для его владельца — доверие пользователей. Википедия определяет Центр сертификации как «сторону, чья честность неоспорима»

Вот несколько тому объяснений:

  • Проверка на право владения доменным именем или информации о компании, которая запрашивает сертификат.
  • Высокий уровень шифрования данных, подкрепленный финансовой гарантией.
  • Цепочки корневых сертификатов доверенных центров по умолчанию включены практически во все браузеры.

Эти преимущества в большей степени относятся к коммерческим Центрам сертификации (к примеру, Sectigo). Существуют также бесплатные, самым популярным является Let’s Encrypt. 

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

Также сертификаты можно разделить, основываясь на способе проверки:

  • DV, Domain Validation — сертификат, подтверждающий доменное имя. Его можно получить за 15 минут, так как Центр сертификации проверяет только право владения доменом.
  • OV, Organization Validation — сертификат, подтверждающий домен и существование организации. При его выпуске, помимо права на домен, CA проверяет и регистрацию компании. Для получения такого SSL-сертификата понадобится несколько дней.
  • EV, Extended Validation — сертификат, подтверждающий принадлежность сайта компании. Перед тем, как его выпустить, Центр сертификации проводит тщательную проверку — от права на домен до лицензии на вид деятельности, в среднем это занимает от нескольких дней до двух недель. Заказ открыт только юридическим лицам.

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

Буквально недавно произошло изменение, и название компании было перенесено «под замочек». Нужно нажать на него, чтобы посмотреть информацию. Обновление вступило в силу в новых версиях некоторых браузеров: Chrome 77, Firefox 70, Safari на iOS 12 и macOS 10.14.

Как уже упоминалось выше, сертификат заказывается для доменного имени. А что делать, если нужно защитить и домен, и поддомены? Или сразу несколько разных доменных имен? Нужен ли отдельный SSL-сертификат каждому субдомену или домену?

Если вы используете и домен, и субдомены, стоит обратить внимание на SSL Wildcard. Этот сертификат распространяется на основной домен, а также его поддомены уровнем ниже

Он дороже сертификатов, предназначенных для одного домена, так что имеет смысл в его покупке, когда субдоменов много. Если же 1-2, то выгоднее заказать сертификаты отдельно для каждого.

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

Где получить бесплатный сертификат?

1. Let’s Encrypt

Это серьезная некомерческая организация, которая предоставляет бесплатные сертификаты. Возможно, вы даже слышали о компаниях, которые спонсируют ее на более $300,000 в год каждая: Facebook, Mozilla, Cisco и Chrome (Google).

На https://clickget.ru, кстати, используется их сертифкат. Можете зайти и посмотреть если хотите.

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

1. Виртуальный хостинг

Если у вас виртуальный хостинг, то, возможно, он уже поддерживает выпуск сертификатов через Let’s Encrypt. Лично я знаю что Timeweb, Reg.ru и многие другие это уже поддерживают.

Покажу на примере Таймвеба (которым мы пользуемся), как выглядит выпуск сертификата. Заходите в “Дополнительные услуги”, потом в “SSL сертификаты” и в поле “Сертификат” выбираете SSL Let’s Encrypt:

Все, сертификат будет выпущен в течении пары минут и будет автоматически продлеваться каждые 3 месяца. То есть это сделать проще простого.

Если ваш хостинг не поддерживает Let’s Encrypt, спросите их, возможно, скоро они добавят эту возможность.

2. Свой сервер

Если у вас свой сервер(облачный, VPS, Dedicated и т.п.), то воспользуйтесь сайтом certbot.eff.org. Выбираете там операционную систему и сервер (Apache/Nginx) и получаете пошаговую инструкцию, как все настроить. Правда сможет сделать это только человек, который в этом разбирается.

По идее, можно еще воспользоваться сайтом sslforfree.com, но имейте ввиду, что Let’s Encrypt выпускает сертификаты только на 3 месяца. И каждые 3 месяца нужно его обновлять. Поэтому устанавливать его руками проблематично. Воспользовавшись же способами выше, сертификат будет продляться автоматически, без вашего участия.

2. CloudFlare

Это бесплатный CDN провайдер, используя который, вы получаете кучу полезного, включая бесплатные SSL сертификаты.

Минимальные требования к браузерам и ОС для работы сертификата можно найти внизу этой страницы (Windows Vista+, Firefox 2+, Android 4.0+ и т.п.)

Если вкратце, вам нужно зайти туда, где покупали домены, и перенастроить DNS сервера на CloudFlare, после этого ваш сайт станет доступен через HTTPS. Если вы в этом не разбираетесь,  вам стоит попросить сделать это другого человека. Процедура не должна занять более 30 минут и стоить будет недорого.

1. Сначала регистрируетесь здесь

2. Вводите ваши домены через запятую в поле:

Cloudflare автоматически просканирует и добавит DNS записи

3. После этого добавляете те, что не добавились автоматически(обязательно сравните с теми что у вас вбиты, для этого нужно зайти в DNS записи вашего домена), и жмете далее в самом низу.

4. На следующем шаге выбираете бесплатный тариф. После этого вы получите имена 2х серверов. Теперь вам нужно зайти туда, где вы покупали домен и сменить (делегировать) ваши неймсервера (nameserver или DNS сервер) на новые:

Если все DNS записи вы перенесли корректно, то ваши посетители никаких изменений не заменят(то есть сайт будет работать без перебоев).

5. Когда все перенесется, зайдите в настройки вашего домена на вкладку “Crypto” и там где SSL выберите “Flexible”. Все, теперь SSL соединение с вашим сайтом будет работать

Другие варианты:

  1. Еще бесплатные сертификаты выдает StartCom. Я пользовался им пока, в конце 2016 Mozilla, Apple и Google решили перестать доверять этим сертификатам в новых версиях браузеров. И, пока что, StartCom это не исправил.

На будущее:

  • Перед тем как ставить переадресацию с HTTP на HTTPS проверьте все ли работает (переадресацию обычно можно настроить в панеле хостинга)
  • Нужно заменить все пути к картинкам и т.п. в коде сайта с http:// на // иначе соединение не будет считаться защищенным. Для WordPress можно воспользоваться плагином типа этого.
  • При переадресации с HTTP на HTTPS, используя CloudFlare, будьте аккуратны, плагин переадресации должен их поддерживать, иначе будет бесконечная переадресация. Для Вордпресса есть вот этот плагин. Дело в том, что запрос на ваш сайт идет через HTTP в любом случае, нужно читать данные, посылаемые CloudFlare, чтобы понять, открыт ли ваш сайт через HTTP или HTTPS у посетителя.

Вот и все. Даже если вы уже купили сертификат, надеюсь вы перейдете на бесплатный в следующем году

P.S. Если же ваш хостинг не поддерживает это, или, по каким-то причинам, вы хотите сертификат от известной компании, попробуйте этот сайт (там самые дешевые).

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

Существует большое количество различных типов сертификации SSL, основанных на количестве доменных имен или поддоменов, таких как:

  • Single — обеспечивает одно полное доменное имя или имя поддомена.
  • Подстановочный знак — охватывает одно доменное имя и неограниченное количество его поддоменов.
  • Multi-Domain — защищает несколько доменных имен.

И необходимый уровень валидации, например:

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

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

  • Расширенная проверка — обеспечивает максимальную степень безопасности из-за тщательного изучения, которое проводится до выдачи этого сертификата (и строго указано в руководящих принципах, установленных управляющим консорциумом индустрии сертификации). Помимо владения регистрацией имени домена и аутентификации объекта, проверяется юридическое, физическое и оперативное существование объекта. Этот тип сертификата занимает от одного дня до нескольких недель.

Как отсутствие SSL-сертификата повлияет на сайт

Если кратко, то неблагоприятно. Как уже говорилось, для сайта SSL-сертификат – все равно, что паспорт для человека. А зачем нужен паспорт, все прекрасно знают. Итак, нерадостные перспективы:

  1. Сайты без SSL-сертификата в поисковой выдаче Google не смогут попадать на верхние позиции. Даже крупный интернет-ресурс, если у него не будет обеспечена безопасная связь с пользователями, покинет первые страницы поиска – компания считает это серьезным препятствием для продвижения в топ.
  2. Пометка «Не защищено» будет настораживать пользователей, вряд ли потенциальные клиенты захотят оставлять через формы обратной связи на таком сайте свои персональные данные, скорее всего они будут считать ваш проект, бизнес и саму компанию ненадежными.
  3. Известные и солидные сервисы, такие как «Яндекс.Касса», уже отказываются взаимодействовать с веб-сайтами без HTTPS.
  4. Если защищенного канала для передачи данных нет, не будет и уверенности, что в процессе доставки сообщение не претерпело изменений, что пользователь не вымышленный, а связь пользователя с менеджером конфиденциальна. К такому ресурсу всегда будут относиться недоверчиво.
  5. Небезопасный сайт – это удар по репутации: велика вероятность, что посетители сочтут его ненастоящим, а компанию фейковой или ненадежной. То, что ваш бизнес законный, компания реально действует и уважительно работает с клиентами, как раз и подтверждает SSL-сертификат.

Вас также может заинтересовать: SEO-оптимизация интернет-сайта, или Как покорить ТОП

Заключение

Конечно, только вам решать, нужен вам SSL сертификат или нет. Я могу только кратко резюмировать:

  • SSL – действительно хороший способ шифрования, который пока на практике никому не удалось взломать;
  • Наличие SSL сертификата не гарантирует, что сайт безопасен. На нем могут быть вирусы и вредоносные программы, которые перехватывают данные до отправки на сервер;
  • Если вы занимаетесь электронной коммерцией, то вам обязательно надо ставить SSL сертификат (либо для совершения транзакций отправлять посетителей на сторонний защищенный ресурс платежной системы, как это делаю, например, я);
  • Гугл не помечает сайт без SSL как «небезопасные», и не будет этого делать, потому что так он навредит сам себе;
  • Наличие SSL никак не влияет на положение в поисковой выдаче вашего сайта;
  • При переезде с «http» на «https» очень высока вероятность где-нибудь ошибиться, и тогда ваш сайт может вообще никогда до конца не восстановить свои позиции;
  • Больше всего паники среди вебмастеров наводят хостер-провайдеры, потому что они зарабатывают деньги на продаже SSL-сертификатов.

Другими словами – если у вас новый сайт и вам нечего терять, то вы можете спокойно сразу сделать его на https. Главное купите его у надежного провайдера. А то поставщиков разных бесплатных SSL скорее заблокируют, и вам тогда будет очень плохо.

А если у вас ресурс уже раскручен и вы не принимаете платежи непосредственно на сайте – скорее всего он вам и даром не нужен. Пишите статьи и выходите в ТОП без него. А можете просто использовать отдельный сайт на «https» для приема платежей.

Надеюсь, статья была для вас полезной. Не забудьте скачать мою книгу «Автостопом к миллиону». Там я показываю вам самый быстрый путь с нуля до первого миллиона в интернете (выжимка из личного опыта за 10 лет = )

До скорого!

Ваш Дмитрий Новосёлов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector