EasyRSA (https://github.com/OpenVPN/easy-rsa) e` un insieme di script comodi per creare e gestire una piccola CA privata. Ideale per creare le chiavi per OpenVPN, puo` essere usata anche per altri scopi.
Questi sono appunti su come usare EasyRSA versione 3 per generare una CA e dei certificati per OpenVPN.
vars
impostando i valori delle variabili che identificano la CA:vars
, impostare la validita` e il numero di bit della chiave. (4096 bit, 50 anni)./easyrsa init-pki
./easyrsa build-ca nopass
. Se volete impostare una password per il certificato della CA, togliete il parametro nopass
./easyrsa build-server-full server nopass
Questo comando genera una chiave di tipo "server" con nome file "server" (.key e .crt). Ovviamente il nome del file e` a vostra scelta, e ovviamente e` possibile generare piu` di una chiave di tipo server se e` necessario. Nel caso della chiave server, a meno di esigenze particolari, e` opportuno usare il parametro "nopass"
per generare una chiave che non richiede password, visto che il server dovra` potersi avviare senza che qualcuno digiti la password della sua chiave../easyrsa build-client-full <nome-file-chiave> nopass
. Se volete che il certificato abbia una password, togliete il parametro "nopass"
. La password puo` essere poi cambiata (o anche tolta o messa), volendo, dall'utente che usera` il certificato../easyrsa gen-dh
, che e` lentissimo, specie se usate keysize 4096.
Fatto tutto questo, i files delle chiavi e dei certificati li trovate dentro alla directory pki
. Nello specifico:
pki
pki/private
pki/issued
Se volete vedere delle informazioni su un certificato generato in precedenza, potete usare ./easyrsa show-cert <nome-file-certificato> full
. Il nome file e` senza ".crt" in fondo, e il parametro "full"
puo` essere omesso per avere un output ridotto.
Se volete cambiare una password di una chiave privata generata in precedenza, potete usare ./easyrsa set-rsa-pass <nome-file-chiave>
(il nome del file e` senza ".key" in fondo)
Questi sono appunti su come usare EasyRSA versione 2 e precedenti per generare una CA e dei certificati per OpenVPN.
vars
che si trova sotto easy-rsa e configurare in modo credibile i seguenti parametri: KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG e KEY_EMAIL. Nessuno di questi deve essere vuoto. Vale anche la pena di impostare KEY_SIZE a 2048, perche` siamo paranoici.openssl.cnf
e` gzippato (openssl.cnf.gz) occorre gunzipparlo.openssl.cnf
e mettere il parametro "default_days" a un valore accettabile. Un anno e` troppo poco, io ho messo 10 anni. (3650 giorni). ./vars ./clean-all ./build-ca
Attenzione a come viene invocato "vars" nella prima riga, "punto spazio punto barra"... e` un po` molesto. Alle domande che verranno poste da "build-ca", e` necessario inserire dei valori dove manca il default, e NON MODIFICARE nulla dove il default e` presente. Ora la CA e` configurata. La chiave privata della CA dovrebbe essere supersegreta, da tenere in un floppy in una cassaforte in cantina con davanti un cartello "attenti al leopardo".
./build-key-server <nome file della chiave>
(usare un nome tipo "server" puo` andare bene)./build-key <nome file della chiave>
(usare un nome tipo "client1" puo` andare bene). Se si vuole che l'utente del client debba inserire una password per usare la chiave, usare build-key-pass
al posto di build-key
../build-dh
. (roba da matematti). E` lentissimo, bersi una coca in attesa.