Skip to main content
  1. Concetti/

Nat Concept

·5 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cos'è
#

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.

Come funziona
#

 [ Dispositivi Locali ]           [ Router/NAT ]           [ Internet ]
   (IP Privati)                   (IP Pubblico)           (Server Web)
        │                               │                         │
        │─── Richiesta (da 192.168.1.5) ──▶│                      │
        │                               │── Richiesta (da 80.x) ─▶│
        │                               │                         │
        │                               │◀─ Risposta (a 80.x) ─── │
        │◀── Risposta (a 192.168.1.5) ───│                        │

Tipi comuni:

  • SNAT (Source NAT): Cambia l'IP sorgente (usato per far uscire i PC di casa).
  • DNAT (Destination NAT/Port Forwarding): Cambia l'IP di destinazione (usato per esporre un server interno su Internet).

IP privati vs IP pubblici
#

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.


CGNAT — Carrier Grade NAT
#

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.

nat-concept.webp
#

Perché è importante per Blue Team
#

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.

Dove l'ho incontrato
#

  • reti-e-sottoreti — Configurazione della prima scheda di rete su UTM per dare internet a Ubuntu e Kali.

Note personali
#

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.

Collegato a
#

  • network — categoria
  • ip-addressing-subnetting — concetto base
  • firewall — il NAT è spesso gestito dal firewall
  • ip-header — IP pubblici e privati, routing
  • arp — ARP funziona solo nella rete privata, mai su internet

Related