Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/Firewall"
Differenze tra le versioni 14 e 18 (in 4 versioni)
Versione 14 del 30/10/2007 01.09.56
Dimensione: 16934
Commento:
Versione 18 del 14/04/2008 20.32.01
Dimensione: 5993
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from JeremieTamburini/Prove
Linea 2: Linea 3:
||<tablestyle="font-size: 18px; text-align: center; width:100%; background:red; margin: 0 0 0 0;" style="padding:0.5em;">'''ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.'''|| ||<tablestyle="font-size: 18px; text-align:center; color:yellow; width:100%; background:red; margin: 0 0 0 0;" style="padding:0.5em;">'''ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.'''||
Linea 8: Linea 9:
In tutti i sistemi GNU/Linux è presente '''Netfilter''', un componente integrato nel kernel che si occupa della gestione del traffico di rete. L’utente può modificare le impostazioni di '''Netfiler''' attraverso [:Sicurezza/Iptables:IPtables], un tool da linea di comando potente, ma che al tempo stesso richiede una certa conoscenza tecnica. La seguente guida si pone come obbiettivo di introdurre i concetti che stanno alla base dell'uso del firewall. In particolar modo si rivolge agli utenti meno esperti cercando di chiarire, oltre ai principi di funzionamento, quando si rende effettivamente necessario il suo utilizzo e per quali scopi.
Linea 10: Linea 11:
Per rendere più semplici le operazioni di impostazione delle regole di filtraggio sulle connessioni, può essere utilizzato '''Firestarter''', un comodo firewall ad interfaccia grafica, basato sulle librerie '''Gtk''' e quindi perfettamente integrato con l'ambiente grafico [:AmbienteGrafico/Gnome:GNOME]. = Il traffico di rete =
Linea 12: Linea 13:
= Installazione = Prendiamo come esempio un singolo pc connesso ad una rete più o meno grande (che può essere anche tutta internet).
Si può pensare il funzionamento della propria rete come una serie di tubi lungo la quale l'acqua si muove solo in una direzione. Esisterà un flusso di dati in entrata nel pc e un flusso di dati uscenti.[[BR]]
 * '''Dati in entranta''': li otteniamo dall'esterno quando guardiamo una pagina web, oppure quando scarichiamo un file.
 * '''Dati in uscita''': informazioni spedite dal nostro pc come: una e-mail, una richiesta di accesso ad una pagina web, etc...
Linea 14: Linea 18:
Per utilizzare '''Firestarter''' è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''firestarter''. Quando si parla di '''connessioni''' invece il discorso è diverso. Mentre i dati grezzi viaggiano secondo le direttive precedentemente esposte, la logica che sta dietro a questi movimenti funziona in modo leggermente differente.
Linea 16: Linea 20:
Terminata l'installazione per avviare l'applicazione è sufficiente fare clic su '''''Sistema -> Amministrazione -> Firestarter'''''. In alternativa è possibile digitare il seguente comando in una finestra di terminale:
{{{
firestarter
}}}
== Connessioni ==
Linea 21: Linea 22:
= Configurazione = === Connessioni in uscita ===
Linea 23: Linea 24:
== Wizard == Prendiamo ad esempio il caricamento di una pagina web.[[BR]]
Quando digitiamo un indirizzo nella barra del nostro browser, mettiamo in moto una serie di meccanismi che portano alla serie di dati ''uscenti'' (la richiesta della pagina) ed ''entranti'' (i dati della pagina) che fanno parte tuttavia di un'unica '''connessione'''.
Linea 25: Linea 27:
Al primo avvio di '''Firestarter''' verrà avviata la procedura guidata per configurare il dispositivo di rete al quale si è connessi. Quindi alla voce «'''Dispositivi rilevati'''» selezionare nel menù a tendina il proprio dispositivo di rete (scheda di rete ethernet, modem, ecc...). Dal momento che la richiesta iniziale che genera il traffico di dati parte dal nostro pc, tale connessione viene detta '''connessione in uscita'''.
Linea 27: Linea 29:
A seconda del tipo di dispositivo di rete utilizzato e delle vostre esigenze, selezionare o meno le altre voci:
 * «'''Avviare il firewall quando si attiva la connessione'''»
 * «'''Indirizzo IP assegnato tramite DHCP'''»
Nella schermata successiva può essere attivata la condivisione Internet di una eventuale rete LAN selezionando la voce:
 * «'''Enable Internet connection sharing'''»
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Le connessioni uscenti rappresentano praticamente la totalità delle connessioni effettuate da un comune pc preposto alla navigazione, alla spedizione/ricezione delle e-mail, etc...''||
Linea 33: Linea 31:
A questo punto è possibile salvare la configurazione e concludere la configurazione guidata avviando '''Firestarter'''. === Connessioni in entrata ===
Linea 35: Linea 33:
Prima di procedere al settaggio vero e proprio delle regole, dal menù '''''Edit -> Preferences -> Interfaces''''' è consigliabile selezionare le voci «'''Enable try icon'''» e «'''Minimise to try on window close'''». In questo modo verrà abilitata la comoda icona nell'area di notifica nella barra delle applicazioni. Per continuare con lo stesso esempio consideriamo ora un server che ospita una pagina web.[[BR]]
Su questo pc gira un programma detto "server" (tipicamente Apache su macchine Unix) che si prende l'incarico di accettare le richieste di connessione provenienti dai pc che navigano in internet e fornire loro la pagina web desiderata ospitata localmente.
Linea 37: Linea 36:
== Stato delle regole == In questo caso la richiesta iniziale che genera il traffico di dati parte da un altro pc. Quindi la connessione viene definita '''connessione in entrata'''
Linea 39: Linea 38:
'''Firestarter''' è composto da tre schede: «'''Status'''», «'''Events'''» e «'''Policy'''».
 * «'''Status'''»: dà informazioni sullo stato del firewall e della connessione.
 * «'''Events'''»: permette di vedere gli eventuali tentativi di accesso bloccati dal firewall.
 * «'''Policy'''»: permette di impostare le regole firewall.
Particolare attenzione verrà data alla scheda «'''Policy'''», essendo la sezione nella quale vengono impostate tutte le regole di accesso. Dal menù a tendina sarà possibile selezionare:
 * «'''Inbound traffic policy'''»: regole per il traffico in entrata.
 * «'''Outbound traffic policy'''»: regole per il traffico in uscita.
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''I pc adibiti a questo utilizzo server sono solitamente riservati ad un utilizzo professionale, tuttavia anche nei pc di molti utenti si trovano programmi che fanno cose simili. Ad esempio i programmi p2p funzionano come dei veri e propri server, ascoltando le richieste degli altri utenti della rete interessati ad un file che ospitiamo sul nostro hard disk.''||
Linea 47: Linea 40:
Una volta in funzione '''Firestarter''' bloccherà di default il traffico in entrata, quindi occorrerà inserire delle regole in '''«Inbound traffic policy»''' per permettere per esempio l'utilizzo di software come '''[:InternetRete/Condivisione/Amule:aMule]''', per condividere cartelle, ecc...[[BR]]
Il discorso è diverso per il traffico in uscita. Selezionando dal menù a tendina '''«Outbound traffic policy»''' c'è la possibilità di utilizzare due differenti impostazioni:
 * «'''Permissive by default, blacklist traffic'''»: Con questa impostazione tutte le porte in uscita saranno aperte e le applicazione libere di comunicare con l’esterno fin da subito, eccetto quelle che inseriremo in una eventuale "lista nera".
 * «'''Restrictive by default, whitelist traffic'''»: Con questa impostazione tutte le porte in uscita saranno chiuse e in seguito verranno aperte quelle necessarie alle applicazioni che vogliamo utilizzare.
== Porte ==
Linea 52: Linea 42:
In questa guida verrà presa in considerazione la seconda opzione «'''Restrictive by default, whitelist traffic'''». Dal momento che un pc può ospitare innumerevoli programmi server, è previsto che ciascun programma si metta in ascolto su una diversa '''porta''', il cui numero va da '''1''' a '''65535'''.[[BR]]
Qualsiasi richiesta di connessione deve specificare, oltre all'indirizzo ip del server, anche la porta a cui ci si connette. I browser tipicamente si connettono alla porta 80, quella dove, come standard, ascoltano i server web. Nella tabella vengono riportati alcuni esempi:
||<tablestyle="width:60%" : style="background-color:#FB8B00;":-5>'''''Porte standard'''''||
||<:15%>'''HTTP'''||<:15%>'''SSH'''||<:15%>'''FTP'''||<:15%>'''Telnet'''||<:15%>'''HTTPS'''||
||<:>80/tcp||<:>22/tcp||<:>21/tcp||<:>23/tcp||<:>443/tcp||
Per avere un elenco completo delle porte standard consultare la [http://it.wikipedia.org/wiki/Porte_note seguente pagina].
Linea 54: Linea 49:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''In linea di principio se dalla propria macchina non si mettono a disposizione servizi particolari verso l'esterno, per gran parte dei software generici (web browser, posta elettronica, chat, ecc...) la tendenza è di lasciare le porte in uscita aperte, data la generica inefficacia dei malware in ambiente Linux. Tuttavia se si desidera avere un livello di sicurezza maggiore si può adottare un'impostazione iniziale più rigorosa con le porte in uscita chiuse.'' || Le porte dalla '''1''' a '''1024''' sono tutte standardizzate e sono dette '''porte privilegiate'''. Il programma che ascolta su una di queste porte deve per forza avere i permessi di root.[[BR]]
Le porte sopra la 1024 vengono usate dai programmi server lanciati dagli utenti normali, come ad esempio i programmi p2p (ciascuno usa specifiche porte sopra la 1024).
Linea 57: Linea 53:
== Outbound/Inbound traffic policy == == Connessioni di forward ==
Linea 59: Linea 55:
Gli esempi che seguiranno faranno riferimento ad «'''Outbound traffic policy'''».
Data l'impostazione per il traffico in uscita «'''Restrictive by default, whitelist traffic'''», il metodo di impostazione delle regole in entrata sarà pressoché analogo a quello in uscita, vale a dire che in entrambe i casi le porte saranno chiuse e occorrerà aprire quelle necessarie per il funzionamento dei software interessati.
Ci sono anche alcuni computer che fanno qualcosa di ancora diverso. I router che abbiamo in casa, ad esempio veicolano le connessioni in entrata su una presa (Internet) verso i pc della rete interna (LAN) e viceversa. Questo "passaggio di mani", senza che venga fatto niente con i dati in transito, si chiama '''forwarding''', e le connessioni di questo tipo si dicono '''connessioni di forward'''.
Linea 62: Linea 57:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 1% ^>[[Immagine(Sicurezza/Firestarter/policy-80.png,700,center)]] ||<style="padding:0.5em; border:none;">Nell'immagine a fianco è riassunta la situazione fin qui trattata.[[BR]][[BR]]Siamo nella tabella «'''Policy'''». Nel menù a tendina è stato selezionato «'''Outbound traffic policy'''» e come potete vedere lo stato delle regole è settato su «'''Restrictive by default, whitelist traffic'''». Pertanto sul nostro firewall i servizi sono tutti bloccati di default e starà a noi aggiungere regole per attivarli.[[BR]][[BR]]Nella finestra in basso si può vedere la presenza di alcune regole che sono già state attivate. Per esempio si può notare che il ''POP3'', servizio per la ricezione dei messaggi e-mail, è stato abilitato alla porta ''110''. Per aggiungere altre regole basterà selezionare la medesima finestra e fare clic su «'''Add Rule'''»[[BR]][[BR]]Nel capitolo [#policy-standard Policy standard] sono state raccolte alcune delle porte da abilitare sia in entrata che in uscita per i software di uso comune. Questo allo scopo di velocizzare le operazioni di settaggio di '''Firestarter'''. Tuttavia la lista mostra giusto una parte delle porte utilizzabili. Nel prossimo paragrafo si mostrerà una procedura standard per capire come procedere quando si deve ricavare da soli il nome del servizio e il numero della relativa porta da abilitare.|| ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Tipicamente un utente di un pc non deve trafficare con simili connessioni, ma in ambito server sono molto comuni.''||

Capire la differenza e il funzionamento di queste connessioni '''IN''', '''OUT''' e '''FORWARD''', è utile per capire poi il funzionamento della rete e le regole dei firewall, che altro non sono che strumenti avanzati per manipolare le connessioni del proprio pc.
Linea 65: Linea 62:
[[Anchor(Events)]]
== Abilitare servizi ==

A titolo esemplificativo supponiamo di non aver impostato alcuna regola in «'''Outbound traffic policy'''» e di voler utilizzare il browser '''Firefox'''. Il tentativo di accesso alla rete da parte del browser, verrà immediatamente bloccato da '''Firestarter'''. Non sarà quindi possibile visualizzare alcuna pagina web.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 1% ^>[[Immagine(Sicurezza/Firestarter/events_80.png,700,center)]] ||<style="padding:0.5em; border:none;">Come detto in precedenza nella tabella «'''Events'''» vengono visualizzati i tentativi di accesso alla rete intercettati e bloccati da '''Firestarter'''. In particolar modo il tentativo di accesso alla rete di '''Firefox''', riportato nella figura accanto, viene visualizzato come il tentativo di connessione del servizio ''HTTP'' alla porta ''80''. Queste due informazioni sono proprio quelle necessarie per impostare la nuova regola in «'''Outbound traffic policy'''».||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 1% ^>[[Immagine(Sicurezza/Firestarter/add-rule_80.png,700,center)]] ||<style="padding:0.5em; border:none;">Dopo essersi spostati in «'''Outbound traffic policy'''», basterà fare clic su «'''Add Rule'''». Si aprirà la finestra mostrata a fianco. Dovranno essere quindi aggiunte le voci relative alla porta e al servizio.[[BR]][[BR]] Si noti che il nome del servizio potrebbe non essere incluso nella lista «'''Name'''». Nel caso del protocollo ''HTTP'' è già presente, ma a seconda dei software che si sta utilizzando potrebbe non essere presente. In tal caso si proceda pure inserendo il numero della porta. Il nome del servizio potrebbe essere restituito automaticamente oppure se in «'''Events'''» era già stato classificato come ''Unknown'' (sconosciuto), rimarrà tale anche nelle «'''Policy'''».||

In linea di principio eseguendo una procedura di questo tipo, possono essere settate le regole per buona parte dei software che utilizziamo. In alcuni casi la procedura può comportare qualche passaggio in più come mostrato nel capitolo [#condivisione Condivisione dati con Windows].[[BR]]
Nel seguente paragrafo verrà mostrata una lista per l'attivazione delle porte necessarie ai software di uso comune.

[[Anchor(policy-standard)]]
== Policy standard ==

=== Outbound traffic policy ===

Supponendo di aver deciso di utilizzare l'opzione «'''Restrictive by default, whitelist traffic'''» in «'''Outbound traffic policy'''», si riportano le principali regole di uso comune.

||<tablestyle="width:100%" :-3>'''''Navigazione web'''''||<style="border:none;">||<:-3>'''''Posta elettronica'''''||<style="border:none;">||<:-3>'''''Messaggistica'''''||<style="border:none;">||<:-3>'''''P2P'''''||
||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||<style="border:none;">||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||<style="border:none;">||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||<style="border:none;">||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>HTTP||<:>80||<:>everyone||<style="border:none;">||<:>pop3||<:>110||<:>everyone||<style="border:none;">||<:>aMsn||<:>1863-6981||<:>everyone||<style="border:none;">||<:>aMule||<:>4662-4672||<:>everyone||
||<:>HTTPS||<:>443||<:>everyone||<style="border:none;">||<:>SMTP||<:>25||<:>everyone||<style="border:none;">||<:>Ircd (IRC)||<:> 6667 ||<:>everyone ||<style="border:none;">||<:>Kad aMule||<:>4672||<:>everyone||
||<:>FTP||<:>20-21||<:>everyone||<style="border:none;">||<:>IMAP||<:>143||<:>everyone||<style="border:none;">|| || || ||<style="border:none;">||<:>aMule server||<:>4665||<:>everyone||
||<:>DNS||<:>53||<:>everyone||<style="border:none;">||<:>Submission||<:>587||<:>everyone||<style="border:none;">|| || || ||<style="border:none;">||<:>Bit''''''Torrent||<:>6881-6889||<:>everyone||

 * Eventuali dispositivi in rete come per esempio una stampante wireless devono essere abilitati. Ciò significa che dobbiamo permette al nostro SO di comunicare in uscita tramite una specifica porta con il dispositivo. Per esempio si potrebbe abilitare in «'''Outbound traffic policy'''» una stampante con scheda di rete integrata. Di conseguenza abilitiamo la porta, per esempio la 9100, e abilitiamo il traffico in uscita per «'''everyone'''».
 * Alcuni provider richiedono per il server in uscita SMTP che sia settata la porta 587 anziché la 25. In tal caso '''Firestarter''' visualizzerà come nome del servizio ''Submission'' al posto di ''SMTP''.

=== Inbound traffic policy ===

In «'''Inbound traffic policy'''» si riportano le principali regole di uso comune.

||<:colspan=4>'''''P2P'''''||
||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>aMule||<:>4662-4672||<:>everyone||
||<:>Kad aMule||<:>4672||<:>everyone||
||<:>aMule server||<:>4665||<:>everyone||
||<:>Bit''''''Torrent||<:>6881-6889||<:>everyone||

Quanto riportato per '''[:InternetRete/Condivisione/Amule:aMule]''' è necessario per ottenere un ID alto. Di conseguenza non è strettamente necessario al funzionamento del programma stesso.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Nel caso qualche applicazione non funzionasse correttamente è sempre possibile sbloccare la porta interessata seguendo la procedura [#Events sopra riportata].''' ||

= Controllo dello stato del firewall =

Come riportato da diversi utenti, può capitare che '''Firestarter''' non si avvii automaticamente all'avvio del sistema. Per comprendere se effettivamente all'avvio il firewall è in funzione, occorre riavviare il sistema e digitare nel terminale il seguente comando:
{{{
sudo iptables -L
}}}

nel caso il risultato fosse
{{{
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
}}}

Vuol dire che il firewall non è attivo all'avvio. In caso contrario si otterrebbe un elenco molto lungo di regole variabili a seconda delle impostazioni che sono state scelte.

Pertanto nel caso il firewall non si avvii può essere eseguita la seguente procedura.

'''Firestarter''' richiede i privilegi di root e quindi per poter essere avviato automaticamente e senza che sia richieda la password, si deve innanzitutto editare il file che contiene i permessi per il funzionamento di [:AmministrazioneSistema/Sudo:privilegi di amministrazione], il comando con il quale si acquisiscono temporaneamente i privilegi di amministratore su Ubuntu. Aprire un terminale e digitare il seguente comando:
{{{
sudo visudo
}}}
Scorrere la schermata verso il basso con le freccette e posizionrsi dopo le righe
{{{
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL.
}}}
e in quest’area scrivere
{{{
nomeutente ALL=NOPASSWD:/usr/sbin/firestarter
}}}
dove per “nomeutente” si intende il vostro username, quello che usate normalmente per fare il login.[[BR]]
Si salvi premendo '''Ctrl+O''' e si esca poi con la combinazione di tasti '''Ctrl+X'''.[[BR]]

Adesso non rimane altro da fare che dire al sistema di far partire '''Firestarter''' all’avvio.[[BR]]
Dal menù di Ubuntu (in questo caso la versione con GNOME), si sceglie '''''Sistema -> Preferenze -> Sessioni''''' e si fa clic sulla scheda «'''Programmi d’avvio'''». Qui dopo aver premuto il bottone «'''Aggiungi'''» si deve scrivere il nome dell'applicazione, in questo caso "Firestarter", e digitare nella casella di comando
{{{
sudo firestarter --start-hidden
}}}

[[Anchor(condivisione)]]
= Condivisione dati con Windows =

Vediamo giusto un esempio di configurazione di '''Firestarter''' nel caso di cartelle in condivisione.
Nello specifico da un computer con Ubuntu si vuole accedere ad una directory messa in condivisone su Windows sul cui firewall è stato dato l'accesso all'IP del computer con Ubuntu.

Utilizzando la procedura [#Events sopra riportata], cercando di accedere alla cartella condivisa di Windows, nella tabella «'''Events'''» verrà indicato il tentativo di connessione del servizio ''Samba (SMB)'' alla porta ''137''. Contemporaneamente, nella schermata «'''Status'''» sarà disponibile l'IP del computer Windows del tipo 192.168.1.x, che comunque presumibilmente conosciamo di già.[[BR]]
Con queste informazioni in «'''Outbound traffic policy'''» possono essere aggiunte le regole:
||<:>'''Allow connections to host'''||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>192.168.1.x||<:>Samba (SMB)||<:>137||<:>everyone||

L'accesso alla directory sarà ancora negato. Infatti nella tabella «'''Events'''» vedremo che alla porta ''32722'' (il valore della porta può essere variabile) il servizio ''Sun-RPC portmap'' sarà bloccato.[[BR]]
Facendo clic di destro su queste informazioni e selezionando sia «'''Allow connection from source'''» che «'''Allow inbound service from source'''», risulterà in «'''Inbound traffic policy'''» (le regole possono essere anche aggiunte direttamente dalla schermata «'''Inbound traffic policy'''»):
||<:>'''Allow connections from host'''||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>192.168.1.x||<:>Sun-RPC portmap||<:>32722||<:>192.168.1.x||
A questo punto sarà possibile accedere alla cartella condivisa su Windows.
Linea 172: Linea 64:
 * [http://www.fs-security.com/docs/introduction.php Guida ufficiale di Firestarter in inglese]
 * [http://linuxpedia.netsons.org/index.php/Firestarter Guida di Firestarter su Linuxpedia]
Linea 175: Linea 65:
 * [http://it.wikipedia.org/wiki/Porte_note Elenco delle porte standard]

BR

ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.

BR

Introduzione

La seguente guida si pone come obbiettivo di introdurre i concetti che stanno alla base dell'uso del firewall. In particolar modo si rivolge agli utenti meno esperti cercando di chiarire, oltre ai principi di funzionamento, quando si rende effettivamente necessario il suo utilizzo e per quali scopi.

Il traffico di rete

Prendiamo come esempio un singolo pc connesso ad una rete più o meno grande (che può essere anche tutta internet). Si può pensare il funzionamento della propria rete come una serie di tubi lungo la quale l'acqua si muove solo in una direzione. Esisterà un flusso di dati in entrata nel pc e un flusso di dati uscenti.BR

  • Dati in entranta: li otteniamo dall'esterno quando guardiamo una pagina web, oppure quando scarichiamo un file.

  • Dati in uscita: informazioni spedite dal nostro pc come: una e-mail, una richiesta di accesso ad una pagina web, etc...

Quando si parla di connessioni invece il discorso è diverso. Mentre i dati grezzi viaggiano secondo le direttive precedentemente esposte, la logica che sta dietro a questi movimenti funziona in modo leggermente differente.

Connessioni

Connessioni in uscita

Prendiamo ad esempio il caricamento di una pagina web.BR Quando digitiamo un indirizzo nella barra del nostro browser, mettiamo in moto una serie di meccanismi che portano alla serie di dati uscenti (la richiesta della pagina) ed entranti (i dati della pagina) che fanno parte tuttavia di un'unica connessione.

Dal momento che la richiesta iniziale che genera il traffico di dati parte dal nostro pc, tale connessione viene detta connessione in uscita.

Immagine(Icone/Piccole/note.png,,center)

Le connessioni uscenti rappresentano praticamente la totalità delle connessioni effettuate da un comune pc preposto alla navigazione, alla spedizione/ricezione delle e-mail, etc...

Connessioni in entrata

Per continuare con lo stesso esempio consideriamo ora un server che ospita una pagina web.BR Su questo pc gira un programma detto "server" (tipicamente Apache su macchine Unix) che si prende l'incarico di accettare le richieste di connessione provenienti dai pc che navigano in internet e fornire loro la pagina web desiderata ospitata localmente.

In questo caso la richiesta iniziale che genera il traffico di dati parte da un altro pc. Quindi la connessione viene definita connessione in entrata

Immagine(Icone/Piccole/note.png,,center)

I pc adibiti a questo utilizzo server sono solitamente riservati ad un utilizzo professionale, tuttavia anche nei pc di molti utenti si trovano programmi che fanno cose simili. Ad esempio i programmi p2p funzionano come dei veri e propri server, ascoltando le richieste degli altri utenti della rete interessati ad un file che ospitiamo sul nostro hard disk.

Porte

Dal momento che un pc può ospitare innumerevoli programmi server, è previsto che ciascun programma si metta in ascolto su una diversa porta, il cui numero va da 1 a 65535.BR Qualsiasi richiesta di connessione deve specificare, oltre all'indirizzo ip del server, anche la porta a cui ci si connette. I browser tipicamente si connettono alla porta 80, quella dove, come standard, ascoltano i server web. Nella tabella vengono riportati alcuni esempi:

Porte standard

HTTP

SSH

FTP

Telnet

HTTPS

80/tcp

22/tcp

21/tcp

23/tcp

443/tcp

Per avere un elenco completo delle porte standard consultare la [http://it.wikipedia.org/wiki/Porte_note seguente pagina].

Le porte dalla 1 a 1024 sono tutte standardizzate e sono dette porte privilegiate. Il programma che ascolta su una di queste porte deve per forza avere i permessi di root.BR Le porte sopra la 1024 vengono usate dai programmi server lanciati dagli utenti normali, come ad esempio i programmi p2p (ciascuno usa specifiche porte sopra la 1024).

Connessioni di forward

Ci sono anche alcuni computer che fanno qualcosa di ancora diverso. I router che abbiamo in casa, ad esempio veicolano le connessioni in entrata su una presa (Internet) verso i pc della rete interna (LAN) e viceversa. Questo "passaggio di mani", senza che venga fatto niente con i dati in transito, si chiama forwarding, e le connessioni di questo tipo si dicono connessioni di forward.

Immagine(Icone/Piccole/note.png,,center)

Tipicamente un utente di un pc non deve trafficare con simili connessioni, ma in ambito server sono molto comuni.

Capire la differenza e il funzionamento di queste connessioni IN, OUT e FORWARD, è utile per capire poi il funzionamento della rete e le regole dei firewall, che altro non sono che strumenti avanzati per manipolare le connessioni del proprio pc.

Ulteriori risorse


CategoryHomepage