IPSec è un gruppo di protocolli di rete utilizzati per configurare connessioni crittografate sicure, come le VPN, su reti condivise pubblicamente.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
IPSec è un gruppo di protocolli che consente di proteggere le connessioni tra dispositivi. Contribuisce a mantenere sicuri i dati inviati sulle reti pubbliche. Viene spesso utilizzato per configurare VPN e funziona crittografando i pacchetti IP, oltre ad autenticare l'origine da cui provengono i pacchetti.
Nel termine "IPSec", "IP" sta per "protocollo Internet " e "Sec" per "sicuro". Il protocollo Internet è il principale protocollo di routing utilizzato su Internet; indica dove andranno i dati utilizzando gli indirizzi IP. IPSec è sicuro perché aggiunge la crittografia* e l'autenticazione a questo processo.
*La crittografia è il processo di occultamento delle informazioni alterando matematicamente i dati in modo che appaiano casuali. In termini più semplici, la crittografia è l'uso di un "codice segreto" che solo le parti autorizzate sono in grado di interpretare.
I protocolli di sicurezza come IPSec sono necessari perché i metodi di rete non sono crittografati per impostazione predefinita.
Quando si invia la posta tramite un servizio postale, una persona in genere non scrive il proprio messaggio sulla busta. Racchiude invece il proprio messaggio all'interno della busta in modo che nessuno che smista la posta tra mittente e destinatario possa leggere il suo messaggio. Tuttavia, le suite di protocolli di rete come TCP/IP si occupano solo della connessione e della consegna e i messaggi inviati non vengono nascosti. Chiunque si trovi nelle fasi intermedie può leggerli. IPSec e altri protocolli che crittografano i dati, essenzialmente mettono un involucro attorno ai dati mentre attraversano le reti, mantenendoli al sicuro.
Una rete privata virtuale (VPN) è una connessione crittografata tra due o più computer. Le connessioni VPN avvengono su reti pubbliche, ma i dati scambiati tramite la VPN sono comunque riservati, perché sono crittografati.
Le VPN consentono di accedere in modo sicuro e di scambiare dati riservati su un'infrastruttura di rete condivisa, come l'Internet pubblico. Ad esempio, quando i dipendenti lavorano da remoto anziché in ufficio, spesso utilizzano le VPN per accedere a file e applicazioni aziendali.
Molte VPN utilizzano la suite del protocollo IPSec per stabilire ed eseguire queste connessioni crittografate. Tuttavia, non tutte le VPN utilizzano IPSec. Un altro protocollo per le VPN è SSL/TLS, che opera a un livello diverso nel modello OSI rispetto a IPSec. (Il modello OSI è una rappresentazione astratta dei processi che permettono a Internet di funzionare).
Gli utenti possono utilizzare una VPN IPSec accedendo a un'applicazione VPN o "client". Questo, in genere, richiede che l'utente abbia installato l'applicazione sul proprio dispositivo.
Gli accessi VPN sono generalmente basati su password. Sebbene i dati inviati tramite una VPN siano crittografati, se le password degli utenti vengono compromesse, gli autori di attacchi possono accedere alla VPN e sottrarre questi dati crittografati. L'utilizzo dell'autenticazione a due fattori (2FA) può rafforzare la sicurezza della VPN IPSec, poiché il solo furto di una password non consentirà più a un autore di un attacco di accedere.
Le connessioni IPSec includono i seguenti passaggi:
Scambio di chiavi: le chiavi sono necessarie per la crittografia; una chiave è una stringa di caratteri casuali che può essere utilizzata per "bloccare" (crittografare) e "sbloccare" (decrittografare) i messaggi. IPSec imposta le chiavi con uno scambio di chiavi tra i dispositivi connessi, in modo che ogni dispositivo possa decrittografare i messaggi dell'altro dispositivo.
Intestazioni e trailer dei pacchetti: tutti i dati inviati su una rete vengono suddivisi in parti più piccole chiamate pacchetti. I pacchetti contengono sia un payload, o i dati effettivi inviati, sia intestazioni o informazioni su tali dati in modo che i computer che ricevono i pacchetti sappiano cosa farne. IPSec aggiunge diverse intestazioni ai pacchetti di dati contenenti informazioni di autenticazione e crittografia. IPSec aggiunge anche trailer, che seguono il payload di ogni pacchetto anziché precederlo.
Autenticazione: IPSec fornisce l'autenticazione per ogni pacchetto, come un timbro di autenticità su un oggetto da collezione. In questo modo, si garantisce che i pacchetti provengano da una fonte attendibile e non da un autore di un attacco.
Crittografia: IPSec crittografa i payload all'interno di ciascun pacchetto e l'intestazione IP di ogni pacchetto (a meno che non venga utilizzata la modalità di trasporto anziché la modalità tunnel; vedi di seguito). In questo modo, è possibile mantenere sicuri e riservati i dati inviati su IPSec.
Trasmissione: i pacchetti IPSec crittografati transitano in una o più reti fino alla loro destinazione tramite un protocollo di trasporto. In questa fase, il traffico IPSec differisce dal normale traffico IP in quanto utilizza molto spesso UDP come protocollo di trasporto anziché TCP. TCP, acronimo di Transmission Control Protocol, ovvero protocollo di controllo della trasmissione, imposta connessioni dedicate tra i dispositivi e garantisce l'arrivo di tutti i pacchetti. UDP, acronimo di User Datagram Protocol, non configura queste connessioni dedicate. IPSec utilizza UDP perché consente ai pacchetti IPSec di transitare nei firewall.
Decrittografia: all'altra estremità della comunicazione, i pacchetti vengono decrittografati, consentendo alle applicazioni (ad esempio un browser) di utilizzare i dati forniti.
Nelle reti, un protocollo è una modalità di formattazione specifica dei dati, in modo che qualsiasi computer in rete possa interpretarli. IPSec non è un protocollo, ma una suite di protocolli. I seguenti protocolli costituiscono la suite IPSec:
Authentication Header (AH): il protocollo AH garantisce che i pacchetti di dati provengano da una fonte attendibile e che i dati non siano stati manomessi, come un sigillo a prova di manomissione su un prodotto di consumo. Queste intestazioni non forniscono alcuna crittografia; non consentono di nascondere i dati agli autori di attacchi.
Encapsulating Security Protocol (ESP): ESP crittografa l'intestazione IP e il payload di ciascun pacchetto, a meno che non venga utilizzata la modalità di trasporto, nel qual caso crittografa solo il payload. ESP aggiunge la propria intestazione e un trailer a ciascun pacchetto di dati.
Security Association (SA): SA si riferisce a una serie di protocolli utilizzati per la negoziazione di chiavi e algoritmi di crittografia. Uno dei protocolli SA più comuni è Internet Key Exchange (IKE).
Infine, mentre l'IP (Internet Protocol) non fa parte della suite IPSec, IPSec viene eseguito direttamente sull'IP.
La modalità tunnel IPSec viene utilizzata tra due router dedicati, in cui ogni router funge da estremità di un "tunnel" virtuale attraverso una rete pubblica. Nella modalità tunnel IPSec, viene crittografata l'intestazione IP originale che contiene la destinazione finale del pacchetto, oltre al payload del pacchetto. Per indicare ai router intermediari dove inoltrare i pacchetti, IPSec aggiunge una nuova intestazione IP. A ciascuna estremità del tunnel, i router decrittografano le intestazioni IP per distribuire i pacchetti alle loro destinazioni.
Nella modalità di trasporto, il payload di ciascun pacchetto è crittografato, ma l'intestazione IP originale non lo è. I router intermediari sono quindi in grado di visualizzare la destinazione finale di ciascun pacchetto, a meno che non venga utilizzato un protocollo di tunneling separato (come GRE).
Una porta di rete è la posizione virtuale in cui i dati vengono trasferiti a un computer. Le porte sono il modo in cui i computer tengono traccia di diversi processi e connessioni; se i dati sono diretti a una determinata porta, il sistema operativo del computer sa a quale processo appartiene. IPSec di solito utilizza la porta 500.
MSS e MTU sono due misure della dimensione del pacchetto. I pacchetti possono raggiungere solo una determinata dimensione (misurata in byte) prima che computer, router e switch non possano gestirli. MSS misura la dimensione del payload di ciascun pacchetto, mentre MTU misura l'intero pacchetto, comprese le intestazioni. I pacchetti che superano l'MTU di una rete possono essere frammentati, ovvero suddivisi in pacchetti più piccoli e quindi riassemblati. I pacchetti che superano l'MSS vengono semplicemente eliminati.
I protocolli IPSec aggiungono diverse intestazioni e trailer ai pacchetti, che occupano tutti diversi byte. Per le reti che utilizzano IPSec, MSS e MTU devono essere regolati di conseguenza, altrimenti i pacchetti saranno frammentati e leggermente ritardati. Di solito, l'MTU per una rete è di 1.500 byte. Una normale intestazione IP ha una lunghezza di 20 byte e anche un'intestazione TCP con una lunghezza di 20 byte, il che significa che ogni pacchetto può contenere 1.460 byte di payload. Tuttavia, IPSec aggiunge un'intestazione di autenticazione, un'intestazione ESP e i trailer associati. Questi aggiungono 50-60 byte o più a un pacchetto.
Scopri di più su MTU e MSS in "Cos'è MTU?"
Cloudflare supporta IPSec come on-ramp per la nostra soluzione Secure Access Service Edge (SASE), Cloudflare One.
Per proteggere il traffico, è necessario che IPSec sia impostata una SA tra due punti, creando un tunnel attraverso il quale il traffico possa transitare. A seconda del modello di implementazione, questo può presentare alcune sfide. Ad esempio, in un modello mesh, tutti i nodi (o posizioni) sono collegati tra loro da tunnel dedicati. Tuttavia, questo richiede la creazione e la gestione di diversi tunnel IPSec, che è difficile da scalare.
Cloudflare, tuttavia, utilizza il modello IPSec Anycast. (Una rete Anycast è quella che instrada le richieste in arrivo a una serie di nodi). Con Anycast IPSec, gli utenti devono solo configurare un tunnel IPSec verso Cloudflare per ottenere la connettività alle oltre 250 sedi nella nostra rete globale.
Per rendere possibile l'IPSec Anycast, Cloudflare duplica e distribuisce le SA tra i server nella rete perimetrale di Cloudflare. Questo significa che l'intera rete Cloudflare funziona come un singolo tunnel IPSec verso la tua rete.
Scopri di più sull'IPSec Anycast e Cloudflare One.