IPSec, abbreviazione di Internet Protocol Security, è un insieme di protocolli crittografici che proteggono il traffico dati sulle reti IP (Internet Protocol).
Le reti IP, compreso il World Wide Web, non dispongono di crittografia e protezione della privacy. Le VPN IPSec risolvono questa debolezza, fornendo un framework per la comunicazione crittografata e privata sul web.
Ecco uno sguardo più da vicino a IPSec e al suo funzionamento con i tunnel VPN per proteggere i dati su reti non protette.
Una breve storia di IPSec
Quando venne sviluppato il protocollo Internet, all’inizio degli anni ’80, la sicurezza non era una priorità assoluta. Tuttavia, poiché il numero degli utenti Internet continua a crescere, aumenta anche la necessità di un’elevata sicurezza.
Per rispondere a questa esigenza, la National Security Agency ha sponsorizzato lo sviluppo di protocolli di sicurezza a metà degli anni '80, nell'ambito del programma Secure Data Network Systems. Ciò ha portato allo sviluppo del protocollo di sicurezza Layer 3 e infine del protocollo di sicurezza Network Layer. Molti ingegneri hanno lavorato a questo progetto nel corso degli anni '90 e IPSec è nato da questi sforzi. IPSec è ora uno standard open source e fa parte di IPv4.
Come funziona IPSec
IPSec funziona con tunnel VPN per stabilire connessioni private bidirezionali tra i dispositivi
Quando due computer stabiliscono una connessione VPN , devono concordare una serie di protocolli di sicurezza e algoritmi di crittografia e scambiarsi chiavi crittografiche per sbloccare e visualizzare i dati crittografati.
È qui che entra in gioco IPSec. IPSec funziona con tunnel VPN per stabilire connessioni private bidirezionali tra i dispositivi. IPSec non è un protocollo singolo; si tratta invece di un insieme completo di protocolli e standard che lavorano insieme per garantire la riservatezza, l'integrità e l'autenticità dei pacchetti di dati Internet che passano attraverso un tunnel VPN.
Ecco come IPSec crea un tunnel VPN sicuro:
- IPSec autentica i dati per garantire l'integrità del pacchetto durante la trasmissione.
- IPSec crittografa il traffico Internet tramite tunnel VPN in modo che i dati non possano essere visualizzati.
- IPSec protegge i dati dagli attacchi Replay, che possono portare ad accessi non autorizzati.
- IPSec consente lo scambio sicuro di chiavi crittografiche tra computer.
- IPSec fornisce due modalità di sicurezza: Tunnel e Trasporto.
La VPN IPSec protegge i dati trasmessi da host a host, da rete a rete, da host a rete e da gateway a gateway (detta modalità Tunnel, quando l'intero pacchetto IP viene crittografato e autenticato).
Protocolli IPSec e componenti di supporto
Lo standard IPSec è suddiviso in diversi protocolli principali e componenti di supporto.
Protocollo IPSec principale
- IPSec Authentication Header (AH) : questo protocollo protegge gli indirizzi IP dei computer che partecipano al processo di scambio dei dati, per garantire che i bit di dati non vengano persi, modificati o danneggiati durante il processo di trasmissione. AH verifica inoltre che chi invia i dati li abbia effettivamente inviati, proteggendo il tunnel da intrusioni di utenti non autorizzati.
- Encapsulating Security Payload (ESP) : il protocollo ESP fornisce la parte di crittografia di IPSec, garantendo la sicurezza del traffico dati tra i dispositivi. ESP crittografa i pacchetti di dati/carico utile, autentica il carico utile e la sua origine all'interno della suite di protocolli IPSec. Questo protocollo codifica efficacemente il traffico Internet, in modo che chiunque guardi nel tunnel non possa vedervi nulla.
ESP crittografa e autentica i dati, mentre AH autentica solo i dati.
Componenti che supportano IPSec
- Associazioni di sicurezza (SA) : le associazioni e le politiche di sicurezza stabiliscono vari accordi di sicurezza, utilizzati negli scambi. Questi accordi possono determinare il tipo di crittografia e l'algoritmo hash da utilizzare. Queste policy sono spesso flessibili e consentono ai dispositivi di decidere come gestire le cose.
- Internet Key Exchange (IKE) : affinché la crittografia funzioni, i computer coinvolti nello scambio di comunicazioni private devono condividere una chiave di crittografia. IKE consente a due computer di scambiare e condividere in modo sicuro le chiavi di crittografia quando si stabilisce una connessione VPN.
- Algoritmi di crittografia e hashing : le chiavi crittografiche funzionano utilizzando valori hash, generati utilizzando un algoritmo hash. AH ed ESP sono molto generali e non specificano un tipo di codifica specifico. Tuttavia, IPsec utilizza spesso Message Digest 5 o Secure Hash Algorithm 1 per la crittografia.
- Protezione contro gli attacchi di riproduzione : IPSec incorpora anche standard per impedire la riproduzione di eventuali pacchetti di dati che fanno parte di un processo di accesso riuscito. Questo standard impedisce agli hacker di utilizzare le informazioni riprodotte per copiare essi stessi le informazioni di accesso.
IPSec è una soluzione di protocollo VPN completa e può fungere anche da protocollo di crittografia in L2TP e IKEv2.
Modalità di tunneling: Tunnel e Trasporto
IPSec invia i dati utilizzando la modalità Tunnel o Trasporto
IPSec invia i dati utilizzando la modalità Tunnel o Trasporto. Queste modalità sono strettamente correlate al tipo di protocollo utilizzato, AH o ESP.
- Modalità Tunnel : in modalità Tunnel, l'intero pacchetto è protetto. IPSec avvolge il pacchetto di dati in un nuovo pacchetto, lo crittografa e aggiunge una nuova intestazione IP. Viene comunemente utilizzato nelle configurazioni VPN da sito a sito.
- Modalità di trasporto : in modalità di trasporto, l'intestazione IP originale rimane e non è crittografata. Solo il carico utile e il trailer ESP sono crittografati. La modalità di trasporto viene comunemente utilizzata nelle configurazioni VPN da client a sito.
Per le VPN, la configurazione IPSec più comune che vedrai è ESP con autenticazione in modalità Tunnel. Questa struttura aiuta il traffico Internet a spostarsi in modo sicuro e anonimo all'interno del tunnel VPN su reti non protette.
Allora qual è la differenza tra la modalità Tunnel e la modalità Trasporto in IPsec?
La modalità tunnel in IPsec viene utilizzata tra due router dedicati, ciascun router funge da estremità di un "tunnel" virtuale attraverso la rete pubblica. In modalità Tunnel, l'intestazione IP iniziale contiene la destinazione finale del pacchetto crittografato, insieme al payload del pacchetto. Per consentire ai router intermedi di sapere dove inoltrare i pacchetti, IPsec aggiunge una nuova intestazione IP. A ciascuna estremità del tunnel, i router decodificano le intestazioni IP per consegnare i pacchetti alla loro destinazione.
Nella modalità Trasporto, il carico utile di ciascun pacchetto è crittografato, ma l'intestazione IP iniziale non lo è. Pertanto, i router intermedi possono vedere la destinazione finale di ciascun pacchetto, a meno che non venga utilizzato un protocollo tunnel separato (come GRE).
Quale porta utilizza IPsec?
Una porta di rete è la posizione virtuale in cui i dati vanno all'interno del computer. Le porte sono il modo in cui il computer tiene traccia di diversi processi e connessioni. Se i dati arrivano a una determinata porta, il sistema operativo del computer sa a quale processo appartengono. IPsec solitamente utilizza la porta 500.
In che modo IPsec influisce su MSS e MTU?
MSS e MTU sono due misurazioni della dimensione del pacchetto. I pacchetti possono raggiungere solo una determinata dimensione (in byte) prima che computer, router e switch non possano elaborarli. MSS misura la dimensione del carico utile di ciascun pacchetto, mentre MTU misura l'intero pacchetto, comprese le intestazioni. I pacchetti che superano la MTU della rete possono essere frammentati, ovvero suddivisi in pacchetti più piccoli e quindi riassemblati. I pacchetti che superano l'MSS vengono semplicemente eliminati.
Il protocollo IPsec aggiunge una serie di intestazioni e trailer ai pacchetti, che occupano tutti pochi byte. Per le reti che utilizzano IPsec, MSS e MTU devono essere regolati di conseguenza, altrimenti i pacchetti saranno frammentati e leggermente ritardati. In genere, la MTU per una rete è 1.500 byte. L'intestazione IP normale è lunga 20 byte e anche l'intestazione TCP è lunga 20 byte, il che significa che ogni pacchetto può contenere 1.460 byte di carico utile. Tuttavia, IPsec aggiunge un'intestazione di autenticazione, un'intestazione ESP e i relativi trailer. Aggiungono 50 - 60 byte a un pacchetto o più.