User Tools

Site Tools


doc:appunti:linux:sa:openvpn_easy_rsa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:openvpn_easy_rsa [2025/06/10 09:46] – [Scadenza e rinnovo dei certificati] niccolodoc:appunti:linux:sa:openvpn_easy_rsa [2025/11/25 10:59] (current) – [OpenVPN con Easy-RSA] niccolo
Line 4: Line 4:
  
 In **Debian**, a partire dalla versione **8 Jessie**, esiste il pacchetto **easy-rsa** che facilita la configurazione di **OpenVPN** con chiavi RSA. Tale sistema si contrappone al metodo PSK, cioè a chiave segreta condivisa. Alcuni client più recenti non accettano di essere configurati con PSK, ad esempio il client Android di OpenVPN 3.2.5 In **Debian**, a partire dalla versione **8 Jessie**, esiste il pacchetto **easy-rsa** che facilita la configurazione di **OpenVPN** con chiavi RSA. Tale sistema si contrappone al metodo PSK, cioè a chiave segreta condivisa. Alcuni client più recenti non accettano di essere configurati con PSK, ad esempio il client Android di OpenVPN 3.2.5
 +
 +**ATTENZIONE**: Queste istruzioni sono per **easy-rsa v3.x**, non vanno bene con Debian 9 che fornisce la versione 2.
  
 Sul server OpenVPN si devono gestire tre componenti: Sul server OpenVPN si devono gestire tre componenti:
Line 142: Line 144:
 auth SHA256 auth SHA256
 # Avoid default BF-CBC cipher, because of its 64-bit block size. # Avoid default BF-CBC cipher, because of its 64-bit block size.
-cipher AES-256-CBC+# The --cipher option should not be used any longer with OpenVPN 2.6 in TLS mode. 
 +#cipher AES-256-CBC 
 +# Use --data-ciphers appending AES-256-CBC to the default value for clients using OpenVPN 2.3. 
 +data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-256-CBC
 persist-key persist-key
 persist-tun persist-tun
Line 183: Line 188:
  
 <code> <code>
 +cd /etc/openvpn/easy-rsa
 ./easyrsa build-client-full [clientname] nopass ./easyrsa build-client-full [clientname] nopass
 </code> </code>
Line 334: Line 340:
 ===== Scadenza e rinnovo dei certificati ===== ===== Scadenza e rinnovo dei certificati =====
  
-==== Verificare il certificato della Certification Authority ====+==== Certificato della Certification Authority ====
  
 Il certificato della CA è indicato dalla direttiva ''ca'' del file di configurazione del server (ad esempio **/etc/openvpn/server-rigacci-org.conf**): Il certificato della CA è indicato dalla direttiva ''ca'' del file di configurazione del server (ad esempio **/etc/openvpn/server-rigacci-org.conf**):
Line 347: Line 353:
 openssl x509 -text -noout -in /etc/openvpn/easy-rsa/pki/ca.crt openssl x509 -text -noout -in /etc/openvpn/easy-rsa/pki/ca.crt
 </code> </code>
 +
 +=== Rinnovo certificato della CA ===
 +
 +FIXME
 +
 +==== Certificato del server ====
 +
 +Il certificato del server OpenVPN è individuato dalla direttiva ''cert'' del file di configurazione del server (ad esempio **/etc/openvpn/server-rigacci-org.conf**):
 +
 +<file>
 +cert /etc/openvpn/easy-rsa/pki/issued/server.crt
 +</file>
 +
 +Il file contiene in chiaro la //Validity// => //Not After//, altrimenti è possibile decodificare la parte PEM dello stesso file con il comando ''openssl'' visto sopra.
 +
 +=== Rinnovo certificato del server ===
 +
 +È opportuno revocare il vecchio certificato prima di generare quello nuovo. Nel file di configurazione OpenVPN del server si può infatti indicare una sola opzione ''cert'', pertanto non è possibile utilizzare contemporaneamente i due certificati a meno di non utilizzare due configurazioni separate.
 +
 +<code>
 +cd /etc/openvpn/easy-rsa
 +./easyrsa revoke server
 +./easyrsa gen-crl
 +</code>
 +
 +La CRL (Certificate Revocation List) va inclusa nella configurazione del server con l'opzione ''crl-verify'' (nel nostro esempio **/etc/openvpn/server-rigacci-org.conf**):
 +
 +<file>
 +crl-verify /etc/openvpn/easy-rsa/pki/crl.pem
 +</file>
 +
 +Il file **/etc/openvpn/easy-rsa/pki/index.txt** evidenzia la revoca con la lettera **R** ad inizio riga.
 +
 +La generazione del nuovo certificato (con la validità impostata nel file ''/etc/openvpn/easy-rsa/vars'', opzione ''EASYRSA_CERT_EXPIRE'') si effettua con:
 +
 +<code>
 +cd /etc/openvpn/easy-rsa
 +./easyrsa gen-req server nopass
 +./easyrsa sign-req server server
 +</code>
 +
 +==== Certificati dei client ====
 +
 +L'elenco dei certificati emessi per i client in corso di validità si ottiene con:
 +
 +<code>
 +cat /etc/openvpn/easy-rsa/pki/index.txt
 +</code>
 +
 +Una riga che inizia con **V** indica un certificato valido:
 +
 +<file>
 +V   250710072057Z   31AA3A66E6104488745CEE7F06153801   unknown /CN=server
 +V   250710132453Z   122D14AD065C5E91F7C8E4C04C79A756   unknown /CN=galaxy-tab-a8
 +V   250710301624Z   23EC990CF92D1F39651BEB16BF21A91F   unknown /CN=office-pc
 +</file>
 +
 +La scadenza di ognuno di essi si verifica leggendo il file relativo, che ha nome del tipo **//CN//.crt**:
 +
 +<code>
 +cat /etc/openvpn/easy-rsa/pki/issued/galaxy-tab-a8.crt
 +</code>
 +
 +Ciascun file contiene in chiaro la //Validity// => //Not After//, altrimenti è possibile decodificare la parte PEM dello stesso file con il comando ''openssl'' visto sopra.
 +
 +=== Rinnovo certificato di un client ===
 +
 +FIXME
  
  
doc/appunti/linux/sa/openvpn_easy_rsa.1749541583.txt.gz · Last modified: by niccolo