Instalați certificate Wildcard de pe Lets Encrypt în Nginx pe Ubuntu 19.04

În martie 2018 Let's Encrypt a adăugat suport pentru certificatele wildcard. Certificările Wildcard vă permit să securizați toate subdomeniile de prim nivel ale unui domeniu cu un singur certificat. Certificările Wildcard sunt obținute doar prin ACMEv2, care este o versiune actualizată a protocolului ACME. Pentru a utiliza ACMEv2 pentru certificate wildcard sau non-wildcard, veți avea nevoie de un client care a fost actualizat pentru a accepta ACMEv2. Un astfel de client este acme.sh, care este un client de protocol ACME / ACMEv2 scris pur în limbaj Shell (shell Unix) fără nicio dependență. Mai mult, domeniile wildcard trebuie validate folosind tipul de provocare DNS-01. Acest lucru implică faptul că trebuie să modificați înregistrările DNT TXT pentru a dovedi controlul asupra unui domeniu pentru a obține un certificat wildcard.

În acest ghid, vă explicăm cum să obțineți și să desfășurați certificate wildcard gratuite de la Let's Encrypt pe Ubuntu 19.04 folosind instrumentul acme.shclient, Lexicon pentru manipularea automată a înregistrărilor DNS prin consumarea API-ului Vultr și implementarea certificatelor pe serverul web Nginx.

cerinţe

  • Ubuntu 19.04 Server cloud Vultr recent implementat.
  • Aveți un nume de domeniu înregistrat. Acest ghid folosește example.comca domeniu de exemplu.
  • Asigurați-vă că ați setat înregistrări DNS A / AAAA și CNAME pentru numele dvs. de domeniu complet calificat (FQDN). Poate doriți să consultați tutorialul Introducere în Vultr DNS dacă aveți nevoie să vă familiarizați cu conceptele DNS.
  • Accesul API Vultr activat în panoul de control al contului dvs. Vultr.

Înainte de a începe

Verificați versiunea Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Creați un cont de utilizator nou cu sudoacces și numele de utilizator preferat și treceți la acesta. Folosim johndoe.

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

NOTĂ : Înlocuiți johndoecu numele de utilizator.

Setați fusul orar.

sudo dpkg-reconfigure tzdata

Asigurați-vă că sistemul Ubuntu este actualizat.

sudo apt update && sudo apt upgrade -y

Instalați pachetele necesare.

sudo apt install -y git wget curl socat

Instalați Nginx

Instalați serverul web Nginx.

sudo apt install -y nginx

Verificați versiunea.

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

Instalați Python și Lexicon

Ca prim pas în procesul de obținere a certificatelor wildcard de la Let's Encrypt folosind acme.sh și API Vultr, trebuie să instalați Python și Lexicon . Lexicon este un pachet Python care oferă o modalitate de a manipula înregistrările DNS pe mai mulți furnizori DNS într-un mod standardizat.

Instalați Python dacă nu este deja instalat pe sistemul dvs.

sudo apt install -y python3

Confirmați instalarea verificând versiunea.

python3 --version
# Python 3.7.3

Instalați instrumentul Lexicon. Un lexicon este un instrument Python care vă permite să manipulați înregistrările DNS pe diverși furnizori DNS într-un mod standardizat.

sudo apt install -y lexicon

Verificați versiunea Lexicon.

lexicon --version
# lexicon 3.0.8

Instalați acme.shclientul

Acme.sheste un client de protocol ACME scris exclusiv într-un limbaj Shell (Unix shell) care automatizează procesul de obținere a unui certificat semnat prin Let's Encrypt. Acceptă ACME v1 și ACME v2 și, cel mai important, acceptă certificatele wildcard ACME v2. În această secțiune, instalăm un script Acme.sh.

NOTĂ: Se recomandă utilizarea rootutilizatorului pentru a instala acme.sh, deși nu necesită root/ sudoacces.

Treceți la rootutilizator de la utilizatorul obișnuit dacă l-ați creat.

sudo su - root

Descărcați și instalați acme.sh.

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

Verificați versiunea.

acme.sh --version
# v2.8.2

Obțineți certificate wildcard de la Let's Encrypt

Pentru a obține un certificat wildcard, putem utiliza doar metoda de validare DNS. Folosim API-ul Lexicon și Vultr DNS pentru a manipula înregistrările DNT TXT.

Obțineți certificatele wildcard RSA și ECC pentru domeniul dvs.

# 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

NOTĂ : Nu uitați să înlocuiți example.comcu numele dvs. de domeniu și să înlocuiți valorile marcatorului API Vultr cu cele proprii.

După executarea comenzilor precedente, certificatele și cheile sunt în:

  • Pentru RSA: ~/.acme.sh/example.comdirector.
  • Pentru ECC / ECDSA: ~/.acme.sh/example.com_eccdirector.

NOTĂ : Nu ar trebui să utilizați fișierele cert din ~/.acme.sh/folder, sunt numai pentru uz intern, structura directoarelor se poate schimba în viitor.

Pentru a enumera certificatele, puteți rula:

acme.sh --list

Creați un folder pentru a stoca certificatele în producție. Folosim /etc/letsencryptdirectorul.

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

Instalați / copiați certificate pentru utilizare în producție pe serverul dvs.

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

Acum, după ce am obținut cu succes certificări wildcard de la Let's Encrypt, trebuie să configurăm serverul web Nginx. Toate certificatele sunt reînnoite automat la fiecare 60 de zile.

După obținerea și instalarea certificatelor în locația preferată, puteți să vă deconectați de la rootutilizator la un sudoutilizator obișnuit și să continuați să vă gestionați serverul utilizând, sudodacă este necesar.

exit

Configurați serverul web Nginx

Rulați sudo vim /etc/nginx/sites-available/example.com.confși populați fișierul cu următorul conținut. Înlocuiți toate aparițiile example.comcu un nume de domeniu propriu.

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;

}

Activați noua example.com.confconfigurație prin conectarea fișierului la sites-enableddirector.

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

Testați configurația Nginx.

sudo nginx -t

Reîncărcați Nginx.

sudo systemctl reload nginx.service

Asta e. Am implementat certificate wildcard în Nginx, folosind API-ul acme.sh, Lexicon și Vultr. Certificările Wildcard pot fi utile atunci când doriți să asigurați mai multe subdomenii de prim nivel generat dinamic.



Leave a Comment

Folosind cheia SSH pentru a vă conecta la utilizatori non-root

Folosind cheia SSH pentru a vă conecta la utilizatori non-root

Vultr oferă o caracteristică care vă permite să preinstalați cheile SSH la crearea unei noi instanțe. Acest lucru vă permite să accesați utilizatorul root al serverelor, totuși

Configurarea unui chroot pe Debian

Configurarea unui chroot pe Debian

Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine

Cum se activează TLS 1.3 în Apache pe Debian 10

Cum se activează TLS 1.3 în Apache pe Debian 10

Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446

Securizarea MongoDB

Securizarea MongoDB

MongoDB nu este securizat implicit. Dacă instalați MongoDB și îl lansați fără a-l configura pentru autentificare, veți avea parte de un moment rău

Cum să securizați mai mult SSH cu o secvență de port-knocking pe Ubuntu 18.04

Cum să securizați mai mult SSH cu o secvență de port-knocking pe Ubuntu 18.04

Folosind un sistem diferit? Introducere Pe lângă schimbarea portului implicit pentru SSH și folosirea unei perechi de chei pentru autentificare, se poate folosi butonarea t

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446

Cum să configurați autentificarea cu doi factori (2FA) pentru SSH pe Ubuntu 14.04 folosind Google Authenticator

Cum să configurați autentificarea cu doi factori (2FA) pentru SSH pe Ubuntu 14.04 folosind Google Authenticator

Folosind un sistem diferit? Există mai multe moduri de a vă conecta la un server prin SSH. Metodele includ conectarea prin parolă, autentificarea bazată pe cheie și două facto

Securizarea SSH pe Ubuntu 14.04

Securizarea SSH pe Ubuntu 14.04

După crearea unui server nou, există câteva modificări de configurare pe care ar trebui să le faceți pentru a întări securitatea serverului. Creați un utilizator nou ca roo

Instalare LetsEncrypt pe Linux

Instalare LetsEncrypt pe Linux

LetsEncrypt este o autoritate de certificare cu un client automat. Pe scurt, acest lucru înseamnă că vă puteți asigura site-urile web fără costuri. Așa este, poți g

Configurați Apache cu certificat TLS / SSL autofirmat pe Ubuntu 16.04

Configurați Apache cu certificat TLS / SSL autofirmat pe Ubuntu 16.04

SSL și succesorul său TLS (Secure Sockets Layer / Transport Layer Security) adaugă un strat de criptare între client și server. Fără asta

Cum se instalează OpenVAS Vulnerability Scanner pe Ubuntu 16.04

Cum se instalează OpenVAS Vulnerability Scanner pe Ubuntu 16.04

Introducere OpenVAS este o suită open source care poate fi utilizată pentru scanarea vulnerabilității și gestionarea vulnerabilităților. Reprezintă Open Vulnerabilit

Cum dezactivați SELinux pe CentOS 7

Cum dezactivați SELinux pe CentOS 7

SELinux, o prescurtare a securității Linux îmbunătățită, este o îmbunătățire a securității pentru sistemul de operare Linux. Este un sistem de etichetare care blochează multe sisteme

Generarea cheilor SSH pe macOS Sierra (10.12) și Sierra Alta (10.13)

Generarea cheilor SSH pe macOS Sierra (10.12) și Sierra Alta (10.13)

Acest tutorial vă va arăta cum să generați și securizați cheile SSH pe macOS Sierra (10.12) și macOS High Sierra (10.13). Tastele SSH vă permit să vă autentificați

Cum se instalează Ntopng pe Ubuntu 16.04

Cum se instalează Ntopng pe Ubuntu 16.04

Introducere Ntopng este un instrument open source utilizat pentru monitorizarea diferitelor protocoale de rețea de pe serverele dvs. Este versiunea următoare a generației originare

Permite criptarea: migrarea de la TLS-SNI-01

Permite criptarea: migrarea de la TLS-SNI-01

Lets Encrypt este un serviciu gratuit care generează certificate pentru securizarea site-ului dvs. web. Acceptă generarea de tipuri diferite de certificate, inclusiv

Securizarea unui server Apache pe CentOS 6

Securizarea unui server Apache pe CentOS 6

Este ușor să efectuați comenzi rapide atunci când securizați un server, dar riscați pierderea de date în cazul în care un atacator câștigă acces root la oricare dintre serverele dvs. ajun

Portul bate pe Debian

Portul bate pe Debian

Folosind un sistem diferit? Până acum, probabil că ați schimbat portul SSH implicit. Totuși, hackerii pot scana cu ușurință intervalele de porturi pentru a descoperi acel port - dar înțelepciune

Activarea mod_evasive pe Apache

Activarea mod_evasive pe Apache

Mod_evasive este un modul pentru Apache care acționează automat atunci când este detectat un atac HTTP DoS sau un atac de forță brută. Mod_evasive este capabil să se înregistreze

Cum se activează TLS 1.3 în Apache pe CentOS 8

Cum se activează TLS 1.3 în Apache pe CentOS 8

Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446

Cum să vă testați configurația firewallului cu Nmap pe Linux

Cum să vă testați configurația firewallului cu Nmap pe Linux

Introducere Nmap este un scaner de securitate de rețea gratuit și foarte popular. Este ușor de utilizat și foarte puternic. Acest articol va explica instalarea an

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe