Показать статистику
0 голосов
от (2.3тыс. баллов)
342 просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Генерация SSL-сертификатов с помощью LetsEncrypt в Debian

Если вы еще не поняли, шифрование важно. Для Интернета это означает использование SSL-сертификатов для защиты веб-трафика. Недавно Mozilla и Google зашли так далеко, что отметили сайты без SSL-сертификатов как небезопасные в Firefox и Chrome.

Чтобы ускорить работу сети с помощью шифрования, Linux Foundation вместе с Electronic Frontier Foundation и многими другими создали LetsEncrypt. LetsEncrypt - это проект, предназначенный для предоставления пользователям доступа к бесплатным сертификатам SSL для их веб-сайтов. На сегодняшний день LetsEncrypt выпустил миллионы сертификатов и имеет оглушительный успех. 

Использовать LetsEncrypt легко в Debian, особенно при использовании утилиты Certbot из EFF.

Установка для Apache

Certbot имеет специализированный установщик для сервера Apache. У Debian этот установщик доступен в его репозиториях.

# apt install python-certbot-apache

Пакет предоставляет certbot команду. Плагин Apache взаимодействует с сервером Apache для обнаружения информации о ваших конфигурациях и доменах, для которых он генерирует сертификаты. В результате для генерации ваших сертификатов требуется только короткая команда.

# certbot --apache

Certbot сгенерирует ваши сертификаты и настроит Apache для их использования.

Установка для Nginx

Nginx требует немного больше ручной настройки. Опять же, если вы используете Nginx, вы, вероятно, привыкли к ручной настройке. В любом случае, Certbot все еще доступен для загрузки через репозитории Debian.

# apt install certbot

Плагин Certbot все еще находится в альфа-версии, поэтому его использование не рекомендуется. У Certbot есть еще одна утилита под названием "webroot", которая упрощает установку и обслуживание сертификатов. Чтобы получить сертификат, выполните команду ниже, указав вашего корневого веб-директора и любые домены, которые вы хотите покрыть сертификатом.

# certbot certonly --webroot -w /var/www/site1 -d site1.com -d www.site1.com -w /var/www/site2 -d site2.com -d www.site2.com

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

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

Сохраните свою конфигурацию и перезапустите Nginx, чтобы изменения вступили в силу.

# systemctl restart nginx

Автообновление с Cron

Независимо от того, используете ли вы Apache или Nginx, вам нужно будет обновить свои сертификаты. Лучший способ справиться с обновлением ваших сертификатов - создать задание cron, которое будет выполняться два раза в день. Рекомендуются два раза в день, потому что они защищают от потери сертификатов из-за отзыва, который может происходить время от времени.  Они не обновляются каждый раз. Утилита проверяет, устарели ли сертификаты или будут в течение тридцати дней. Он будет обновлять их, только если они соответствуют критериям. 

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

#! /bin/bash
certbot renew -q

Не забудьте также сделать сценарий исполняемым.

$ chmod +x renew-certs.sh

Теперь вы можете добавить скрипт как задание cron. Откройте ваш crontab и добавьте скрипт.

# crontab -e
* 3,15 * * * /home/user/renew-certs.sh

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

Подводя итог

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


 

...