Installa Wildcard Certs da Consente di crittografare in Nginx su Ubuntu 19.04

A marzo 2018 Let's Encrypt ha aggiunto il supporto per i certificati jolly. I certificati jolly ti consentono di proteggere tutti i sottodomini di primo livello di un dominio con un singolo certificato. I certificati jolly sono disponibili solo tramite ACMEv2, che è una versione aggiornata del protocollo ACME. Per utilizzare ACMEv2 per certificati jolly o non jolly, è necessario un client che sia stato aggiornato per supportare ACMEv2. Uno di questi client è acme.sh, che è un client di protocollo ACME / ACMEv2 scritto esclusivamente in linguaggio Shell (Unix shell) senza dipendenze. Inoltre, i domini jolly devono essere convalidati utilizzando il tipo di prova DNS-01. Ciò implica che è necessario modificare i record TXT DNS per dimostrare il controllo su un dominio per ottenere un certificato jolly.

In questa guida, spieghiamo come ottenere e distribuire certificati jolly gratuiti da Let's Encrypt su Ubuntu 19.04 utilizzando il acme.shclient, lo strumento Lexicon per la manipolazione automatica dei record DNS consumando l'API Vultr e distribuendo certificati sul server Web Nginx.

Requisiti

  • Server cloud Ubuntu 19.04 Vultr appena implementato.
  • Hai un nome di dominio registrato. Questa guida utilizza example.comcome dominio di esempio.
  • Assicurati di aver impostato i record DNS A / AAAA e CNAME per il tuo nome di dominio completo (FQDN). Potresti consultare il tutorial Introduzione a Vultr DNS se hai bisogno di familiarizzare con i concetti DNS.
  • Accesso API Vultr abilitato nel pannello di controllo dell'account Vultr.

Prima di iniziare

Controlla la versione di Ubuntu.

lsb_release -ds
# Ubuntu 19.04

Crea un nuovo account utente con sudoaccesso e il tuo nome utente preferito e passa ad esso. Usiamo johndoe.

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

NOTA : sostituisci johndoecon il tuo nome utente.

Imposta il fuso orario.

sudo dpkg-reconfigure tzdata

Assicurati che il tuo sistema Ubuntu sia aggiornato.

sudo apt update && sudo apt upgrade -y

Installa i pacchetti necessari.

sudo apt install -y git wget curl socat

Installa Nginx

Installa il web server Nginx.

sudo apt install -y nginx

Controlla la versione

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

Installa Python e Lexicon

Come primo passo nel processo di ottenimento dei certificati jolly da Let's Encrypt utilizzando acme.sh e l'API Vultr, è necessario installare Python e Lexicon . Lexicon è un pacchetto Python che fornisce un modo per manipolare i record DNS su più provider DNS in modo standardizzato.

Installa Python se non è già installato sul tuo sistema.

sudo apt install -y python3

Conferma l'installazione verificando la versione.

python3 --version
# Python 3.7.3

Installa lo strumento Lexicon. Un lessico è uno strumento Python che consente di manipolare i record DNS su vari provider DNS in modo standardizzato.

sudo apt install -y lexicon

Controlla la versione Lexicon.

lexicon --version
# lexicon 3.0.8

Installa acme.shclient

Acme.shè un client di protocollo ACME scritto esclusivamente in linguaggio Shell (Unix shell) che automatizza il processo di acquisizione di un certificato firmato tramite Let's Encrypt. Supporta ACME v1 e ACME v2 e, soprattutto, supporta i certificati jolly ACME v2. In questa sezione, installiamo uno script Acme.sh.

NOTA: si consiglia di utilizzare l' rootutente per l'installazione acme.sh, anche se non richiede root/ sudoaccesso.

Passa rootall'utente dall'utente normale se lo hai creato.

sudo su - root

Scarica e installa 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

Controlla la versione

acme.sh --version
# v2.8.2

Ottieni certificati jolly da Let's Encrypt

Per ottenere un certificato jolly, è possibile utilizzare solo il metodo di convalida DNS. Utilizziamo le API DNS Lexicon e Vultr per manipolare i record DNS TXT.

Ottieni certificati jolly RSA ed ECC per il tuo dominio.

# 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

NOTA : non dimenticare di sostituire example.comcon il tuo nome di dominio e sostituire i valori dei segnaposto dell'API Vultr con i tuoi.

Dopo aver eseguito i comandi precedenti, i certificati e le chiavi sono in:

  • Per RSA: ~/.acme.sh/example.comdirectory.
  • Per ECC / ECDSA: ~/.acme.sh/example.com_eccdirectory.

NOTA : non è necessario utilizzare i file cert nella ~/.acme.sh/cartella, sono solo per uso interno, la struttura della directory potrebbe cambiare in futuro.

Per elencare i tuoi certificati, puoi eseguire:

acme.sh --list

Crea una cartella per archiviare i certificati in produzione. Usiamo /etc/letsencryptdirectory.

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

Installa / copia i certificati per l'uso in produzione sul tuo server.

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

Ora che abbiamo ottenuto correttamente i certificati jolly da Let's Encrypt, dobbiamo configurare il web server Nginx. Tutti i certificati vengono rinnovati automaticamente ogni 60 giorni.

Dopo aver ottenuto e installato certificati nella posizione preferita, è possibile disconnettersi da un rootutente a un sudoutente normale e continuare a gestire il server utilizzando, sudose necessario.

exit

Configurare il server Web Nginx

Esegui sudo vim /etc/nginx/sites-available/example.com.confe popola il file con il seguente contenuto. Sostituisci tutte le occorrenze di example.comcon il tuo nome di dominio.

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;

}

Attiva la nuova example.com.confconfigurazione collegando il file alla sites-enableddirectory.

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

Testare la configurazione di Nginx.

sudo nginx -t

Ricarica Nginx.

sudo systemctl reload nginx.service

Questo è tutto. Abbiamo distribuito certificati con caratteri jolly su Nginx, utilizzando acme.sh, Lexicon e Vultr API. I certificati con caratteri jolly possono essere utili quando si desidera proteggere più sottodomini di primo livello generati dinamicamente.

Lascia un commento

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.