TLS и SSL: Необходимый минимум знаний. Что нужно чтобы получить? Что такое соединение в ssl

Что такое SSL ? SSL является аббревиатурой для Secure Sockets Layer . Это тип цифровой безопасности, которая позволяет зашифровать связь между веб-сайтом и веб-браузером. Технология в настоящее время устарела и полностью заменена TLS.

Что такое TLS ? Это означает Transport Layer Security и обеспечивает конфиденциальность данных так же, как и SSL. Поскольку SSL фактически больше не используется, это правильный термин, который люди должны начать использовать.

Что таоке HTTPS ? Это безопасное расширение HTTP. Веб-сайты, устанавливающие и настраивающие SSL/TLS-сертификат, могут использовать протокол HTTPS для установления безопасного соединения с сервером.

  • Цель SSL/TLS - сделать соединение безопасным для передачи конфиденциальной информации, включая личные данные, информацию о платеже или регистрации.
  • Это альтернатива простой передаче текстовых данных, в которой ваше соединение с сервером не зашифровано, и это затрудняет мошенникам и хакерам отслеживание соединения и кражу ваших данных.
  • Большинство людей знают, что такое SSL/TLS. Это сертификаты, которые используются веб-мастерами для защиты своих веб-сайтов и обеспечения безопасного доступа для людей к транзакциям.
  • Вы можете определить, использует ли веб-сайт сертификат безопасности, потому что рядом с URL-адресом в адресной строке появится значок маленького замочка.

В этом руководстве вы узнаете:

Как работают сертификаты SSL/TLS?

Сертификаты SSL/TLS работают путём цифровой привязки криптографического ключа к идентифицирующей информации компании. Это позволяет им шифровать передачу данных таким образом, что они не могут быть расшифрованы третьими лицами.

SSL/TLS работает, имея как частный, так и открытый ключ, а также ключи сеанса для каждого уникального безопасного сеанса. Когда посетитель вводит защищённый SSL-адрес в свой веб-браузер или переходит на безопасную страницу, браузер и веб-сервер устанавливают соединение.

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

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

Когда и почему SSL/TLS необходимы?

SSL/TLS является обязательным, когда передаётся конфиденциальная информация, такая как имена пользователей и пароли или информация о платёжной обработке.

Цель SSL/TLS состоит в том, чтобы убедиться, что только один человек - лицо или организация, утверждённое пользователем, может получить доступ к передаваемым данным. Это особенно важно, когда вы думаете о том, между сколькими устройствами и серверами передаются данные до того, как они достигнут своего пункта назначения.

Существует три основных варианта использования SSL/TLS для вашего веб-сайта:

  • Когда вам нужна аутентификация: любой сервер может претендовать на роль вашего сервера, захватив информацию, которую люди передают. SSL/TLS позволяет вам подтвердить личность вашего сервера, чтобы люди знали, что вы являетесь тем, кем вы говорите.
  • Чтобы внушить доверие: если вы используете сайт электронной коммерции или спрашиваете пользователей о том, какие данные важны для них, вы должны поддерживать чувство доверия. Использование сертификата SSL/TLS является видимым способом показать посетителям, что они могут вам доверять, и это намного эффективнее всего, что вы могли бы сказать о себе.
  • Когда вам нужно соблюдать отраслевые стандарты: в некоторых отраслях, таких как финансовая, вам необходимо будет поддерживать определённые базовые уровни безопасности. Существуют также правила в области платёжных карт (PCI), которых необходимо придерживаться, если вы хотите принять информацию о кредитной карте на своём веб-сайте. И одним из этих требований является использование сертификата SSL/TLS.

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

Влияет ли SSL/TLS на SEO?

Короткий ответ: да .

Google внёс изменения в свой алгоритм еще в 2014 году, чтобы определить приоритеты веб-сайтов, которые использовали SSL-сертификат, и с тех пор они продолжают уделять особое внимание сертификатам SSL. Они официально заявили, что сайты со статистикой SSL обойдут сайты без таковой , чтобы все остальные факторы были равны, и хотя защищённые сайты составляют только 1% результатов, 40% запросов возвращают хотя бы один защищённый SSL сайт на первую страницу.

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

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

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

Какое отношение имеют SSL/TLS к HTTPS?

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

URL-адресам предшествует либо HTTP (Hypertext Transfer Protocol) , либо протокол HTTPS (Hypertext Transfer Protocol Secure) . Это эффективно определяет, как передаются любые данные, которые вы отправляете и получаете.

SSL/TLS не требуют огромных затрат. Найдите с Hostinger!

Это означает, что другой способ определить, использует ли сайт сертификат SSL, - это проверить URL-адрес и посмотреть, содержит ли он HTTP или HTTPS. Это связано с тем, что для соединений HTTPS требуется сертификат безопасности SSL.

Chrome указывает, использует ли сайт SSL/TLS

В большинстве основных браузеров, включая Google Chrome, Firefox и Microsoft Edge, наличие безопасного соединения будет заметно отображаться при доступе пользователей к сайту. Например, в Chrome вы увидите значок зелёного замочка в адресной строке рядом с сообщением Безопасный . Пользователи могут просмотреть более подробную информацию о сертификате SSL, щёлкнув по нему.

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

Как добавить SSL/TLS на свой сайт?

Добавление SSL/TLS-сертификата на ваш сайт может быть запутанным и должно быть предпринято только профессионалом. Вы должны знать, есть ли у вас статья в бюджете на того, кто в этом разбирается.

После того, как ваш сертификат готов, вы можете , вставив фрагмент кода в ваш файл .htaccess .

После того, как ваш SSL-сертификат был приобретён и установлен, вам всё равно нужно будет изменять настройки на панели инструментов WordPress (или использовать один из вышеупомянутых плагинов).

Хорошей новостью является то, что всё, что вам нужно сделать, это войти в WordPress и перейти в Настройки>Общие . Прокрутите вниз до полей WordPress Address (URL) и Site Address (URL) и измените их с HTTP на HTTPS . Обязательно сохраните изменения и проверьте свой сайт, чтобы убедиться, что всё работает как нужно.

Вывод

Что такое SSL ? Это означает Secure Sockets Layer (в то время как TLS поддерживает Transport Layer Security ) и показывает посетителям, что они могут безопасно передавать конфиденциальную информацию на сервер и с сервера. Он шифрует все передачи данных таким образом, что они не могут быть расшифрованы третьими сторонами, такими как хакеры и мошенники.

Вы можете узнать, использует ли веб-сайт SSL/TLS по значку висячего замочка или зелёной полосе в верхней части браузера. Обычно вы можете щёлкнуть по значку в своём браузере, чтобы узнать, кому принадлежит сертификат.

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

И, конечно, если вам нужна помощь при запуске сертификата SSL или если вы хотите воспользоваться пожизненной безопасностью SSL, свяжитесь с нами. Мы будем рады помочь!

Автор

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

SSL (Secure Sockets Layer - уровень защищенных сокетов) представляет собой криптографический протокол, который обеспечивает защищенную передачу информации в Интернете.

Чаще всего протокол SSL используется с самым распространенным протоколом передачи гипертекста – http. О наличии защищенного соединения свидетельствует суффикс «s» – протокол будет называться https. Стандартный порт http – 80, а https – 443.

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


Протокол Secure Sockets Layer позволяет передавать зашифрованную информацию по незасекреченным каналам, обеспечивая надежный обмен между двумя приложениями, работающими удаленно. Протокол состоит из нескольких слоев. Первый слой – это транспортный протокол TCP, обеспечивающий формирование пакета и непосредственную передачу данных по сети. Второй слой – это защитный SSL Record Protocol. При защищенной передаче данных эти два слоя являются обязательными, формируя некое ядро SSL, на которое в дальнейшем накладываются другие слои. Например, это может быть SSL Handshake Protocol, позволяющий устанавливать соответствие между ключами и алгоритмами шифрования. Для усиления защиты передаваемой информации на SSL могут накладываться другие слои.


Для шифрования данных используются криптографические ключи различной степени сложности – 40-, 56- и 128-битные. Показатель количества бит отражает стойкость применяемого шифра, его надежность. Наименее надежными являются 40-битные ключи, так как методом прямого перебора их можно расшифровать в течение 24 часов. В стандартном браузере Internet Explorer по умолчанию используются 40- и 56-битные ключи. Если же информация, передаваемая пользователями, слишком важна, то используется 128-битное шифрование. 128-битные криптографические ключи предусмотрены только для версий, поставляемых в США и Канаду. Для того, чтобы обеспечить надежную защиту, вам следует загрузить дополнительный пакет безопасности - security pack.


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


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


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

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

Сделать хороший сайт непросто, продающий - и того сложнее.

Нужно думать над позиционированием, писать статьи, подбирать иллюстрации.

Это крупные и важные задачи.

Но есть в работе над сайтом мелочи.

Они кажутся формальностью, и отвлекаться на них не хочется.

Забудет о них владелец сайта, а потом это выходит боком.

Одна из таких мелочей - SSL-сертификат.

Казалось бы, зачем он. Говорят, для защиты, но кому нужен мой сайт, брать-то там еще нечего. Так ведь?

Так, да не так. SSL-сертификат нужен для перевода сайта на защищенное соединение (HTTPS).

А оно действительно снижает риск самых разных видов мошенничества в сети.

Именно поэтому все больше сайтов переходят на него.

В России кампанию поддерживает Яндекс: HTTPS как знак качества сайта .

В связи с этим возникает еще два основания для перехода на безопасное соединение.

SSL заслуживает доверия пользователей

Чтобы склонить веб-мастеров использовать безопасный протокол, Яндекс и Google встраивают особые уведомления в свои браузеры.

Если SSL не установлен, и при этом сайт собирает чувствительные данные, браузеры заблокируют доступ к нему.

Пользователи уходят, когда видят эти уведомления.

Так отсутствие SSL снижает посещаемость и заработок с сайта .

SSL-сертификат приносит преимущества SEO

Поисковики повышают сайты с SSL в поисковой выдаче.

Google считает HTTPS сигналом ранжирования с 2014 года , Яндекс объявил об этом в 2019 году .

Имейте в виду, это только один из многих факторов.

Когда нужен SSL-сертификат

Поговорим о конкретных ситуациях, в которых необходимо безопасное соединение.

Итак, когда нужен SSL-сертификат.

Если сайт собирает данные кредитных карт

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

SSL предотвращает утечку информации.

К тому же люди заботятся о своей безопасности.

Они не станут платить на Вашем сайте или оставлять контакты, если браузер поставит рядом с адресом сайта пометку «Не защищено».

Если Ваш сайт использует формы для сбора логинов и паролей

Для доступа к Вашему сайту посетителям надо оставить логин и пароль?

Если так, Вам нужен SSL-сертификат, чтобы убедиться, что никто не украдет их пароли или не получит доступ к их профилю.

Вам нужно обеспечить эту безопасность, даже если Ваш сайт не содержит чувствительной информации.

Большинство людей используют одинаковые пароли (или вариации одного) для множества сайтов.

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

Если Вы хотите сохранить Ваших пользователей

Ярлык «Не защищено» отпугивает современных интернет-пользователей.

Таким образом, если Вы хотите, чтобы Ваши посетители оставались на Вашем сайте, Вам нужно получить SSL.

Google Ghrome помечает все HTTP-сайты как небезопасные.

Если Вы не хотите помогать мошенникам

Все УЦ должны действовать в соответствии с ними.

Расширенная проверка проводится вручную, поэтому такой SSL стоит дорого.

Цены начинаются от 11500 рублей в год (около 4500 грн).

Проверка организации (Organization Validation, OV).

OV-сертификаты предоставляют следующий уровень доверия.

Он подтверждает права организации на использование доменного имени и ее существование.

Браузеры помечают сайты с OV-сертификатом замком.

Нажав на него, можно увидеть расширенные данные об организации.

Как пример, информационный сайт Сбербанка:

УЦ обычно проверяют заявителей на определенном уровне.

Например, по телефону, обращаясь к третьим лицам или организациям.

OV-сертификат выпускается с частично ручной проверкой, поэтому они стоят дешевле, чем EV.

Цены начинаются от 4500 рублей (около 1700 грн) в год.

Проверка домена (Domain Validation, DV).

Предоставляет нижний уровень доверия.

DV-сертификаты только демонстрируют, что домен принадлежит тому, кто запросил сертификат.

Доступны юридическим и физическим лицам.

Конечные пользователи видят информацию только о шифровании, не об организации.

Вот обычный сайт по продаже штор.

Процесс проверки обычно полностью автоматизирован.

Так, если сертификат покупается для использования на www.mydomain.com, он не может быть использован на mail.mydomain.com или www.otherdomain.com.

Если нужно защитить несколько поддоменов, можно купить Wildcard-сертификат. Он покрывает все поддомены.

Например, Wildcard-сертификат для *.mydomain.com может быть использован для:

  • mail.mydomain.com
  • www.mydomain.com
  • ftp.mydomain.com
  • и др.

Он не может быть использован для защиты mydomain.com and myotherdomain.com.

Бесплатные Wildcard-сертификаты выдает Let’s Encrypt.

Чтобы защитить несколько разных доменных имен одним сертификатом, понадобится сертификат с SAN (Subject Alternative Name).

Он позволит защитить четыре дополнительных доменных имени.

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

  • www.mydomain.com
  • www.mydomain.org
  • www.mydomain.net
  • www.mydomain.co
  • www.mydomain.co.uk

Сертификаты с поддержкой разных имен стоят дорого.

Иногда выгоднее купить несколько SSL с поддержкой одного домена.

Какой сертификат выбрать

Если у Вас информационный сайт с поддоменами и Вы не собираете персональные данные - подойдет бесплатный Wildcard-сертификат от Let’s Encrypt.

Если у Вас сайт организации и Вам важно доверие (например, портал инвестиционной компании) - подойдет EV-сертификат.

Если у Вас банк или крупный интернет-магазин с миллионами пользователей - Вам нужен EV-сертификат.

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

Процедура несложная, но отнимет пару часов.

Придется разобраться с технической частью самому или обратиться за помощью к профессионалам.

Если решите подключить SSL высокого уровня доверия, то его сначала надо будет купить.

Удостоверяющие центры

Обязательный участник процесса - удостоверяющий центр (или центр сертификации).

Как мы уже упоминали, это организация, которая выпускает и отзывает цифровые сертификаты.

УЦ подписывают SSL-сертификаты корневым сертификатом (CA certificate).

Корневые сертификаты устанавливаются во все популярные браузеры.

Именно поэтому браузеры могут распознать сайт с «хорошим SSL» и поставить рядом с его адресом замочек.

Корневые сертификаты выдают следующие центры сертификации: Comodo , Thawte , Symantec , GeoTrust , RapidSSL и другие.

Особой разницы, в каком из этих УЦ выпускать SSL, нет.

Исключение - Let’s Encrypt. Он выдает бесплатные SSL.

Купить цифровой сертификат

Купить SSL можно не только в центре сертификации.

SSL перепродают хостинг-провайдеры. Например,Ru-Center , Reg.ru , Макхост .

Узнайте, есть ли у Вашего провайдера такая услуга.

Она может стоить дороже, зато сотрудники поддержки помогут установить SSL и настроить HTTPS.

Есть и другие реселлеры и даже агрегаторы SSL. Например, LeaderSSL , FirstSSL , ISPsystem .

Здесь могут быть ниже цены - из-за скидок, которые агрегаторы получают за объем.

Кроме того, они помогают с выпуском SSL с высоким уровнем доверия: при расширенной проверке возникают проблемы, а у агрегаторов больше опыта в их разрешении.

Выберите продавца SSL, исходя из своих предпочтений.

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

После оплаты услуги надо отправить запрос на выпуск SSL.

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

Если нужен простой SSL с проверкой домена, то будет достаточно электронной почты на домене.

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

После заполнения данных продавец сгенерирует CSR-запрос и приватный ключ.

После этого останется только дождаться активации сертификата.

Для SSL уровня DV она проходит до двух дней. Сертификаты уровня EV и DV выдают дольше.

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

Установить цифровой сертификат

Когда УЦ закончит проверку, на указанную почту придут данные для установки SSL-сертификата: сам сертификат, корневой сертификат, промежуточный сертификат и приватный ключ.

Теперь все это надо установить на хостинг или сервер, где размещается сайт.

Попросите помочь поддержку продавца или воспользуйтесь инструкциями контрольных панелей: cPanel , Plesk , ISPmanager .

Когда SSL установлен, сайт автоматически начнет работать по HTTPS.

При этом протокол HTTP тоже продолжит работать.

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

Сделайте это, следуя инструкциям контрольных панелей.

Если Вам помогали сотрудники провайдера, то они наверняка уже позаботились об этом.

Обратите внимание! При переходе на HTTPS меняется адрес сайта. Поисковики Яндекс и Google рассматривают сайт с новым адресом как новый. Соответственно, они могут понизить сайт в результатах поиска.

Бесплатный сертификат от Let’s Encrypt

Они автоматически запрашивают, устанавливают и обновляют SSL-сертификаты.

Чтобы установить бесплатный SSL, изучите инструкцию на сайте Let’s Encrypt или обратитесь за помощью к своему хостинг-провайдеру.

Запомните

  1. SSL-сертификат необходим практически каждому сайту.
  2. Он защищает посетителей, повышает доверие и дает дополнительные очки в SEO.
  3. Кроме защиты данных у SSL есть еще одна функция - обозначать уровень доверия к владельцу сайта. От уровня доверия зависит вид SSL-сертификата.
  4. Если уровень доверия не важен, установите бесплатный SSL от Let’s Encrypt.

В утилите sudo, используемой для организации выполнения команд от имени других пользователей, выявлена уязвимость (CVE-2019-18634), которая позволяет повысить свои привилегии в системе. Проблема […]

Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]

После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]

  • Новые функции в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]

  • Вышел дистрибутив Linux Mint 19.2

    Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]

  • Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]

    Exim — агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]

    После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]

    Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]

    Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]

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

    Что такое SSL и TLS

    Secure Socket Layer или ssl это, технология, призванная сделать доступ к сайтам более надежным и безопасным. Сертификат шифрования позволяет, надежно защитить трафик, передаваемый между браузером пользователя и веб ресурсом (сервером), к которому браузер обращается, все это происходит за счет протокола https. Сделано, это все после того, как бурное развитие интернета привело к огромному количеству сайтов и ресурсов, которые требуют от пользователя ввод личных, персональных данных:

    Именно эти данные и являются добычей для хакеров, сколько уже было громких дел, с кражей персональной информации и сколько еще будет, ssl сертификат шифрования, призван это минимизировать. Разработкой технологии SSL выступила компания Netscape Communications, позднее она представила Transport Layer Security или проще TLS, это протокол основанный по спецификации SSL 3.0. И Secure Socket Layer и Transport Layer Security призваны обеспечить передачу данных между двумя узлами по интернету.

    SSL и TLS не имеют принципиальных различий в своей работе, могут даже быть использованы на одном сервере одновременно, делается это исключительно из соображений обеспечения работы новых устройств и браузеров, так и устаревших, где Transport Layer Security не поддерживается.

    Если рассматривать современный интернет, то там в качестве сертификата безопасности сервера и шифрования используется TLS, просто знайте это

    Для примера откройте сайт Яндекса, я это делаю в Google Chrome, там на против адресной строки есть значок замка, щелкаем по нему. Тут будет написано, что подключение к веб-сайту защищено и можно нажать подробнее.

    сразу видим значок Secure TLS connection, как я и говорил, большая часть интернет ресурсов именно на этой технологии. Давайте посмотрим сам сертификат, для этого жмем View certificate.

    В поле о сведениях о сертификате видим его предназначение:

    1. Обеспечивает получение идентификации от удаленного компьютера
    2. Подтверждает удаленному компьютеру идентификацию вашего компьютера
    3. 1.2.616.1.113527.2.5.1.10.2

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

    • SSL 1.0 > данная версия в народ так и не попала, причины, возможно нашли его уязвимость
    • SSL 2.0 > эта версия ssl сертификата была представлена в 1995 году, на стыке тысячелетий, она так же была с кучей дыр безопасности, сподвигнувшие компанию Netscape Communications к работе над третье версией сертификата шифрования
    • SSL 3.0 > пришел на смену SSL 2.0 в 1996 году. Стало это чудо развиваться и в 1999 году крупные компании Master Card и Visa купили коммерческую лицензию на его использование. Из 3.0 версии появился TLS 1.0
    • TLS 1.0 > 99 год, выходит обновление SSL 3.0 под названием TLS 1.0, проходит еще семь лет, интернет развивается и хакеры не стоят на месте, выходит следующая версия.
    • TLS 1.1 > 04.2006 это его отправная точка, было исправлено несколько критичных ошибок обработки, а так же появилась защита от атак, где делался режим сцепления блоков шифротекста
    • TLS 1.2 > появился в августе 2008
    • TLS 1.3 > появится в конце 2016 года

    Принцип работы TLS и SSL

    Давайте разбираться как работает протоколы SSL и TLS. Начнем с основ, все сетевые устройства имеют четко прописанный алгоритм общения друг с другом, называется он OSI, который порезан на 7 уровней. В ней есть транспортный уровень отвечающий за доставку данных, но так как модель OSI это некая утопия, то сейчас все работаю по упрощенной модели TCP/IP, из 4 уровней. Стек TCP/IP, сейчас стандарт передачи данных в компьютерных сетях и он включает в себя, большое количество известных вам протоколов прикладного уровня:

    Список можно продолжать очень долго, так их более 200 наименований. Ниже представлена схема сетевых уровней.

    Ну и схема стека SSL/TLS, для наглядности.

    Теперь все тоже самое простым языком, так как не всем понятны эти схемы и принцип работы ssl и tls не понятен. Когда вы открываете например мой блог сайт, то вы обращаетесь по прикладному протоколу http, при обращении сервер видит вас и передает на ваш компьютер данные. Если это представить схематично, то это будет простая матрешка, прикладной протокол http, кладется в стек tcp-ip.

    Если бы на сайт стоял бы сертификат шифрования TLS, то матрешка протоколов была бы посложнее и выглядела бы вот так. Тут прикладной протокол http, кладется в SSL/TLS, который в свою очередь кладется в стек TCP/IP. Все тоже самое, но уже зашифровано, и если хакер перехватит эти данные по пути их передачи, то получит всего навсего цифровой мусор, а вот расшифровать данные может только та машина, которая устанавливала соединение с сайтом.

    Этапы установки соединения SSL/TLS


    Вот еще одна красивая и наглядная схема создания защищенного канала.

    Установка соединения SSL/TLS на уровне сетевых пакетов

    На иллюстрации, черные стрелки показывают сообщения, которые отправляются открытым текстом, синие - это сообщения, подписанные открытым ключом, а зеленые - это сообщения, отправленные с помощью шифрования объёмных данных и того MAC, о которых стороны договорились в процессе переговоров.

    Ну и подробно про каждый этап обмена сетевых сообщений протоколов SSL/TLS.

    • 1. ClientHello > пакет ClientHello делает предложение со списком поддерживаемых версий протоколов, поддерживаемые наборы шифров в порядке предпочтения и список алгоритмов сжатия (обычно NULL). Еще от клиента приходит случайное значение 32 байта, его содержимое указывает отметку текущего времени, его позже будут использовать для симметричного ключа и идентификатора сессии, который будет иметь значение ноль, при условии, что не было предыдущих сессий.
    • 2. ServerHello > пакет ServerHello, отсылается сервером, в данном сообщении идет выбранный вариант, алгоритма шифрования и сжатия. Тут так же будет случайное значение 32 байта (отметка текущего времени), его также используют для симметричных ключей. Если ID текущей сессии в ServerHello имеет значение ноль, то создаст и вернёт идентификатор сессии. Если в сообщении ClientHello был предложен идентификатор предыдущей сессии, известный данному серверу, то протокол рукопожатия будет проведён по упрощённой схеме. Если клиент предложил неизвестный серверу идентификатор сессии, сервер возвращает новый идентификатор сессии и протокол рукопожатия проводится по полной схеме.
    • 3.Certificate (3) > в данном пакете сервер отправляет клиенту свой открытый ключ (сертификат X.509), он совпадает с алгоритмом обмена ключами в выбранном наборе шифров. Вообще можно сказать в протоколе, запроси открытый ключ в DNS, запись типа KEY/TLSA RR. Как я писал выше этим ключом будет шифроваться сообщение.
    • 4. ServerHelloDone > Сервер говорит, что сессия установилось нормально.
    • 5. ClientKeyExchange > Следующим шагом идет отсылка клиентом ключа pre-master key, используя случайные числа (или отметки текущего времени) сервера и клиента. Данный ключ (pre-master key) как раз и шифруется открытым ключом сервера. Данное сообщение может расшифровать только сервер, с помощью закрытого ключа. Теперь оба участника вычисляют общий секретный ключ master key из ключа pre-master.
    • 6. ChangeCipherSpec - клиент > смысл пакета, указать на то, что теперь весь трафик, который идет от клиента, будет шифроваться, с помощью выбранного алгоритма шифрования объёмных данных и будет содержать MAC, вычисленный по выбранному алгоритму.
    • 7. Finished - клиент > Это сообщение содержит все сообщения, отправленные и полученные во время протокола рукопожатия, за исключением сообщения Finished. Оно шифруется с помощью алгоритма шифрования объемных данных и хэшируется с помощью алгоритма MAC, о которых договорились стороны. Если сервер может расшифровать и верифицировать это сообщение (содержащее все предыдущие сообщения), используя независимо вычисленный им сеансовый ключ, значит диалог был успешным. Если же нет, на этом месте сервер прерывает сессию и отправляет сообщение Alert с некоторой (возможно, неконкретной) информацией об ошибке
    • 8. ChangeCipherSpec - сервер > пакет, говорит, что теперь весь исходящий трафик с данного сервера, будет шифроваться.
    • 9.Finished - сервер >Это сообщение содержит все сообщения, отправленные и полученные во время протокола рукопожатия, за исключением сообщения Finished
    • 10. Record Protocol (протокол записи) > теперь все сообщения шифруются ssl сертификатом безопасности

    Как получить ssl сертификат безопасности

    Давайте теперь поймем где взять сертификат шифрования, или как получить ssl сертификат безопасности. Способов конечно несколько, есть как платные, так и бесплатные.

    Бесплатный способ получить tls сертификат безопасности

    Этот способ, подразумевает использование самоподписного сертификата (self-signed), его можно сгенерировать на любом веб-сервере с ролью IIS или Apache. Если рассматривать современные хостинги, то в панелях управления, таких как:

    • Directadmin
    • ISPmanager
    • Cpanel

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

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

    Давайте смотреть как можно получить ssl сертификат безопасности, для этого формируется запрос на выпуск сертификата, называется он CSR запрос (Certificate Signing Request). Делается это чаще всего у специальной компании в веб форме, которая спросит вас несколько вопросов, про ваш домен и вашу компанию. Как только вы все внесете, сервер сделает два ключа, приватный (закрытый) и публичный (открытый). Напоминаю открытый ключ не является конфиденциальным, поэтому вставляется в CSR запрос. Вот пример Certificate Signing Request запроса.

    Все эти не понятные данные легко можно интерпретировать специальными CSR Decoder сайтами.

    Примеры двух сайтов CSR Decoder:

    • http://www.sslshopper.com/csr-decoder.html
    • http://certlogik.com/decoder/

    Состав CSR запроса

    • Common Name: доменное имя, которое мы защищаем таким сертификатом
    • Organization: название организации
    • Organization Unit: подразделение организации
    • Locality: город, где находится офис организации
    • State: область или штат
    • Country:двухбуквенный код, страны офиса
    • Email: контактный email технического администратора или службы поддержки

    Как только Certificate Signing Request сгенерирован, можно начинать оформлять заявку на выпуск сертификата шифрования. Центр сертификации будет производить проверку, всех данных указанных вами в CSR запросе, и если все хорошо, вы получите свой ssl сертификат безопасности и вы его сможете использовать для https. Теперь ваш сервер, автоматом сопоставит выпущенный сертификат, со сгенерированным приватным ключом, все вы можете шифровать трафик подключения клиента к серверу.

    Что такое центр сертификации

    Что такое CA - Certification Authority или центр сертификации, читайте по ссылке слева, я подробно рассказал об этом там.

    Какие данные содержит в себе SSL сертификат

    В сертификате хранится следующая информация:

    • полное (уникальное) имя владельца сертификата
    • открытый ключ владельца
    • дата выдачи ssl сертификата
    • дата окончания сертификата
    • полное (уникальное) имя центра сертификации
    • цифровая подпись издателя

    Какие существуют виды SSL сертификатов шифрования

    Основных видов сертификатов безопасности три:

    • Domain Validation - DV > Это сертификат шифрования, который только подтверждает доменное имя ресурса
    • Organization Validation - OV > Это сертификат шифрования, который подтверждает организацию и домен
    • Extendet Validation - EV > Это сертификат шифрования, который имеет расширенную проверку

    Назначение Domain Validation - DV

    И так сертификаты шифрования, подтверждающие только домен ресурса, это самые распространенные в сети сертификаты, их делают всех быстрее, автоматически. Когда вам нужно проверить такой сертификат безопасности, отправляется email с гиперссылкой, кликая по которой подтверждается выпуск серта. Хочу отметить, что письмо вам отправят, только не подтвержденный email (approver email), указанный при заказе сертификата шифрования.

    approver email так же имеет требования, логично, что если вы заказываете сертификаты шифрования для домена, то и электронный ящик должен быть из него, а не mail или rambler, либо он должен быть указан в whois домена и еще одно требование название approver email, должно быть по такому шаблону:

    • webmaster@ваш домен
    • postmaster@ваш домен
    • hostmaster@ваш домен
    • administrator@ваш домен
    • admin@

    Я обычно беру ящик postmaster@ваш домен

    Сертификат tls-ssl подтверждающие доменное имя выпускаются, когда CA произвел валидацию того, что заказчик обладает правами на доменное имя, все остальное, что касается организации в сертификате не отображается.

    Назначение Organization Validation - OV

    Сертификаты шифрования tls-ssl, будет содержать название вашей организации, его получить частное лицо просто не сможет, его культурно пошлют регистрировать ИП. Делается он от 3 до десяти рабочих дней, все зависит от центра сертификации, который его будет выпускать.

    Назначение Extendet Validation - EV

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

    • Могут посмотреть есть ли организация международных желтых страницах, кто не знает, что это такое, то это телефонные справочники в Америке. Проверяют так не все CA.
    • Смотрят whois домена у вашей организации, делают это все центры сертификации, если в whois нет ни слова о вашей организации, то с вас будут требовать гарантийное письмо, что домен ваш.
    • Свидетельство о государственной регистрации ЕГРИП или ЕГРЮЛ
    • Могут проверить ваш номер телефона, запросив счет у вашей телефонной компании, в котором будет фигурировать номер.
    • Могут позвонить и проверить наличие компании по этому номеру, попросят к телефону человека указанного администратором в заказе, так что смотрите, чтобы человек знал английский.

    Сам сертификат шифрования extendet Validation - EV, самый дорогой и получается всех сложнее, у них кстати есть green bar, вы его точно видели, это когда на сайте в адресной строке посетитель видит зеленую стоку с названием организации. Вот пример клиент банка от сбербанка.

    К расширенным сертификатам шифрования (extendet Validation - EV) самое большое доверие, это и логично вы сразу видите, что компания существует и прошла жесткие требования к выдаче сертификата. SSL cертификаты extendet Validatio делаются CA, только при выполнении двух требований, что организация владеет нужным доменом и, что она сама существует в природе. При выпуске EV SSL сертификатов, существует строгий регламент, в котором описаны требования перед выпуском EV сертификата

    • Должен проверить правовую, физическую и операционную деятельности субъекта
    • Проверка организации и ее документов
    • Право владения доменом, организации
    • Проверить, что организация полностью авторизована для выпуска EV сертификата

    SSL cертификаты extendet Validatio выпускаются примерно от 10-14 дней, подходят как для некоммерческих организаций, так и для государственных учреждений.

    Типы SSL сертификатов шифрования

    Следующим важным вопросом, будет какие типы SSL - TLS сертификатов шифрования существуют, и их отличия и стоимость.

    • Обычные SSL сертификаты > это самые распространенные сертификаты, делаются автоматически, для подтверждения только домена. Стоят в среднем 18-22 доллара.
    • SGC сертификаты > это SSL - TLS сертификаты с поддержкой, более высокого уровня шифрования. Они в основном идут для старперных браузеров, у которых есть поддержка только 40-56 битное шифрование. SGC принудительно повышает уровень шифрования, до 128 бит, что в несколько раз выше. Так как XP доживает свои последние годы, скоро SGC сертификаты шифрования не будут нужны. Стоит это чудо около 300-ста баксов за год.
    • Wildcard сертификаты > Требуются, для субдоменов вашего основного домена. Простой пример мой блог сайт, если я покупаю Wildcard, то имею возможно его вешать на все домены 4 уровня у себя, *.сайт. Стоимость Wildcard сертификатов шифрования варьируется от количества поддоменов, от 190 баксов.
    • SAN сертификаты > Допустим у вас есть один сервер, но на нем хостятся много разных доменов, вот SAN сертификат можно повесить на сервер и все домены будут использовать его, стоит от 400 баксов в год.
    • EV сертификаты > про расширенные мы уже все обсудили выше, стоят от 250 баксов в год.
    • Сертификаты c поддержкой IDN доменов

    список сертификатов, у которых есть такая поддержка, IDN доменов:

    • Thawte SSL123 Certificate
    • Thawte SSL Web Server
    • Symantec Secure Site
    • Thawte SGC SuperCerts
    • Thawte SSL Web Server Wildcard
    • Thawte SSL Web Server with EV
    • Symantec Secure Site Pro
    • Symantec Secure Site with EV
    • Symantec Secure Site Pro with EV

    Полезные утилиты:

    1. OpenSSL - самая распространенная утилита для генерации открытого ключа (запроса на сертификат) и закрытого ключа.
      http://www.openssl.org/
    2. CSR Decoder - утилита для проверки CSR и данных, которые в нем содержаться, рекомендую использовать перед заказом сертификата.
      http://www.sslshopper.com/csr-decoder.html или http://certlogik.com/decoder/
    3. DigiCert Certificate Tester - утилита для проверки корректно самого сертификата
      http://www.digicert.com/help/?rid=011592
      http://www.sslshopper.com/ssl-checker.html

    В будущих статьях, мы еще сами по настраиваем CA и будем на практике использовать SSL/TLS сертификаты шифрования.