Привет! Переход на https нужен или нет? Если да, то как перейти на безопасный протокол https правильно с точки зрения SEO? Где достать SSL-сертификат? Эти и на другие вопросы отвечу в данном уроке.
Небольшая новость: на блоге готовится кое-что очень интересное и полезное, в ближайшие дни анонсирую, следите за обновлениями. ?
В интернете все больше и больше разговоров про https и про необходимость перехода на него. Возможно, вы тоже, как и я, получали уведомление от Google Search Console (если даже не получали такое письмо, думать о переходе на https все равно нужно), где говорится:
В браузере Chrome будут появляться предупреждения при переходе на сайт
Вот те самые новые меры по обеспечению безопасности в Google Chrome. Так как на моем сайте при комментировании запрашивается электронная почта, Google хочет, чтобы подобные данные передавались по зашифрованному протоколу https.
Как говорит Гугл, у сайтов, запрашивающих какую-либо конфидециальную информацию без https, рядом с адресной строкой в будущем появится яркий красный восклицательный знак с уведомлением, что сайт небезопасный. Это, конечно же, может повлиять на поведенческие факторы. А они уже в свою очередь повлияют на позиции.
Так как Google Chrome является одним из самых популярных браузеров, стоит задуматься о переходе. Самый крупный поисковик мира нас буквально «заставляет» перейти на https, в то время как Яндексу, как говорит он сам, «наплевать» на безопасный протокол Мне кажется он лукавит и в будущем тоже официально заявит, что https ему также необходим.
Я считаю, что практически все рано или поздно перейдут на https. Свой блог я тоже решил перевести сейчас (клиентские коммерческие сайты мы давно начали переводить на https).
к оглавлению ↑
«Шум» про https
В прошлом и позапрошлом году много было «шумихи» на тему безопасного протокола. Все прям кричали, что сайты с https будут ранжироваться выше, что они круче. Мы перевели несколько клиентских сайтов на https. Какого-то бонуса от этого мы не наблюдали (конечно, тут нужно проводить чистые эксперименты, другие работы над сайтом не проводить вообще, чтобы делать какие-то выводы).
Трафик может упасть на некоторое время, будьте готовы к этому. Еще, конечно же, временно упадет тИЦ, вернее даже обнулится. ТИЦ=0 — это нормально, более того, он никак не влияет на посещаемость. Потом после склейки сайтов все вернется на свои места, трафик в том числе (в большинстве случаев). Про склейку сайтов я очень подробно расписал ниже.
Если вы запрашиваете на своем сайте данные кредитных карт или прочую очень важную личную информацию — https нужен обязательно. Если же у вас обычный инфосайт — необязательно (опять же, если у вас запрашивается email при комментировании, к примеру, нужно будет либо убрать это поле, либо перейти на https). А всем новым сайтам я бы рекомендовал ставить https изначально по умолчанию.
Для тех, кто все-таки решился перейти на https полная инструкция ниже. На первый переезд у вас, скорей всего, уйдет примерно 1 час, внимательно читая всю инструкцию и разбираясь во всем. Но позже, последующие переезды для вас будут пустяками, вы будете заглядывать в этот урок только для того, чтобы вспомнить алгоритм переезда и на все у вас будет уходить в районе 10 минут. ?
Поэтому рекомендую сохранить эту страницу в закладках или еще где-то, чтобы не потерять инструкцию. Ведь переходы на https будут все чаще и чаще (повторюсь, новые сайты лучше сразу создавать с https).
к оглавлению ↑
Что такое https?
Приведу выдержку из Google про то, что такое https:
HTTPS (Hypertext Transport Protocol Secure) – это протокол, который обеспечивает безопасность и конфиденциальность при обмене информацией между сайтом и устройством пользователя. Посетители сайта рассчитывают, что указанные ими данные не попадут в руки мошенников. Чтобы защитить данные, которые оставляют посетители на вашем сайте, начните применять протокол HTTPS.
SSL-сертификат (Secure Sockets Layer Sertificate) — это файл, связывающий ключ шифрования с данными. Если говорить про разницу между http и https, то, проще говоря, данные с http перехватить намного проще чем с https, то есть второй протокол намного безопаснее. С более подробным описания https вы можете ознакомиться на Википедии.
Сайты с https отображаются в браузере с «замочком», вот так примерно (на разных браузерах по-разному):
к оглавлению ↑
В каких случаях стоит перейти на https
- На вашем сайте проводятся какие-то транзакции, пользователи вбивают номера своих банковских карточек и прочие финансовые данные. Можно обойти все это, если сделать страницу оплаты на стороне оператора, принимающего деньги (Яндекс Деньги, Робокасса и т.д.). В таком случае необязательно наличие https, то есть не критично.
- На сайте запрашивается конфидициальная информация.
- У вас новый сайт. Я бы порекомендовал бы все новые сайты сразу ставить на https, тем более получить качественный бесплатный сертификат вообще не проблема (подробности ниже).
к оглавлению ↑
Как правильно выбрать SSL-сертификат безопасности https
Виды SSL-сертификатов:
№ п/п | Вид сертификата | Описание | Кому подходит |
---|---|---|---|
1 | DV (Domain Validated) (с проверкой домена) | Проверяется принадлежность домена владельцу | Подходит как для физических лиц, индивидуальных предпринимателей, юридических лиц |
2 | OV (Organization Validated) (с проверкой организации) | Проверятся компания, которая запросил сертификат на действительное наличие существования (свидетельство о регистрации, принадлежность домена и т.д.) | Доступен только для юридических лиц. Подходит для коммерческих сайтов, крупных проектов. |
3 | EV (Extended Validation) (с расширенной проверкой организации) | Расширенная проверка компании, запросившая сертификат (свидетельство о регистрации, проверка номера телефона и пр. подтверждение о действительно существующем юр. лице) | Только для юридических лиц. Добавляется зеленая строка в браузере, прописывается наименование компании, которой принадлежит сайт. Нужен банкам, крупным сайтам. |
Опции у сертификатов бывают следующими:
№ п/п | Опция сертификата | Описание | Кому подходит |
---|---|---|---|
1 | Поддержка IDN | Сертификат, который поддерживает кириллицу в домене | Для владельцев сайтов с кириллическим доменов (например, в зоне .рф) |
2 | WildCard | Выдается на все поддомены сайта | Для владельцев мультирегиональных сайтов на поддоменах или просто тех, кто выводит дополнительные страницы на поддоменах |
3 | Мультидоменный | Выдается на разные домены одной компании | Для тех, кто имеет несколько доменов |
4 | SGC | Повышает безопасность для пользователей со старых браузеров | Для сайтов, где аудитория пользуется старым ПО. |
Также SSL-сертификаты бывают как платными, так и бесплатными.
Ни в коем случае не забывайте продлевать действие сертификата. Как правило, он выдается на срок от 1-го до 3-х лет. А бесплатный на 3 месяца (в случае с самым популярным бесплатным сертификатом, об этом ниже).
Если у вас коммерческий сайт, который что-то продает, вам лучше купить обычный сертификат. Если же информационный сайт, какой-то личный проект под информационные запросы, то можно поставить бесплатный сертификат (это легально и ничем не хуже ? ).
К сожалению, дополнительно некоторые хостинги для установки SSL сертификата требуют сервер с отдельно выделенном IP адресом. А это дополнительные затраты, причем для кого-то существенные. Кому-то это не нужно, но вот, как я понял, например, хостинг Beget требует такой сервер с отдельным IP адресом.
к оглавлению ↑
Бесплатный сертификат для https для информационного сайта
Для информационных сайтов хорошо подойдет сертификат Let’s Encrypt. Есть еще и другие, но я не рекомендовал бы их устанавливать, так как в любое время они могут перестать быть безопасными по мнению поисковых систем. Такое уже было с несколькими сертификатами, сначала с ними было все в порядке, потом стали бесполезными для Google.
Наверное, единственный минус Let’s Encrypt — его нужно продлевать каждые 3 месяца (а не 1-3 года), но во многих современных хостингах есть возможность сделать автопродление. Не беспокойтесь из-за бесплатности данного сертификата, он вполне безопасный и хороший, тут не повторится история с «бесплатным сыром в мышеловке». Let’s Encrypt спонсируется крупными компаниями (Mozilla, Google и др.) и тут все нормально для владельцев большинства сайтов. И устанавливается данный сертификат как правило в 2 клика.
к оглавлению ↑
Платный сертификат для https
В большинстве случаев сертификаты предоставляют хостинг компании (в личном кабинете часто есть функционал покупки). Либо же достаточно написать в техподдержку хостинга о намерении перейти на https и что вы хотите купить сертификат.
Примерная стоимость сертификатов (взял с reg.ru):
к оглавлению ↑
Получение SSL-сертификата
к оглавлению ↑
Покупка сертификата
Сертификаты можно купить, например, у вашего хостера, вот краткая инструкция (на примере хостинга Beget):
- Заходим в личный кабинет хостинга Beget.
- Переходим во вкладку «Домены и поддомены»:
- Там напротив домена нажимаем на кнопку «Управление SSL сертификатами»:
- Далее нужно выбрать подходящий SSL-сертификат, нажав на кнопку «Изменить» можно выбрать другой, либо можно поставить тот же самый бесплатный Let’s Encrypt:
- Вот разные поставщики SSL-сертификатов и разные их тарифы
Также SSL-сертификат можно купить напрямую у центров сертификации:
- Comodo;
- Symantec;
- Thawte;
- Globalsign;
- GeoTrust;
- Trustwave.
Ну и есть посредники — разные компании, которые перепродают сертификаты. Как правило там процесс более понятный, чем напрямую у центров сертификации и все на русском языке.
к оглавлению ↑
Как получить и установить бесплатный сертификат для информационных сайтов?
Например, на Beget все просто:
На моем хостинге Хостенко получение и установка бесплатного сертификата от Let’s Encrypt делается также очень просто в 2 клика и он также автоматически продлевается каждые 3 месяца:
Если же на вашем хостинге нет автоматической возможности установки сертификата Let’s Encrypt, пишем в техподдержку хостинга, они, я думаю, помогут вам. По крайней мере я очень доволен техподдержкой Hostenko, они не раз мне помогали в разных случаях.
к оглавлению ↑
Установка сертификата на сайт
В популярных хостингах в личном кабинете уже встроены специальные кнопки, которые позволяют привязать SSL-сертификат. Например, на Beget заходим в личном кабинете во вкладку «Домены и поддомены» => «Управление SSL-сертификатами» и там выбираем пункт «Установка SSL-сертификата»:
Вот на примере Hostenko:
На других хостингах принцип тот же самый.
Опять же, если же у вас нет подобного функционала установки сертификата в личном кабинете хостинга, пишите в техподдержку. Если же техподдержка говорит, что у них установить SSL-сертификат невозможно, вам придется переехать на другой хостинг.
к оглавлению ↑
Корректировка ссылок на относительный протокол
Смотрите, какого вида могут быть ссылки на вашем сайте:
- http://site.ru/ssylka — это абсолютная ссылка с http;
- https://site.ru/ssylka — абсолютная ссылка с https;
- //site.ru/ssylka — это относительная ссылка (ссылка с относительным протоколом).
Я бы порекомендовал скорректировать ссылки именно на третий вариант (ссылки с относительным протоколом), так как в первое время ваш сайт будет доступен по обоим вариантам (и с http, и с https) до того, как сайты склеятся в Яндексе (об этой «SEO штуке» будет более подробно ниже).
Повторюсь, лучше менять ссылки не на https://site.ru, а на //site.ru. И еще, напоминаю: для поисковых систем http://site.ru и https://site.ru — это 2 разных (!) сайта (именно поэтому, сайты нужно «склеить», показать поисковым роботам, что это один и тот же сайт).
Принцип работы ссылок с относительным протоколом: если вы находитесь на версии сайта с https все внутренние ссылки будут с https, если находитесь на сайте с http, то все ссылки внутри сайта будут с http. Ниже чуть подробнее как все это сделать.
к оглавлению ↑
Настройка картинок
Вполне возможно, что после установки сертификата и захода на сайта по адресу https://site.ru , ваш сайт «поехал», изображения куда-то пропали, все стало каким-то кривым и косым. Вы громко материте мой блог и меня, посылаете меня куда подальше. Не волнуйтесь, все нормально. ? У вас может быть что-то подобное (на примере моего тестового сайта):
Теперь, нужно редактировать тему вашего сайта. К примеру, в случае с Вордпресс, открываете файл header.php вашей темы. Напоминаю, что подобные файлы нужно открывать с помощью программы Notepad++ (Windows) или TextWrangler (я использую на Macbook). Везде, где идет вызов картинок через протокол http://, корректируете на относительный протокол // . То есть, открыв файл темы, нажимаете CTRL+F и в поле «Найти» вводите адрес сайта с http, в поле «Заменить» вводите адрес сайта с // и нажимаете на кнопку «Заменить все»:
Сохраняете файл и смотрите изменения на сайте:
Вуаля! Сайт постепенно приходит к нормальному виду. Такое проделываете со всеми файлами шаблона вашего сайта. Везде, где идет обращение к картинкам, скриптам и прочим файлам по http.
к оглавлению ↑
Проверка сертификата https и правильность его работы
Далее смотрите на адресную строку в браузере, там должен появится зеленый значок (на примере отображения в Google Chrome):
Если ваш значок серый, пользуетесь инструментом для разработчиков. К примеру в Mozilla Firefox или Google Chrome:
Там во вкладке Console вы увидите места, где еще происходит загрузка файлов/скриптов (Mixed Content — смешанный контент) с http протокола, обратите внимание, этот «вызов» может быть не только с вашего сайта, но и вызов со стороннего:
Нужно скорректировать эти ошибки (по возможности исправить нужно все, если что-не получается, иногда допустимо наличие нескольких ошибок). По сути, что вызывается на вашем сайте, легко скорректировать на относительный протокол. Еще бываете, что коды счетчиков сервисов статистики и прочих сервисов нужно обновить с официальных сайтов. Также встречается вызов скриптов с других сайтов и, если нет возможности поменять их на относительный протокол, скрипты размещаете уже на своем сайте («выдергиваете» с источника), а потом уже вызываете эти скрипты со своего сайта.
После всех корректировок обновите страницу и вы должны увидеть тот самый «зеленый замочек». У меня он вылез на тестовом сайте даже с оставшимися 3-мя ошибками (на wpnew.ru нужно было избавиться от всех ошибок), я их чуть позже скорректирую:
Также проверить правильность работы SSL-сертификата можно тут https://www.ssllabs.com/ssltest/analyze.html.
У вас не должно выводиться никаких ошибок, вот пример:
Ну или вот пример, как могут отображаться ошибки работы SSL-сертификата:
к оглавлению ↑
Настройка robots.txt
Далее мы корректируем файл robots.txt, указываем поисковикам, какая версия сайта будет считаться основным зеркалом. В разделе host обязательно добавляем перед доменом протокол https. В моем случае будет так:
Host: https://wpnew.ru
Также в адресе до sitemap.xml изменяем протокол http на https, у меня будет выглядеть так:
Sitemap: https://wpnew.ru/sitemap_index.xml
Вот так все это выглядит так:
к оглавлению ↑
Настройка всех внутренних ссылок
Далее я рекомендую скорректировать все внутренние ссылки на вариант с относительным протоколом. Лучше не идти ленивым путем и делать все эти ссылки через 301 редирект, а скорректировать ссылки сразу на правильные.
к оглавлению ↑
Сайт на WordPress
Если сайт на WordPress, можно просто установить этот плагин Search Regex.
- Устанавливаете плагин
- Переходите во вкладку «Инструменты» и Search Regex:
- Здесь в поле «Search pattern вводите http://site.ru, а в поле Replace pattern //site.ru (не забудьте site.ru поменять на свой домен):
Если у вас не получается сделать через плагин (или вдруг не хотите), сделайте по инструкции ниже.
к оглавлению ↑
Без использования плагинов
Внимание: обязательно сделайте резервную копию сайта, прежде чем корректировать базу данных.
Чтобы изменить на всем сайте ссылки, делаем следующее:
- В личном кабинете хостинга заходим в MySQL редактор. Находим базу данных нашего сайта.
- Пожалуйста, не делайте этот пункт, если вы не уверены, что у вас есть правильная резервная копия базы данных. Например, я выгрузил базу данных, сохранил ее себе, а также хостинг каждый день делает резервную копию всего сайта, включая базу данных (полностью на хостера надеется тоже не стоит).
Вверху переходим во вкладку SQL и вставляем следующий код:# Изменение URL вложений: UPDATE wp_posts SET guid = replace(guid, 'http://вашсайт.ru','https://вашсайт.ru'); # Изменение записей в записях и страницах: UPDATE wp_posts SET post_content = replace(post_content, 'http://вашсайт.ru', 'https://вашсайт.ru');
где вместо вашсайт.ru впишите свой сайт (к сожалению, тут на относительный протокол поменять не получится, так как WordPress в некоторых местах не поддерживает относительный протокол, пришлось сразу напрямую прописать https). Если у вас не WordPress, вам нужно выполнить другой SQL-запрос, который можете уточнить у своего проггера/хостера (возможно, у вас получится сделать ссылки с относительным протоколом не на Вордпрессе):
- Получится что-то вроде этого:
Дополнительно для убедительности вы можете прогнать свой сайт каким-нибудь краулером (например, Comparser) и убедиться, что все нормально, ненужных редиректов и неправильных ссылок из-за переезда на https — нет.
к оглавлению ↑
Настройка панели вебмастеров поисковых систем
Теперь в панелях вебмастерах нужно сообщить поисковикам, что у нас есть версия сайта на https и в индексе должна именно она.
к оглавлению ↑
Яндекс вебмастер
- Заходим в Яндекс Вебмастер своего сайта в раздел «Индексирование» => «Переезд сайта» и ставим галочку напротив фразы «Добавить https»:
- В результате увидим сообщение «В ближайшее время в результатах поиска вместо домена http://site.ru появится https://site.ru»:
- Яндекс, в отличии от Google, прекрасно определит местоположение до sitemap.xml через файл robots.txt и красиво это продемонстрирует (появится позже):
к оглавлению ↑
Google Search Console (Google Webmasters)
- Добавляем новый сайт с https в Google Search Console:
- Подтверждаете права доступа на сайт. Вообще, у Гугла при обнаружении сайта с https по умолчанию начнем показывать именно эту версию сайта.
- Дополнительно я бы рекомендовал добавить на только что добавленный сайт адрес до карты сайта sitemap.xml с https протоколом:
- Также можно отправить на переиндексацию html карту сайта, чтобы быстрее робот все обошел:
Далее нажать «Запросить индексирование»:И уже там выбрать кнопку «Сканировать этот URL и прямые ссылки».
к оглавлению ↑
Процесс склейки зеркал в поисковиках
Зеркала сайтов — это сайты с частичным или полным дублированием контента. К примеру, www.site.ru и site.ru, http://site.ru и https://site.ru является зеркалами. Даже site1.ru и site2.ru могут быть зеркалами, если у них одинаковое содержимое, одинаковые урлы страниц и т.д.
Склейка зеркал — это объединение зеркал сайтов в один в поисковом индексе.
К чему все это я. Вот что пишет Яндекс сам в статье про деликатный переезд на https:
При необходимости настроить редирект с неглавного зеркала на главное. Делать это до того, как сайты будут признаны зеркалами, нежелательно, поскольку в этом случае страницы с редиректами будут исключаться из поиска согласно правилам Яндекса по обработке перенаправлений. На время склейки зеркал, по возможности, лучше оставить сайт доступным для робота по обоим адресам.
Поэтому не рекомендуется делать сразу же 301 редирект, чтобы минимизировать падение трафика в Яндексе.
Как произвести склейку зеркал? То, что мы сделали в шагах выше — позволит грамотно склеить сайты. Для склейки достаточно в robots.txt в разделе host указать главное зеркало (в нашем случае сайт с https), а также в Яндекс Вебмастере поставить галочку во вкладке «Переезд сайта» => «Добавить https».
Как правило склейка сайтов в поисковиках происходит в течении 2-4 недель. После склейки у вас в Яндекс Вебмастере пропадет уведомление сверху и появится галочка напротив «Добавить https»:
В результате всех наших манипуляций страницы с http будут выпадать из индекса, а с https будут добавляться.
Вы увидите что-то вроде этого (это, если вы не добавляли сайт с https в Яндекс Вебмастер):
Обратите внимание, что https версия стала «главнее» и выше уровнем, а http как бы «подчиняется». Если версия сайта с https «серая» просто перейдите на него и нажмите «Добавить».
После склейки сайтов обязательно проверьте региональность вашего сайта, она может слететь. Если что пропишите новые, если проблема наблюдается в Яндекс Справочнике, напишите обязательно в техподдержку Яндекса, чтобы они подправили все это дело.
Если вдруг после истечения месяца сайт доступен по старому протоколу (http в нашем случае), пишем в техподдержку https://yandex.ru/support/webmaster-troubleshooting/mirrors/change-protocol.html
к оглавлению ↑
Настройка редиректов (перенаправлений)
После того, когда вы поняли, что сайты склеились в Яндексе, а также в индексе большая часть сраниц находится с https (вот пример, как можно проверить индекс поисковиков), нужно настроить 301 редиректы. Обращайте внимание на эти показатели, чтобы в районе 80% страниц было в индексе с https:
к оглавлению ↑
Редиректы с помощью плагина для WordPress Really Simple SSL
Вы можете поставить очень удобный плагин Really Simple SSL, который все сделает за вас. После установки нажмите на кнопку «Go ahead, activate SSL»:
Вас «выбросит» из админки, заново авторизуйтесь. После того, как проверите правильно работу перенаправлений, вы можете отключить плагин (только после деактивации дополнительно лучше проверить на сохранность редиректов и прочую работу сайта на https). То есть, если вбить любой адрес вашего сайта с http, вас автоматически должно перебросить на https.
к оглавлению ↑
Без плагинов на сайте на WordPress
Если же у вас WordPress и хотите сделать все без плагинов, зайдите в админку вашего сайта во вкладку «Настройки» -> «Общие» и там поменяйте в полях «Адрес WordPress URL» и «Адрес сайта» с http на https:
После этого вас выкинет с админки сайта. Заново авторизуйтесь. Теперь сайт доступен только по протоколу https. Если еще возможно попасть на страницы с http, читайте следующий пункт урока.
Если же вдруг у вас по какой-либо причине после этого шага не открывается ни сайт, ни админка сайта, зайдите через FTP на ваш сайт, откройте файл functions.php вашей темы и в начале добавьте вот эти 2 строчки (изменив site.ru на ваш домен без https):
update_option('siteurl', 'http://site.ru/' ); update_option('home', 'http://site.ru/' );
к оглавлению ↑
Все движки
Если у вас другой движок (Bitrix, Joomla и другие, Вордпресс тоже подойдет если что) нужно будет вставить специальный код в файл .htaccess. Файл .htaccess лежит в корне сайта, сделайте резервную копию файла на всякий случай, либо сохраните содержимое файла где-нибудь обязательно!:
RewriteEngine on # redirect to https RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Если код не сработал, то вот еще один попробуйте (не забудьте site.ru поменять на адрес вашего домена):
RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Примечание: если вы не можете найти файл .htaccess в корне сайта, можете его создать с помощью Notepad++, сохранить, например, в txt формате, закинуть на сервер в корень сайта и там переименовать на файл «.htaccess» (без кавычек, в начале именно точка).
Если же у вас вдруг редирект не работает или работает не совсем корректно, обратитесь в техподдержку своего хостинга, они в таких случаях должны помочь.
к оглавлению ↑
wpnew.ru
Getting an SSL certificate for interacting with Yandex.Money servers
To get a certificate, create a certificate request (in *.csr format), fill in the certificate request application form, and email the request and certificate application to your Yandex.Money manager.
- 1. Creating a private key
-
Run the command:
openssl genrsa -aes256 -out private.key 2048
Enter the password and confirm. For instance:
Enter pass phrase for private.key: 12345 Verifying - Enter pass phrase for private.key: 12345
A private.key file will be created in the directory where the command was run.
- 2. Creating a CSR request for a certificate
-
Run the command:
openssl req -new -key private.key -out request.csr
Enter the required parameter for the certificate request. Only use Latin characters.
- Example of filling in certificate request parameters
-
The request.csr file will be created in the directory where the command was run.
- 3. Getting a digital signature for the certificate request application
-
You need a digital signature to fill in the certificate request application, as it is contained in the certificate file.
To get a digital signature, run the command:
openssl req -in request.csr -noout -text
The text representation of the digital signature is the part of the response after the string Signature Algorithm: sha1WithRSAEncryption. For instance:
Signature Algorithm: sha1WithRSAEncryption 5b:67:42:8c:5a:a7:bc:bf:05:99:77:39:2e:e7:e7:5d:8e:47: 09:e9:5a:46:62:3c:b1:63:2a:de:06:26:54:a4:12:b4:17:b2: ca:ff:f4:3f:c0:09:ee:7a:88:5b:b9:f5:04:cb:24:bd:5f:bd: 3b:f7:38:54:71:1c:fe:98:17:66:ae:72:2d:8a:31:34:94:30: 58:ad:79:60:e5:ca:24:83:8b:c7:96:11:c6:d9:c9:6e:7a:b0: 83:20:96:96:08:72:38:3e:24:dc:30:35:f7:85:f4:d3:21:62: 13:44:1f:49:2a:d3:c2:73:2d:3b:fc:07:3f:20:8e:d3:c1:c8: 4c:3b:69:a3:24:56:1e:5c:9c:2f:eb:83:97:80:8b:25:5d:6a: 63:80:59:24:c0:1a:b5:ed:9f:fa:b9:6d:38:dc:6b:ff:29:9e: 24:b7:95:07:37:a9:71:90:ad:b7:51:d6:0e:62:82:5d:39:8a: f2:4a:06:db:5e:2c:ae:4f:c8:76:2b:ee:e9:13:04:e3:72:c8: 6b:26:61:6c:aa:07:c1:3f:3c:b0:92:b0:29:5f:74:14:7c:34: 77:c8:c6:7a:2f:33:55:c5:0f:1d:e0:b7:8a:d9:84:d7:78:fb: 59:22:e0:58:49:97:16:f2:77:58:8b:8a:af:f2:af:43:b1:fa: 27:58:e1:c2
- 4. Filling out the certificate application
-
Download the certificate application, fill it in, and print it. Sign it and stamp your seal on it. Scan it.
- 5. Sending the request and application for a certificate to Yandex.Money
-
Email the certificate request file (request.csr) and scanned application to your Yandex.Money manager.
The certificate will be issued within 2 business days.
- 6. Installing the certificate
-
In response to the request, your manager from Yandex.Money will send a file with the certificate. The certificate is valid for 1 year.
What to do next:
- Place the certificate on your server.
- Add the path to the certificate in the configurations of the scripts that interact with Yandex.Money.
- If verify the end server certificate, download the certification chain (certificates of the NBCO YM Root and NBCO YM Int certificate authorities) and add them to the list of trusted root and intermediate certificate authorities in your system.
For more information about installing the certificate, contact the activation manager.
tech.yandex.com
Компания «Яндекс» включила в Яндекс.Почте шифрование для межсерверных SMTP-соединений с использованием STARTTLS — как на прием, так и на отправку писем. Теперь, например, все письма из российской почтовой системы пользователям Gmail передаются не только по IPv6, но и в зашифрованном виде. По этому поводу я немножко расскажу о протоколах, которые используются при передаче электронной почты в зашифрованном виде.
Исследователям еще предстоит найти причину истинной любви интернет-технологов к аббревиатурам. Со времен ARPANET все сети, протоколы, стандарты и т.д. предпочитают называть буквенными сокращениями. Этот простой и понятный способ словообразования приводит к появлению предложений вида: «IETF published RFC6594 by CZ.NIC on the use of SHA-256 with RSA, DSA and ECDSA in SSHFP». Как видно, особенно много таких сокращений в криптографии.
Что такое SSL и TLS?
В девяностых годах прошлого века одним из «инкубаторов», где всякие интересные идеи из академической среды воплощались в реальность, была компания Netscape. Именно ее сотрудники в начале позапрошлого десятилетия реализовали возможность шифрования соединений, опубликовали протокол и назвали его Secure Sockets Layer (SSL). Его первой публичной версией была SSL v2, в которой быстро нашли ряд уязвимостей. За ней вышла последняя на текущий момент SSL v3. Оригинальное описание на сайте Netscape кануло в лету в момент поглощения Netscape компанией AOL, но в 2011 его все-таки опубликовали для истории в виде RFC6101.
Тогда же появилась и первая свободная реализация SSL. Энтузиаст Эрик Янг начал публиковать библиотеку SSLeay (на этот раз сборная аббревиатура: SSL + Eric A. Young) под BSD-подобной лицензией. SSLeay спустя несколько лет превратится в известную всем специалистам библиотеку OpenSSL.
Что важно знать про SSL v2 и v3? Во-первых, эти протоколы предназначены для работы поверх транспортного протокола с надежной доставкой и соединениями (например, TCP). Во-вторых, SSL v2 использовать уже нельзя — он официально считается слишком уязвимым и в текущих условиях может давать только иллюзию безопасности.
На основе SSL v3 группа ученых и инженеров в рамках IETF создала протокол TLS (Transport Layer Security). Фактически, TLS v1.0 является небольшой (но несовместимой) переработкой SSL v3, включающей в себя все его возможности и добавляющей некоторые детали.
Конец девяностых и начало нулевых ознаменовались повсеместным использованием HTTPS (а это, напомню, просто HTTP поверх SSL/TLS — HTTP с шифрованием), а следовательно, и более пристальным вниманием к этим протоколам со стороны специалистов по компьютерной безопасности в шляпах обоих цветов. В результате был обнаружен целый класс уязвимостей при использовании SSL v3 или TLS 1.0 с блочными алгоритмами шифрования в режиме CBC (а в SSL другие режимы блочных алгоритмов не использовались). В 2006 году — аж через 7 лет — была выпущена обновленная версия TLS 1.1, устраняющая эти уязвимости. Однако инженеры не торопились реализовывать TLS 1.1 аж до 2011 года, когда по всему интернету прогремела громкая атака на браузеры, использующие TLS 1.0, под названием BEAST. Было немедленно изобретено несколько костылей (например, переключение на поточный шифр), а также подняты приоритеты по апгрейду всего и вся на TLS 1.1+.
В 2008 году была выпущена спецификация последней на текущий момент версии TLS — 1.2. В ней появилось много нововведений. Во-первых, стала обязательной возможность использовать алгоритм шифрования AES, причем появился новый режим шифрования в дополнение к CBC — GCM. Во-вторых, была исключена поддержка устаревших алгоритмов DES и IDEA. В-третьих, в протоколе отказались от использования HMAC на основе алгоритма хеширования MD5 и перешли на более стойкие SHA256 и SHA384. В-четвертых, появился механизм расширений TLS extensions, позволяющий включать новые фичи без полной переработки протокола. Одним из таких расширений является SNI, который активно используется в сервисах Яндекса. Наконец, чтобы все нововведения не оказались бесполезными, в протоколе возможность даунгрейда на SSLv3 была объявлена устаревшей и нерекомендуемой.
Итак, подводя итоги:
- SSL — это протокол безопасных соединений поверх TCP. Новых версий SSL не бывает. TLS — это и есть новый SSL, с новой нумерацией версий.
- Есть старый SSL v2. Он негодный — если он поддерживается, его надо отключать. Есть SSL v3, который везде поддерживается много лет. Но в нем найдены недостатки, которые могут негативно сказаться на безопасности. Есть TLS v1.0, в нем сохраняются уязвимости SSL v3, и его лучше бы использовать только с поточным алгоритмом шифрования RC4 (который отдельно считается теоретически уязвимым). Поэтому лучше всего использовать TLS v1.1 или v1.2 и запрещать шифр RC4.
Протоколы электронной почты
Можно уверенно сказать, что основным пользовательским протоколом передачи электронной почты является HTTP. Это может звучать необычно, но подавляющее большинство пользователей именно так читает и отправляет свои электронные письма в 2013 году.
Почтовые программы, хоть и отошли на второй план, по-прежнему широко используются и работают по трем протоколам: старый POP3, чуть более новый IMAP и универсальный SMTP. Про историю POP3 и IMAP я немного рассказывал раньше, а теперь чуть-чуть добавлю про SMTP.
Электронную почту по праву называют первым киллераппом компьютерных сетей. Корнями современный SMTP (Simple Mail Transfer Protocol) уходит очень глубоко в ARPANET, в до-TCP/IP-шную эпоху передачи файлов между компьютерами американских университетов на деньги Министерства обороны США. Это были наивные прекрасные времена повсеместного взаимного доверия, когда не требовалось не только шифрования, но и даже простейшей аутентификации. Чем нам это аукнулось годы спустя можно, кстати, увидеть в собственной папке «Спам».
Смотрите, первая версия SMTP для Интернета (с большой буквы!) специфицирована в RFC 788 в конце 1981 года. Уже тогда это был результат более чем десятилетнего развития электронной почты в ARPANET. И только еще почти через 20 лет в 1999 году появляется официальный стандарт на аутентификацию — то есть на логины и пароли в SMTP. Все это время передача почты по SMTP была возможна сразу после соединения кем угодно кому угодно. Этот режим, конечно, подходил для межсерверного общения в сети с большим количеством хопов — в этом случае хосты могут служить релеями для чужой почты. Но первоначальная отправка, так называемый submission, без аутентификации привел к появлению спама, а затем уже к изобретению SMTP AUTH. Кстати, старожилы еще могут помнить режим «POP3 before SMTP», который использовал POP3 в качестве аутентифицирующего костыля к SMTP.
Как только в протоколе появляются пароли, сразу начинают задумываться и о шифровании. В 2002 году выходит стандарт на поддержку апгрейда открытой SMTP-сессии до режима TLS — RFC3207. Это была попытка зафиксировать и улучшить дефакто ситуацию — шифрование SMTP на отдельном порту 465 к тому моменту уже применяется несколько лет.
Схема работы STARTTLS представляет отдельный интерес. Это универсальное расширение для любого текстового протокола. В реальности оно получило распространение для SMTP, IMAP/POP3 и немножко для FTP.
В момент, когда клиент и сервер в уже установленном открытом соединении понимают, что с обеих сторон есть возможность и желание зашифровать передачу данных, клиент дает команду STARTTLS и сразу же начинает TLS handshake.
От прикладного протокола зависит только способ убедиться во взаимной поддержке TLS до начала шифрования. В случае SMTP это происходит через механизм расширений ESMTP — здесь есть подробности и об этом.
Шифрование SMTP через STARTTLS по стандартным портам (напомню, 25 и второй 587, про который часто забывают) или по порту 465 сразу же стало набирать популярность. TLS позволяет многое: и аутентификацию по сертификатам, и проверку подлинности сервера — все это интересные, нужные и доселе недоступные возможности. Сейчас, кажется, не существует почтовых систем, которые не принимают от пользователей почту по зашифрованному соединению. Другое дело — межсерверное общение.
SMTP — не просто рабочая лошадка электронной почты, он еще и двухголовая лошадка.
Весь обмен письмами между серверами различных почтовых систем тоже происходит по SMTP. Конечно там уже нет парольной аутентификации — вместо нее используется проверка адреса получателя письма на прикладном уровне. Если и ее нет, то получается Open Relay, за который ваш IP-адрес обязательно накажут отрицательной репутацией все антиспам-системы мира. Обычно там нет и шифрования. Причин этому несколько. Во-первых, считается что каналы связи между серверами почтовых систем сами по себе достаточно безопасные. И действительно, при передаче между серверами письма как правило не спускаются в «последнюю милю», где обычно и происходит мелкий, «казуальный» перехват трафика. Во-вторых, эта передача асинхронная и неинтерактивная, благодаря чему нет никакой возможности уточнить у человека, что делать в случае несоответствия или просроченности сертификата принимающей соединение стороны.
Все эти аргументы, однако, оказываются несостоятельными. Принимающий сервер может находиться не в стойке большого защищенного датацентра, а где угодно. Правительственные организации по всему миру запускают программы прослушки на всех каналах связи. Проверка сертификатов пусть и полезна, но совсем не обязательна для того, чтобы обезопасить передачу информации. Поэтому все чаще и чаще мы встречаем письма, которые переданы в зашифрованном виде на всем своем пути — от браузера пользователя по HTTPS на сервер почтовой системы, затем на сервер получателя по SMTP over TLS, а после этого по зашифрованному IMAP в телефон человека, которому предназначено послание. И это хорошо.
xakep.ru
Получение SSL-сертификата для взаимодействия с серверами Яндекс.Денег
Чтобы получить сертификат, нужно создать запрос на сертификат (в формате *.csr), заполнить заявку на получение сертификата и отправить запрос и заявку на сертификат по электронной почте своему менеджеру в Яндекс.Деньгах.
- 1. Создание приватного ключа
-
Выполните команду:
openssl genrsa -aes256 -out private.key 2048
Введите пароль и подтвердите. Например:
Enter pass phrase for private.key: 12345 Verifying - Enter pass phrase for private.key: 12345
В директории выполнения команды будет создан файл с приватным ключом: private.key.
- 2. Создание CSR-запроса на сертификат
-
Выполните команду:
openssl req -new -key private.key -out request.csr
Введите необходимые параметры для запроса на сертификат. Используйте только латинские символы.
- Пример заполнения параметров запроса на сертификат
-
В директории, в которой была выполнена команда, будет создан файл request.csr.
- 3. Получение электронной подписи для заявки на сертификат
-
Электронная подпись нужна для заполнения заявки на сертификат, она содержится в файле сертификата.
Чтобы получить электронную подпись, выполните команду:
openssl req -in request.csr -noout -text
Текстовым представлением электронной подписи является часть ответа после строки Signature Algorithm: sha1WithRSAEncryption. Например:
Signature Algorithm: sha1WithRSAEncryption 5b:67:42:8c:5a:a7:bc:bf:05:99:77:39:2e:e7:e7:5d:8e:47: 09:e9:5a:46:62:3c:b1:63:2a:de:06:26:54:a4:12:b4:17:b2: ca:ff:f4:3f:c0:09:ee:7a:88:5b:b9:f5:04:cb:24:bd:5f:bd: 3b:f7:38:54:71:1c:fe:98:17:66:ae:72:2d:8a:31:34:94:30: 58:ad:79:60:e5:ca:24:83:8b:c7:96:11:c6:d9:c9:6e:7a:b0: 83:20:96:96:08:72:38:3e:24:dc:30:35:f7:85:f4:d3:21:62: 13:44:1f:49:2a:d3:c2:73:2d:3b:fc:07:3f:20:8e:d3:c1:c8: 4c:3b:69:a3:24:56:1e:5c:9c:2f:eb:83:97:80:8b:25:5d:6a: 63:80:59:24:c0:1a:b5:ed:9f:fa:b9:6d:38:dc:6b:ff:29:9e: 24:b7:95:07:37:a9:71:90:ad:b7:51:d6:0e:62:82:5d:39:8a: f2:4a:06:db:5e:2c:ae:4f:c8:76:2b:ee:e9:13:04:e3:72:c8: 6b:26:61:6c:aa:07:c1:3f:3c:b0:92:b0:29:5f:74:14:7c:34: 77:c8:c6:7a:2f:33:55:c5:0f:1d:e0:b7:8a:d9:84:d7:78:fb: 59:22:e0:58:49:97:16:f2:77:58:8b:8a:af:f2:af:43:b1:fa: 27:58:e1:c2
- 4. Заполнение заявки на сертификат
-
Скачайте заявку на сертификат, заполните и распечатайте. Подставьте подпись и печать. Отсканируйте.
- 5. Отправка запроса и заявки на сертификат в Яндекс.Деньги
-
Отправьте файл запроса на сертификат (request.csr) и скан заявки по электронной почте своему менеджеру в Яндекс.Деньгах.
Выпуск сертификата занимает не больше 2 рабочих дней.
- 6. Установка сертификата
-
В ответ на заявку менеджер в Яндекс.Деньгах пришлет файл с сертификатом. Срок действия сертификата 1 год.
Что дальше:
- Разместите сертификат на своем сервере.
- Пропишите путь к нему в настройках скриптов, которые взаимодействуют с Яндекс.Деньгами.
- Если вы проверяете сертификат конечного сервера, загрузите цепочку сертификации (сертификаты удостоверяющих центров NBCO YM Root и NBCO YM Int) и добавьте их в списки доверенных корневых и промежуточных центров сертификации своего ПО.
За подробной информацией по установке сертификата обращайтесь к менеджеру по подключению.
Порядок работы с SSL-сертификатами
- Необходимо:
-
- Проверять подлинность серверов Яндекс.Денег с помощью цепочки сертификации и не устанавливать соединение, если проверка не пройдет успешно.
- Использовать свой приватный ключ и сертификат при установлении подключений к серверам Яндекс.Денег.
- Сохранять конфиденциальность приватного ключа.
- Самостоятельно следить за сроком действия сертификата.
В случае компрометации приватного ключа обязательно сообщите менеджеру в Яндекс.Деньгах.
Если срок действия сертификата закончится или он будет скомпрометирован, можно получить новый по данному регламенту.
tech.yandex.ru
В чем причина ошибки – «Невозможно установить безопасное соединение»?
Причин появление этой ошибки в Яндекс браузере несколько.
Способы устранения ошибки «Невозможно установить безопасное соединение»
Настраиваем сертификаты https/ssl для доступа на заблокированный сайт.
- Открываем настройки Яндекс.Браузер.
- Далее открываем «Дополнительные» в самом низу страницы.
- В списке находим https/ssl. Здесь будут все сертификаты, которые доступны на вашем ПК. Их также можно настроить.
- Необходимо снять галочки с основных пунктов: сертификат подлинности сервера, внизу нужно убрать галочку с пункта «Доверенный ДНС-сервер».
- Эти действия нужно применить ко всем разделам: другие пользователи, личные и т.д.
Стоит отметить, что убирая галочки с этих пунктов, вы подвергаете свой компьютер опасности, поэтому это необходимо делать в крайних случаях, если вход на определенный сайт вам действительно необходим.
Дополнения, которые могут блокировать сайт
Последние версии Яндекс браузера имеют дополнения, которые встроены по умолчанию. Наверняка вы о них слышали: Adgrard, Антишок, Protect. При возникновении ошибки — «невозможно установить безопасное соединение» эти дополнения нужно отключить. А также необходимо на короткий срок выключить антивирусное ПО.
Магазин дополнений для браузеров состоит из программного обеспечения, которое может разрабатывать каждый, более-менее умеющий программировать пользователь. Выводы делайте сами. Чем больше таких дополнений установлено в браузере, тем большая вероятность того, что работа его будет нестабильной. Откройте дополнения на своем браузере и удалите все, которые вы сочтете лишними. Это ускорит и улучшит общую работу браузера.
www.thetarif.ru