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

Меры безопасности в TLS[править]

  • Защита от downgrade-атаки — понижения версии протокола к предыдущей (менее защищённой) версии или менее надёжному алгоритму шифрования;
  • Нумерация последовательных записей приложения и использование порядкового номера в коде аутентификации сообщения (MAC);
  • Использование ключа в идентификаторе сообщения (только владелец ключа может сгенерировать код аутентификации сообщения).
  • Сообщение, которым заканчивается подтверждение связи («Finished»), содержит хэш всех handshake-сообщений, отправленных обеими сторонами, что позволяет проверить подлинность выбранных параметров TLS-соединения.
  • Псевдослучайная функция делит подаваемые ей на вход данные пополам, применяет к половинкам разные хэш-алгоритмы (MD5 и SHA-1), а затем XOR’ит результаты для получения MAC. Это повышает безопасность в случае, если в одном из алгоритмов обнаружится уязвимость.

Виды 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, который защищает сразу несколько доменов (также его называют мультидоменным сертификатом). Его цена зависит от количества доменов, для которых он предназначен.

Редирект с http на https

После установки вам захочется, чтобы все пользователи работали по защищенному соединению. Да и поисковые системы должны произвести склейку, иначе будет какая-то неразбериха: один и тот же сайт с http и https будет считаться как два разных. Нам нужно, чтобы это не произошло. Поэтому мы должны настроить редиректы.

Обычно это делается с помощью инструментов CMS или файла htaccess. В WordPress, например, можно настроить автоматические редиректы с незащищенного протокола на защищенный. Но здесь же отмечу, что далеко не все системы управления контентом могут поддерживать такую функцию. По этой причине редирект можно реализовать с помощью файла htaccess, который есть почти на любом сайте.

Просто добавляем в начало файла этот кусок кода и вуаля – ваш сайт имеет 301-й редирект с http на https.

Теперь мы можем проверить наличие переадресации, просто зайдя на сайт без прописывания протокола (или с http протоколом). Если мы все сделали правильно, то нас перекинет на https://сайт.ру.

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

Чтобы минимизировать ущерб и ускорить склейку двух версий сайта, вы должны выполнить ряд инструкций.

Например, добавить в файл robots.txt строчку Host с указанием главного зеркала вашего веб-ресурса. Там же нужно прописать и https-протокол, чтобы поисковые системы считали этот вариант приоритетным.

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

Что такое SSL-сертификат и для чего он нужен

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

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

Если пользователь попадает на сайт без SSL, то видит вот такую ужасную картину (с Google):

Аналогично с Яндекса:

В адресной строке все не менее печально.

Как вы понимаете, увидев подобное предупреждение, пользователь тут же покинет сайт. Поэтому SSL нужен не только магазинам, но и вообще любому современному сайту, включая личные блоги.

Соответственно дело за малым — получить сертификат и установить его на сайт. Получить SSL  можно бесплатно и платно.

Это интересно: Обучение на аналитика данных

2020: Россия вошла в десятку стран по использованию SSL-сертификатов

В конце июня 2020 года крупнейший в России хостинг-провайдер и регистратор доменов Reg.RU и старейший удостоверяющий центр GlobalSign обнародовали исследование, в котором рассказали о лидирующих странах-пользователях SSL-сертификатов, а также о том, как менялся мировой рынок в момент пандемии коронавируса COVID-19.

Россия попала в десятку стран по количеству используемых SSL-сертифиатов — их число в марте 2020 года составило 1 476 822, в марте оно упало до 1 297 920. В апреле показатель достиг 1 325 999 сертификатов. Несмотря на сложность прогнозирования в текущей ситуации, последние 4 года продолжает прослеживаться значительная динамика роста SSL-сертификатов по всем странам, говорится в докладе.

Россия в десятке стран по количеству валидных SSL

Первенство по количеству сайтов продолжает удерживать США. К списку традиционных лидеров крупнейших стран Западной Европы в этом году присоединилась Япония, занявшая 3-е место. Также в этом году в топ-10 стран вошёл Китай, замыкая список лидеров. Россия продолжает занимать 9-ю строчку рейтинга, оставив позади Италию, Австрию, Швейцарию и Испанию.

В топ-5 удостоверяющих центров по количеству выпущенных SSL в .RU входят:

  • Let’s Encrypt (960000);
  • Cloudflare (110000);
  • DigiCert (85000);
  • GlobalSign (75000);
  • Sectigo (55000).

Значительный перевес Let’s Encrypt связан с возможностью получать там бесплатные SSL-сертификаты сроком до 90 дней.

В .RU больше всего сертификатов со сроком действия менее года (81%) и 1 год (18%). Наиболее популярен формат использования одного SSL-сертификата для одного домена, их число превышает 1 млн. Но мультидоменные сертификаты (SAN) тоже востребованы. Так, в сумме количество тех, которые приходятся на 3-10 доменов, составляет около 80 тысяч.

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

How does HTTPS and SSL work?

HTTP is not a separate protocol from HTTPS. Rather, HTTPS works by establishing a secure HTTP connection using SSL. Hence, the protocol stacks for HTTP and HTTPS look similar:

Layer HTTP Protocol Stack HTTPS Protocol Stack
Application Layer HTTP HTTP
Security Layer SSL (TLS)
Transport Layer TCP TCP
Network Layer IP IP
Data Link Layer Network Interfaces Network Interfaces

The only difference is that HTTPS runs over SSL. To create this secure internet connection, an SSL certificate is installed on a web server. The SSL certificate authenticates an organization’s identity to activate the HTTPS protocol so that data can be passed securely from a web server to a web browser.

Как усилить безопасность SSL, TLS

Бывает так, что сертификат установлен, а тестирование ssllabs показывает не лучший грейд безопасности.
Чтобы добиться заветного , нужно правильно настроить NGINX.
Для этого, сначала запускаем следующую команду, которая сгенерирует нужные ключи для Forward Secrecy (прямая секретность означает, что если третья сторона узнает какой-либо сеансовый ключ, то она сможет получить доступ только к тем к данным, что защищены этим ключом, не более):

openssl dhparam -out /etc/letsencrypt/dhparam.pem 2048

Затем, необходимо присутствие следующих записей в конфигурации сервера:

server {
  server_name sheensay.ru www.sheensay.ru;

  ssl_session_cache   shared:SSL:10m; # Разделяемый между всеми процесами кеш сессий на 10 байт с названием SSL. 1 Мб вмещает около 4000 сессий
  ssl_session_timeout 10m; # 10 минут - максимальное время жизни сессии

  add_header Strict-Transport-Security "max-age=31536000;"; # Заголовок, принудительно включающий защищённое соединение, минуя небезопасный HTTP

  # Заголовок Content Security Policy - отвечает за то, что считать безопасным подгружаемым контентом на странице
  add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline' *.yandex.ru; style-src https: 'unsafe-inline' fonts.googleapis.com; img-src https: data:; font-src https: data: fonts.googleapis.com; child-src https: www.youtube.com; report-uri /csp-report";

  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_trusted_certificate /etc/letsencrypt/live/sheensay.ru/chain.pem; # домен меняете на свой
  resolver 8.8.4.4 8.8.8.8 valid=300s;
  resolver_timeout 10s;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!EXP:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
  ssl_prefer_server_ciphers on;

  ### Чтобы у нас заработал Forward Secrecy, сгенерируем ключ командой ниже:
  ## openssl dhparam -out /etc/letsencrypt/dhparam.pem 2048
  ### После генерации расскомментируем строку ниже
  ssl_dhparam /etc/letsencrypt/dhparam.pem;
  
  ### Дальше другие настройки сервера
  ### ...

После всех манипуляций, не забудьте перезагрузить NGINX

service nginx reload

Виды SSL-сертификатов в зависимости от количества доменов.

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

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

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

Где купить SSL-сертификат

Платные SSL выпускают разные центры сертификации, самые распространенные: Comodo, IdenTrust, Symantec Group, GeoTrust.

Перед покупкой выберите, какой тип сертификата вам нужен, они бывают:

  1. С защитой домена. Подходят небольшим сайтам, не требуют долгих проверок, выпускаются в среднем за 15-30 минут.
  2. С защитой субдомена (Wildcard SSL). Защищает основной домен (www.site.ru) и его субдомены (www.m.site.ru или www.blog.site.ru).
  3. С проверкой организации. Подтверждает легальность бизнеса. Стоит дороже, чем первые 2 вида, выпускается дольше, так как требует дополнительных проверок.
  4. С зеленой строкой. Самый дорогой вид SSL, его используют крупные компании, транснациональные корпорации, некоторые банки и госучреждения. Название компании указано в адресной строке, а сама строка подсвечена зеленым.

Чаще всего сертификат можно купить там же на хостинге либо на сайте выбранного центра сертификации. Но на хостинге проще и можно попросить помощь у техподдержки + обычно у каждого хостера есть подробная инструкция по выпуску и установке сертификата.

Протокол TLS

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

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

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

Настройка SSL, TLS в NGINX

Открываем конфигурационный файл вашего сайта.
Если NGINX настроен как , то конфигурационный файл может быть расположен тут:

Для уменьшения загрузки процессора рекомендует

  • установить число рабочих процессов равным числу процессоров,
  • разрешить keep-alive соединения,
  • включить разделяемый кэш сессий,
  • выключить встроенный кэш сессий
  • и, возможно, увеличить время жизни сессии (по умолчанию 5 минут):

Изменения я буду комментировать

# Создаём отдельный server для перенаправления с 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
}

# А это основной сервер с https
server {
  server_name example.com www.example.com;  # Копируем из верхнего сервера
  listen 1.2.3.4:443 ssl http2; #вместо 1.2.3.4 вставляете IP своего сервера. http2 включчает поддержку протокола http/2

  ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # Сертификат
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # Ключ

  # Рекомендации по кешированию запросов
  keepalive_timeout   70; # 70 секунд держим соединение открытым
  keepalive_requests 150; # 150 запросов максимум на 1 соединение, после закрываем
  ssl_session_cache   shared:SSL:10m; # Разделяемый между всеми процесами кеш сессий на 10 байт с названием SSL. 1 Мб вмещает около 4000 сессий
  ssl_session_timeout 10m; # 10 минут - максимальное время жизни сессии

  # А строки ниже - для усиления безопасности соединения
  ssl_prefer_server_ciphers on; # Указывает, чтобы при использовании протоколов SSLv3 и TLS серверные шифры были более приоритетны, чем клиентские
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA; # Типы шифров
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Разрешённые типы протоколов

... # Тут остальные правила NGINX

Сохранили, проверили, перезагрузили

nginx -t && service nginx reload

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

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[править]

Работу протокола можно разделить на два уровня:

  • Слой протокола подтверждения подключения (Handshake Protocol Layer)
  • Слой протокола записи

Первый слой, в свою очередь, состоит из трех подпротоколов:

  • Протокол подтверждения подключения (Handshake Protocol)
  • Протокол изменения параметров шифра (Cipher Spec Protocol)
  • Предупредительный протокол (Alert Protocol)

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

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

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

Протокол записиправить

Протокол записи (Record Layer) — это уровневый протокол. На каждом уровне сообщения включают поля для длины, описания и проверки. Протокол записи принимает сообщения, которые нужно передать, фрагментирует данные в управляемые блоки, разумно сжимает данные, применяя MAC (message authentication code), шифрует и передаёт результат. Полученные данные он расшифровывает, проверяет, распаковывает, собирает и доставляет к более верхним уровням клиента.

Существует четыре протокола записи:

  • Протокол рукопожатия (handshake protocol);
  • Протокол тревоги (alert protocol);
  • Протокол изменения шифра (the change cipher spec protocol);
  • Протокол приложения (application data protocol);

Тип SSL-сертификата.

Различают 3 типа: DV, OV, EV. Что это означает? что именно проверяет сертификационный центр перед подписью сертификата; под чем именно центр подписывается.

DV— означает, что центр убедился, что лицо, которому выдан сертификат, имеет доступ к управлению доменом, на котором этот сертификат стоит. Собственно это всё. Кто этот владелец и что у него на уме, центр не знает 🙂 Такой сертификат обычно самый дешевый или вовсе бесплатный.

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

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

Также сертификаты могут различаться по количеству доменов, которые они защищают.

1d — защищает 1 домен;
1d+www — защищает домен и www.домен;
wildcard — защищает домен и все его поддомены.

Поисковые системы Google и Яндекс считают наличие SSL сертификата атрибутом качества сайта.
Об этом мы подробно рассказали в статье Как защитить сайт от взлома?

Спецификация

SSL-сертификаты, как файлы данных в цифровом формате, связывают криптографический ключ с данными организации, такими как:

  • имя домена, сервера или хоста;
  • организационная принадлежность и местоположение.

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

Когда сертификат успешно установлен, протокол приложения изменится на HTTPS, где «S» означает «безопасный». В зависимости от типа сертификата, браузер будет показывать значок замка или зеленую полосу при посещении сайта, содержащего сертификат SSL.

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

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

Adblock
detector