Бесплатный HTTPS-сертификат: инструкция по получению. Бесплатные сертификаты от StartSSL не валидны. Подготовка к сертификации

Главная / Квартира

При разработке сайта, который работает с личными данными, безопасность должна быть первым приоритетом. Это правило важно не только для интернет-магазинов, но и также для популярных социальных сетей вроде Вконтакте и Фейсбук

SSL представляет собой защищенный протокол наподобие HTTP, так как он способен получать и передавать данные по интернету.

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

Что такое SSL?

SSL расшифровывается как Secure Socket Layers – протокол безопасности, изначально разработанный компанией Netscape. Это процесс, в котором передача данных между пользователем и сервером происходит в зашифрованном виде, и третьей стороне не удастся подключиться к этому процессу.

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

  • Имя владельца
  • Серийный номер для идентификации
  • Дата истечения срока службы сертификата
  • Общий ключ, использующийся для шифрования информации
  • Персональный ключ сертификата, использующийся для расшифровки (обычно этот ключ предоставляется веб-сервером)

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

Как установить SSL сертификат

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

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

Сначала вам нужно сгенерировать CSR или Certificate Signing Request. CSR нужен до того, как вы сможете получить какой-либо SSL-сертификат. Вы можете создать его самостоятельно, если у вас есть административные привилегии на веб-сервере. Тем не менее, рекомендуется связаться с хостером, так как в большинстве случаев, они не позволяют клиентам делать это самостоятельно. На самом деле, в этом нет ничего плохого, это даже облегчит задачу.

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

Различные типы сертификат

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

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

  • Dedicated – это наиболее защищенный тип, который при этом и самый дорогой. HTTPS-соединение – это единственное проверенное соединение для вашего доменного имени, определяемого по указанному ip-адресу.
  • Shared – веб-хостинги, которые предлагают общие хостинги, порой имеют несколько доменных имен, указывающих на единый ip-адресс. В данном случае для хостера будет гораздо проще организовать соединение на каждом сервере, содержащем массив разных веб-сайтов.
  • Wildcard– Эти немного схожи с выделенными или общими SSL-сертификатами, судя по конфигурации сервера. Wildcard будут определять несколько субдоменов. Это очень хорошее решение, если вы разделяете ваш сайт на разные поддомены.

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

Пошаговое руководство по получению

Лучшим способом научиться – это попробовать. Давайте попробуем изучить предложение от Comodo от Namecheap. У них очень разумный ценник, который идеально подойдет новичкам. И так как нам нужно лишь пройти через этот процесс, этот материал отлично подойдет для целей сегодняшнего руководства.

Генерируем CSR

Чтобы начать, нам нужно создать запрос авторизации на внутреннем интерфейсе нашего сервера. Каждая хостинг-компания отличается друг от друга, но вы всегда можете связаться с технической поддержкой, если возникнут какие-либо проблемы. Этот инструмент можно использовать для генерации CSR .

Обратите внимание на то, что большая часть этой информации должна совпадать с Whois моего доменного имени. Я использую сервис whois-service.ru который позволяет получить всю информацию для данной формы. Если у вас установлены какие-то другие настройки приватности доменного имени, то вам следует брать собственные данные, чтобы CSR совпадал.

Покупка сертификата

Тарифы в Comodo варьируются от 450 рублей в год до практически 4 тысяч. Я предпочитаю пакет EssentialSSL, который обходится всего в 1300 руб в год. Это не такой и плохой вариант, если учитывать другие варианты.

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

После ввода всех необходимых данных аккаунта, вы будете перемещены на финальную страницу проведения оплаты. У нас есть возможность оплатить пакет при помощи средств, имеющихся на балансе аккаунта, при помощи кредитной карты или платежных систем. Если все будет сделано правильно, вы будете перенаправлены на формы подтверждения заказа (вы также получите на email).

Финальная установка

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

На этой странице нам нужно выбрать тип сервера и ввести CSR-ключ. Я выбрал Apache+OpenSSL. Это стандартная настройка для Apache, но если вы не уверены, просто перепроверьте эти настройки. Учтите, что вам веб-хостер должен вернуть вам еще более длинный RSA-ключ, который нужен для приватной аутентификации во внутренний интерфейс сервера. Все что нам нужно, это скопировать и вставить короткий CSR-ключ в блок и подтвердить ввод.

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

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

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

Управляем защищенным соединением

Хочу предложить вам ознакомиться с этой статьей от поддержки Рег.ру которая поможет вам понять процесс. Даже если вы не являетесь клиентом рег.ру, вы все равно в большинстве случаев будете пользоваться cPanel для управления практически любым удаленным веб-сервером.

Главное преимущество в том, чтобы делать настройку на стороннем хостинге заключается в том, что вам не нужно будет вносить никаких (или по крайней мере совсем малость) изменения в код! После того, как вы приобретете сертификат, большинство хостеров с любезностью установят их для вас. После того, как все будет сделано, работа вашего сайта как посредством HTTP, так и посредством HTTPS будет практически идентичной.

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

Редиректы.htaccess в Apache

Если вы испытываете какие-то проблемы, удерживая посетителей на протоколе HTTPS, то возможно вам следует рассмотреть вариант с использованием скрипта перенаправления. Обычно, на серверах Apache, это реализуется при помощи файла.htaccess, который многие веб-хостинги позволяют вам настраивать прямо в cPanel.

Ниже я привел примерный код, который вы можете взять для настройки собственного файла.htaccess. Он позволит вам перенаправлять весь входящий трафик на https:// с субдоменом www. Вы можете убрать www, чтобы весь трафик перенаправлялся.

RewriteEngine On RewriteCond %{HTTPS} = off RewriteRule ^(.*)$ https://www.yourdomain.com/$1 RewriteCond %{http_host} ^yourdomain.com RewriteRule ^(.*)$ https://www.yourdomain.com/$1

RewriteEngine On RewriteCond %{HTTPS} = off RewriteRule ^(.*)$ https://www.yourdomain.com/$1 RewriteCond %{http_host} ^yourdomain.com RewriteRule ^(.*)$ https://www.yourdomain.com/$1

Дополнительные файлы

Самая надоедливая проблема, с которой вы столкнетесь, заключается в указании абсолютных URL вместо относительных. Это не позволит вам отображать полностью защищенное соединение, отчего будет отображаться предупреждение об использовании «незащищенных элементов» на странице. Если вы отобразите какие-то внешние медиаресурсы: видео, изображения, каскадные таблицы, то это следует сделать локально. Ниже я привожу пример:

"http://www.domain.com/css/styles.css" rel ="stylesheet" media ="all" type ="text/css" />

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

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

В завершение

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

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

Сегодня я расскажу, как получить сертификат ssl бесплатно, а также перевести сайт на HTTPS.

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

Если сайт работает по протоколу HTTP, то данные, посылаемые браузером к серверу и обратно, отправляются в не зашифрованном виде. Например, если вы, пытаясь зайти в админку, ввели логин + пароль, например: логин – admin, а пароль – 123456, они будут отправлены серверу именно так.

Опасность заключается в том, что злобный хакер может просканировать ваш канал связи, перехватив эти данные – именно так взламывают большинство сайтов.

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

К счастью, существует способ защитить канал связи браузер-сервер.
Для этого нужно перевести ваш веб-ресурс на работу по защищенному протоколу HTTPS.
«S» - является сокращением от английского слова Secured (защищенный).

Учитывая все написанное выше, а также то, что с начала 2017 года, браузер Google Chrome помечает сайты без SSL-сертификатов, как небезопасные, пришла пока перейти на HTTPS.

Как перевести сайт на HTTPS?

Для этого нам будет нужен сертификат SSL. Что это такое и зачем нужен сертификат SSL (C.)?

Чем отличаются различные сертификаты?

Они отличаются по уровню проверки.

  1. C. с проверкой домена (Domain Validated - DV) – это самый простой и самый дешевый сертификат. Его можно получить, компаниям, а также частным лицам, просто подтвердив владение доменом.
  2. C. с проверкой организации (Organization Validated - OV) - доступен только компаниям. Такой сертификат можно получить после проверки регистрационных документов компании или ИП и проверки их владения доменом. Стоит он дороже предыдущего.
  3. C. с расширенной проверкой (Extended Validation - EV). Доступен только компаниям.
    Это самый дорогой сертификат, получить его сложнее всего. Он дает возможность показывать в адресной строке green bar - зеленую строку с названием организации, получившей сертификат.

Какой C. вам нужен?

Какой SSL сертификат выбрать для интернет магазина, а какой для сайта, зарабатывающего при помощи рекламы?

Если у вас обычный блог, контентный, новостной или развлекательный портал, портфолио или сайт-визитка, вам подойдет обычный сертификат (C.) с проверкой домена (Domain Validated- DV).

Если на своем вебсайте вы принимаете заказы или у вас открыта регистрация, а также вы храните личные данные пользователей, тогда выбирайте C. с проверкой организации (Organization Validated - OV).

Если же вы владеете банком, обменным сервисом, страховой компании или платежной системой или работаете с секретными данными (например, данными кредитных карт), тогда вам потребуется C. с расширенной проверкой (Extended Validation или EV).

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

Купить сертификат SSL можно в центре сертификации. Таких центров существует много, вот некоторые:
Symantec, Comodo, Trustwave, RapidSSL, GlobalSign, AlphaSSL.

Самый крупный центр это Symantec (в его составе центры сертифмкацмм Thawte, Verisign, Geotrust).
Главное отличие между центрами сертификации - в стоимости сертификатов и количестве браузеров, в которых установлен корневой сертификат данного центра.

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

Поэтому стоит покупать SSL-сертификат только в самых крупных известных центрах.

Корневые сертификаты указанных выше центров сертификации установлены во всех современных браузерах.

HTTS сертификат можно купить или получить бесплатно.

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

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

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

Например, через хостинг Beget можно получить бесплатный C. Let"s Encrypt –
https://letsencrypt.org

Let"s Encrypt - это некоммерческий центр сертификации (certificate authority, CA), который выпускает SSL-сертификаты бесплатно. Он создан для того, чтобы большая часть интернет сайтов смогла перейти к работе по шифрованному протоколу (HTTPS).

Бесплатных сертификатов Let"s Encrypt можно заказать до трех/неделю.
В сертификат будет включен домен, а также до 40 выбранных поддоменов (если они есть).

Выпуск, установка, дальнейшее продление сертификата осуществляется автоматически и абсолютно бесплатно, что очень удобно – один раз получив https-сертификат и внеся изменения в шаблон, можно забыть об этом.

Как установить сертификат SSL на сайт?

  • Поскольку после перехода HTTS, весь контент также должен загружаться по протоколу https, то в шаблоне нужно изменить адреса всех файлов стилей, скриптов и изображений.
  • После установки cертификата получится так, что ваш сайт будет доступен по http + по https.
    Поэтому нужно будет настроить редирект с http на https.

Что еще нужно сделать?

ПЛАН РАБОТЫ:

  1. Сначала, нужно сделать резервную копию всех файлов и базы данных. Это обязательный этап при внесении любых изменений.
  2. Далее, заказать https-сертификат и установить его (Или он будет установлен автоматически).
  3. Исправить все ссылки в файлах шаблона с HTTP на HTTPS для файлов стилей, изображений + скриптов, включая ссылки с кнопок социальных сетей, рекламных скриптов, сервисов со стандартами микроразметки – все они давно используют HTTPS-протокол.
  4. Удалить указание протокола http из контента. Проще всего это сделать, установив плагин HTTP/HTTPS Remover . Найти его можно прямо из админки. После активации плагин сразу начинает работать – настройки он не требует.
  5. Изменить адрес сайта в админке ("Настройки – Общие") c http://vash-site.ru на https://vash-site.ru .
  6. Внести изменения в файл robots.txt – изменить адрес основного зеркала и ссылки на Sitemap. Теперь они должны выглядеть так:
    Host: https://vash-site.ru
    Sitemap: https://vash-site.ru/sitemap.xml
  7. Проверить работу сайта, если он открывается с http и с https, значит нужно настроить переадресацию с http на https, чтобы любой посетитель, зашедший по ссылке с http автоматически переадресовывался на https.
    Cправиться с этим немного сложнее, чем с предыдущим заданием, так как на разных серверах переадресация происходит по-разному.
    Чтобы не ошибиться, задайте вопрос техподдержке хостинга, как настроить такую переадресацию на вашем сервере.
    Вот готовый код, который прислала мне техподдержка хостинга Бегет.
    Если ваш аккаунт на Бегет, вы также можете им воспользоваться:

    define("FORCE_SSL_ADMIN", TRUE);

    Она осуществляет перенаправление на https для страницы админки. Хотя мне это не потребовалось – страница админки сразу открылась по адресу с HTTPS.

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

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

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

Использование сертификата HTTPS также позволяет улучшить ранжирование сайта в поисковых системах .

Ниже приведен список сертификационных центров (поставщиков SSL ), которые помогут вам обзавестись сертификатом совершенно бесплатно.

Расшифровка используемых аббревиатур.

  • SSL — Защищенный сокет;
  • TLS — Безопасность транспортного уровня;
  • CDN — Сеть доставки контента;
  • DV — Проверенный домен;
  • ACME — Автоматизированная среда управления сертификатами.
  1. Let’s Encrypt

Это совместный с Linux Foundation проект, который спонсируется Mozilla , Akamai , SiteGround , Cisco , Facebook и т. д. Он предоставляет бесплатный HTTPS сертификат .

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

  1. Comodo

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

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


  1. Cloud Flare

Компания, специализирующаяся на кибербезопасности и технологиях CDN . Они помогают сделать ваш сайт более быстрым и безопасным. Услугами Cloud Flare пользуются многие популярные сайты, включая Reddit , yelp , Mozilla , StackOverflow и т. д.:

Недавно Cloud Flare анонсировала универсальный сертификат для сайтов HTTPS для всех пользователей. Если вы используете Cloud Flare и еще не активировали SSL , это можно сделать быстро:

  • Войдите в аккаунт Cloud Flare ;
  • Выберите сайт, на котором вы хотите включить SSL ;
  • Нажмите иконку Crypto ;
  • Убедитесь, что у вас задан параметр “Flexible ”, а статус отображается как “ACTIVE CERTIFICATE ”:


Внесение всех изменений займет несколько секунд.

  1. StartCom

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


Таким образом, можно бесплатно получить DV-сертификат класса 1! Он отлично подойдет для личного сайта / блога.

  1. WoSign

WoSign является еще одним сервисом, предоставляющим сертификат безопасности HTTPS сроком на 2 года без какой-либо оплаты. Он поддерживает алгоритм SHA2 . «WoSign CA Free SSL Certificate G2 » является эмитентом сертификатов:


  1. SSL For Free

ACME SSL For Free и Let’s Encrypt предоставляют услуги валидации домена для выдачи SSL-сертификата . Это полностью бесплатно, и SSL-сертификаты выдаются в течение нескольких минут:


Бесплатные SSL-сертификаты на 30 дней

Также можно получить бесплатную ознакомительную версию на 30 дней от следующих эмитентов SSL-сертификатов :

  • GeoTrust ;
  • Symantec ;
  • Entrust (на 60 дней );
  • Trustico ;
  • Quality SSL .

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

Перевод статьи «How to get FREE SSL Certificate for Website (HTTPS)» был поготовлен дружной командой проекта

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

Поскольку Google добровольно-принудительно попросил владельцев сайтов перейти на использование SSL сертификатов, им приходится выполнять эту просьбу.

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

Для примера мы будем устанавливать сертификат на сайт thisamerica.net . Зайдя на него, вы можете посмотреть, как ваш сайт будет выглядеть после установки бесплатного SSL сертификата. Сертификат ничем не отличается от платного. Единственное — срок его действия составляет 90 дней, после чего его нужно заново генерировать.

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

1. Настроенный Web сервер с постоянным IP адресом и открытыми портами 80 и 443.

2. Доступ к FTP сайта, на который нужно установить сертификат.

3. Пару минут свободного времени.

Если Вы хотите, чтобы Ваш сайт не был подвергнут остракизму со стороны крупнейшего поискового гиганта Google, то Вам придётся в ближайшее время перейти на использование защищённого протокола HTTPS. О том как сделать это бесплатно, читайте далее.

Ещё на заре массового распространения Интернета (а конкретно в 1994 году) разработчики самого передового на тот момент веб-браузера Netscape Navigator создали механизм обмена данными между клиентом и сервером в зашифрованном виде на базе обычного протокола HTTP. Достигалось это за счёт использования дополнительного транспортного уровня SSL/TLS.

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

Однако, в 2016 году поисковый гигант Google внезапно объявил, что в своей выдаче он будет ранжировать защищённые сайты выше. А с начала 2017 вообще заявил, что веб-ресурсы без HTTPS будет помечать как неблагонадёжные! С этого и началась вся кутерьма с массовым переводом сайтов на защищённый протокол...

Зачем нужен HTTPS

Собственно, зачем нужен HTTPS, думаю, Вам уже понятно - чтобы организовать зашифрованный обмен данными между Вашим сервером и пользователем. Однако, что именно даст Вам такое шифрование?

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

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

Больше практической пользы для большинства сайтов в защищённом протоколе нет:) Но, раз того требует "великий и ужасный" Гугл, то приходится соответствовать, дабы не схлопотать санкции...

Что такое SSL-сертификат

Технической базой для работы протокола HTTPS является использование средств SSL/TLS (сокр. "Secure Sockets Layer " - "уровень защищённых сокетов" / "Transport Layer Security " - "безопасность транспортного уровня"). На первый взгляд неясная игра слов кроет за собой более понятную сущность под названием .

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

Сертификаты бывают нескольких видов и от их вида зависит сфера их применения:

Вид SSL-сертификата Особенности использования
Самоподписной (self-signed) Может быть создан бесплатно при помощи популярных систем управления хостингом (ISPmanager, Cpanel, Directadmin) и применён для реализации доступа к сайту по протоколу HTTPS, но не проходит проверку безопасности в браузере (красный замок с предупреждением).
С проверкой домена (упрощённая проверка) (Domain Validation - DV) Базовый тип валидного сертификата, который может быть выдан бесплатно некоторыми центрами сертификации. Как правило, выдаётся автоматически (в течении одного дня) и позволяет работать по протоколу HTTPS тому домену, на который он зарегистрирован (не распространяется на поддомены, если они есть).
С проверкой организации (стандартная проверка) (Organization Validation - OV) Сертификат, который выдаётся только юридическим лицам. На его выпуск уходит 3 - 10 дней, за которые центр сертификации вручную проверяет наличие Вашей организации и её права на использование регистрируемого домена. По принципу работы идентичен сертификату DV, но не выпускается бесплатно ни одним из современных центров сертификации.
С расширенной проверкой (Extended Validation - EV) Самый трастовый на данный момент вид SSL-сертификатов. Чтобы получить такой сертификат владелец домена должен быть официально зарегистрирован как предприниматель или представитель юридического лица. Центр сертификации проводит все проверки по наличию прав на использование домена и в результате выдаёт сертификат, который в адресной строке браузера перед самим адресом сайта создаёт так называемую "зелёную строку" (green bar), в которой отображается название центра сертификации, подтверждающего подлинность веб-ресурса и его защищённость.

Кроме того, существует ещё и класификация по типам SSL-сертификатов:

Тип SSL-сертификата Особенности использования
Стандартный SSL-сертификат Самый распространённый тип. Подтверждает подлинность конкретного доменного имени (с любым видом проверки владельца).
Wildcard-сертификат Тип сертификата, который может подтверждать подлинность всех поддоменов сайта (например, не только "mysite.ru", но и "forum.musite.ru", "admin.mysite.ru", "en.mysite.ru" и т.п.).
SAN-сертификат (мультидоменный) (сокр. от "Subject Alternative Name" - "альтернативное имя субъекта") Позволяет подтвердить подлинность целой группы сайтов, размещённых на одном сервере. Стандартно SAN-сертификат выдаётся на 5 доменных имён, но может быть расширен, с каждым разом увеличивая количество трастовых доменов на 5.
Сертификат с поддержкой IDN (сокр. от "Internationalized Domain Names" - "международные доменные имена") Данный тип сертификата отличается от стандартного тем, что может удостоверять доменные имена, которые используют нестандартные наборы символов. Например, символы Юникода или кириллицы ("мойсайт.рус"). За дополнительную плату может быть оформлен как Wildcard.
SGC-сертификат (сокр. от "Server-Gated Cryptography" - "серверная криптография") Один из устаревших типов SSL-сертификатов, который наряду с современным 128-битным шифрованием поддерживает устаревшие 40 и 56-битные алгоритмы и обеспечивает их взаимосовместимость. Используются данные сертификаты, как правило, только в корпорациях с устаревшим компьютерным парком, который использует устаревшие же браузеры.

Средняя цена стандартного SSL-сертификата, который выпускается практически мгновенно и подойдёт для большинства сайтов, стартует в районе $20/год. Сумма не такая уж и большая, но можно обойтись и вовсе без вложений! О том как это сделать, читаем далее.

Бесплатный SSL-сертификат

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

  • Comodo Free SSL Certificate (90 дней с бесплатным ручным перевыпуском);
  • Let’s Encrypt (90 дней с бесплатным автоматическим (при отсутствии shell-доступа к серверу - ручным) перевыпуском);
  • StartSSL FREE (3 года с бесплатным ручным перевыпуском);
  • Cloudflare One-Click SSL (неограничено на время пользования сервисом).

Практически у всех сертификатов имеются свои плюсы и минусы. Так, например, Comodo Free SSL Certificate на сегодняшний момент является одним из самых трастовых. Однако, его нужно вручную пересоздавать каждые три месяца. В то же время Let’s Encrypt , при том же сроке действия, предоставляет возможность бесплатного автоматического обновления сертификата...

Что самое интересное, ряд хостеров, которые заботятся о своих клиентах, с начала 2017 года автоматически активировали Let’s Encrypt на своих серверах. Тем самым они обеспечили фактически вечную самообновляющуюся систему получения сертификатов для сайтов, которые у них обслуживаются. Поэтому у тех, кому повезло, сейчас уже имеется доступ к сайту по HTTPS. Это можно проверить, добавив перед адресом сайта явно указанный протокол HTTPS: "https:// mysite.ru".

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

Пример получения сертификата

Наконец-то мы подошли к одному из ключевых практических моментов - получению бесплатного SSL-сертификата. Из соображений жадности и практичности я решил сразу заполучить сертификат на максимально возможный срок. Вначале я склонялся к активации Let’s Encrypt...

Получить вручную сертификат не составило особого труда. Однако, автоматизировать его перевыпуск, увы, не вышло. Как выяснилось в процессе переписки с техподдержкой, для этого требуется более новая версия панели управления сайтом (не ниже ISPManager 5), аренда которой стоит дополнительных пару-тройку баксов в месяц.

Отпал также вариант со StartSSL (все сертификаты, выданные с начала этого года Гугл не считает трастовыми) и с CloudFlare (ведь он подразумевает подключение их CDN). В итоге остался только Comodo (пусть и перевыпускать его нужно каждые 90 дней, но зато кредит доверия к нему самый высокий у всех поисковиков)... На его примере и рассмотрим все этапы получения SSL-сертификата.

Бесплатный SSL-сертификат от Comodo

Переходим на страницу получения бесплатного сертификата и нажимаем большую оранжевую кнопку с надписью "Free Trial SSL" . Откроется следующая форма пошаговой регистрации нового сертификата:

На первом этапе нам нужно вставить в специальное поле CSR-запрос (сокр. "Certificate Signing Request" - "запрос на сертификат подписи") на генерацию сертификата. Создать его можно различными способами, но самым простым, на мой взгляд, является его генерация при помощи специальных онлайн-сервисов, вроде Emaro-SSL.ru . Заполните форму как на скриншоте ниже и нажмите кнопку "Сгенерировать", чтобы получить текст CSR-запроса и Вашего приватного ключа:

После генерации обязательно копируем содержимое запроса и приватного ключа, и сохраняем всё в отдельный текстовый файл (он нам ещё пригодится). Затем содержимое запроса вставляем в поле ввода на Comodo, выбираем тип своего сервера (у меня Apache, но часто бывает и NGINX, поэтому здесь ориентируетесь на данные Вашего хостинга), отключаем галочку "Comodo Newsletter" (чтобы не получать лишнюю рассылку) и жмём "Next" . Если всё сделано верно, нас перенаправит ко второму шагу генерации сертификата:

На этом шаге нам нужно будет подтвердить свои права на доступ к серверу. Проще всего это сделать при помощи электронной почты. Выберите один из предложенных почтовых адресов на Вашем домене (я выбрал webmaster@сайт) и нажмите кнопку "Continue" . На выбранный Вами E-Mail придёт письмо с проверочным кодом, а в браузере мы перейдём к следующему шагу:

Здесь нам предложат заполнить форму с информацией о владельце домена , для которого выпускается SSL-сертификат. Необязательно заполнять все поля. Достаточно только те, которые выделены красным. К тому же, часть полей уже будет заполнена данными из CSR-запроса. После заполнения снова жмём "Next" для перехода к следующему этапу. Здесь нам нужно всего лишь принять лицензионное соглашение, отметив галочку "I ACCEPT" и нажав кнопку "Continue to Payment Information", чтобы перейти к финальному экрану:

Здесь нам сообщат, что заказ успешно обработан, однако, для получения сертификата нужно пройти валидацию домена. Для этого идём на указанную Вами на втором шаге почту и ищем письмо с проверочным кодом. Копируем код и вставляем его в поле, которое откроется после нажатия на красную кнопку "Action Required" в секции "Domain Control Validation" . Подтверждаем ввод нажатием на кнопку "Next" и получаем на почту архив с нашим SSL-сертификатом.

Настройка сайта

Итак, у нас уже имеется на руках готовый SSL-сертификат и первым делом его нужно установить на наш сервер. В принципе, если в Вашей техподдержке работают нормальные люди, можно попросить их помочь сделать все нужные настройки. Однако, это неспортивно:) Да и особо сложного ничего в этом нет. Поэтому рассмотрим как всё реализовать в панели управления сайтом ISPManager.

Установка SSL-сертификата в ISPManager 4

Как я уже сказал, у нас на сервере для управления сайтом стоит панель ISPManager. Рассмотрим нужные настройки на её примере. Для этого войдём в неё и перейдём в раздел "SSL сертификаты" . У меня здесь есть парочка созданных ранее сертификатов, но у Вас может быть пусто. Чтобы что-то добавить нам нужно нажать кнопку "Создать" и заполнить форму как на скриншоте ниже:

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

  1. Приватный ключ . Его мы получили на этапе генерации CSR-запроса и он у нас уже должен быть в текстовом файле, куда мы сохранили результаты работы онлайн-генератора. От остальных хешей отличается наличием метки "-----BEGIN PRIVATE KEY-----".
  2. Сертификат . Это, собственно, содержимое сертификата, выданного Вам Comodo (или иным центром сертификации). Чтобы его найти, откройте скачанный Вами архив с сертификатами и внутри обнаружите два файла..crt"). Откройте его любым текстовым редактором и скопируйте его содержимое во второе поле ввода нашей формы на сервере.
  3. Пароль . Задайте любой пароль (будет использован для шифрования).
  4. Цепочка сертификатов ..ca-bundle"). Как и в случае с основным сертификатом, открываем файл текстовым редактором и копируем его содержимое в последнее поле формы.

После заполнения всех полей жмём кнопку "OK" и наш сертификат добавлен.

Активация шифрования для домена

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

Первым делом идём в раздел "WWW домены" и выделяем в списке нужный нам сайт. Вызываем окно изменения параметров (двойным кликом или кнопкой "Изменить"), в нём отмечаем галочкой опцию "SSL" и в появившемся выпадающем списке выбираем добавленный нами сертификат. Жмём "OK" и шифрование активировано!

Правка ссылок

После всех вышеописанных действий, если Вы попытаетесь перейти на свой сайт с использованием протокола HTTPS, браузер, скорее всего, выдаст предупреждение о неправильной настройке шифрования. Однако, если проигнорировать это сообщение, выбрав дополнительные возможности, то там у Вас появится ссылка для перехода на сайт с протоколом HTTPS:

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

Суть действий в том, чтобы везде заменить тип протокола со старого HTTP на новый HTTPS. Сделать это можно как явным указанием протокола, так и способом создания относительных ссылок. В случае, если Вы решите делать относительные ссылки, то внутренние лучше делать вообще без указания доменного имени (например, вместо "https://mysite.ru/mycategory/page.php" лучше сделать "mycategory/page.php"), а внешние (например, скрипты метрик и т.п.) без указания протокола (вместо "http://api.google.com/somescript.js" - "//api.google.com/somescript.js").

Правка служебных файлов и внесение изменений в метриках Яндекса и Гугла

Когда Вы закончите с правками ссылок (на это может уйти довольно много времени) Ваш сайт уже сможет нормально и без предупреждений открываться по протоколу HTTPS. Однако, пока что основным "зеркалом" остаётся старый вариант на HTTP. Чтобы сделать главной защищённую версию Вашего веб-ресурса и организовать корректный доступ к нему пользователей и поисковых систем нужно ещё немного поработать...

Первым делом следует немного перенастроить файлы robots.txt и .htaccess . В первом из них нужно указать для поисковых систем новое "зеркало" сайта с протоколом HTTPS. Для этого достаточно просто изменить тип протокола в директиве Host :

Host: https ://mysite.ru

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

RewriteCond %{SERVER_PORT} !^443$

RewriteCond %{REQUEST_FILENAME} !robots\.txt

RewriteCond %{REQUEST_FILENAME} !sitemap\.xml

RewriteRule ^(.*)$ https://mysite.ru/$1

Редирект рекомендуют делать для большинства файлов и страниц, но есть и такие, которые должны быть доступны по любым ссылкам (и с шифрованием, и без). К таким файлам относятся уже упомянутый нами robots.txt и sitemap.xml . Чтобы отключить редирект для них, можно прописать проверку на соответствие запрашиваемого файла, как это сделано в коде выше (за исключение отвечает "!" перед именем исключаемого файла).

После того, как все правки на сайте сделаны, доступ по зашифрованному каналу работает без ошибок и Ваш веб-ресурс спокойно открывает все страницы по HTTPS, настало время для "финального аккорда" - указания новых адресов сайта в метриках Яндекса, Гугла, ЛивИнтернета и т.п.

В каждой системе это делается по-своему. Например, в Яндекс.Вебмастере Вам нужно перейти в раздел "Индексирование" - "Переезд сайта" и активировать галочку "Добавить HTTPS". В Search Console Гугла достаточно просто изменить адрес сайта вручную в разделе "Параметры URL" (вообще, Google берёт все параметры из.htaccess, поэтому, если у Вас прописаны редиректы, то, возможно, он и сам без всяких правок правильно переиндексирует Ваш сайт). В LiveInternet же аналогичные ручные правки можно сделать в "Настройках".

Выводы

После всех наших "приключений" по переводу сайта на HTTPS в течении первых нескольких дней (или даже недель) может наблюдаться его "просадка" в поисковых системах. Это связано с тем, что изменение протокола поисковики расценивают как изменение адреса сайта, поэтому Ваш веб-ресурс фактически переиндексируется заново. И на это, естественно, нужно определённое время.

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

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

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.



© 2024 solidar.ru -- Юридический портал. Только полезная и актуальная информация