- 14 Maggio 2019
- Posted by: Gigabyte
- Categoria: Sicurezza
La regola di loopback è la risposta ad una delle domande più frequenti, quando si parla di NAT e inoltro delle porte TCP: “Il mio indirizzo privato è 192.168.1.0, quello pubblico 93.40.120.110 (invento). Ho un server di posta voglio accedere al mio NAS un webserver ecc ecc: se utilizzo l’IP privato funziona tutto, se provo con l’IP pubblico non funziona. Perché?”.
“Sul tuo router/firewall manca la regola di loopback”.
Il funzionamento del NAT è illustrato nel post linkato qui sopra; in breve possiamo dire che serve per far “uscire” su internet tutta la vostra rete locale con un unico IP pubblico, e si occupa anche del corretto inoltro delle porte. Finché un pacchetto destinato all’IP pubblico arriva dall’esterno non ci sono problemi: si trova dalla parte “giusta” dell’interfaccia e le regole fanno il loro lavoro, inoltrando il traffico all’host locale designato per ascoltare su quella particolare porta. Quando il pacchetto viene generato dall’interno, esso arriva al router che in mancanza della regola di loopback può comportarsi in due modi diversi (dipende dal firmware):
- Decide che il pacchetto è spoofato, e lo scarta senza tanti complimenti.
- Oppure lo inoltra alla sua WAN, battezzata con l’IP pubblico per definizione. Se sulla particolare porta è in ascolto un demone, esso risponde, altrimenti la connessione va in timeout.
In entrambi i casi non abbiamo ottenuto il risultato sperato: anche se nel secondo caso otteniamo una risposta, essa arriva da un server che non è quello che ci interessava.
Per poter raggiungere dall’interno un server locale (pubblicato) tramite il suo IP pubblico (nattato), serve una regola di loopback fatta in questo modo:
Spiega:
- IP Source: è l’IP dal quale proviene la richiesta, tipicamente si tratta dell’host che stiamo utilizzando per interrogare il server. Il suo indirizzo locale (come tutti quelli della Local subnet) viene sostituito con l’IP pubblico (WAN IP).
- IP Destination: è l’IP pubblico sul quale sappiamo essere in ascolto il nostro server. Lo sappiamo perché esiste una regola di NAT “normale” che fa esattamente questo. L’IP pubblico viene sostituito con l’IP privato, quindi il pacchetto non esce dalla LAN.
- Service: in casi più sofisticati si può decidere di tradurre anche la porta TCP su cui ascolta il server, ma questa sezione è meno usata.
Alcuni firewall più sofisticati hanno un ulteriore campo che permette di specificare le porte fisiche inbound e outbound. E’ utile nei casi in cui si disponga di più sottoreti attestate su diverse interfacce.
Naturalmente la regola viene applicata solo nel caso in cui IP Source, IP Destination e Service siano quelli indicati nei campi Original della tabella. Per ciascuna singola regola di NAT “diretto” è necessaria una corrispondente regola di loopback.