Встановіть сертифікати підстановки з Lets Encrypt в Nginx на Ubuntu 19.04

У березні 2018 року Let's Encrypt додала підтримку сертифікатів підстановки. Сертифікати підстановки дозволяють захистити всі субдомени першого рівня домену за допомогою одного сертифіката. Сертифікати підстановки доступні лише через ACMEv2, який є оновленою версією протоколу ACME. Щоб використовувати ACMEv2 для сертифікатів із підстановкою або без підстановки, вам потрібен клієнт, який був оновлений для підтримки ACMEv2. Одним із таких клієнтів є acme.sh, клієнт протоколу ACME/ACMEv2, написаний виключно мовою Shell (оболонка Unix) без будь-яких залежностей. Крім того, домени підстановки повинні бути перевірені за допомогою типу виклику DNS-01. Це означає, що вам потрібно змінити записи DNS TXT, щоб підтвердити контроль над доменом, щоб отримати сертифікат підстановки.

У цьому посібнику ми пояснюємо, як отримати та розгорнути безкоштовні сертифікати підстановки з Let's Encrypt в Ubuntu 19.04 за допомогою acme.shклієнта, інструменту Lexicon для автоматичного маніпулювання записами DNS шляхом використання Vultr API та розгортання сертифікатів на веб-сервері Nginx.

Вимоги

  • Нещодавно розгорнутий хмарний сервер Ubuntu 19.04 Vultr.
  • У вас зареєстроване доменне ім’я. Цей посібник використовує example.comяк приклад домену.
  • Переконайтеся, що ви встановили записи DNS A/AAAA і CNAME для вашого повного доменного імені (FQDN). Ви можете ознайомитися з підручником «Вступ до Vultr DNS», якщо вам потрібно ознайомитися з концепціями DNS.
  • Доступ до Vultr API увімкнено на панелі керування обліковим записом Vultr.

Перед тим як ти почнеш

Перевірте версію Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Створіть новий обліковий запис користувача з sudoдоступом і бажаним іменем користувача та перейдіть на нього. Ми використовуємо johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

ПРИМІТКА : замініть johndoeна своє ім’я користувача.

Налаштуйте часовий пояс.

sudo dpkg-reconfigure tzdata

Переконайтеся, що ваша система Ubuntu оновлена.

sudo apt update && sudo apt upgrade -y

Встановіть необхідні пакети.

sudo apt install -y git wget curl socat

Встановіть Nginx

Встановіть веб-сервер Nginx.

sudo apt install -y nginx

Перевірте версію.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Встановіть Python і Lexicon

Як перший крок у процесі отримання сертифікатів підстановки від Let's Encrypt за допомогою acme.sh і Vultr API, вам потрібно встановити Python і Lexicon . Lexicon — це пакет Python, який надає спосіб стандартизованим способом маніпулювати записами DNS на кількох постачальниках DNS.

Встановіть Python, якщо він ще не встановлений у вашій системі.

sudo apt install -y python3

Підтвердьте встановлення, перевіривши версію.

python3 --version
# Python 3.7.3

Встановіть інструмент Lexicon. Лексикон — це інструмент Python, який дозволяє вам стандартизовано маніпулювати записами DNS на різних провайдерах DNS.

sudo apt install -y lexicon

Перевірте версію Lexicon.

lexicon --version
# lexicon 3.0.8

Встановити acme.shклієнт

Acme.shце клієнт протоколу ACME, написаний виключно мовою Shell (оболонка Unix), який автоматизує процес отримання підписаного сертифіката через Let's Encrypt. Він підтримує ACME v1 і ACME v2, і, що найголовніше, він підтримує ACME v2 підстановочних сертифікатів. У цьому розділі ми встановлюємо скрипт Acme.sh.

ПРИМІТКА. Рекомендується використовувати rootкористувача для встановлення acme.sh, хоча він не вимагає root/ sudoдоступу.

Перейдіть на rootкористувача зі звичайного користувача, якщо ви його створили.

sudo su - root

Завантажте та встановіть acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd

Перевірте версію.

acme.sh --version
# v2.8.2

Отримайте сертифікати підстановки від Let's Encrypt

Щоб отримати сертифікат підстановки, ми можемо використовувати лише метод перевірки DNS. Ми використовуємо Lexicon і Vultr DNS API для маніпулювання записами TXT DNS.

Отримайте сертифікати підстановки RSA та ECC для свого домену.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

ПРИМІТКА . Не забудьте замінити example.comім’ям вашого домену та замінити значення заповнювача Vultr API на свої власні.

Після виконання попередніх команд ваші сертифікати та ключі знаходяться в:

  • Для RSA: ~/.acme.sh/example.comкаталог.
  • Для ECC/ECDSA: ~/.acme.sh/example.com_eccкаталог.

ПРИМІТКА . Ви не повинні використовувати файли сертифікатів у ~/.acme.sh/папці, вони призначені лише для внутрішнього використання, структура каталогів може змінитися в майбутньому.

Щоб перерахувати свої сертифікати, ви можете запустити:

acme.sh --list

Створіть папку для зберігання ваших сертифікатів у виробництві. Ми використовуємо /etc/letsencryptкаталог.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Встановити/скопіювати сертифікати для використання у виробництві на вашому сервері.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Тепер, коли ми успішно отримали сертифікати підстановки від Let's Encrypt, нам потрібно налаштувати веб-сервер Nginx. Усі сертифікати автоматично поновлюються кожні 60 днів.

Після отримання та встановлення сертифікатів у бажаному місці ви можете вийти з rootкористувача до звичайного sudoкористувача та продовжувати керувати своїм сервером за допомогою, sudoякщо потрібно.

exit

Налаштуйте веб-сервер Nginx

Запустіть sudo vim /etc/nginx/sites-available/example.com.confі заповніть файл таким вмістом. Замініть усі входження example.comвласного доменного імені.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

Активуйте нову example.com.confконфігурацію, зв’язавши файл із sites-enabledкаталогом.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Перевірте конфігурацію Nginx.

sudo nginx -t

Перезавантажте Nginx.

sudo systemctl reload nginx.service

Це воно. Ми розгорнули сертифікати підстановки в Nginx, використовуючи acme.sh, Lexicon і API Vultr. Сертифікати підстановки можуть бути корисними, якщо ви хочете захистити декілька субдоменів першого рівня, створених динамічно.


Leave a Comment

Як увімкнути Windows Defender у Windows 11

Як увімкнути Windows Defender у Windows 11

Дізнайтеся, як увімкнути Windows Defender у Windows 11 для захисту вашого ПК від вірусів та загроз з використанням вбудованих функцій.

Як за допомогою Telegram надсилати високоякісні фотографії та відео

Як за допомогою Telegram надсилати високоякісні фотографії та відео

Telegram вважається одним із найкращих безкоштовних додатків для обміну повідомленнями з кількох причин, зокрема надсилаючи високоякісні фотографії та відео без стиснення.

Використання паролів зображення в Windows 10 як веселий і простий спосіб входу

Використання паролів зображення в Windows 10 як веселий і простий спосіб входу

У Windows 10 існує більше способів увійти на комп’ютер, ніж будь-коли. Ви можете використовувати пароль, пін-код або використовувати Windows Hello та його біометричні дані

Як ефективно створити ярлик для блокування ПК з Windows 10

Як ефективно створити ярлик для блокування ПК з Windows 10

Існує кілька способів блокування комп’ютера з Windows 10, але чи знаєте ви, що ви робите це за допомогою створеного на екрані ярлика? Створення ярлика для блокування

Як використовувати історію файлів для створення безпечної резервної копії в Windows 10

Як використовувати історію файлів для створення безпечної резервної копії в Windows 10

У Windows 10 функція «Історія файлів» дозволяє створювати резервні копії файлів і папок у безпечних місцях на випадок, якщо ви видалите щось випадково. За

Що таке зомбі-компютер?

Що таке зомбі-компютер?

Комп’ютер-зомбі – це машина, яка більше не має волі, оскільки хакери можуть дистанційно керувати її поведінкою.

Що робити, якщо ваш обліковий запис YouTube зламано

Що робити, якщо ваш обліковий запис YouTube зламано

Якщо ваш обліковий запис YouTube заблоковано, перейдіть на сторінку відновлення облікового запису та дайте відповідь на таємні запитання, щоб відновити обліковий запис.

Як вимкнути пароль Windows 11 після сну: вимкнути пароль під час пробудження

Як вимкнути пароль Windows 11 після сну: вимкнути пароль під час пробудження

Комп’ютери стали більш інтегрованими в наше життя, ніж будь-коли, тому виробники шукають нові способи економії енергії на ваших мобільних пристроях. Проте випробуваний посібник Sleep w…

Як перевірити папку на наявність загроз за допомогою Windows Security

Як перевірити папку на наявність загроз за допомогою Windows Security

Безпека Windows забезпечує вбудований захист безпеки в Windows 10. Хоча зазвичай краще залишити його власним пристроям у фоновому режимі, ви можете

Як зашифрувати жорсткі диски в Windows 10, зберігаючи дані в безпеці

Як зашифрувати жорсткі диски в Windows 10, зберігаючи дані в безпеці

У сучасному світі інформація – це сила, і якщо ваші персональні комп’ютерні пристрої будуть вкрадені, це означатиме доступ до великої кількості вашої інформації.

Як встановити інсталяцію Windows 10 заново

Як встановити інсталяцію Windows 10 заново

Безпека Windows (раніше відома як Центр безпеки Windows Defender) — це чудовий початок, щоб переконатися, що ваш пристрій Windows 10 працює безперебійно. Під Windows

Як віддалено заблокувати ПК з Windows 10

Як віддалено заблокувати ПК з Windows 10

Користувачі Android і Apple мають можливість дистанційно відстежувати та блокувати свої гаджети. Ви можете зробити те саме з будь-яким ПК з Windows 10. Знайти мій пристрій у Windows 10

Як приховати конфіденційну інформацію на екрані блокування - Android

Як приховати конфіденційну інформацію на екрані блокування - Android

Бережіть свою конфіденційну інформацію від шпигунських очей. Ось як приховати дані заблокованого екрана на Android.

Як виправити помилки автентифікації 1Password

Як виправити помилки автентифікації 1Password

Якщо у вас виникли проблеми з входом у свій обліковий запис 1Password, перевірте налаштування дати та часу та вимкніть VPN та програмне забезпечення безпеки.

Як повністю видалити Kaspersky з ПК?

Як повністю видалити Kaspersky з ПК?

Якщо Kaspersky Antivirus не видаляється, видаліть програму з панелі керування та видаліть папку KasperskyLab з редактора реєстру.

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Icinga2 — це потужна система моніторингу, і при використанні в моделі «майстер-клієнт» вона може замінити потребу в перевірках моніторингу на основі NRPE. Майстер-клієнт

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

Переадресація портів і проксі за допомогою OpenSSH

Переадресація портів і проксі за допомогою OpenSSH

Вступ SSH, також відомий як Secure Shell, може використовуватися не тільки для отримання віддаленої оболонки. У цій статті буде показано, як можна використовувати SSH

Як увімкнути TLS 1.3 у Nginx на FreeBSD 12

Як увімкнути TLS 1.3 у Nginx на FreeBSD 12

Використання іншої системи? TLS 1.3 — це версія протоколу безпеки транспортного рівня (TLS), який був опублікований у 2018 році як запропонований стандарт у RFC 8446.

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше