Инструкция по самостоятельной установке SSL-сертификата (Secure Sockets Layer) и перехода на безопасный протокол HTTPS для сайта. Уделим внимание следующим вопросам: «Почему перевод на протокол HTTPS полезен для сайта? Как сделать это бесплатно? Как найти небезопасные ресурсы в коде сайта, которые мешают корректной работе протокола HTTPS с помощью браузера Google Chrome? Подключение к сайту защищено не полностью, как найти небезопасные элементы?»
В материале:
Представители Google уже не раз заявляли, что все сайты (без исключения) в сети Интернет должны работать с использованием безопасного протокола HTTPS. Поскольку Google является законодателем моды в данной сфере, вектор всей отрасли понятен — сигнал получен.
Сайты, которые в своё время не перейдут на HTTPS будут понижены в ранжировании и потихоньку будут вытеснены другими «более прилежными» и безопасными сайтами. Перевести сайт на работу по протоколу HTTPS придётся всем.
На сегодняшний день есть еще много сайтов, которые работают с использованием небезопасного протокола HTTP. Данный протокол легко «прослушать» и похитить данные пользователя. Под угрозой: пароли, данные платёжных систем и другое.
HTTPS — это тот же протокол HTTP с поддержкой Transport Layer Security (TLS) и SSL (Secure Sockets Layer). Связка данных технологий позволяет создавать безопасный шифрованный сеанс связи между сервером и пользователем. Это является гарантией того, что персональные данные пользователя не смогут попасть в чужие руки без его на то согласия.
Почему необходимо перейти на защищённый протокол HTTPS уже сегодня?
Прежде всего, чтобы избежать санкций со стороны поисковых систем:
- Позиции сайта с HTTPS не будут понижаться в ранжировании по сравнению с сайтами без использования безопасного протокола.
- Сайт не потеряет трафик при переходе на безопасный протокол, а даже быстро нарастит его.
- SSL сертификат для сайта можно установить бесплатно (Let’s Encrypt) или недорого приобрести его платную версию (Comodo SSL, GeoTrust SSL, Thawte SSL и др.).
Как перейти на протокол HTTPS бесплатно?
Для этого надо выбрать хорошую хостинг компанию, а затем выполнить самостоятельный перевод сайта на HTTPS по инструкции ниже.
Инструкция по самостоятельной установке сертификата SSL и перехода на HTTPS
Здесь описана процедура перевода сайта на HTTPS, установка сертификата через панель управления хостингом cPanel. Сам процесс не потребует глубоких знаний в области IT.
Во время перевода на HTTPS сайт будет постоянно доступен пользователям. Сам процесс происходит быстро и безопасно:
- Страхуемся — создаем архивную копию сайта и базы данных.
- Устанавливаем сертификат. Прописываем необходимые редиректы. Изменяем ссылки на сайте.
- Проверяем правильность установки сертификата и доступность сайта. Находим небезопасные страницы и ресурсы.
- Информируем поисковики Google и Яндекс, что наш сайт работает через HTTPS.
Подготовка
Делаем экспорт базы данных сайта — именно она может пострадать в результате наших действий.
Для сайтов на WordPress рекомендую установить плагин UpdraftPlus — Backup/Restore. Скачать его можно из репозитория WordPress. С помощью данного плагина надо сохранить базу данных сайта и скачать его на компьютер (желательно). Всё — подготовка завершена.
Установка сертификата SSL и переход на HTTPS
Заходим в панель управления хостингом cPanel.
.
Идём в пункт «Безопасность» -> Let’s Encrypt.
Далее. Выпустить новый сертификат. Выбираем домен. Жмём кнопку «Выпустить».
Установка сертификата на wikiart.by. На данном этапе нам предложат выбрать дополнительные поддомены (Addon Alias). Первую галку в пункте «Включать» снимаем (т.е. исключаем mail.wikiart.by), а остальные выбираем. Жмём «Выпустить».
Далее сервер задумается и выдаст следующее сообщение: «Сертификат SSL теперь установлен для домена «………… — псевдоним «……………»» с IP-адресом «93.125.99.78». Перезапуск Apache выполняется в фоновом режиме.»
После этого возвращаемся на главную страницу cPanel.
Через несколько минут проверяем установлен ли сертификат для сайта. Попытаемся открыть сайт по протоколу HTTPS. В нашем случае вбиваем в строку браузера Chrome адрес https://wikiart.by
.
Сайт должен открыться и появиться зелёная подсветка протокола — сертификат установлен и соединение безопасно. Если сайт открывается по протоколу HTTPS, но строка не зелёная необходимо выяснить, что является небезопасным контентом на нашем сайте. Чаще всего — это ссылки на сайте и счётчики, которые имеют небезопасное соединение по протоколу HTTP.
Для просмотра установленного сертификата достаточно кликнуть на букву в начале протокола HTTPS поисковой строки браузера — как на картинке. Затем нажать «Подробнее»
Таким образом бесплатный сертификат Let’s Encrypt установлен. Содержимое небезопасное придётся удалить с сайта и изменить протокол для всех ссылок на сайте.
Меняем все внутренние ссылки сайта с HTTP на HTTPS
Нам понадобится Генератор SQL-запросов, (можно использовать этот: https://truemisha.ru/tools/sql-domain-replace) необходимых при смене домена сайта на WordPress.
Генератор SQL-запросов состоит из трёх полей ввода — Старый домен, Новый домен, Префикс таблиц. Новый и старый у нас будет отличаться лишь протоколом (https вместо http), а префикс таблиц (по умолчанию — это wp_, но иногда его меняют в целях безопасности) можно уточнить в файле wp-config.php, который лежит в корневой папке сайта WordPress. В файле он выглядит приблизительно так $table_prefix = 'wp_';
.
Генератор SQL-запросов создаст запрос (обращение на понятном языке) к базе данных сайта и попросит изменить все ссылки на сайте с http протокола на https.
Формируем запросы, проверяем ещё раз правильность исходных вводных данных. Затем заходим в phpMyAdmin из панели управления хостингом cPanel. Выбираем целевую таблицу базы данных (если их несколько. Уточнить целевую таблицу можно в том же файле wp-config.php).
Копируем полученный запрос из генератора SQL-запросов в поле SQL (Выполнить SQL-запрос(ы) на сервере «localhost»: ).
Запросы выполнены. Все ссылки на сайте изменены на протокол HTTPS.
Устанавливаем редирект с HTTP на HTTPS
Данная переадресация выполняется для того, чтобы склеить домены https://wikiart.by и https://wikiart.by. Т.е. все ссылки с других ресурсов и поисковиков будут отрываться с шифрованием по адресу https://wikiart.by.
Переадресацию выполним с помощью кода, который скопируем в файл .htaccess в корневом каталоге сайта (отредактировать можно с помощью любого FTP клиента).
Прописываем 301 редирект с HTTP на HTTPS в файл .htaccess
Вариант №1
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Вариант №2
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Вариант №3 (если не сработали предыдущие)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Теперь при попытке подключится к сайту по протоколу HTTP (http://wikiart.by) будет произведён редирект на https://wikiart.by.
Проверить это можно помощью сервиса https://gtmetrix.com, который также проверит скорость работы сайта. В разделе WaterFall будет видна попытка подключения по небезопасному протоколу и переадресация.
Завершающий этап
Осталось:
- Проверить доступность файла robots.txt по защищённому протоколу;
- Изменить в robots.txt значения host на правильные с протоколом HTTPS (а также адрес sitemap);
- Уведомить поисковые системы Google и Яндекс о том, что сайт переехал на новый адрес (для скорейшей индексации)
- удалить счётчики, которые мешают отображению «зелёного протокола» в строке браузера. Для этого надо определить небезопасные ресурсы и удалить их с сайта (заменить).
Изменяем содержание файла robots.txt
В рамках данной статьи нас интересует изменения в блоках: Host и Sitemap файла robots.txt. Host рекомендуется прописывать с новым протоколом https://. Насколько это делать корректно сложно сказать — каждый будет решать сам.
Sitemap необходимо указать с учётом протокола и расположения файла. В данном примере файла robots.txt были изменены лишь две последние строки Host и Sitemap:
User-agent: *
Allow: /wp-includes/
Allow: /wp-content/themes/wikia/
Allow: /wp-content/plugins
Disallow: /xmlrpc.php
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /trackback
Disallow: /cgi-bin
Disallow: /comments
Disallow: *?s=
Host: https://wikiart.by
Sitemap: https://wikiart.by/sitemap_index.xml
Как найти небезопасные ресурсы на сайте с помощью браузера Google Chrome
Подключение к сайту защищено не полностью. Как устранить данную ошибку?Нажимаем на значок в адресной строке браузера -> Подробнее -> Owerview (слева в окошке). Небезопасные будут помечены красным.
На данный момент работает другой способ устранения ошибки «Подключение к сайту защищено не полностью». Для этого необходимо при работе в браузере Google Chrome с открытой небезопасной страницей:
- Нажать Ctrl + Shift + i;
- Зайти в закладку Network (обновить страницу Ctrl + F5);
- Найти небезопасный ресурс который работает по протоколу HTTP;
- Изменить источник ресурса;
- Проверить результат.
Переход сайта на протокол HTTPS полностью осуществлён.
Мне было довольно важно разобраться во всех этих http, https, ssl…что это такое, в чем разница и так далее. Для меня это все темный лес)