Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare: Покрокова Інструкція

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare: Покрокова Інструкція

 

Let’s Encrypt — це широко використовуваний глобальний центр сертифікації (CA). Він використовується фрілансерами, розробниками, власниками веб-сайтів та організаціями по всьому світу для отримання, поновлення та керування сертифікатами SSL/TLS. SSL-сертифікати Let’s Encrypt можна використовувати на будь-якому веб-сайті для забезпечення безпечного з’єднання HTTPS. Найбільш використовуваним клієнтом Let’s Encrypt є Certbot від EFF. Якщо вам потрібен безкоштовний SSL-сертифікат для вашого веб-сайту, то Let’s Encrypt – ваш найкращий вибір.

Certbot — це безкоштовний програмний інструмент з відкритим вихідним кодом, який дозволяє автоматично генерувати та оновлювати сертифікати Let’s Encrypt для веб-сайтів, які адмініструються вручну.

Вимоги до цього підручника;

  • У вас є домен у cloudflare
  • Shell доступ до вашого сервера
  • Встановлено інструмент certbot

Крок 1: Згенеруйте токен API на Cloudflare

Увійдіть у Cloudflare і перейдіть на сайт Зони > Select. На правій панелі навігації натисніть API > Отримати токен API

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

Натисність “Create Token” кнопку.

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

Виберіть шаблон “Edit zone DNS” .

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

У розділі «Дозволи» використовуйте за замовчуванням і виберіть «Конкретна зона» в розділі “Zone Resources” .

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

Натисніть «Continue to summary», щоб завершити процедуру

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

Завершіть створення токена.

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

Копіюйте та зберігайте токен, згенерований у безпечному місці.

Як Налаштувати Let’s Encrypt на Приватній Мережі за Допомогою Cloudflare

Крок 2: Встановіть certbot і плагін cloudflare

Ми виконуємо цю операцію на сервері в підмережі в межах діапазонів приватних адрес.

root@debian:~# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 32:ac:f1:64:2b:26 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.150/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 7074sec preferred_lft 7074sec
    inet6 fe80::30ac:f1ff:fe64:2b26/64 scope link
       valid_lft forever preferred_lft forever

Зверніть увагу, що ім’я хоста / FQDN, для якого ми створюємо сертифікат, не повинен мати запис A, налаштований у cloudflare DNS. Але базовий домен повинен бути розміщений на реєстраторі cloudflare і згенерований API токен.

Інсталюйте certbot за допомогою наведених нижче команд залежно від вашої операційної системи.

### Ubuntu / Debian ###
sudo apt update
sudo apt install vim certbot  python3-certbot-dns-cloudflare python3-pip

### CentOS / RHEL / Fedora ###
sudo dnf -y install epel-release
sudo dnf -y install vim certbot python3-certbot-dns-cloudflare python3-pip

Використання модулів pip install та pythonpyOpenSSLcryptography

sudo python3 -m pip install -U pyOpenSSL cryptography

Крок 3: Створіть секрети cloudflare для certbot

Створимо директорію, де будуть зберігатися секрети.

mkdir -p ~/.secrets/certbot

Створіть новий файл у створеному каталозі

vim ~/.secrets/certbot/cloudflare.ini

Вставте нижче та оновіть правильне значення для токена

dns_cloudflare_api_token = <token-generated-in-step-1>

Встановіть належні дозволи для щойно створеного файлу

chmod 0600 /root/.secrets/certbot/cloudflare.ini

Деякі старі інсталяції certbot можуть потребувати визначення адреси електронної пошти та ключа api cloudflare. У новіших версіях ви визначаєте лише dns_cloudflare_api_token.

dns_cloudflare_api_key = "api-key-value"
dns_cloudflare_email = "cloudflare-account-email-address"

Крок 4: Згенеруйте сертифікати Let’s Encrypt

Прості команди для генерації сертифікатів Let’s Encrypt за допомогою плагіна cloudflare наведені нижче.

sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  -m myemail@domain.com \
  --agree-tos \
  -d myserver.domain.com

Укажіть правильну електронну адресу для сповіщень про закінчення терміну дії сертифікатів і домен, для якого ми генеруємо SSL-сертифікати.

Вихід процесу генерації зразків.

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Yes
Account registered.
Requesting a certificate for debian.hirebestengineers.com
Waiting 10 seconds for DNS changes to propagate

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/debian.hirebestengineers.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/debian.hirebestengineers.com/privkey.pem
This certificate expires on 2023-10-30.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Крок 5: Створіть cron завдання для автоматичного оновлення

Створення нового завдання cron

sudo crontab -e

Вставте вказаний нижче вміст у файл для автоматичного поновлення в разі настання терміну.

15 3 * * * /usr/bin/certbot  renew --quiet

Якщо ви використовуєте веб-сервер Nginx, ви можете використовувати гачок, який перезапускає nginx.

15 3 * * * /usr/bin/certbot  renew --quiet --renew-hook "systemctl restart nginx"

Для веб-сервера Apache це буде так, як описано нижче.

15 3 * * * /usr/bin/certbot  renew --quiet --renew-hook "systemctl restart apache2"

Для веб-сервера Apache, що працює на системах на базі RHEL:

15 3 * * * /usr/bin/certbot  renew --quiet --renew-hook "systemctl restart httpd"

Висновок

У цій статті ми показали користувачам, як вони можуть отримати та використовувати безкоштовні SSL-сертифікати Let’s Encrypt у приватній мережі для доменів, придбаних або переданих на Cloudflare. Отримавши сертифікати, їх можна налаштувати та використовувати, як і будь-які інші SSL-сертифікати у вашій системі. Ми сподіваємося, що цей посібник був корисним, і ми дякуємо вам за відвідування нашого веб-сайту.

Прокрутка до верху