====== Account ACME per il rilascio automatico dei certificati server ====== ===== Richiedere uno o più account ACME ===== E' possibile richiedere uno o più account ACME per il rilascio e rinnovo automatico dei certificati. * Ad amministratori di sistema o aziende contrattualizzate diverse devono corrispondere account ACME diversi. * Un singolo amministratore di sistema può richiedere più account ACME qualora desideri dividere amministrativamente più gruppi di server. In tal caso dovrà porre attenzione a fornire una descrizione puntuale della funzione di ogni singolo account e assegnare uno short-name all'atto della creazione dell'account. Il titolare dell'account ha il dovere di comunicare a sicurezzainformatica@units.it qualsiasi tipo di compromissione dell'account ACME o dei certificati da questo gestiti. Email per le richieste: rete@units.it Dati obbligatori: * Matricola richiedente * Brevissima descrizione funzionale dell'account di cui si chiede la creazione e nickname associato Ti verrà restituito un account composto da: * Key ID * HMAC Key * Server URL Con i dati qua sopra e con il tuo email registrerai in certbot (dopo averlo installato, vedi più avanti) l'account ACME da usare certbot register --email --server --eab-kid --eab-hmac-key Con certbot non è possibile registrare due account ACME di Harica sullo stesso client. \\ E' possibile avere più account ACME registrati sullo stesso client solo a patto che siano di due Certification Autority differenti. \\ Prima di registrare un nuovo account ACME della stessa CA occorre rimuovere il precedente. Il risultato sarà la creazione dell'account e della relativa chiave nella directory /etc/letsencrypt/accounts. ===== Server PUBBLICI ===== Il client di riferimento per l'uso di Let's Encrypt e del protocollo ACME, adottato anche dalla Certyification Authority corrente è [[https://certbot.eff.org/|certbot]]. Scaricalo e installano secondo quanto descritto nella pagina [[https://certbot.eff.org/|certbot]] selezionando il tuo server web re sistema operativo. Avrete bisogno dei seguenti partametri: * Key ID * HMAC Key * Server URL Key ID e HMAC KEy devono rimanere riservati. Il comando può configurare automaticamente i server Apache (--apache) e NGINX (--nginx). In tutti gli altri casi e' possibile scaricare solo i certificati (certonly --standalone). certbot run --apache --email --server --domain --key-type ecdsa --elliptic-curve secp384r1 --cert-name certbot run --nginx --email --server --domain --key-type ecdsa --elliptic-curve secp384r1 --cert-name certbot certonly --standalone --email --server --domain --key-type ecdsa --elliptic-curve secp384r1 --cert-name certbot certonly --standalone --email --server --domain ,, --key-type ecdsa --elliptic-curve secp384r1 --cert-name Specificare sempre **--server ** altrimenti il certificato verrà emesso dalla Certification Authority Let's Encrypt (default di certbot) anziché da quella HARICA per una durata inferiore e con validazione più stretta Nello specificare piu nomi FQDN assicurarsi che siano registrati a DNS per evitare che la validazione fallisca. ===== Server PRIVATI (non raggiungibili da Internet) ===== La procedura per questo genere di server è un po' più complessa e prevede la pubblicazione del nome sul DNS pubblico. E' possibile verificare l'esistenza del nome usando dns pubblici come ad esempio: * Cloudflare DNS: 1.1.1.1 e 1.0.0.1. * Google Public DNS: 8.8.8.8 e 8.8.4.4. * OpenDNS: 208.67.222.222 e 208.67.220.220. Linux: host mioserver.zonaprivata.units.it 1.1.1.1 dig mioserver.zonaprivata.units.it @1.1.1.1 Windows: nslookup server 1.1.1.1 mioserver.zonaprivata.units.it * Se il nome non è pubblico, chiederne la pubblicazione a scopo certificato ACME a rete@units.it. ==== Uso del proxy per Linux (pip) e server in rete PRIVATA SENZA NAT ==== * Installare certbot **come per i server pubblici (vedi sopra)**, ma: * Prima di fare sudo ''/opt/certbot/bin/pip install certbot certbot-apache'', in ///opt/certbot/pip.conf// va aggiunto: [global] proxy = http://proxy.units.it:8080 * Ridare il comando di aggiornamento di pip * Aggiungere questi due environment per abilitare certbot ad usare il proxy prima di richiedere il certificato echo "export http_proxy=http://proxy.units.it:8080" >> /opt/certbot/bin/activate echo "export https_proxy=http://proxy.units.it:8080" >> /opt/certbot/bin/activate ===== Utilità ===== Quali account sono registrati in un'istanza di certbot Scoprire se un'instanza di certbot ha già degli account associati: certbot show_account Verificare i certificati in uso: certbot certificates ===== Rinnovo automatico e forzato dei certificati ===== La semplicità con cui è possibile rinnovare i certificati è molto probabilmente il maggior punto di forza di ACME e certbot. Il rinnovo avviene con il comando renew e rinnova automaticamente tutti i certificati presenti in /etc/letsencrypt e che stanno per scadere entro 30 giorni: certbot renew Ci sono una serie di opzioni utili per il rinnovo dei certificati che è bene conoscere: --quiet silenzia il comando, utile per richiamare il rinnovo da cron. --force-renewal forza il rinnovo di tutti i certificati indipendentemente dalla loro data di scadenza. --reuse-key rinnova solo il certificato, ma non emette anche una nuova chiave (default false). ===== Revoca dei certificati ===== Per revocare i certificati emessi utilizzare il comando revoke(sostituire con il corrispondente valore presente nell'account ACME sul CM di Harica): Nel caso di certificati per più nomi di dominio, basterà specificare uno dei nomi validi. Inoltre tramite l'opzione --cert-path è possibile utilizzare il percorso del certificato al posto del nome di dominio: certbot revoke --email --server --cert-path /etc/letsencrypt/live//cert.pem ===== Altri client ACME e ulteriori risorse ===== E' possibile usare altri client ACME come ad esempio acme.sh, lego, win-acme, ma non riusciamo a fornire assistenza su questi. [[https://tcs-docs.aai.garr.it/ACME/|Guida GARR Certification Service]]