Passa al contenuto principale

5. Considerazioni sulla sicurezza

5. Considerazioni sulla sicurezza

Per definizione, la compatibilità IPsec-NAT richiede che gli host e i router che implementano IPsec siano in grado di elaborare in modo sicuro pacchetti le cui intestazioni IP non sono protette crittograficamente. Da ciò derivano una serie di problemi che vale la pena discutere.

Poiché IPsec AH non può passare attraverso un NAT, uno degli effetti collaterali della fornitura di una soluzione di compatibilità IPsec-NAT potrebbe essere l'utilizzo di IPsec ESP con crittografia nulla al posto di AH quando esiste un NAT tra l'origine e la destinazione. Tuttavia, va notato che ESP con crittografia nulla non fornisce le stesse proprietà di sicurezza di AH. Ad esempio, ci sono rischi di sicurezza relativi al routing di origine IPv6 che sono esclusi da AH, ma non da ESP con crittografia nulla.

Inoltre, poiché ESP con qualsiasi trasformazione non protegge contro lo spoofing dell'indirizzo di origine, è necessario eseguire una qualche forma di controllo di integrità dell'indirizzo IP di origine. L'importanza del controllo anti-spoofing non è ampiamente compresa. Normalmente c'è un controllo anti-spoofing sull'indirizzo IP di origine come parte di IPsec_{esp,ah}_input(). Questo garantisce che il pacchetto provenga dallo stesso indirizzo di quello rivendicato all'interno delle associazioni di sicurezza IKE Fase 1 e Fase 2 originali. Quando un host ricevente è dietro un NAT, questo controllo potrebbe non essere strettamente significativo per le sessioni unicast, mentre nell'Internet globale questo controllo è importante per le sessioni unicast in modalità tunnel per prevenire un attacco di spoofing descritto in [AuthSource], che può verificarsi quando i controlli di accesso sul ricevitore dipendono dall'indirizzo IP di origine dei pacchetti ESP verificati dopo il decapsulamento. Gli schemi di compatibilità IPsec-NAT dovrebbero fornire protezione anti-spoofing se utilizzano indirizzi di origine per i controlli di accesso.

Consideriamo due host, A e C, entrambi dietro NAT (diversi), che negoziano SA in modalità tunnel IPsec al router B. Gli host A e C possono avere privilegi diversi; ad esempio, l'host A potrebbe appartenere a un dipendente fidato per accedere a gran parte della Intranet aziendale, mentre C potrebbe essere un appaltatore autorizzato solo ad accedere a un sito Web specifico.

Se l'host C invia un pacchetto in modalità tunnel che falsifica l'indirizzo IP di A come origine, è importante che a questo pacchetto non vengano concessi i privilegi corrispondenti ad A. Se l'autenticazione e il controllo di integrità vengono eseguiti, ma non viene eseguito alcun controllo anti-spoofing (verificando che l'indirizzo IP di origine corrisponda al SPI), allora all'host C potrebbe essere consentito di raggiungere parti della rete che sono fuori limite. Di conseguenza, uno schema di compatibilità IPsec-NAT DEVE fornire un certo grado di protezione anti-spoofing.