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

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Letsencrypt-SSL-Installation-Guide

Вступление

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

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

Эта статья расскажет:

  • Как бесплатно установить SSL сертификат на Ubuntu 16.04 с веб-сервером Apache.
  • Также мы покажем, как сделать автоматическое обновление сертификата SSL с помощью сервиса cron.
  • Воспользуемся сервисом Let’s Encrypt, который предоставляет бесплатные сертификаты, в отличие от других большинства сервисом, и позволяет легко установить их на сервер. Let's Encrypt - это некоммерческая организация, которая предоставляет бесплатный, полностью автоматизированный и открытый CA (certificate authority - центр сертификации) сертификат.

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

  • Установленный Ubuntu 16.04 сервер и доступ sudo user
  • Установленный cron
  • Установленный и правильно настроенный веб-сервер Apache с одним или несколькими доменами

Установка Let's Encrypt делается в 4 шага

Шаг 1 — Установить необходимые программы зависимости для сервера

Обновим кэш менеджера пакетов, чтобы получить последние версии програмного обеспечения

Установим git (распределённая система управления версиями) для того, чтобы скачать последнюю версию клиента Let’s Encrypt client:

Шаг 2 — Установка клиента Let’s Encrypt

Скачаем клиент Let’s Encrypt из официального репозитория и разместим его файлы на сервере.
Клонируем репозиторий Let’s Encrypt в папку /opt, которая является стандартной папкой для размещения в Linux программ сторонних производителей:

Это создаст локальную копию официального репозитория Let’s Encrypt в папке /opt/letsencrypt.

Шаг 3 — Получение и установка SSL сертификата

Получение и установка SSL сертификата с помощью Let’s Encrypt довольно простая. Клиент Let’s Encrypt делает все автоматически и устанавливает новый SSL сертификат ,который валиден для доменов, указанных в качестве параметров.
Перейдем с папку letsencrypt:

Для того, чтобы установить сертификат для одного домена, еобходимо запустить letsencrypt-auto со следующими параметрами (в качестве примера генерируется сертификат для сайта example.com):

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

Рекомендуем делать именно этот вариант, чтобы потом иметь возможность перенаправлять запросы вида разных видов на единственный домен https://example.com, который будет указан в качестве основного в поисковых системах:

  • http://example.com
  • http://www.example.com
  • https://example.com
  • https://www.example.com

Во время установки программа предложит ввести опции:
- email для восстановления сертификатов и уведомлений
- выбрать вариант настройки сервера Easy при котором возможен доступ как незащищенный http, так и защищенный https или вариант Secure, при котором веб сервер будет настроен только на работу с защищенным доступом https (мы рекомендуем именно второй вариант)
Когда установка завершится, вы сможете найти сгенерированные сертификаты в папке /etc/letsencrypt/live. Чтобы проверить статус вашего SSL сертификата и его работу на сервере, воспользуйтесь сервисом https://www.ssllabs.com/ssltest/

Шаг 4 — Установка автообновления

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

Есть запустить эту программу сразу, после установки сертификата, то она толкьо проинформирует, что пока нет необходимости обновлять сертификат:

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

Включите следующую строку:
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/letsencrypt-renew.log
Сохраните и выйдите из редактирования файла. Эта создаст новую задачу cron, которая будет автоматически запускать letsencrypt-auto каждый понедельник в 2:30. Результат будет выводиться в лог файл по адресу /var/log/ letsencrypt-renew.log.

Вывод

Вы узнали, как установить бесплатный SSL сертификат Let’s Encrypt для того, чтобы сделать безопасными соединения веб-сервера Apache.

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr