GNU/Linux >> Linux Esercitazione >  >> Debian

Genera certificati SSL con LetsEncrypt su Debian Linux

Introduzione

Nel caso non te ne fossi già accorto, la crittografia è importante. Per il Web, ciò significa utilizzare i certificati SSL per proteggere il traffico Web. Di recente, Mozilla e Google sono arrivati ​​al punto di contrassegnare i siti senza certificati SSL come non sicuri in Firefox e Chrome.

Per portare il Web al passo con la crittografia, la Linux Foundation insieme alla Electronic Frontier Foundation e molti altri hanno creato LetsEncrypt. LetsEncrypt è un progetto progettato per consentire agli utenti di accedere a certificati SSL gratuiti per i loro siti web. Ad oggi LetsEncrypt ha emesso milioni di certificati ed è un successo clamoroso.

Usare LetsEncrypt è facile su Debian, specialmente quando si usa l'utilità Certbot di EFF.

Sistema operativo

  • OS :Debian Linux
  • Versione :9 (Allunga)

Installazione per Apache

Certbot ha un programma di installazione specializzato per il server Apache. Debian ha questo installer disponibile nei suoi repository.

# apt install python-certbot-apache

Il pacchetto fornisce il certbot comando. Il plugin Apache si interfaccia con il server Apache per scoprire informazioni sulle tue configurazioni e sui domini per i quali sta generando i certificati. Di conseguenza, la generazione dei certificati richiede solo un breve comando.

# certbot --apache

Certbot genererà i tuoi certificati e configurerà Apache per utilizzarli.

Installazione per Nginx

Nginx richiede un po' più di configurazione manuale. Poi di nuovo, se usi Nginx, probabilmente sei abituato alle configurazioni manuali. In ogni caso, Certbot è ancora disponibile per il download tramite i repository di Debian.

# apt install certbot

Il plug-in Certbot è ancora in versione alfa, quindi non è consigliabile utilizzarlo. Certbot ha un'altra utility chiamata "webroot" che semplifica l'installazione e la manutenzione dei certificati. Per ottenere un certificato, esegui il comando seguente, specificando il tuo web root director e tutti i domini che desideri siano coperti dal certificato.

# certbot certonly --webroot -w /var/www/site1 -d site1.com -d www.site1.com -w /var/www/site2 -d site2.com -d www.site2.com

Puoi utilizzare un certificato per più domini con un comando.

Nginx non riconoscerà i certificati finché non li aggiungerai alla tua configurazione. Tutti i certificati SSL devono essere elencati all'interno del server blocco per il rispettivo sito web. Devi anche specificare all'interno di quel blocco che il server deve essere in ascolto sulla porta 443 e usa SSL.

server {
	listen 443 default ssl;
	# Your
	# Other

	ssl_certificate /path/to/cert/fullchain.pem
	ssl_certificate_key /path/to/cert/privkey.pem

	# Config
	# Lines
}

Salva la configurazione e riavvia Nginx per rendere effettive le modifiche.

# systemctl restart nginx

Rinnovo automatico con Cron

Che tu stia utilizzando Apache o Nginx, dovrai rinnovare i tuoi certificati. Ricordarsi di farlo può essere un dolore e sicuramente non vuoi che cadano. Il modo migliore per gestire il rinnovo dei certificati è creare un processo cron che venga eseguito due volte al giorno. Si consigliano rinnovi due volte al giorno perché proteggono dalla scadenza dei certificati a causa della revoca, che può verificarsi di tanto in tanto. Per essere chiari, però, in realtà non si rinnovano ogni volta. L'utilità controlla se i certificati sono scaduti o entro trenta giorni. Li rinnoverà solo se soddisfano i criteri.

Innanzitutto, crea un semplice script che esegua l'utilità di rinnovo di Certbot. Probabilmente è una buona idea inserirlo nella home directory del tuo utente o in una directory degli script in modo che non venga servito.

#! /bin/bash

certbot renew -q

Non dimenticare di rendere eseguibile anche lo script.

$ chmod +x renew-certs.sh

Ora puoi aggiungere lo script come cron job. Apri il tuo crontab e aggiungi lo script.

# crontab -e
* 3,15 * * * /home/user/renew-certs.sh

Una volta terminato, lo script dovrebbe essere eseguito ogni giorno alle 3:00 e alle 15:00. dall'orologio del server.

Pensieri conclusivi

La crittografia del tuo server web protegge sia i tuoi ospiti che te stesso. La crittografia continuerà anche a svolgere un ruolo in cui i siti vengono visualizzati nei browser e non è molto difficile presumere che avrà anche un ruolo nella SEO. In ogni caso, crittografare il tuo server web è una buona idea e LetsEncrypt è il modo più semplice per farlo.


Debian
  1. Come sostituire Systemd con SysV Init su Debian Linux

  2. Iniziare con Jekyll su Debian 9 Stretch Linux

  3. Come crittografare la directory con EncFS su Debian 9 Stretch Linux

  4. Come gestire i certificati Lets Encrypt SSL/TLS con certbot

  5. Posizione del certificato SSL su UNIX/Linux

Come installare Etherpad con Nginx e SSL su Debian 11

MX Linux 19 rilasciato con Debian 10.1 "Buster" e altri miglioramenti

Come generare una richiesta di firma del certificato (CSR) SSL/TLS su Debian 10

Come crittografare le partizioni Linux con VeraCrypt su Debian 10

Come rinnovare automaticamente Let's Encrypt certificati SSL

Certificati autofirmati master su Windows e Linux