web master: Aleander67

mailto:aleander67@gmail.com?subject=info

questo sito necessita della virtual machine java











forum “help for poors country's”

google-page AL for banners

GPL

CreativeCommons

NAT-IPTABLES.txt

antivirus-avira (for Linux require dazuko)

aleander67.9k



IPTABLES E IPTABLES-CHAIN

Iptables è nato per la protezione di Servers, della propria rete o di qualsiasi wan. Le funzioni avanzate ci permettono di avere un controllo fine in aggiunta alle regole del Firewall e, quindi di essere maggiormente protetti contro qualsiasi tentativo di intrusione, spoofing etc.. vedi man iptables-save e iptables restore, per salvare la lista di regole, iptables -L per visualizzare le regole. iptables -A input [nomeservizio] -J ACCEPT questa e' una semplice regola che dice di lasciar passare ad esempio il servizio TCP ...o altro specificato..

QUESTE SONO LE MIE REGOLE per un semplice utilizzo con pppoe, firewall, router e eth1 iptables-regole

generate da iptables-save e lette da iptables -L

per una maggiore accuratezza delle informazioni su come configurare un server con piu' interfacce di rete o delle sottoreti, clicca sul link a sinistra NAT-IPTABLES.txt

NAT

Networking Address Traslating

ovvero: traslazione di indirizzi IP

NAT (Network Address Translation) è una tecnica usata per sostituire nell’intestazione di un pacchetto IP un indirizzo, sorgente o destinazione, con un altro indirizzo. E’ definito nella RFC 3022
NAT, nel suo impiego più diffuso, viene usato per permettere ad una rete che usa una classe di indirizzi privata di accedere ad Internet usando uno o più indirizzi pubblici.
E’ stato studiato nel momento in cui ci si è accorti che lo spazio di indirizzamento IPv4 non era poi così grande come era sembrato al momento della sua creazione.
All’inizio si credeva fosse una soluzione temporanea, che l’implementazione di IPv6 sarebbe arrivata presto, invece la rapida crescita dell’accesso ad Internet ha reso il NAT una pratica molto comune, IPv6 è di là da venire, e gli indirizzi IPv4 sono sempre meno e sempre più costosi.
Tutto questo ha portato alla situazione attuale, tanto più che ci si è accorti che i principali protocolli TCP funzionano molto bene anche dietro ad un NAT.
In realtà non tutti nuovi tipi di comunicazione funzionano con NAT, una per tutte IPSec, quindi si è reso necessario aggiungere il supporto per questi protocolli. In particolare si tratta di aggiungere lo specifico supporto ALG (
Application Level Gateway) per l’applicazione desiderata. Il supporto ALG usato per permettere alle connessioni IPSec di passare attraverso un NAT si chiama NAT Traversal.

La versione di NAT tradizionale è di due tipi:

  • Basic NAT, che si occupa della traduzione degli indirizzi. Durante una sessione di comunicazione iniziata da un host all’interno della rete privata verso un server pubblico, stabilisce un mapping uno a uno dei due indirizzi. La connessione può essere iniziata solo dall’interno.

  • NATP (Network Address Port Translation), che si occupa della traduzione degli indirizzi ed anche delle porte TCP. Diversi indirizzi IP e le loro porte TCP/UDP sono mappate in un singolo indirizzo con le sue porte TCP/UDP. (E’ detta anche NAT/PAT).

I due metodi spesso sfumano uno nell’altro, ma l’accezione comune del termine NAT si riferisce al secondo tipo.
Ci sono anche altri tipi di NAT, come il bidirezionale, dove il mapping è uno a uno e la connessione può essere iniziata da entrambe le parti, ed il NAT doppio, che si usa per mettere in comunicazione due reti che condividono lo stesso spazio di indirizzi.

Facciamo un esempio pratico: una rete con una ventina di host usa una classe di indirizzi privati del tipo 192.168.0.0. In qualche punto del path che collega la rete ad Internet c’è un dispositivo che fa il NAT, tipicamente il firewall o il router, che espone la rete verso Internet con un unico indirizzo IP pubblico, che può essere statico o dinamico. Configurando opportunamente il router ed il firewall si controlla il traffico e, opzionalmente si possono pubblicare servizi che “girano” su host in rete. In realtà è più sicuro usare una DMZ (DeMilitarized Zone), ma non ne parliamo, qui.
Il device NAT si comporta così: nel pacchetto in uscita toglie l’indirizzo privato ed inserisce il proprio (pubblico), quando il pacchetto di risposta arriva fa il processo inverso, toglie il proprio IP e mette l’indirizzo privato dell’host che ha generato la sessione, e glielo inoltra.
Ma come fa a capire di chi è il pacchetto, se due o più host iniziano una connessione verso lo stesso server, e quindi l’indirizzo e la porta TCP sorgente dei pacchetti di ritorno sono gli stessi?
Presto detto: le porte sorgenti degli host privati, unite all’indirizzo IP, costituiscono un socket univoco che permette di identificare il destinatario del pacchetto. (Le porte di origine sono scelte tramite un algoritmo pseudo casuale).
Esempio:
Connessione A, tra host 192.168.0.1, porta origine 45875, e 212.239.40.76, porta destinazione 80.
Connessione B, tra host 192.168.0.2, porta origine 35821, e 212.239.40.76, porta destinazione 80.
Dopo il NAT, i due indirizzi privati saranno sostituiti da un unico IP pubblico (es:151.44.134.29), ma le porte di origine rimarranno le stesse. Al momento dell’arrivo del pacchetto con sorgente IP 212.239.40.76, porta 80 e destinazione 151.44.134.29 porta 45875, il router NAT riconoscerà la connessione A. Il pacchetto con sorgente IP 212.239.40.76, porta 80 e destinazione 151.44.134.29 porta 35821 sarà destinato all’host che ha generato la connessione B.

Da sottolineare come in NAT sia completamente trasparente per gli host in comunicazione. Inoltre non esiste alcun modo per stabilire se e quanti host privati ci siano dietro un IP pubblico “nattato”. In parole povere il vostro provider non è in grado di sapere se in casa vostra c’è un solo PC oppure un intero datacenter. Nel più puro stile hacker qualcuno si è chiesto se fosse possibile un simile conteggio, ma a quanto pare è difficile cercare di capire cosa si trovi dietro ad un NAT, a meno di non sniffare il traffico nelle immediate vicinanze, e comunque non esiste alcun tool che faccia una cosa del genere, si tratta solo di uno studio teorico. (Attenzione! Lettura consigliata solo a geek duri e puri. :D)

I vantaggi del NAT sono quelli che abbiamo visto:

  • Risolve in parte il problema della carenza di indirizzi IPv4.

  • Non è necessario cambiare gli indirizzi della rete privata per accedere ad Internet.

  • I dati viaggiano tra le reti in maniera trasparente.

  • I protocolli più comuni funzionano bene.

  • E’ una sicurezza in più poichè il traffico entrante non può raggiungere gli host sulla rete privata, a meno che non siano state definite specifiche regole di NAPT.

Gli svantaggi:

  • NAT non è conforme ai dettami che prevedono che la connessione end-to-end debba essere trasparente ed i pacchetti non modificati.

  • Dato il suo funzionamento, è richiesto uno specifico supporto ALG per tutte le applicazioni che inseriscono l’indirizzo di destinazione nell segmento dati del pacchetto.

  • Sempre per queste applicazioni, il pacchetto deve essere deframmentato prima di essere inoltrato ad un host dietro ad un NAT.

  • E’ un lavoro aggiuntivo per la CPU dei router che lo implementano.

  • Introduce un “single point of failure” nella rete, poichè, a meno di complicate acrobazie di sharing, gli host della rete non possono usare più di un dispositivo NAT.

Anche in ambiente casalingo si usa il NAT: tutti router ADSL lo usano, e va correttamente configurato, se si desidera aprire porte verso servizi interni. Non è sufficiente configurare il firewall sul proprio PC, anche il router va “istruito” perchè inoltri le richieste provenienti dall’esterno su una determinata porta, verso l’indirizzo e la porta dell’host interno che fornisce il servizio.
Ciascun router ha una gestione diversa, la sezione NAT può chiamarsi di volta in volta NAT, SUA/NAT, PAT, NAT/PAT, Public Server e così via. Bisogna comunque fare riferimento al manuale. Nei router/firewall ZyXel, ad esempio, non è immediatamente chiaro che, oltre a creare la regola del firewall che consenta il passaggio del protocollo desiderato, bisogna anche specificare l’indirizzo e la porta del “SUA Server” nella sezione “SUA/NAT”.

Dal punto di vista della sicurezza, anche se non efficace come un firewall, un NAT offre già buone garanzie, proprio perchè nasconde gli host interni e non indirizza loro il traffico “generico” proveniente dall’esterno.







&2008aleaner67

Join the Mailing List
Enter your name and email address below:
Name:
Email:
Subscribe  Unsubscribe 
Get your Free Mailing List
by Bravenet.com