Яндекс

Lets Encrypt и Certbot на Astra Linux

Устанавливаем и автоматически продлеваем сертификаты ssl при помощи Lets Encrypt и Certbot на Astra Linux

(17 Votes)
let's encrypt astra linux certbot astra linux

 

Репутация веб-ресурсов во многом зависит от уровня безопасности и уровня защиты персональных данных на сервере.

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

Мы будем устанавливать бесплатный сертификат от некоммерческого удостоверяющего центра Let’s Encrypt.

Готовый к эксплуатации веб-сервер необходимо подготовить к дальнейшей установке SSL:

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

1. В терминале (Alt+t) переходим под root
sudo su

2. Добавим репозиторий AL1.7:
cat << EOF > /etc/apt/sources.list
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ce
EOF

3. Разрешим установку пакетов со сторонних репозиториев

Комментируем содержимое /etc/apt/preferences.d/smolensk
cat << EOF > /etc/apt/preferences.d/smolensk
#Package: *
#Pin: release n=1.7_x86-64
#Pin-Priority: 900
EOF

4 Установим ключи для репозиториев Debian:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DCC9EFBF77E11517

5. Подключаем репозиторий Debian 10, обновляем список доступных пакетов:

cat << EOF > /etc/apt/sources.list.d/buster.list
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib
EOF
sudo apt update

6. Установим необходимые пакеты:

sudo apt install certbot letsencrypt socat -fy

7. Если мы подтверждаем право на домен при помощи веб-сервера, выполняем команду с таким синтаксисом:

certbot certonly --webroot --agree-tos --email --webroot-path <путь до каталога с файлами проверки> -d <домен 1> -d <домен 2> -d ...

* где:

    certonly — запрос нового сертификата;
    webroot — проверка будет выполняться на основе запроса к корню сайта;
    agree-tos — даем согласие на лицензионное соглашение;
    email — почтовый адрес администратора домена;
    webroot-path — каталог в системе Linux, который является корневым для сайта;
    d — перечисление доменов, для которых запрашиваем сертификат.

Пример команды для веб-сервера NGINX:

certbot certonly --webroot --agree-tos --email <domain-admin@mail> --webroot-path /usr/share/nginx/html/ -d <domain>

Пример команды для веб-сервера Apache:

certbot certonly --webroot --agree-tos --email <domain-admin@mail> --webroot-path /var/www/html/ -d <domain>

8. После успешного выполнения команды, сертификаты будут созданы в каталоге /etc/letsencrypt/archive/<domain>, а также симлинки на них в каталоге /etc/letsencrypt/live/<domain>

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

Публичный ключ будет с именем fullchain.pem, а приватный — privkey.pem

Автоматическое продление

9. При помощи certbot мы можем выполнить обновление сертификата в автоматическом режиме.

Смотрим полный путь до скрипта certbot, он нам нужен для указания в планировщике:

which certbot

Открываем на редактирование cron и добавляем следующее:

crontab -e

10. Если crontab не установлен, устанавливаем пакет cron и запускаем сервис.

sudo apt install cron

sudo systemctl start cron

sudo systemctl enable cron

11. Прописываем следующую строку:

0 0 * * 2,4 /usr/bin/certbot renew --noninteractive

в указанном примере проверка и продление сертификата будет выполняться по вторникам и четвергам (1,4) в 00:00. /usr/bin/certbot или /bin/certbot — путь, который выдаёт команда which certbot из п.9.

Команда certbot renew проверяет для всех наших сертификатов срок окончания, если осталось менее 30 дней, запрашивает новый, сохраняет его в каталоге /etc/letsencrypt/archive/<domain> и обновляет симлинк.

12. Стоит иметь ввиду, что многие приложения, использующие сертификат, потребуют перезапуска, чтобы перечитать его. Поэтому хорошей идеей будет не просто обновлять сертификат, но и перезапускать сервис, который использует сертификат. Например, для NGINX:

systemctl reload nginx

Для того, чтобы автоматически перезапускать приложения, отредактируем файл вручную:

mcedit /etc/letsencrypt/cli.ini

и добавим deploy-hook = systemctl reload nginx

или добавим в нем строку командой:

echo "deploy-hook = systemctl reload nginx" >>  /etc/letsencrypt/cli.ini

Обновление сертификата

13. Сертификатов от Lets Encrypt актуальны только 90 дней. До истечения срока (около 30 дней) рекомендуется их перевыпустить. Будем производить перевыпуск командой:

certbot renew

Эта команда проверит все сертификаты, установленные в системе и просроченые буде перевыпускать. Автоматизируем процесс командой в crontab:

crontab -e

15 3 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log

Эта команда будет выполнятся каждый понедельник в 3:15 и записывать свой вывод в файл /var/log/le-renew.log.

 

Добавить комментарий

Будьте взаимовежливы и корректны.

Все сообщения проходят премодерацию.

Рекламные сообщения и комментарии с ссылками, не несущими смысловую нагрузку по тематике материала будут удаляться.


На развитие проекта

Вход
hacklink serp takip teknik seo rehberi icerik optimizasyonu yerel seo google algoritma guncellemeleri backlink stratejileri backlink nedir dofollow nofollow backlink guest post backlink anchor text optimizasyonu broken link building core web vitals seo schema markup site hizi optimizasyonu mobile first indexing xml sitemap robots txt seo uyumlu icerik anahtar kelime arastirmasi eeat google kalite google analytics seo rakip analizi seo seo raporlama metrikleri google my business seo yerel arama siralama hacklink panel jojobet matbet matbet matbet holiganbet holiganbet güncel Holiganbet güncel giriş Jojobet Jojobet giriş Jojobet güncel Jojobet Güncel Giriş Jojobet Telegram meritking meritking Jojobet Pusulabet matbet jojobet Jojobet Jojobet giriş Jojobet güncel Jojobet Güncel Giriş Jojobet Telegram Jojobet Telegram giriş Jojobet Telegram güncel роуминг МТС в Дубае jojobet Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel jojobet giriş jojobet jojobet jojobet galabet giriş galabet Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel Casibom Casibom giriş Casibom güncel matbet matbet matbet matbet matbet matbet matbet matbet matbet kavbet kavbet kavbet betebet interbahis interbahis kingroyal kingroyal kingroyal kingroyal kingroyal interbahis kingroyal interbahis interbahis kingroyal Casibom Casibom giriş Casibom güncel kingroyal kingroyal giriş jojobet Meritking Meritking giriş Meritking güncel Holiganbet Holiganbet giriş Holiganbet güncel Jojobet Jojobet giriş Jojobet güncel Betebet Betebet giriş Betebet güncel holiganbet Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel Holiganbet Holiganbet giriş Holiganbet güncel interbahis kingroyal piabet Holiganbet Holiganbet giriş Holiganbet güncel betlike betticket meritking meritking giriş meritking mobil adres meritking güncel betebet betebet nesinecasino nesinecasino giriş nesinecasino güncel Piabellacasino Piabellacasino giriş Piabellacasino güncel Bahiscasino Bahiscasino giriş Bahiscasino güncel Timebet Timebet giriş Timebet güncel Betebet Betebet giriş Betebet güncel Betebet Betebet giriş Betebet güncel grandpashabet Betasus Betasus giriş Betasus güncel marsbahis