Nainštalujte certifikáty Wildcard z Lets Encrypt v Nginx na Ubuntu 19.04

V marci 2018 Let's Encrypt pridala podporu pre certifikáty so zástupnými znakmi. Zástupné certifikáty vám umožňujú zabezpečiť všetky subdomény prvej úrovne domény jediným certifikátom. Zástupné certifikáty je možné získať iba prostredníctvom ACMEv2, čo je aktualizovaná verzia protokolu ACME. Ak chcete použiť ACMEv2 pre certifikáty so zástupným znakom alebo bez neho, budete potrebovať klienta, ktorý bol aktualizovaný na podporu ACMEv2. Jedným z takýchto klientov je acme.sh, čo je klient protokolu ACME/ACMEv2 napísaný čisto v jazyku Shell (Unix shell) bez akýchkoľvek závislostí. Okrem toho musia byť domény so zástupnými znakmi overené pomocou typu výzvy DNS-01. To znamená, že musíte upraviť záznamy DNS TXT, aby ste preukázali kontrolu nad doménou, aby ste získali certifikát so zástupným znakom.

V tejto príručke vysvetľujeme, ako získať a nasadiť bezplatné zástupné certifikáty z Let's Encrypt na Ubuntu 19.04 pomocou acme.shklienta, nástroja Lexicon na automatickú manipuláciu so záznamami DNS spotrebovaním Vultr API a nasadením certifikátov na webový server Nginx.

Požiadavky

  • Čerstvo nasadený cloudový server Ubuntu 19.04 Vultr.
  • Máte zaregistrovaný názov domény. Táto príručka sa používa example.comako príklad domény.
  • Uistite sa, že ste pre svoj plne kvalifikovaný názov domény (FQDN) nastavili DNS záznamy A/AAAA a CNAME. Ak sa potrebujete zoznámiť s pojmami DNS, môžete si prečítať príručku Úvod do Vultr DNS .
  • Prístup k API Vultr je povolený v ovládacom paneli vášho účtu Vultr.

Predtým ako začneš

Skontrolujte verziu Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Vytvorte si nový používateľský účet s sudoprístupom a preferovaným používateľským menom a prepnite sa naň. Používame johndoe.

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

POZNÁMKA : Nahraďte johndoesvojím užívateľským menom.

Nastavte časové pásmo.

sudo dpkg-reconfigure tzdata

Uistite sa, že váš systém Ubuntu je aktuálny.

sudo apt update && sudo apt upgrade -y

Nainštalujte potrebné balíčky.

sudo apt install -y git wget curl socat

Nainštalujte Nginx

Nainštalujte webový server Nginx.

sudo apt install -y nginx

Skontrolujte verziu.

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

Nainštalujte Python a Lexicon

Ako prvý krok v procese získavania certifikátov so zástupnými znakmi z Let's Encrypt pomocou acme.sh a Vultr API je potrebné nainštalovať Python a Lexicon . Lexicon je balík Python, ktorý poskytuje spôsob, ako štandardizovaným spôsobom manipulovať so záznamami DNS u viacerých poskytovateľov DNS.

Nainštalujte Python, ak ešte nie je nainštalovaný vo vašom systéme.

sudo apt install -y python3

Inštaláciu potvrďte overením verzie.

python3 --version
# Python 3.7.3

Nainštalujte nástroj Lexicon. Lexikón je nástroj Pythonu, ktorý vám umožňuje štandardizovaným spôsobom manipulovať so záznamami DNS u rôznych poskytovateľov DNS.

sudo apt install -y lexicon

Skontrolujte verziu Lexicon.

lexicon --version
# lexicon 3.0.8

Nainštalujte acme.shklienta

Acme.shje klient protokolu ACME napísaný čisto v jazyku Shell (Unix shell), ktorý automatizuje proces získania podpísaného certifikátu cez Let's Encrypt. Podporuje ACME v1 a ACME v2, a čo je najdôležitejšie, podporuje certifikáty ACME v2. V tejto časti nainštalujeme skript Acme.sh.

POZNÁMKA: Na rootinštaláciu sa odporúča použiť používateľa acme.sh, hoci nevyžaduje root/ sudoprístup.

Prepnite na rootpoužívateľa z bežného používateľa, ak ste ho vytvorili.

sudo su - root

Stiahnite si a nainštalujte 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

Skontrolujte verziu.

acme.sh --version
# v2.8.2

Získajte certifikáty zástupných znakov z Let's Encrypt

Na získanie certifikátu zástupného znaku môžeme použiť iba metódu overenia DNS. Na manipuláciu so záznamami TXT DNS používame Lexicon a Vultr DNS API.

Získajte certifikáty RSA a ECC so zástupnými znakmi pre vašu doménu.

# 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 : Nezabudnite nahradiť example.comnázvom svojej domény a nahraďte zástupné hodnoty rozhrania API Vultr svojimi vlastnými.

Po spustení predchádzajúcich príkazov sú vaše certifikáty a kľúče v:

  • Pre RSA: ~/.acme.sh/example.comadresár.
  • Pre ECC/ECDSA: ~/.acme.sh/example.com_eccadresár.

POZNÁMKA : Súbory certifikátov v ~/.acme.sh/priečinku by ste nemali používať , sú len na interné použitie, štruktúra adresárov sa môže v budúcnosti zmeniť.

Ak chcete uviesť svoje certifikáty, môžete spustiť:

acme.sh --list

Vytvorte priečinok na ukladanie vašich certifikátov vo výrobe. Používame /etc/letsencryptadresár.

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

Nainštalujte/skopírujte certifikáty na produkčné použitie na vašom serveri.

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

Teraz, keď sme úspešne získali certifikáty zástupných znakov z Let's Encrypt, musíme nakonfigurovať webový server Nginx. Všetky certifikáty sa automaticky obnovujú každých 60 dní.

Po získaní a inštalácii certifikátov na preferované miesto sa môžete odhlásiť od rootpoužívateľa k bežnému sudopoužívateľovi a v prípade potreby pokračovať v správe servera pomocou sudo.

exit

Nakonfigurujte webový server Nginx

Spustite sudo vim /etc/nginx/sites-available/example.com.confa naplňte súbor nasledujúcim obsahom. Nahraďte všetky výskyty example.comdomény vlastným názvom 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 novú example.com.confkonfiguráciu prepojením súboru s sites-enabledadresárom.

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

Otestujte konfiguráciu Nginx.

sudo nginx -t

Znova načítať Nginx.

sudo systemctl reload nginx.service

To je všetko. Nasadili sme zástupné certifikáty do Nginx pomocou acme.sh, Lexicon a Vultr API. Zástupné certifikáty môžu byť užitočné, keď chcete zabezpečiť viacero dynamicky generovaných subdomén prvej úrovne.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac