Il NAT è un meccanismo che permette a più dispositivi di una rete privata (con IP privati) di accedere a una rete pubblica (Internet) utilizzando un unico indirizzo IP pubblico. Funziona come un portiere d'albergo che smista la posta per tutte le stanze.
Non tutti gli IP sono uguali. Esistono range riservati che non possono
essere instradati su internet — usati solo nelle reti private:
Range privati (RFC 1918):
10.0.0.0/8 → grandi reti aziendali
172.16.0.0/12 → medie reti
192.168.0.0/16 → reti domestiche (quello che vedi a casa)Range CGNAT (RFC 6598):
100.64.0.0/10 → usato dagli ISP per il CGNAT
Tutto il resto → IP pubblici, instradabili su internet
Quando vedi 192.168.x.x o 10.x.x.x in un dfir,
sai immediatamente che e' traffico di rete privata.
Il NAT domestico e' un livello solo. Ma molti ISP aggiungono un secondo livello di NAT sulla loro infrastruttura:
NAT domestico (un livello):
192.168.1.x (tuo PC) │
▼
Router di casa (NAT) │
▼
IP pubblico dedicato ──► internet
CGNAT (due livelli):
192.168.1.x (tuo PC) │
▼
Router di casa (NAT #1) │
▼
100.64.x.x (rete interna ISP) ← IP privato ISP, non vedi internet
│
▼
CGNAT dell'ISP (NAT #2) │
▼
1 IP pubblico condiviso ──► internet
(usato da migliaia di clienti)
La differenza e' nella porta:
Cliente A: 1.2.3.4:54321 → mappato a 100.64.1.1:12345
Cliente B: 1.2.3.4:54322 → mappato a 100.64.1.2:12345
Cliente C: 1.2.3.4:54323 → mappato a 100.64.1.3:12345
Stesso IP pubblico, porte diverse → clienti diversi
Chi ha un IP pubblico dedicato e' fuori dal CGNAT —
tipicamente contratti business o VPS.
I server hanno sempre IP pubblici (non avrebbe senso il contrario).
La 4-tupla — perché il CGNAT non si satura facilmente#
Ogni connessione TCP/IP e' identificata da 4 elementi:
IP sorgente | Porta sorgente | IP destinazione | Porta destinazione
Questo e' fondamentale per capire perche' migliaia di clienti
possono condividere lo stesso IP pubblico senza conflitti.
Esempio con tre clienti dietro lo stesso IP CGNAT 1.2.3.4:
Cliente A │ 1.2.3.4 │ 54321 │ 151.1.1.1 (Poste) │ 443 → OK
Cliente B │ 1.2.3.4 │ 54321 │ 8.8.8.8 (Google)│ 443 → OK (dest diversa)Cliente C │ 1.2.3.4 │ 54321 │ 151.1.1.1 (Poste) │ 443 → CONFLITTO con A
Cliente A e Cliente B usano la stessa porta sorgente (54321) senza conflitti — perche' la destinazione e' diversa.
Cliente C crea un conflitto con Cliente A — stessa 4-tupla completa.
Il CGNAT assegna a Cliente C una porta diversa automaticamente:
Cliente C │ 1.2.3.4 │ 54322 │ 151.1.1.1 (Poste) │ 443 → OK
Quante porte disponibili per connessioni uscenti su Linux:
cat /proc/sys/net/ipv4/ip_local_port_range
# 32768 60999# → 28231 porte disponibili per destinazione
Ma le combinazioni reali sono:
28231 porte × milioni di IP destinazione= praticamente infinito
La saturazione reale avviene solo in scenari estremi:
Attacchi DDoS coordinati verso un singolo server
Migliaia di clienti che aprono connessioni simultanee
verso lo stesso IP e porta di destinazione
Gli ISP grandi usano comunque pool di IP pubblici, non uno solo, per distribuire il carico.
Log NAT — come le indagini risalgono al colpevole#
Il CGNAT complica le indagini digitali. Se un attacco proviene da un IP condiviso, identificare il responsabile richiede
la collaborazione dell'ISP.
L'ISP mantiene una tabella di traduzione per ogni connessione:
IP pubblico | Porta pub | IP cliente (privato)| Porta priv | Timestamp
─────────────────────────────────────────────────────────────────────────
1.2.3.4 |54321| 100.64.1.100 |12345| 2026-04-10 08:15:32
1.2.3.4 |54322| 100.64.1.200 |12346| 2026-04-10 08:15:33
In un'indagine, il processo e':
Investigatore ha: IP pubblico + porta + timestamp
│
▼
Ordine del tribunale all'ISP
│
▼
ISP incrocia i log NAT
│
▼
Identifica il cliente: nome, indirizzo, contratto
Note
In Italia e in Europa, gli ISP sono obbligati a conservare i log NAT per un periodo definito dalla legge (tipicamente 6-12 mesi per dati di traffico). Se i log non esistono o sono stati cancellati, l'identificazione diventa impossibile.
Tip
Dal punto di vista Blue Team: quando investighi un attacco, l'IP sorgente da solo non basta. Con CGNAT, lo stesso IP
potrebbe essere stato usato da migliaia di persone diverse. La porta sorgente e il timestamp preciso sono fondamentali per un'identificazione corretta.
Il NAT nasconde la topologia interna della rete. Un attaccante esterno non può vedere direttamente gli IP privati delle macchine, rendendo più difficile il targeting diretto dei dispositivi interni.
Il NAT non è un firewall, ma ne fornisce una funzione di sicurezza base (security by obscurity). Senza un Port Forwarding (DNAT) esplicito, le connessioni dall'esterno verso l'interno vengono bloccate di default dal router.