1
0
mirror of https://github.com/fazo96/tesina.git synced 2025-01-10 11:34:20 +01:00
tesina/Web/soluzioni.md
Enrico Fasoli 10a056ba43 correzioni
2015-06-09 16:42:48 +02:00

4.8 KiB

Soluzioni ai problemi del Web

Dopo aver definito le caratteristiche problematiche del moderno World Wide Web, vediamo le loro possibili soluzioni.

Navigazione

Riassumento, i problemi del navigare il web sono il tracciamento, l'analisi comportamentale e le pubblicità mirate: vediamo ora come risolverli.

Ad Blocker

Un Ad Blocker è un software in grado di nascondere le pubblicità sulle pagine web visitate. Gli Ad Blocker più avanzati sono in grado di:

  • nascondere gli elementi della pagina dedicati alle pubblicità;
  • evitare l'esecuzione di script o memorizzazione di cookie non necessari per la fruizione dei contenuti della pagina, principalmente quelli dedicati alle pubblicità o alla raccolta dati;

Gli Ad Blocker più conosciuti sono AdBlock e AdBlock Plus, entrambi però sono Closed Source e generalmente considerati meno affidabili dell'alternativa uBlock, che si presenta come una soluzione più moderna, performante e completamente Open Source.

Ghostery

Tramite il plugin Ghostery, disponibile per tutti i browser web più usati, è possibile:

  • vedere le informazioni di tracciamento che vengono inviate ai server dei vari siti web che utilizziamo
  • conoscere le aziende a cui sono destinate tali informazioni
  • bloccare l'invio delle informazioni di tracciamento

Per provare tutto ciò è infatti sufficiente installare Ghostery e, seguendo le istruzioni su ghostery.com/it, collegarsi a uno o più social network o servizio come Google, LinkedIn, Facebook, notando immediatamente lo scambio di dati di tracciamento tra noi e i server di questi servizi.

Attenzione però: Ghostery è un software Closed Source, dunque non è possibile sapere esattamente che tipo di operazioni esegua, la qualità della sua efficacia, e eventuali backdoor presenti o raccolte dati effettuate dal software.

Servizi

Per i servizi come File Sharing, Messaggistica e Cloud Storage le soluzioni devono preferibilmente essere:

  • Open Source per permettere la revisione del codice da parte degli utenti e degli esperti di sicurezza,
  • decentralizzate o, alternativamente, permettere il self-hosting,
  • sicure utilizzando crittografia e firme digitali,
  • configurabili e adattabili a diverse situazioni e casi d'uso,
  • rispettare la privacy e consentire l'anonimato, limitando i dati immagazzinati o evitandone completamente la raccolta.

Self-Hosting

Il self-hosting è una caratteristica di un servizio che gli permette di creare diverse istanze personalizzate gestite internamente da un'organizzazione o un privato. Questa caratteristica è associata ai servizi liberi ma non decentralizzabili come ad esempio un DBMS.

Decentralizzazione

La decentralizzazione è una caratteristica di un servizio che gli permette di non dipendere da un singolo server o un'insieme di pochi server, consentendogli di funzionare semplicemente con una rete di client collegati tra loro. Spesso, per far si che i client scoprano i rispettivi indirizzi IP permettendogli di connettersi, è comunque necessario un server di tipo tracker.

Un tracker differisce da un classico server perchè agisce semplicemente da punto di incontro per i client, permettendogli di avvisare della propria esistenza e quindi di conoscersi. Le informazioni scambiate tra i client non passano mai direttamente dal tracker. Usando un servizio decentralizzato (come Syncthing) è spesso possibile scegliere quale o quali tracker utilizzare o di non utilizzarne alcuni ma tentare direttamente la connessione ad alcuni indirizzi IP oppure di gestire il proprio tracker privato.

Una Distributed Hash Table è una tecnologia che permette di avere un key-value store (tabella a due colonne) condivisa dai nodi di una rete decentralizzata. Un key-value store contiene dati in formato coppia-valore: questo permette di accedere al valore determinato da una cerca chiave.

Per capire meglio, possiamo immaginare un key-value store come una tabella a due colonne dove per ogni riga la prima colonna è la chiave, ovvero l'identificativo del dato mentre la seconda contiene il dato stesso.

  • Nelle reti distribuite viene spesso usato per associare l'indirizzo IP di un utente con il suo profilo, indirizzo, chiave pubblica o altro
  • in caso di BitTorrent, ad esempio, per ogni torrent (che agisce da chiave) il valore è una lista di indirizzi IP di clients che posseggono quel torrent
  • La DHT, come da definizione, non è offerta da un server ma è distribuita nella rete di clients.

La conbinazione tra DHT e Trackers affidabili rende stabile un servizio decentralizzato, permettendo ai nodi di collegarsi tra loro in maniera efficiente.