Как обезопасить Apache с Let’s Encrypt в Ubuntu 14.04

Вступление

Это руководство покажет вам, как настроить сертификат TLS / SSL изLet’s Encrypt на сервере Ubuntu 14.04, на котором Apache работает в качестве веб-сервера.

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

Предпосылки

Для завершения этого руководства вам понадобится:

  • Сервер Ubuntu 14.04 с пользователем sudo без полномочий root, который вы можете настроить, следуя нашему руководствуInitial Server Setup

  • Веб-сервер Apache установлен с правильно настроеннымone or more domain names

Когда вы будете готовы двигаться дальше, войдите на свой сервер, используя свою учетную запись с поддержкой sudo.

[[step-1 -—- download-the-let’s-encrypt-client]] == Шаг 1. Загрузите клиент Let’s Encrypt

Первым шагом к использованию Let's Encrypt для получения сертификата SSL является установка программного обеспеченияcertbot на ваш сервер. Разработчики Certbot поддерживают свой собственный репозиторий программного обеспечения Ubuntu с последними версиями программного обеспечения. Поскольку Certbot находится в такой активной разработке, стоит использовать этот репозиторий для установки более нового Certbot, чем предусмотрено Ubuntu.

Сначала добавьте репозиторий:

sudo add-apt-repository ppa:certbot/certbot

Вам нужно будет нажатьENTER для подтверждения. После этого обновите список пакетов, чтобы получить информацию о пакете нового репозитория:

sudo apt-get update

И, наконец, установите Certbot из нового репозитория с помощьюapt-get:

sudo apt-get install python-certbot-apache

Клиентcertbot Let's Encrypt готов к использованию.

[[step-2 -—- set-up-the-ssl-certificate]] == Шаг 2 - Настройте сертификат SSL

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

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

sudo certbot --apache -d example.com

Если вы хотите установить один сертификат, действительный для нескольких доменов или поддоменов, вы можете передать их в качестве дополнительных параметров команде. Первым доменным именем в списке параметров будет доменbase, используемый Let's Encrypt для создания сертификата, и по этой причине мы рекомендуем вам передать голое доменное имя верхнего уровня первым в списке, а затем любыми дополнительными поддоменами или псевдонимами:

sudo certbot --apache -d example.com -d www.example.com

В этом примере доменbase будетexample.com.

Вам будет предложено указать адрес электронной почты для восстановления утерянного ключа и уведомления, а также вам необходимо будет согласиться с условиями обслуживания Let Encrypt. Затем вам будет предложено выбрать между включением доступаhttp иhttps или принудительным перенаправлением всех запросов наhttps.

Когда установка будет завершена, вы сможете найти сгенерированные файлы сертификатов в/etc/letsencrypt/live. Вы можете проверить статус своего SSL-сертификата по следующей ссылке (не забудьте заменитьexample.com своим доменомbase):

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Теперь у вас должна быть возможность получить доступ к своему сайту с префиксомhttps.

[[step-3 -—- verifying-certbot-auto-Renewal]] == Шаг 3 - Проверка автоматического продления Certbot

Сертификаты Let Encrypt действительны только в течение 90 дней. Однако установленный нами пакет certbot позаботится об этом, запустивcertbot renew два раза в день с помощью таймера systemd. В дистрибутивах, отличных от systemd, эта функциональность обеспечивается скриптом cron, помещенным в/etc/cron.d. Задание выполняется два раза в день и обновляет любой сертификат, срок действия которого истекает в течение тридцати дней.

Чтобы протестировать процесс обновления, вы можете выполнить пробный запуск сcertbot:

sudo certbot renew --dry-run

Если вы не видите ошибок, все готово. При необходимости Certbot обновит ваши сертификаты и перезагрузит Apache, чтобы получить изменения. Если процесс автоматического продления не удастся, Let’s Encrypt отправит сообщение на указанный вами адрес электронной почты, предупреждая вас, когда ваш сертификат скоро истечет.

Заключение

В этом руководстве мы увидели, как установить бесплатный SSL-сертификат от Let Encrypt для защиты веб-сайта, размещенного на Apache. Мы рекомендуем вам время от времени проверять официальныйLet’s Encrypt blog на наличие важных обновлений и читатьthe Certbot documentation для получения дополнительных сведений о клиенте Certbot.

Related