Как получить бесплатный сертификат SSL и HTTPS для WordPress

Опубликовано: 2018-06-12

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

Поскольку 58,4% пользователей в основном или исключительно используют браузер Chrome, важно убедиться, что ваш сайт WordPress защищен с помощью SSL и HTTPS, чтобы посетители доверяли вашему сайту.

Получить SSL-сертификат можно быстро и бесплатно. Let's Encrypt — известный и надежный поставщик бесплатных SSL-сертификатов с помощью автоматизированного клиента Certbot.

Сегодня я поделюсь более подробной информацией о SSL, HTTPS, Let's Encrypt и Certbot, а также о том, как вручную установить, управлять и обновлять бесплатный SSL-сертификат на вашем веб-сервере, чтобы защитить ваш веб-сайт WordPress, чтобы он безошибочно отображался в Chrome. .

Что такое SSL и HTTPS и зачем они мне нужны?

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

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

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

Подробнее читайте в статье «Почему HTTPS и SSL для веб-сайтов WordPress абсолютно необходимы».

Что такое Давайте зашифруем?

Let’s Encrypt — это автоматизированный ЦС, предоставляемый Исследовательской группой по безопасности в Интернете (ISRG), некоммерческой организацией, цель которой — сделать Интернет более безопасным местом. Let's Encrypt выдает только бесплатные SSL-сертификаты, и этот процесс ускоряется за счет запуска агента управления сертификатами на веб-сервере.

Типы сертификатов

Let's Encrypt аутентифицирует сертификат проверки домена (DV), который является сертификатом самого низкого уровня, предлагаемым ЦС, и только подтверждает, что веб-сайт владеет доменным именем, на которое он претендует.

По состоянию на январь 2018 года Let's Encrypt также предлагает подстановочный сертификат, который позволяет защитить все поддомены веб-сайта с помощью одного сертификата. Например, info.example.com и about.example.com .

Вы также должны иметь определенный протокол ACMEv2 и, как следствие, клиент, обновленный для поддержки ACMEv2.

Для получения дополнительной информации ознакомьтесь с реализациями клиента ACME.

Сертификаты Let’s Encrypt действительны в течение 90 дней без исключений, и они рекомендуют обновлять их каждые 60 дней, поэтому у вас есть 30 дней для решения любых возможных проблем. Хотя можно настроить автоматическое продление, в зависимости от вашего сервера.

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

Самый простой способ получить бесплатный SSL-сертификат от Let's Encrypt — через ваш веб-хостинг.

Let's Encrypt сотрудничает со многими веб-хостами, а также с рядом провайдеров, которые по умолчанию включают Let's Encrypt и перенаправляют на HTTPS.

Если ваша служба хостинга не знает о Let's Encrypt, вы можете связаться с ними и сообщить, что это вариант.

Если у вашего хостинга нет совместимости, один из самых простых способов разместить бесплатный SSL-сертификат Let's Encrypt на вашем веб-сервере — использовать Certbot, который представляет собой автоматический клиент, который извлекает и развертывает ваш SSL-сертификат на вашем веб-сервере.

Согласно документации Certbot, «Certbot стремится построить сеть, которая будет более приватной, безопасной и защищенной от цензуры».

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

Установка Сертбота

Certbot предназначен для различных операционных систем и серверов. Лучший способ определить идеальную настройку — зайти на веб-сайт Certbot и прочитать конкретные инструкции по установке.

В большинстве случаев для авторизации CertBot вам потребуется root-доступ или права администратора.

Установка обычно происходит через SSH, безопасный криптографический протокол оболочки, который позволяет передавать файлы по незащищенным сетям. Популярными SSH-клиентами являются Terminal для Mac OS X и PuTTY для Windows.

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

В зависимости от ваших настроек и потребностей вашего сайта существует несколько способов установить сертификат Let's Encrypt DV на ваш сайт. Веб-сайт Certbot проведет вас через процесс установки на основе вашей конкретной настройки сервера.

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

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

Подробную информацию можно найти в документации Certbot.

Автономный режим

Если у вас нет серверного программного обеспечения, такого как Apache или Nginx, например, и вы не заинтересованы в его получении, подход с автономным плагином является подходящим вариантом.

Плагин должен будет привязаться к портам веб-сервера 80 (для HTTP) или 443 (для SSL) для проверки домена, поэтому, возможно, вам может потребоваться заранее освободить эти порты на вашем сервере.

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

Убедившись, что Certbot установлен и доступен порт 80 или 443, введите приведенную ниже команду в свой SSH-клиент. Обратите внимание, что в зависимости от того, какой порт вы используете, команда будет немного отличаться.

//For Port 80
certbot certonly --standalone --preferred-challenges http -d example.com

//For Port 443
certbot certonly --standalone --preferred-challenges tls-sni -d example.com

Разбивая его, он, безусловно , получает (или, в некоторых случаях, обновляет) сертификат, но не устанавливает его, –standalone указывает Certbot запустить автономный веб-сервер для аутентификации, –preferred-challenges указывает сообщение, которое будет использовать Certbot, и -d указывает доменное имя, для которого вы запрашиваете SSL-сертификат.

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

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

Плагин веб-рута

Использование метода webroot является вариантом, если у вас есть возможность изменять содержимое на вашем сервере. Веб-метод установки сертификата помещает файл проверки в определенное место на вашем веб-сервере.

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

Возможно, важно знать, что для использования плагина webroot вам необходимо убедиться, что ваш сервер настроен на отображение файлов из скрытых каталогов, в частности из папки /.well-known.

Запустите эту команду в своем SSH-клиенте, чтобы установить метод webroot:

certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com

Команда certonly получает сертификат, –webroot сообщает Certbot метод, который мы используем, и вам нужно будет включить –w или –webroot-path, а затем путь к файлу, содержащему самый верхний каталог, содержащий файлы, обслуживаемые вашим веб-сервером. , –webroot-path /var/www/html является общим корневым корневым путем.

Для получения подробной информации ознакомьтесь с документацией Certbot.

Где находятся ваши сертификаты

Все ключи и выданные сертификаты можно найти в /etc/letsencrypt/live/$domain , который обновляется при обновлении.

Вот список файлов в вашем сертификате:

  • Privkey.pem — здесь хранятся ваши личные ключи, и их следует держать в секрете даже от разработчиков Certbot. Но вы должны держать его доступным для сервера, но только для пользователя root.
  • Fullchain.pem — здесь хранятся все ваши сертификаты, и если их несколько, первым является сертификат сервера.
  • Cert.pem — содержит индивидуальный сертификат сервера.
  • Chain.pem — здесь хранятся все промежуточные сертификаты, а также сертификаты, необходимые для проверки сервера.

Если вы хотите проверить содержимое вашего файла в каталоге, используйте команду ls /etc/letsencrypt/live/example.com в вашем SSH-клиенте, чтобы отобразить список.

Продление вашего сертификата

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

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

certbot renew

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

Если у вас есть несколько доменных имен и вы хотите продлить только одно из них, эта команда с использованием certonly сделает свое дело:

certbot certonly -n -d example.com -d www.example.com

Обратите внимание : Certbot рекомендует указывать -n или –noninteractive , чтобы предотвратить блокировку пользовательского ввода.

Заключение

Установка SSL-сертификата является важной мерой безопасности для любого сайта WordPress. Let's Encrypt и Certbot предоставляют быстрые и бесплатные способы защитить ваш домен и веб-сайт с помощью HTTPS и SSL-сертификата.

Подробную информацию см. в обширной документации Certbot и на форуме сообщества.

Удалось ли вам успешно установить бесплатный SSL-сертификат с помощью Let’s Encrypt? Каковы ваши причины для установки SSL-сертификата? Поделитесь своим опытом в комментариях ниже.