[Download] Confronto tra i principali protocolli di routing v2.0

Difficoltà articolo (0->10): 9

Ho aggiornato il file con le caratteristiche a confronto dei principali protocolli di routing dinamici (RIP, RIP2, IGRP, EIGRP, OSPF, IS-IS). Il file può essere scaricato nella sezione download o al seguente link:

download file excel v2.0

roghan

[Articolo] Nella tua rete Tor è bloccato? Bypassiamo il blocco!

Vediamo oggi come usare Tor in presenza di sistemi/reti/ISP che ne bloccano il suo funzionamento.

Difficoltà articolo (0->10): 5

Vediamo oggi come usare Tor in presenza di sistemi/reti/ISP che ne bloccano il suo funzionamento. Innanzitutto Tor è un software appartenente alla categoria PET (Privacy Enhaced Technology), che permette di navigare in modo anonimo sul web e di “anonimizzare” una grande quantità di servizi distribuiti (chat, torrent, …).
Il suo utilizzo principale è quello di permettere la consultazione di pagine web e la fruizione di Internet senza vincoli in quei luoghi in cui sono in vigore restrizioni politiche o censure di vario genere. Tuttavia, Tor viene usato piuttosto comunemente anche per bypassare le restrizioni aziendali e poter così navigare su siti “proibiti” perché bloccati dal proxy e/o firewall aziendale. Non è raro, purtroppo, che venga usato esclusivamente per navigare su Facebook o su altri social network durante l’orario di lavoro. Per carità, Tor può essere usato anche per navigare su Facebook, ma i suoi intenti sono ben più nobili!

In ogni caso molte aziende, enti, e organizzazioni, stanno cercando da tempo meccanismi per intercettare e bloccare l’utilizzo di Tor, configurando ACL sui firewall e filtri sui proxy. Inoltre, in alcuni casi ad essere bloccato è anche l’accesso al sito di Tor, in modo da impedire il download del software e la ricerca di documentazione. Bloccare la connessione alla rete Tor non è impossibile, perché viene resa pubblica una lista dei nodi della rete Tor, aggiornata costantemente. La lista è reperibile a questi link:

Tale lista potrebbe essere usata per configurare un proxy (squid ad esempio) in modo da bloccare tutte le connessioni uscenti dirette ad uno degli IP delle lista. Il risultato di un tale blocco (vedere lo screenshot sotto) è che l’utente con il client Tor sarà impossibilitato a collegarsi alla rete Tor, e pertanto al resto della Rete.

tor_blocked
Tor bloccato dalla rete/ISP

Veniamo adesso al reale argomento del post :-): come possiamo fare se la nostra rete/ISP blocca la connessione a Tor? Quello che possiamo fare è ricorrere ad alcune contromisure in grado di bypassare il blocco imposto, garantendo anonimato e privacy, e accesso a tutte le funzionalità di Tor. Può capitare anche che venga bloccata la visualizzazione del sito del progetto Tor, ma in questo caso è possibile facilmente usare un proxy web gratuito per poter visitare il sito (esempi di proxy gratuiti sono www.hidemyass.com e zendproxy.com).

Dunque, se non ci è possibile usare Tor poiché la connessione si blocca dopo aver avviato il software, è possibile agire in 2 modi:

  1. usare obfsproxy;
  2. agire sulla configurazione di Tor.

OPZIONE 1 

Per la prima opzione, è necessario scaricare il software obfsproxy al seguente link:

obfsproxy è un software basato su Tor (è praticamente Tor a tutti gli effetti), ma in via sperimentale e con i bundle al momento non più aggiornati. Il software permette di mascherare i pacchetti inviati alla rete Tor, facendoli sembrare pacchetti “innocenti” (ad esempio semplice pacchetti HTTP) come è visibile in figura.

obfsproxy_diagram
Diagramma di funzionamento di obfsproxy

L’interfaccia e l’utilizzo di obfsproxy sono gli stessi di Tor, mentre a cambiare è la configurazione del software, come si vede in figura.

tor_obfsproxy
obfsproxy

OPZIONE 2 

In questo caso non sono necessari software aggiuntivi ma dobbiamo agire su alcuni parametri di Tor per poter aggirare i blocchi imposti da rete/ISP. I parametri da configurare sono modificabili direttamente dall’interfaccia Vidalia, e si trovano in Settings->Network come visibile in figura.

tor_settings_network
Parametri configurabili di Tor per aggirare i blocchi

Fra questi, il metodo più efficace e affidabile è quello di usare un bridge Tor, ossia la terza possibilità “My ISP blocks connections to the Tor network”. Vediamo comunque in dettaglio le 3 possibilità.

Opzione – “My ISP blocks connections to the Tor network”

Con questa opzione possono essere configurati i bridge Tor. Un bridge Tor è fondamentalmente un nodo della rete Tor che agisce da ponte (similmente a un proxy) per il collegamento tra client/utente e rete Tor. I bridge hanno la particolarità di non essere elencati nelle liste pubbliche di nodi Tor (come visto precedentemente), e pertanto difficilmente saranno rilevati e bloccati dagli amministratori di rete. Per conoscere i bridge disponibili in ogni momento, dobbiamo visitare il seguente link:

Dopo aver trovato i bridge Tor disponibili, è necessario configurarli in Setting->Network, come visibile nella figura seguente.

Add_bridge_to_Tor
Aggiunta di un bridge Tor.

In alternativa, è possibile creare un proprio bridge privato, se abbiamo a disposizione un server o un pc con connessione flat (ad esempio nella propria abitazione), e collegarsi ad esso quando siamo fuori e in una rete in cui Tor è bloccato. Per creare un bridge privato è sufficiente avviare Tor sulla macchina che fungerà da bridge, e selezionare in Settings->Sharing la voce “Help censored users reach the Tor network“, come visibile in figura.

Tor_setting_bridge
Configurazione di un bridge Tor privato.

Opzione – “I use a proxy to access the Internet”

Nel caso in cui la propria rete o il proprio ISP blocchi anche i bridge Tor, è possibile ricorrere all’uso di un proxy. Tramite un proxy i pacchetti uscenti dal proprio sistema, e quindi dal client Tor, sono indirizzati al proxy stesso e non alla rete Tor, e in questo modo viene oltrepassato il blocco imposto dalla rete/ISP. Nella figura sottostante è mostrato il collegamento attraverso un proxy.

tor.e.proxy.visio
Connessione a Tor attraverso un proxy.

Per questa soluzione il punto cruciale è la scelta di un proxy adeguato, che dovrà essere sicuro e affidabile, e supportare inoltre sia il protocollo HTTP che il quello HTTPS. Per ricercare un proxy possiamo usare questa lista (oppure cercare altre liste di proxy semplicemente con google), controllando che il proxy supporti HTTPS, sia di tipo anonymous, e abbia una buona affidabilità. Dopo aver scelto un proxy, dobbiamo controllare che sia attivo e supporti realmente sia HTTP che HTTPS. Quindi configuriamo Tor con le impostazioni del proxy, come visibile nella figura sotto.

Tor_setting_proxy
Configurazione di un proxy in Tor.

Per configurare il proxy sono necessari:

  1. indirizzo IP o hostname del proxy;
  2. porta utilizzata dal proxy;
  3. eventuali username/password se il proxy richiede l’autenticazione.

Questa soluzione è più tediosa rispetto all’utilizzo di un bridge, poiché i proxy open non offrono solitamente grandi garanzie e spesso le performance non sono eccelse. Difatti un proxy potrebbe non essere più attivo nel giro di poche ore o giorni, costringendoci a cercarne e configurarne un altro.

Opzione – “My firewall only lets me connect to certain ports”

L’ultima opzione configurabile deve essere utilizzata solo quando abbiamo la certezza che il firewall della nostra rete blocchi verso l’esterno alcune porte (in genere ad essere bloccate solo le porte esterno per connessioni verso l’interno). In questo caso è possibile selezionare la voce e specificare le porte che sono aperte sul firewall. La connessione alla rete Tor passerà dunque per le porte specificate.

Riepilogando, in questa piccola guida abbiamo visto come sia possibile usare Tor praticamente in ogni situazione, anche quando sono stati creati filtri ad hoc dagli amministratori/provider nel vano tentativo di limitare la libertà e la privacy personale.

“Per ogni blocco esiste sempre una contromisura, basta trovarla o idearla!”

roghan

[Articolo] Vantaggi di uno switch layer 2/3

In questo articolo vedremo le differenze che c’è tra uno switch che supporta solo il livello 2 e uno che supporta anche le funzionalità del livello 3, e soprattutto in quali circostanze è consigliato usare l’uno e in quali l’altro.

Difficoltà articolo (0->10): 4

In questo articolo vedremo le differenze che c’è tra uno switch che supporta solo il livello 2 e uno che supporta anche le funzionalità del livello 3, e soprattutto in quali circostanze è consigliato usare l’uno e in quali l’altro.

Prima di addentrarci nell’argomento è bene ricordare brevemente cosa sono le VLAN. Il termine VLAN è acronimo di Virtual Local Area Network, ed indica una rete locale di dispositivi raggruppati in modo logico, ossia senza alcun legame specifico con la posizione fisica. Ad esempio possono appartenere ad una stessa VLAN dispositivi connessi a switch differenti. Inoltre le VLAN operano a livello 2, mentre con le LAN si opera a livello 3.

Nel momento in cui viene fatto il design di un ambiente con VLAN, è opportuno che i dispositivi di una stessa VLAN facciano parte anche della stessa subnet. Questo però non significa che una VLAN è una subnet, e che una subnet è una VLAN! Infatti come ho detto prima, le VLAN sono un concetto relativo al livello 2, mentre le subnet al livello 3 ossia a quello IP. E’ abbastanza ragionevole il fatto che gli stessi device all’interno di una VLAN debbano appartenere anche alla stessa subnet affinché possano comunicare tra di loro.

Studiamo adesso la seguente figura, e supponiamo che un computer della VLAN 10 voglia comunicare con uno della VLAN 20. E’ da notare che i computer delle VLAN si trovano correttamente anche su subnet diverse.

VLAN

Il pc nella VLAN 10, prima di inviare il pacchetto controlla se il destinatario è nella stessa subnet oppure no, e poiché si trova su una differente, il pacchetto deve essere inviato al default router. In pratica il pacchetto viene inviato allo switch, e poi inoltrato al router. A sua volta il router analizza il pacchetto controllando il destinatario, ricostruisce il pacchetto e lo invia indietro allo switch fino al destinatario della VLAN 20.

Come è facile immaginare, quando i pacchetti inviati sono tanti questo processo è oneroso sia in termini di banda utilizzata sia in termini di latenza. E’ qui che entrano in gioco gli switch di livello 3, o meglio di livello 2 e 3, chiamati anche switch multilivello. Questi sono difatti in grado di operare scelte di routing, supportando svariati tipi di protocolli (RIP, OSPF, BGP, …). In una rete con switch di questo tipo infatti i pacchetti non vengono inviati al router per decidere l’instradamento, ma è lo switch stesso ad avere la logica decisionale e a sapere dove inviare i messaggi. Nel mondo Enterprise ormai quasi ogni switch supporta praticamente anche il livello 3, o quantomeno ha le funzionalità al suo interno, a volte utilizzabili dopo aver acquistato la relativa licenza.

L’utilizzo degli switch di vecchio stampo che supportano solo il livello 2 è pertanto relegato ad ambienti piccoli/casalinghi, dove non si hanno necessità particolari e dove i dispositivi interconnessi sono pochi. In questo caso solitamente non si ha bisogno neppure di particolari performance, e l’aumento della latenza o una minimale perdita di banda non costituiscono grandi problemi, diversamente da ambienti critici e di fascia medio/alta.

Dunque riepilogando ecco i pro e i contro per l’utilizzo di switch di livello 2 o 2/3:

switch di “solo” livello 2:

  • pro:
    • prezzo competitivo
    • configurazione minimale
  • contro:
    • calo prestazionale al crescere della dimensione della rete
    • sicurezza minore avendo una rete piatta con tutti i dispositivi tra loro interconnessi

switch di livello 2/3:

  • pro:
    • prestazione maggiori con una suddivisione e configurazione accorta della rete (VLAN, subnet, …)
    • maggiore sicurezza di tutta la rete
  • contro:
    • è richiesta una maggiore conoscenza delle reti e più tempo per la configurazione di tutto
    • costo degli apparati maggiore

roghan

Confronto tra i principali protocolli di routing

Ho messo a confronto in un file excel, e riassunto, le caratteristiche principali dei seguenti protocolli di routing: RIP, RIPv2, IGRP, EIGRP, e OSPF.

Potete scaricare liberamente il file:

download diretto

roghan

Reti locali e scelta degli indirizzi IP

L’idea di questo articolo nasce da una discussione iniziata su un noto forum del web. In particolare vedremo in che modo devono essere scelti gli indirizzi IP all’interno di una LAN e il perché di questa scelta. Tipicamente all’interno di una rete locale vengono impiegati quegli indirizzi che sono chiamati “privati”, appartenenti ad una delle 3 categorie […]

L’idea di questo articolo nasce da una discussione iniziata su un noto forum del web. In particolare vedremo in che modo devono essere scelti gli indirizzi IP all’interno di una LAN e il perché di questa scelta. Tipicamente all’interno di una rete locale vengono impiegati quegli indirizzi che sono chiamati “privati”, appartenenti ad una delle 3 categorie:

  • 10.0.0.0-10.255.255.255
  • 172.16.0.0-172.31.255.255
  • 192.168.0.0-192.168.255.255

Per una descrizione sul funzionamento degli indirizzi IP e sulla differenza tra indirizzi pubblici e privati leggete quest’altro articolo.

lan

Tutti noi che abbiamo in casa un router ADSL, sia wireless che con connessione via cavo, facciamo inconsapevolmente uso degli indirizzi IP privati. Infatti spesso i router assegnano ai dispositivi connessi gli indirizzi compresi tra 192.168.1.0 e 192.168.1.255 (estremi esclusi), mentre per la connessione di management del router viene utilizzato il canonico 192.169.1.1. Ovviamente non tutti i router utilizzano esattamente questo range, infatti potrebbe essere invece utilizzato 192.168.0.0-192.168.0.255, o altri ancora comunque sempre facenti parte delle 3 categorie di indirizzi privati. Vediamone adesso il motivo.

Quali implicazioni ci sarebbero ad usare un range differente da quello degli  indirizzi privati? Ad esempio cosa succede se in una LAN vengono assegnati ai PC gli indirizzi nel range 17.18.1.0-17.18.1.255? Se la LAN non è connessa ad Internet teoricamente tutto potrebbe funzionare tranquillamente, in quanto il dialogo tra i dispositivi della LAN avverrebbe come con qualunque altro indirizzo IP (privato o non). Il problema nasce al momento che  la LAN viene connessa ad Internet. Riprendendo il nostro esempio, se la LAN con indirizzi nel range 17.18.1.0-17.18.1.255 accedesse ad Internet, non sarebbe in grado di collegarsi ai dispositivi sul web che hanno veramente quegli indirizzi. Supponiamo che un PC della LAN, con indirizzo 17.18.1.10 voglia accedere ad un server su Internet con IP 17.18.1.200: a livello di routing, il PC che effettua la richiesta crederà di essere già all’interno della subnet del server, quindi tutte le richieste rimarranno nella rete locale senza essere inviate su Internet dal router.

Conclusione: dovendo assegnare indirizzi IP ad una rete locale è bene usare solamente gli indirizzi IP privati, in modo da non complicarsi la vita, anche se teoricamente in una LAN scollegata da Internet potrebbero essere usati anche indirizzi appartenenti ad altri range diversi da quelli privati. Più in generale, quest’ultimo caso lo consiglio solo per ambienti di test, e quando si vogliono fare esperimenti con le reti ;-), ma non per un uso prolungato.

roghan