DIY : NAVIGARE IN RETE SENZA LE PUBBLICITÀ INVASIVE… È POSSIBILE?

So che magari avrete già “Ad blocker” e vi starete chiedendo a cosa serve un DIY per bloccare le pubblicità quando si può comodamente installare una estensione su Chrome o qualunque altro brower che vi permette di fare lo stesso lavoro, con pochi e semplici click…

Ma sapevate che un programma come “Ad blocker” ha accesso a tutti i vostri dati, ma proprio tutti? Password salvate, cronologia… Nulla gli sfugge!

Con questo articolo vorrei proporvi un DIY molto semplice per spiegarvi brevemente come funziona un programma per bloccare gli advertisements e i concetti base che fanno funzionare internet.

Partiamo dal DNS

  • DNS = “Domain Name System”

è un sistema che utilizziamo ogni volta che scriviamo un URL (un indirizzo di rete chiamato anche link) su un brower: il DNS trasforma quel nome, per noi facile da ricordare,in un indirizzio IPv4 o IPv6, decisamente più comodo alla macchina.

* IPv4 ha uno spazio di indirizzamento a 32 bit 
(2 ^ 32 = (4,3 miliardi) 4,294,967,296 indirizzi possibili)
— Separato in 4 segmenti da 8 bit (o ottetti)
— “192.168.10.55”
* IPv6 ha uno spazio di indirizzamento a 128 bit
(2 ^ 128 = 7.9 x 10^28 volte più di IPv4, fidatevi sono TANTISSIMI )
— Separato in 8 x 4 segmenti esadecimali
— “2001: abcd: ef12: 3456: 7890: aaaa: bbbb”

Con questi indirizzi, il traffico può essere indirizzato molto facilmente (per la macchina si intende) verso la tua destinazione e viceversa verso la rete.

Router vs. Switch

Sia i router che gli switch cercano il percorso più efficiente per instradare i pacchetti di dati, che contengono l’informazione richiesta, operando però in due modi diversi:

  • Gli switch funzionano con indirizzi fisici (ad es. Indirizzi MAC)
  • I router funzionano con indirizzi di rete (ad es. Indirizzi IP)
Ogni switch ha una tabella di indirizzi MAC che gli consente di sapere dove devono essere inviati i frame (pacchetti del liv 2,di data-link, nel protocollo ISO/OSI).Funziona bene per una rete da qualche dozzina a poche centinaia di PC. Tuttavia, una volta che si inizia ad avere MIGLIAIA di nodi, una tabella MAC non funziona... ed ecco entrare in scena i router!
I Router:
In genere utilizzano il protocollo BGP (Border Gateway Protocol), che conosce solo le "migliori rotte" per inoltrare il pacchetto a destinazione: ogni dispositivo conosce i dispositivi più vicini a lui, perciò la navigazione su Internet è resa ottimale passando per quei dispositivi che conoscono la via migliore verso la destinazione finale.

Il modo più semplice di pensare allo switch e il router:
– Si utilizza uno switch quando si inviano / ricevono dati attraverso la rete 
(rete domestica)
– Si utilizza un router quando si inviano / ricevono dati tra molte reti

I router domestici sono versioni ridimensionate dei router core. (Tecnicamente, sono router EDGE) — Devono solo avere abbastanza potenza e intelligenza per parlare con i router dell’ISP.

Quali servizi di base offre un normale router di consumo?
1. NAT
2. DHCP
3. Firewall (parte della funzionalità NAT)
4. Wireless

NAT: (Network Address Translation)

Negli anni Ottanta il NAT aveva un ruolo di importantissimo: cominciavano a scarseggiare gli indirizzi di rete (IPv4) pubblici che potevamo utilizzare per navigare in rete ma il NAT risolveva la situazione traducendo gli indirizzi locali in indirizzi pubblici, e ancora oggi ci permette di utilizzare IPv4.

Firewall

Ha la possibilità di disattivare servizi e protocolli che non utilizziamo e chiudere le porte (per visitare pagine web utilizziamo la porta 80).
 — — Verrà approfondito in un articolo successivo.

Wireless

— —lo conosciamo tutti no…

DHCP: (Dynamic Host Configuration Protocol)

Prima del DHCP, era necessario inserire manualmente le informazioni di configurazione IP in ogni client (AKA “Indirizzamento IP statico”). Il DHCP serve ad un client per ottenere in modo dinamico dei parametri al fine di connettersi in rete.

Tramite il DHCP riceviamo:

  • Indirizzo IP locale (non instradabile, interno alla rete)
  • Gateway (è l’indirizzo del router stesso … usato per mandare i pacchetti al router che provvederà a inviarli in rete)
DHCP utilizza UDP (User Datagram Protocol) e non TCP, che richiede un handshake e un controllo degli errori. UDP è invece “connectionless”, con un processo in più parti:
1)Scoperta: il cliente trasmette tramite UDP il messaggio "DHCPDISCOVER” sulla rete all’indirizzo IP 255.255.255.255
2)Offerta: il server DHCP (nel nostro caso il router) riceve il messaggio di rilevamento trasmesso, quindi si riserva un indirizzo IP per quel client e invia il messaggio “DHCPOFFER” al client, contenete indirizzo MAC del client // indirizzo IP // Subnet Mask // durata del lease // indirizzo gateway // Server DNS
3)Richiesta: il cliente riceve l’offerta e trasmette di nuovo al server “DHCPREQUEST”, confermando così che accetta l’indirizzo offerto.
4)Riconoscimento: il server riceve il “DHCPREQUEST” dal client e restituisce un “DHCPACK”.

Adesso che conoscete le nozioni base di routing (vi invito caldamente ad approfondire questi argomenti, lasciandovi per comodità alcuni link a fine articolo), possiamo partire con il nostro DIY.

Occorrente:
 1. Raspberry Pi 3b
2. MicroSD da almeno 8 GB

Istruzioni per il SetUp.
1. Installa la tua distro RasPi preferita (consiglio Raspbian)
2. Aprite il terminale per eseguire il seguente comando

curl -sSL https://install.pi-hole.net | bash

3.Quando vi chiede di selezionare l’interfaccia vi consiglio di utilizzare eth0.

4.Quando vi chiede di inserire un DNS provider vi consiglio di usare o quello di google o quello di quad9.

5. Impostate un indirizzo IP statico, cioè che non sia nel range del DHCP del vostro router (solitamente il range va da 192.168.1.1 a 192.168.1.254)

6. Andate sul vostro router collegandovi tramite l’indirizzo del router (192.168.1.1) e impostate l’indirizzo che avete dato al punto 3, come per il DNS statico, così ogni dispositivo che si collega al vostro router (cellulari, Smart TV, Pc…) avranno tutti un blocco per le pubblicità.

Pi-Hole attualmente funziona bloccando i domini delle pubblicità tramite DNS. In questo momento stanno bloccando oltre 100,000 domini legati agli advertisements, ma tra cui figura anche Google Analytics.

Pi-Hole inoltre vi fornisce una bellissima web page cui potete accedere tramite l’indirizzo fornitovi durante l’installazione e la default password (che vi consiglio di cambiare in seguito).

Pi-Hole è un progetto open source, il che significa che non hanno pubblicità sul loro sito ma portano avanti il progetto solo grazie alle donazioni che ricevono. Vi invito quindi a dare una mano a questi ragazzi, senza il loro lavoro ciò che avete potuto sperimentare sopra non sarebbe stato possibile!

Ringrazio eli zorzella per la rivisitazione dell’articolo.

LEAVE A REPLY

Please enter your comment!
Please enter your name here