Home giubbe.org


×

Attenzione!

Le parole scritte in rosso devono essere sostituite dai vostri parametri.

×

Beta!

Sto lavorando al sito e commetterò tanti errori: potete segnalarmeli all'indirizzo indicato in fondo pagina. Segnalatemi anche eventuali vostre richieste. Grazie. !!!


Crittografia TLS.

Come abbiamo visto, la rete non è un posto frequentato da sole brave persone.
crea un canale di comunicazione crittografato tra due applicazioni (ad esempio, client - server oppure server - server). Questo significa che i dati scambiati vengono cifrati, rendendo difficile per malintenzionati intercettare e leggere i messaggi o alterare le informazioni.
Questa procedura è chiamata anche crittografia a chiave pubblica, perchè utilizza due chiavi : una pubblica ed una privata.

Come funziona?
Facciamo l'esempio di elia@ava.it che spedisce una mail verso il server @ava.it, affinchè questo possa recapitarla a destinazione.
Il server ed il client si accordono su quale tipo di cifratura e formattazione usare. È il cosiddetto Handshake, stretta di mano; rende l'idea dell'accordo negoziato.
Il server @ava.it condivide il suo certificato TLS e la sua chiave pubblica al client elia@ava.it
Il client di elia@ava.it (outlook, apple mail, thunderbird, etc, il programma con cui scrive la mail)riconosce il certificato, perchè emesso da una autorità conosciuta, inserita nella lista delle Autorità di Certificazione ("CA").
Il client si accerta anche che il certificato non sia scaduto o addirittura revocato.
Il client invia al server una chiave unica, generata al momento, con la quale criptare la sessione di scambio.
Il server @ava.it, usando la sua chiave privata, decritta la chiave unica del client e crea una chiave di sessione.
A questo punto, tutti i dati passanti tra client e server sono criptati con la chiave di sessione.
Questo porta anche un altro vantaggio: se andasse "smarrita" la chiave privata , chi "trova" la chiave privata non riuscirebbe a decrittare le intercettazioni avvenute precedentemente, essendo diversa dalla chiave unica di sessione.

Precisazione: con la crittografia TLS sono solo le trasmissioni ad essere crittografate.
Se un malintenzionato riesce a prendere possesso del server o anche del client (ad esempio il vostro laptop) e fruga tra le mail, queste saranno leggibili e non crittografate.
Per crittografare la mail, bisogna utilizzare applicazioni apposite, ad esempio

Se siete interessati a conoscere le CA, autorità di certificazione, digitate nel terminale:

less /etc/ca-certificates.conf

cert

cert

Per listare l'elenco delle CA, abbiamo usato l'utilità less: permette di scorrere il file una pagina alla volta premendo la barra spaziatrice, il tasto B per andare indietro di una pagina ed il tasto Q per uscire da less.
La lista delle CA si aggiornerà automaticamente con l'aggiornamento del sistema:
sudo apt update && sudo apt upgrade

Tipi di Certificati.

Ci sono 3 categorie di certificati:

Certificati Domain Validated (DV).
La validazione si limita all'accertamento del possesso e del controllo del dominio di chi chiede il certificato. Infatti, viene utilizzato per la verifica solo il nome del dominio.
La richiesta di validazione può essere richiesta tramite mail, tramite record DNS, tramite Token disposto dal client ACME.

Certificati Organization Validated (OV).
La validazione riguarda, oltre il controllo del dominio, anche l'effettiva esistenza dell'organizzazione (azienda, ong, governo, etc.) che richiede di ottenere il certificato e del luogo dove opera, lo stato, il numero di telefono.
In questo caso, oltre al dominio, viene inserita anche l'entità nel certificato, così da diffondere più informazioni per chi va a "spulciare" sul famoso lucchettino nel browser per controllare il certificato.

Certificati Extended Validation (EV).
Le stesse verifiche dei certificati OV , ma molto più rigorose con la richiesta di documentazione; prevedono la verifica del numero di telefono dell'organizzazione, la verifica della sua esistenza ed identità legale, il controllo del nome, dello stato, dell'indirizzo fisico, cioè controlli più profondi.

Procurarsi certificati TLS .

Possiamo noi stessi emettere un certificato TLS. Se non siete interessati allla procedura di creazione di certificati autonomi, potete passare al paragrafo su Certbot.

Usiamo openssl, applicazione già installata nel nostro sistema. Per creare la chiave privata, digitiamo:
openssl genrsa -out server.key 4096
cert

Abbiamo chiesto di generare la chiave con algoritmo , di chiamare il file server.key, creato nella home del richiedente, e che la chiave abbia una dimensione di 4096 bit. Di default è 2048; con una dimensione inferiore la chiave non è ritenuta sicura.
La chiave privata server.key. è creata con permessi u=rw ,g=, o=, perciò divieto di lettura al di fuori del creatore del file.

Adesso possiamo creare la richiesta di certificato. Sarebbe il file da inviare all'Autorità Certificante.
Digitiamo:
openssl req -key server.key -new -out server.csr
Ci verranno chieste delle informazioni. La più importante è "Common Name": inseriamo l'hostname nella forma nel mio caso, mail.sitoprovaprimo.it

cert

In questo caso, abbiamo detto ad openssl di utilizzare nella richiesta il file server.key, creato precedentemente, e di fornire un nuovo file col nome server.csr .

Invece di mandare il file server.crs (certificate signing request) ad una CA, affinchè firmi la richiesta e ci consegni il certificato validato, creiamo il nostro certificato autofirmato, diventando noi stessi emanatori di certificati, sempre con openssl, usando i due file creati, server.key e server.csr; digitiamo:
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650

cert

L'opzione x509 è uno standard usato per definire il formato dei certificati a chiave pubblica e delle Autorità di Certificazione; mentre l'opzione -days riguarda la durata del certificato. In questo caso abbiamo un certificato valido 10 anni.
Viene creato il file server.crt: il nostro certificato.

Se listiamo la nostra Home, troveremo i file creati, con i relativi permessi. Digitiamo:
ls -l

cert

Pecularietà negativa dei certificati autoprodotti è di non essere riconosciuti dalle CA, pertanto inutilizzabili, se non all'interno della propria rete domestica per uso privato.