Installare un certificato root CA su UBUNTU
Quando si utilizzano nella propria azienda o nel proprio homelab certificati self-signed, c'è la necessità di aggiungere nel trust store di una macchina il root CA certificate emesso da una Certification Authority locale, in modo che possa connettere usando il protocolo SSL.
Lo scenario è questo: in una rete locale di un oranizzaizone o del nostro homelab si vuole connettere tutti i dispositivi attraverso il protocollo sicuro SSL. Per fare ciò occorre che una certification aurthority emetta un certifiato root che sarà utilizzato per creare tutti i certificati di ogni macchina o sito.
Distribendo il certificato root a tutti gli utenti, essi potranno avere la sicurezza, durante le connessioni SSL o con lo schema https, che il sito a cui effettuare la richiesta sia veramente attendibile.
Come installare un certificato su UBUNTU 22.04
Innanzi tutto è necessario recuperare il certificato root emesso dalla certification authority. Solitamente i certificati delle più conosciute CA sono già presenti all'interno delle distribuzioni GNU-Linux. Tuttavia per le networks locali vengono generati certificati specifici in modo da aumentarne la sicurezza.
Il certificato non è nient'altro che un file che può avere estensione .pem
ovvero .crt
(nel nostro esempio lo chiameremo my-root-ca.crt).
Se provassimo a eseguire una richiesta via HTTPS/SSL (utilizzando il comando curl) ad un sito della nostra rete locale senza aver prima installato il certificato, verrebbe restituito il warning che ci avverte della risposta non sicura.
curl -I https://my-homelab.lan
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Procediamo con l'installazione del certificato, semplicemente copiandolo in un particolare percorso, e lanciando successivamente il comando update-ca-certificates
eseguendo l'installazione.
cp my-root-ca.crt /usr/local/share/ca-certificates
update-ca-certificates
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Nel caso il comando non esista, si deve prima installarlo.
apt update
apt install -y ca-certificates
Si può verificare che il certificato sia installato, se lo troviamo elencato nella cartella /etc/ssl/certs/
.
Proviamo di nuovo ad eseguire una richiesta all'inidirizzo della rete locale, per notare che ora la risposta viene restituita correttamente.
curl -I https://my-homelab.lan
HTTP/1.1 200 OK
Date: Tue, 22 Aug 2023 08:50:52 GMT
Server: Apache/2.4.29 (Ubuntu)
Last-Modified: Fri, 06 Nov 2020 13:41:14 GMT
Content-Length: 873
Content-Type: text/html
Rimuovere un certificato root.
La rimozione di un certificato avviene con la stessa semplicità. Prima si procede all'eliminazione del file dalla cartella /usr/local/share/ca-certificates/
. Successivamente lanciare di nuovo il comando per aggiornare i certificati agiungendo l'opzione --fresh
.
rm /usr/local/share/ca-certificates/my-root-ca.crt
update-ca-certificates --fresh
Gestire gli utenti ed i ripettivi gruppi in UBUNTU
In questo articolo si elencano i principali comandi che servono a creare, eliminare e modificare gli utenti ed i gruppi presenti nella distribuzione GNU/Linux UBUNTU.
2023-08-27
ilDug
#terminale #ubuntu #bash #users
Come visualizzare il git branch nel prompt del terminale
Se usate il terminale per gestire i vostri progetti e soprattutto usate git come vostro version control system, può essere molto comodo avere in ogni momento sotto controllo in quale branch si sta lavorando.
2023-08-21
ilDug
#terminale #git #branch