Plesk Let's Encrypt: ottenere certificato SSL gratuito

Cos'e' Let's Encrypt

Let's Encrypt e' un'autorità' di certificazione gratuita e automatizzata che rilascia certificati SSL/TLS di durata 90 giorni, rinnovabili automaticamente. Grazie al protocollo ACME, l'emissione e' completamente automatica e non richiede invii di documenti, validazioni manuali o spese.

Plesk integra nativamente Let's Encrypt tramite un'estensione gratuita che semplifica l'emissione, l'installazione e il rinnovo del certificato direttamente dal pannello.

Prerequisiti

Per ottenere un certificato Let's Encrypt servono:

  • Il dominio deve risolvere all'IP del server Plesk (record A/AAAA corretti)
  • La porta 80 (HTTP) deve essere raggiungibile dall'esterno
  • Nessun firewall o WAF deve bloccare il path /.well-known/acme-challenge/

Installare l'estensione

L'estensione Let's Encrypt e' preinstallata su Plesk Obsidian. Se manca:

  1. Andare in Extensions → Extensions Catalog
  2. Cercare "Let's Encrypt"
  3. Cliccare Install

Emettere un certificato

Da pannello:

  1. Aprire Subscriptions → dominio.it → SSL/TLS Certificates
  2. Cliccare Install a free basic certificate provided by Let's Encrypt
  3. Inserire l'email per le notifiche di scadenza
  4. Selezionare le opzioni:
    • Include www.dominio.it
    • Secure webmail (webmail.dominio.it)
    • Secure wildcard (*.dominio.it) richiede DNS validation
  5. Cliccare Get it free

L'emissione richiede pochi secondi. Il certificato viene installato automaticamente sul web server e su tutti i servizi correlati.

Certificato wildcard

Per certificare *.dominio.it serve la validazione DNS (DNS-01), perché' Let's Encrypt richiede di dimostrare il controllo del dominio tramite un record TXT.

Plesk gestisce automaticamente il record TXT se il DNS del dominio e' ospitato sullo stesso server Plesk. Se il DNS e' esterno (Cloudflare, Route53, ecc.) serve un plugin DNS aggiuntivo.

Rinnovo automatico

I certificati Let's Encrypt scadono dopo 90 giorni. Plesk programma un cron job che rinnova automaticamente i certificati 30 giorni prima della scadenza. Per forzare il rinnovo manualmente:

plesk bin extension --exec letsencrypt cli.php --renew

Per un singolo dominio:

plesk bin extension --exec letsencrypt cli.php --renew -d dominio.it

Certificato per il pannello Plesk

Anche il pannello Plesk (porta 8443) puo' usare Let's Encrypt. In Tools & Settings → SSL/TLS Certificates selezionare "Secure Plesk with Let's Encrypt".

Il certificato sarà' emesso per l'hostname del server: assicurarsi che l'hostname risolva pubblicamente.

Risoluzione problemi comuni

Errore: "unauthorized". Significa che Let's Encrypt non ha raggiunto il path acme-challenge. Verificare:

  • Dominio risolve all'IP corretto
  • Porta 80 aperta e non bloccata da firewall
  • Nessun redirect HTTP->HTTPS prima della validazione (Plesk lo gestisce automaticamente)

Errore: "rate limit". Let's Encrypt limita a 5 emissioni/settimana per dominio. Usare lo staging environment per test.

Plugin DNS per wildcard

Per emettere certificati wildcard con DNS esterno, Plesk supporta plugin DNS via estensioni:

  • Cloudflare DNS: automazione tramite API token
  • Route 53: per DNS su AWS
  • DigitalOcean DNS: per chi usa DO
  • Custom: hook script per provider non supportati

Configurare il plugin con API token e selezionare "Use DNS plugin" durante l'emissione del wildcard.

OCSP stapling

Plesk configura automaticamente OCSP stapling per i certificati Let's Encrypt installati. Verificare:

openssl s_client -connect dominio.it:443 -status 2>/dev/null | grep -A 5 "OCSP response"

OCSP stapling riduce il carico sui client (non devono interrogare l'OCSP responder) e migliora le performance HTTPS.

HSTS e redirect HTTPS

Dopo l'emissione del certificato, e' buona pratica:

  1. Attivare il redirect permanente HTTP → HTTPS in Hosting Settings → Permanent SEO-safe 301 redirect from HTTP to HTTPS
  2. Aggiungere header HSTS: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  3. Considerare la submission al HSTS preload list

Multi-domain SAN

Un singolo certificato Let's Encrypt puo' coprire fino a 100 nomi (SAN - Subject Alternative Names). Plesk gestisce automaticamente: se una sottoscrizione ha più' alias domain, il certificato include tutti i nomi.

Limiti Let's Encrypt

Let's Encrypt impone rate limit pubblicati:

  • 50 certificati per dominio registrato a settimana
  • 300 nuovi ordini per account ogni 3 ore
  • 5 richieste duplicate per settimana
  • 10 fallimenti per account ogni ora

Per testing intensivo usare lo staging environment di Let's Encrypt che non ha rate limit ma emette certificati non validi (solo per test).

Quando NON usare Let's Encrypt

Let's Encrypt e' eccellente per la maggior parte dei casi ma ha limiti:

  • Solo validazione DV (Domain Validation), no OV/EV
  • Niente warranty
  • Validita' 90 giorni (puo' essere svantaggio per ambienti con compliance rigide)

Per banking, e-commerce di alto valore o requisiti compliance specifici, considerare certificati commerciali OV/EV da CA come Sectigo, DigiCert, GlobalSign.

Forzare il rinnovo prima della scadenza

Plesk rinnova automaticamente i certificati 30 giorni prima della scadenza. Per anticipare il rinnovo (es. dopo aver aggiunto un nuovo alias):

plesk bin extension --exec letsencrypt cli.php --renew -d dominio.it --force

Backup del certificato

I certificati Let's Encrypt sono salvati in /etc/letsencrypt/live/dominio.it/. Si possono backuppare per uso in altri server o per archivio:

tar czf le-backup.tar.gz /etc/letsencrypt

Renewals automatici e cron

Plesk configura un cron job che gira ogni notte controllando i certificati Let's Encrypt:

0 2 * * * /opt/psa/admin/plib/scripts/letsencrypt-renew

Verificare nel Action Log i tentativi di rinnovo per individuare eventuali fallimenti silenti che potrebbero portare a un certificato scaduto.

Email di scadenza

Plesk invia email all'admin 30 giorni e 7 giorni prima della scadenza di un certificato. Verificare che le notifiche siano abilitate in Tools & Settings → Notifications → Certificate expiration.

Revoke di un certificato

In caso di compromissione della chiave privata, revocare il certificato:

plesk bin extension --exec letsencrypt cli.php --revoke -d dominio.it

Subito dopo rigenerarne uno nuovo.

Hai bisogno di aiuto?

Se vuoi gestione Plesk dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?