Nainstalujte Wildcard Certs From Lets Encrypt v Nginx na Ubuntu 19.04

V březnu 2018 přidala Let's Encrypt podporu pro certifikáty se zástupnými znaky. Zástupné certifikáty umožňují zabezpečit všechny subdomény první úrovně domény jediným certifikátem. Zástupné certifikáty lze získat pouze prostřednictvím ACMEv2, což je aktualizovaná verze protokolu ACME. Chcete-li použít ACMEv2 pro certifikáty se zástupnými znaky nebo bez zástupných znaků, budete potřebovat klienta, který byl aktualizován, aby podporoval ACMEv2. Jedním z takových klientů je acme.sh, což je klient protokolu ACME/ACMEv2 napsaný čistě v jazyce Shell (Unix shell) bez jakýchkoli závislostí. Kromě toho musí být domény se zástupnými znaky ověřeny pomocí typu výzvy DNS-01. To znamená, že musíte upravit záznamy DNS TXT, abyste prokázali kontrolu nad doménou, abyste získali certifikát se zástupnými znaky.

V této příručce vysvětlujeme, jak získat a nasadit bezplatné zástupné certifikáty z Let's Encrypt na Ubuntu 19.04 pomocí acme.shklienta, nástroje Lexicon pro automatickou manipulaci s DNS záznamy spotřebováním Vultr API a nasazením certifikátů na webový server Nginx.

Požadavky

  • Čerstvě nasazený cloudový server Ubuntu 19.04 Vultr.
  • Máte registrovaný název domény. Tato příručka slouží example.comjako příklad domény.
  • Ujistěte se, že jste pro svůj plně kvalifikovaný název domény (FQDN) nastavili DNS záznamy A/AAAA a CNAME. Možná budete chtít konzultovat Úvod do Vultr DNS tutoriálu , pokud budete potřebovat, abyste se seznámili s pojmy DNS.
  • Vultr API Přístup povolen v ovládacím panelu vašeho účtu Vultr.

Než začnete

Zkontrolujte verzi Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Vytvořte si nový uživatelský účet s sudopřístupem a preferovaným uživatelským jménem a přepněte na něj. používáme johndoe.

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

POZNÁMKA : Nahraďte johndoesvým uživatelským jménem.

Nastavte časové pásmo.

sudo dpkg-reconfigure tzdata

Ujistěte se, že váš systém Ubuntu je aktuální.

sudo apt update && sudo apt upgrade -y

Nainstalujte potřebné balíčky.

sudo apt install -y git wget curl socat

Nainstalujte Nginx

Nainstalujte webový server Nginx.

sudo apt install -y nginx

Zkontrolujte verzi.

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

Nainstalujte Python a Lexicon

Jako první krok v procesu získávání zástupných certifikátů z Let's Encrypt pomocí acme.sh a Vultr API je potřeba nainstalovat Python a Lexicon . Lexicon je balíček Pythonu, který poskytuje způsob, jak standardizovaným způsobem manipulovat se záznamy DNS u více poskytovatelů DNS.

Nainstalujte Python, pokud ještě není nainstalován ve vašem systému.

sudo apt install -y python3

Potvrďte instalaci ověřením verze.

python3 --version
# Python 3.7.3

Nainstalujte nástroj Lexicon. Lexikon je nástroj Pythonu, který vám umožňuje standardizovaným způsobem manipulovat se záznamy DNS u různých poskytovatelů DNS.

sudo apt install -y lexicon

Zkontrolujte verzi Lexicon.

lexicon --version
# lexicon 3.0.8

Nainstalujte acme.shklienta

Acme.shje klient protokolu ACME napsaný čistě v jazyce Shell (Unix shell), který automatizuje proces získání podepsaného certifikátu pomocí Let's Encrypt. Podporuje ACME v1 a ACME v2, a co je nejdůležitější, podporuje ACME v2 zástupné certifikáty. V této části nainstalujeme skript Acme.sh.

POZNÁMKA: K instalaci se doporučuje použít rootuživatele acme.sh, ačkoli to nevyžaduje root/ sudopřístup.

Přepněte na rootuživatele z běžného uživatele, pokud jste jej vytvořili.

sudo su - root

Stáhněte a nainstalujte 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

Zkontrolujte verzi.

acme.sh --version
# v2.8.2

Získejte certifikáty se zástupnými znaky z Let's Encrypt

K získání certifikátu zástupných znaků můžeme použít pouze metodu ověření DNS. K manipulaci s TXT DNS záznamy používáme Lexicon a Vultr DNS API.

Získejte pro svou doménu certifikáty RSA a ECC se zástupnými znaky.

# 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

POZNÁMKA : Nezapomeňte nahradit example.comnázvem vaší domény a nahraďte zástupné hodnoty rozhraní API Vultr svými vlastními.

Po spuštění předchozích příkazů jsou vaše certifikáty a klíče v:

  • Pro RSA: ~/.acme.sh/example.comadresář.
  • Pro ECC/ECDSA: ~/.acme.sh/example.com_eccadresář.

POZNÁMKA : Soubory certifikátů ve ~/.acme.sh/složce byste neměli používat , jsou pouze pro interní použití, struktura adresářů se může v budoucnu změnit.

Chcete-li vypsat své certifikáty, můžete spustit:

acme.sh --list

Vytvořte složku pro ukládání certifikátů v produkci. Používáme /etc/letsencryptadresář.

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

Nainstalujte/zkopírujte certifikáty pro produkční použití na vašem serveru.

# 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"

Nyní, když jsme úspěšně získali certifikáty zástupných znaků z Let's Encrypt, musíme nakonfigurovat webový server Nginx. Všechny certifikáty se automaticky obnovují každých 60 dní.

Po získání a instalaci certifikátů do preferovaného umístění se můžete odhlásit od rootuživatele k běžnému sudouživateli a v sudopřípadě potřeby pokračovat ve správě serveru pomocí .

exit

Nakonfigurujte webový server Nginx

Spusťte sudo vim /etc/nginx/sites-available/example.com.confa naplňte soubor následujícím obsahem. Nahraďte všechny výskyty řetězce example.comsvým vlastním názvem domény.

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;

}

Aktivujte novou example.com.confkonfiguraci propojením souboru s sites-enabledadresářem.

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

Otestujte konfiguraci Nginx.

sudo nginx -t

Znovu načtěte Nginx.

sudo systemctl reload nginx.service

A je to. Nasadili jsme zástupné certifikáty do Nginx pomocí acme.sh, Lexicon a Vultr API. Zástupné certifikáty mohou být užitečné, když chcete zabezpečit více dynamicky generovaných subdomén první úrovně.

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více