Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
В марте 2018 года Let's Encrypt добавил поддержку подстановочных сертификатов. Сертификаты с подстановочными знаками позволяют защитить все дочерние домены первого уровня одним сертификатом. Подстановочные сертификаты можно получить только через ACMEv2, который является обновленной версией протокола ACME. Чтобы использовать ACMEv2 для подстановочных или не подстановочных сертификатов, вам потребуется клиент, обновленный для поддержки ACMEv2. Одним из таких клиентов является acme.sh, который является клиентом протокола ACME / ACMEv2, написанным исключительно на языке оболочки (оболочки Unix) без каких-либо зависимостей. Кроме того, домены с подстановочными знаками должны проверяться с использованием типа запроса DNS-01. Это означает, что вам нужно изменить записи DNS TXT, чтобы подтвердить контроль над доменом для получения сертификата с подстановочными знаками.
В этом руководстве мы объясним, как получить и развернуть бесплатные групповые сертификаты из Let's Encrypt в Ubuntu 19.04 с помощью acme.shклиента, инструмента Lexicon для автоматического манипулирования записями DNS с использованием API-интерфейса Vultr и развертывания сертификатов на веб-сервере Nginx.
example.comв качестве примера домена.Проверьте версию 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.
sudo apt install -y nginx
Проверьте версию.
sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)
В качестве первого шага в процессе получения подстановочных сертификатов из 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 --version
# lexicon 3.0.8
acme.shклиентAcme.shявляется клиентом протокола ACME, написанным исключительно на языке оболочки (оболочки 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 "your_email@example.com"
source ~/.bashrc
cd
Проверьте версию.
acme.sh --version
# v2.8.2
Чтобы получить сертификат подстановочного знака, мы можем использовать только метод проверки DNS. Мы используем Lexicon и Vultr DNS API для управления TXT DNS-записями.
Получите сертификаты RSA и ECC для вашего домена.
# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="your_vultr_email@example.com"
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своим именем домена и заменить значения заполнителя API-интерфейса Vultr своими собственными.
После выполнения предыдущих команд ваши сертификаты и ключи находятся в:
~/.acme.sh/example.comкаталог.~/.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
Запустите 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 и Vultr API. Сертификаты с подстановочными знаками могут быть полезны, если вы хотите защитить несколько поддоменов первого уровня, генерируемых динамически.
Изучение 26 методов анализа больших данных: часть 1
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше