Come funziona Internet e perché il software libero è fondamentale

Il 14 maggio io, Carlo e Claudio di GrappaLUG siamo stati invitati al Liceo G.B. Brocchi di Bassano del Grappa (VI) per tenere un talk a due classi prime. Il titolo del nostro intervento è anche quello di questo post: Come funziona Internet e perché il software libero è fondamentale.

Lo scopo, come si può intuire, era duplice. Innanzitutto volevamo cogliere l’occasione — fornitaci da un docente che ci ha invitato — e introdurre il concetto di software libero (che non vuol dire freeware!) ai ragazzi. L’altro aspetto che abbiamo voluto affrontare era una infarinatura su come funziona la rete Internet e perché senza Linux non potrebbe esistere il web come lo conosciamo oggi.

L’obiettivo dell’associazione è compiere una doverosa sensibilizzazione al software libero, a Linux, alla tutela della propria privacy e anche all’uso consapevole della tecnologia. Parlare di tutto questo in un’ora scarsa sembrava un’impresa ardua, ma le due classi si sono dimostrate molto interessate e ci hanno persino aiutati facendo delle domande davvero molto pertinenti e per nulla banali.

La parte che ho trattato io riguardava come il software libero aiuta a tutelare la propria privacy, favorire il mondo del lavoro e far funzionare il web. Parlare ai ragazzi e alle ragazze è stato interessante e a tratti divertente. Per esempio, ne ho stupito la maggior parte quando ho spiegato che “web” e “Internet” sono due cose diverse, e che il web è nato dopo. Per molti di noi questo è scontato, ma per altri può non esserlo.

La cosa più divertente però è stato quando li ho portati a immaginare un sistema operativo che invii un report settimanale ai propri genitori, o che trasmetta un sacco di dati e statistiche sull’utilizzo del PC al produttore del software.

Quando alla fine ho spiegato che tutto ciò è attivo di default in Windows 10, ci sono rimasti un po’ male. 😉

brocchi_privacy-fs8
La slide che ha spaventato maggiormente gli studenti

Quando è stato il momento di parlare di prospettive occupazionali e di cosa significa “costruire” il web, non mi sono lasciato scappare il fatto che una classe era composta totalmente da ragazze e l’altra lo era in maggioranza.

Chi segue la mia pagina Facebook ormai sa che certi pregiudizi tardo-medievali sul fatto che l’informatica sia “un lavoro da uomini” mi fanno innervosire abbastanza. Il fatto è che, purtroppo, sono molto diffusi. Quindi ho pensato di approfittarne per chiarire (implicitamente) un po’ di cose con gli studenti che avevo di fronte.

Per esempio, sapevate che la persona che ha scritto il primo programma della storia era una donna? Be’, neanche loro. 🙂 Però adesso lo sanno.

brocchi_lovelace-fs8
Una citazione di Ada Lovelace che sintetizza brillantemente il senso di un buon algoritmo

Ho chiuso la presentazione mostrando un estratto di questa video intervista a Emily Gasca, ingegnere che lavora per Facebook. Se devo dirvi la verità, la cosa più simpatica di quella mattina è stata l’esclamazione scherzosa di un’alunna:

E chi me l’ha fatto fare di scegliere un percorso umanistico?

Impagabile. 😀

Ad ogni modo, quelli che ho menzionato sopra sono soltanto un paio dei punti che ho ritenuto più interessanti della mia parte. Potete vedere la presentazione intera, con tutte e tre le sezioni, su SlideShare e nel player qui sotto.

Se desiderate usare questa presentazione in qualche altra scuola e vi serve il file sorgente o lo spezzone del video, potete contattarmi senza problemi.

Clicca qui per mostrare contenuto da SlideShare.
(leggi la privacy policy del servizio)

Recuperare dati da partizioni NTFS danneggiate — Torri di Quartesolo (VI), 7 giugno 2016

I più attenti tra voi avranno notato che ho aggiornato la mia pagina about, visto che circa due mesi fa ho conseguito la laurea magistrale. La mia tesi si intitola RecuperaBit: Forensic File System Reconstruction Given Partially Corrupted Metadata e tratta in particolare della ricostruzione della struttura delle partizioni NTFS, con la conseguenza di poter anche recuperare i dati.

Nella trattazione ho affrontato tutti gli aspetti essenziali di NTFS e ho proposto degli algoritmi di ricostruzione adatti anche a danni considerevoli. Oltre a ciò, ho anche pubblicato RecuperaBit, un software libero e open source che applica queste tecniche e si può usare davvero quando qualcosa va storto con un disco NTFS.

Per questo motivo, sono stato contattato dagli amici del Gruppo Utenti GNU/Linux di Vicenza che mi hanno chiesto di tenere un talk su questo argomento:

Recuperare dati da partizioni NTFS danneggiate
Martedì 7 giugno 2016, ore 21.00

Sala sovrastante il bar
Via Roma, 89
Torri di Quartesolo (VI)

Questo è l’abstract della serata:

NTFS è uno dei file system più diffusi, essendo quello usato di default dai sistemi Windows e anche negli hard disk esterni ad alta capacità. Quando accade un danno hardware o software, può verificarsi la corruzione di una o più partizioni, che diventano illeggibili.

In questo talk verrà presentato l’uso di RecuperaBit, software sviluppato dal relatore per la ricostruzione forense di NTFS e il recupero dei dati, anche con metadati parzialmente danneggiati.

La serata sarà composta anche da una parte pratica, in modo da permettere a tutti di poter provare i concetti che verranno spiegati. Vi riporto le note che abbiamo messo anche sul sito del LUG:

Ai partecipanti è richiesta l’installazione di:

  • testdisk e photorec, dai repository
  • RecuperaBit, che si può scaricare tramite l’archivio ZIP oppure con Git:
    git clone https://github.com/Lazza/RecuperaBit.git

È inoltre necessario scaricare alcune immagini disco di esempio da questo link.

Il talk non è adatto a persone affette da intolleranza alla riga di comando. 😉

L’ingresso alla serata è libero e gratuito e non è prevista nessuna forma di registrazione. Chiaramente, sarei molto lieto di vedervi partecipare. Può darsi che in futuro io scriva un articolo più dettagliato sul software, ma questa è una serata pratica dove si potrà provare con mano e chiedere chiarimenti. Non perdetevi questa occasione! 🙂

Guardare e scaricare i video di Repubblica TV senza Flash Player

Se c’è una cosa che mi fa venire i nervi sono i siti web che discriminano artificiosamente gli utenti Linux. Per qualche motivo, sembra che il fatto di usare un sistema operativo più veloce, più sicuro e più stabile ci debba rendere vittime di dispetti bizzarri.

Poco tempo fa avevo parlato di MyMovies Live, ma recentemente mi sono imbattuto per caso sul portare Repubblica TV. Quello che ho visto è a dir poco incredibile: se proviamo a vedere un filmato, il portale ci risponde con un messaggio di errore.

errore_flash_Repubblica
Il discutibile messaggio di Repubblica TV

A prima vista potrebbe sembrare un avvertimento che ci ricorda di avere una versione vecchia di Flash Player, per qualche motivo. Peccato che questo messaggio compaia anche con la versione 21.0.0.213… che è l’ultima su tutte le piattaforme.

Guardando un attimo la struttura della pagina ho visto che, in realtà, ogni video di Repubblica TV è soltanto un semplicissimo file MP4. Oltre al danno, anche la beffa: infatti non servirebbe nessun plug-in per vedere i filmati.

Ho trovato questa cosa abbastanza snervante, per di più considerando il fatto che è possibile risolverla con pochissime righe di codice.

Infatti, è la prima volta che ho scritto uno script per un sito web digitando solamente 4 righe di Javascript, che sono andate al primo colpo senza nemmeno testarle. Questo mi rende davvero sbigottito e mi chiedo come mai Repubblica non possa fare una modifica così ovvia al portale per renderlo fruibile a tutti, senza dover usare un plug-in obsoleto e poco sicuro come Flash Player.

Ad ogni modo, col mio script si ottiene questo risultato:

crozza_video_repubblica
Video riprodotto direttamente in MP4 su Repubblica TV

Analogamente a quanto fatto per Rai, Mediaset, La7, RSI e BBC, ho pubblicato online lo script. In questo modo potete attivare la visione dei video anche nel vostro browser. 🙂 Vi ricordo che per installare gli script bisogna avere un’estensione per il browser:

Infine, vi basta cliccare il bottone per andare sulla pagina dedicata e completare l’installazione premendo Installa questo script:

Video Repubblica in HTML5

Per salvare un video, basta cliccare col tasto destro sopra di esso e scegliere la voce apposita. 😀 Buona visione!

Correggere i colori delle foto con GIMP e realizzare un volantino con Inkscape

Il 15 marzo sono stato a Schio (VI) per tenere un talk dal titolo “Dallo scatto al volantino”, su invito di AViLUG. Abbiamo reso disponibile il materiale della serata sul sito dell’associazione, dove potete scaricare un archivio che contiene:

  • la presentazione in formato PDF e ODT
  • un paio di esempi di locandine finite (quella dell’evento e quella abbozzata durante la serata stessa)
  • del materiale integrativo che riassume i passi fondamentali compiuti per raggiungere il nostro scopo

In particolare, ho cercato di semplificare fino all’osso una correzione base delle fotografie limitata a colori e luminosità, che già coprono la maggior parte del necessario. Per Inkscape, invece, la cosa fondamentale è impostare inizialmente la pagina, inserendo una griglia, qualche guida e i segni per la stampa.

Questi semplici accorgimenti consentono anche ai principianti di ottenere un flusso di lavoro completo, dallo scatto al volantino, appunto. Per un riassunto veloce, vi invito a vedere le slide scaricabili dal sito di AViLUG.

Tuttavia, ho ritenuto opportuno scrivere anche una descrizione dei passaggi fondamentali sotto forma di istruzioni, per maggiore chiarezza. Questo mi ha consentito anche di inserire parecchi link e spunti per approfondimenti personali. Ci tenevo particolarmente perché sono delle risorse ottime e aiutano a capire bene i concetti che ho concentrato in due ore di spiegazione.

Pertanto, riporto qui di seguito il riassunto della serata inserito anche nei materiali linkati sopra. In questo modo sarà più raggiungibile da chi cerca informazioni su questo argomento, rispetto a un documento chiuso dentro a un file ZIP.

Prima di leggere l’approfondimento, però, guardate le slide:

Clicca qui per mostrare contenuto da SlideShare.
(leggi la privacy policy del servizio)


Dallo scatto al volantino
(Materiale integrativo)

Prima di tutto vorrei ringraziare AViLUG per l’opportunità di presentare il talk e il pubblico per la partecipazione e i commenti utili. Sono contento di aver ricevuto dei feedback positivi relativi alla serata.

Tra i suggerimenti più popolari c’è stato quello di fare un talk più corto rispetto alle 2 ore utilizzate. È vero, la serata è stata abbastanza dettagliata, però l’obiettivo era fornirvi un flusso di lavoro completo e delle istruzioni che fossero realmente applicabili. Avrei potuto probabilmente saltare delle spiegazioni e alcuni passaggi, ma sono convinto che dire “fate così” senza spiegare perché sia meno comprensibile e meno utile.

Un altro suggerimento è stato quello di introdurre delle esercitazioni pratiche in loco. Questa è senza dubbio una bella idea che si potrebbe applicare avendo più tempo, per esempio con una sessione pomeridiana di 3-4 ore. Oltre a questo, l’esperienza di altri corsi con GrappaLUG mi ha insegnato che è utile avere un affiancamento “1 a 1” affinché si ottenga il massimo risultato.

Purtroppo questo non era possibile durante la serata del talk, però invito tutti gli interessati a postare i propri quesiti sul forum di Gimp Italia dove potranno ricevere la giusta attenzione e le risposte dei numerosi appassionati che popolano il forum.

Il seguito di questo documento ha lo scopo di riassumere quello che è stato mostrato nella seconda parte della serata (gli esempi pratici) e includere dei link a delle risorse utili per approfondire. Per la parte più teorica vi rimando alle slide.

Correzione delle foto

Nota: è consigliabile lavorare con la versione beta di GIMP 2.9 perché ha alcune funzioni in più rispetto alla 2.8. In ogni caso, i suggerimenti qui riportati si possono applicare anche con programmi simili, per esempio Krita.

Abbiamo visto essenzialmente due aspetti relativi alle foto:

  • correzione del colore
  • miglioramento della luminosità e del contrasto

In entrambi i casi abbiamo utilizzato le curve di colore.

Colori

Per quanto riguarda i colori, abbiamo visto che i punti grigi devono avere i 3 valori RGB uguali. Per questo motivo, abbiamo creato un duplicato del livello su cui lavorare. Abbiamo messo dei punti di campionamento sull’immagine e poi abbiamo usato le curve per portare questi punti ad essere realmente grigi.

Prendendo ad esempio questa immagine:

Foto con dominante rossa
Foto con dominante rossa

Abbiamo riscontrato una predominanza di rosso:

Verifica della dominante con i punti di campionamento
Verifica della dominante con i punti di campionamento

I tre canali sono stati regolati con le curve:

Regolazione dei punti di grigio con le curve
Regolazione dei punti di grigio con le curve

Nota: in genere sarebbe raccomandabile regolare i grigi considerando anche dei punti con dei grigi più scuri (non mostrati in questo esempio).

Infine, il livello soprastante è stato impostato in modalità Colore per evitare di modificare la luminosità. I due livelli sono stati fusi insieme per ottenere il risultato finale.

Immagine con i colori corretti
Foto con i colori corretti

Approfondimento

Questo argomento è trattato in modo eccellente in questo articolo di Andrea Olivotto. L’autore mostra in modo alternato sia GIMP che Photoshop, ma i concetti sono analoghi.

Luminosità

Per la luminosità abbiamo lavorato sempre su una copia del livello di partenza (con i colori già corretti) e abbiamo fatto questi passi:

  • uso dello strumento soglia per trovare il punto più chiaro e quello più scuro
  • uso delle curve per portare il nero a (10, 10, 10) e il bianco a (245, 245, 245) ignorando eventuali alterazioni del colore
  • curva a forma di “S” e utilizzo dei canali scomposti per aumentare il contrasto ulteriormente (opzionale)

Abbiamo visto questa immagine:

Foto troppo scura
Foto troppo scura

Il bianco, il nero e il contrasto sono stati regolati con le curve:

Regolazione del punto di bianco, del punto di nero e del contrasto
Regolazione del punto di bianco, del punto di nero e del contrasto

Infine, il livello superiore è stato messo in modalità Luminosità per ripristinare i colori corretti.

Foto con la luminosità corretta
Foto con la luminosità corretta

Approfondimento

Normalmente i due passaggi (colori e luminosità) si applicano in sequenza sulla stessa foto, ma per rendere gli esempi più chiari ho scelto due immagini in cui ci fosse un solo problema da correggere in modo prevalente.

Durante la serata ho anche accennato a come si possa usare lo spazio colore LAB per aumentare la vivacità dei colori. Questo articolo di Helen Bradley riassume i pochi passaggi necessari.

Mentre per i colori è chiaro quando un punto è grigio e quando non lo è, per la luminosità e il contrasto non c’è una unica soluzione “giusta” e probabilmente ogni volta che proverete su una stessa immagine otterrete curve di contrasto diverse. L’importante è utilizzare il proprio giudizio cercando di capire quale risultato si vuole ottenere e quali parti della foto si vogliono esaltare.

Grafica vettoriale

Per quanto riguarda Inkscape, abbiamo visto le funzioni di base. In effetti c’erano meno cose da dire, perché con la grafica vettoriale bastano pochi concetti essenziali per produrre lavori gradevoli.

Innanzitutto abbiamo predisposto la pagina impostando la griglia e le guide e poi i segni di registro (“crocini”) per la stampa. Solitamente si usano 3mm di abbondanza, ma eventualmente domandate a chi dovrà stampare il documento finale.

Un’altra funzione utile per creare le guide è data dal poter convertire un rettangolo in 4 guide usando il menu Oggetto » Da oggetto a guida. Ciò consente di prepararsi facilmente varie “colonne” verticali dove si può allineare il testo.

Le immagini si possono inserire con il semplice drag’n’drop e va scelto se incorporarle (dentro al documento SVG, con più peso ma maggiore portabilità) o collegarle (tenendo il documento leggero ma dovendo dipendere dal file originale che non va spostato né cancellato). Si possono tagliare o mascherare in diversi modi usando le maschere.

In Inkscape tutti gli oggetti sono spostabili indipendentemente, quindi il concetto di “livello” è meno importante. Però si può decidere di mettere gli elementi di sfondo su un livello sottostante e poi bloccarlo così non danno fastidio mentre si lavora sul testo.

Infine, per quanto riguarda il testo ci sono diverse opzioni:

  • il testo semplice
  • quello su tracciato (menu Testo » Metti su tracciato)
  • quello in struttura (menu Testo » Fluisci in struttura)

Il testo semplice si usa per scritte brevi o magari titoli, mentre quello in struttura è utile per far scorrere dei paragrafi in un rettangolo o altre forme geometriche.

Vi consiglio di creare prima il rettangolo con un colore di sfondo visibile (magari semi-trasparente) e poi renderlo invisibile solo dopo averci fatto fluire dentro il testo ed essere sicuri che vada bene.

Il testo semplice si può ritoccare in molti modi per quanto riguarda la posizione delle singole lettere. Consultate l’ultima parte del tutorial avanzato su Inkscape per maggiori dettagli.

Per vedere in azione questi elementi base (griglia, guide, immagini e testi) la cosa migliore è aprire il file SVG di esempio fornito per questa serata ed esplorare come è fatto:

Volantino della serata aperto con Inkscape
Volantino prodotto durante la serata

Approfondimenti

Per chi non ha problemi con l’inglese, il metodo più veloce e pratico per imparare Inkscape è seguire i favolosi video tutorial di HeathenX. Ognuno dei 106 episodi contiene il link al video OGV in basso, per guardarlo direttamente online o scaricarlo.

Di particolare interesse per i volantini:

Anche se non capite tutto l’audio, i video sono fatti veramente bene e si potrebbero quasi guardare muti.

Vi segnalo inoltre il libro (consultabile online) di Tavmjong Bah Inkscape: Guida ad un Programma di Grafica Vettoriale. Molte parti sono in inglese, ma quasi tutto il secondo capitolo (la Guida rapida) è in italiano. Ottima anche la Guida Inkscape di HTML.it.

Per richieste di aiuto relative ad Inkscape, potete iscrivervi a InkscapeForum oppure usare questa sezione del forum di Gimp Italia.

Serata “Dallo scatto al volantino” a Schio (VI) — 15 marzo 2016

Sono stato invitato dagli amici di un fantastico LUG (Gruppo Utenti Linux) del vicentino per tenere una serata sulla grafica vettoriale e l’uso di Inkscape. Sto parlando di AViLUG, un’associazione che opera a Schio (VI).

Dallo scatto al volantino
Correggere le foto e utilizzare la grafica vettoriale

Martedì 15 marzo 2016, ore 21.00
Aula Informatica del Comune
Barchesse di Palazzo Fogazzaro
Via Pasini 46, Schio (VI)

Il talk verterà principalmente sul vettoriale, ma è innegabile che la creazione di brochure, volantini e altri materiali spesso coinvolga anche le foto. Per questo motivo tratterò un piccolo flusso di lavoro completo. Partiremo dalla correzione dei colori delle fotografie con GIMP, per poi passare all’uso di Inkscape per disporre i testi e gli elementi grafici sulla pagina.

inkscape_schio_2016
Volantino della serata

Qui a fianco potete vedere il flyer in formato A5. In particolare, vi cito la parte che descrive gli argomenti trattati.

Durante la serata si parlerà di:

  • correzione di luminosità e colori delle foto
  • strutturazione della pagina
  • organizzazione del testo
  • predisposizione del documento per la stampa

Chiaramente l’ho disegnato con Inkscape, quindi potete avere un’anteprima di cosa potrete realizzare con le spiegazioni che fornirò. 🙂

La serata si svolgerà in un’aula dalla capienza limitata. Ci sono solamente 25 posti a disposizione. L’ingresso è gratuito ma è obbligatoria la registrazione su Eventbrite. Eccovi i link per maggiori informazioni e per la prenotazione:

Vi aspetto! 😀

Guardare i film di MyMovies Live con Linux

Aggiornamento (dicembre 2016): Lawrence nei commenti ha suggerito una soluzione alternativa che non richiede Wine. Casomai provatela per prima.

Durante il periodo natalizio ho ricevuto questa domanda da parte di un lettore:

Come vedere i filmati da MyMovies Live su Ubuntu? Si può fare?

Dopo una breve verifica, ho scoperto che questo servizio mostra i filmati usando la tecnologia Flash. Quindi in teoria dovrebbe funzionare senza problemi su tutti i sistemi operativi. In realtà, i requisiti tecnici riportati sono:

Requisiti: Win/Mac + Flash Player – Consigliato: Firefox o Google Chrome
Test: esegui qui il test di connessione.

Flash Player è sostanzialmente identico su tutte le piattaforme, quindi non ci sono scuse. Senza giri di parole, MyMovies non ha cura di chi sceglie soluzioni di qualità come Linux. Siti web come Rai Replay, Video Mediaset, La7, Hulu e BBC iPlayer funzionano con Linux senza troppi problemi.

Se si tenta di visualizzare un film (ad esempio questo documentario), si ottiene il seguente errore:

errore_mymovies_linux
Errore di riproduzione su MyMovies Live

La soluzione è quella di installare una copia di Firefox e Flash Player per Windows, però sempre all’interno del vostro sistema Linux. 😀

Wine e PlayOnLinux

Wine è un progetto imponente che da anni consente di utilizzare moltissimi software per Windows su piattaforma Linux. La compatibilità è ottima per numerosi programmi, tra cui Firefox e Flash (che interessano a noi).

PlayOnLinux è un’applicazione che fornisce una comoda interfaccia a Wine, permettendo di gestire diversi programmi installati in più “unità virtuali”, cioè finti hard disk con finte installazioni di Windows. Il bello è che contiene già una lista di programmi “preconfigurati”, cioè con degli script che automatizzano l’installazione e la configurazione senza farla manualmente.

Perciò, vi consiglio di installare PlayOnLinux dal vostro gestore software (per esempio Ubuntu Software Center) e usarlo come interfaccia “facile” a Wine, in modo da ottenere il massimo risultato con il minimo sforzo. 😉

Fatto ciò, passiamo all’installazione vera e propria di Firefox.

Installare Firefox per Windows

Aprite PlayOnLinux e cliccate sul bottone + Installa. Apparirà una lista di applicazioni, voi scegliete la sezione Internet e quindi Mozilla Firefox, infine Installa. La procedura di installazione guidata somiglia all’installazione dei programmi per Windows, quindi dovrete premere Avanti alcune volte. 😉

La cosa importante è fare attenzione alle domande:

  • Metodo di installazione: scegliete Scaricando il programma
  • Lingua: presumibilmente vorrete l’italiano
  • Componenti addizionali: spuntate la casella Flash Player

Dovete quindi armarvi di un po’ di pazienza mentre il programma scarica automaticamente i componenti necessari e avvia l’installazione di Firefox.

firefox_playonlinux
Installazione di Firefox tramite PlayOnLinux

Finita questa prima fase, il browser si avvierà. Ora attendete senza fare nulla! PlayOnLinux infatti scaricherà il programma di installazione di Flash Player in pochi secondi e lo farà partire.

flash_playonlinux
Installazione di Flash Player tramite PlayOnLinux

Dopo aver installato Flash Player, non sarà necessario neppure chiudere il browser. Aprite un video di MyMovies Live (per esempio il documentario che ho linkato prima) e potrete guardare il film senza fastidi. 😀

mymovies_linux
Visione di un film su MyMovies Live

Dall’immagine che ho messo non si può vedere, ma sia l’audio che la funzione schermo intero funzionano correttamente.

Come ultima cosa, preciso che usare PlayOnLinux con lo script per Firefox installerà anche un’altra copia di Wine. È infatti possibile averne più di una. Se questo vi da fastidio, PlayOnLinux contiene un gestore di versioni di Wine per rimuovere quelle aggiuntive.

Inoltre, potreste voler pulire i file temporanei creati in queste due cartelle nascoste nella vostra home:

.PlayOnLinux/ressources    # sì, con 2 "esse"
.PlayOnLinux/tmp

Quest’ultimo passo non è obbligatorio, l’ho messo solo per completezza d’informazione. 😉 Potete anche cancellare l’icona di Firefox che viene creata sul vostro desktop, e avviarlo direttamente dal menu di PlayOnLinux quando vi serve.

MyMovies Live è il primo sito web con Flash che si lamenta opponendosi agli utenti Linux. Tuttavia, non escludo esistano anche altri siti “problematici” e discriminatori che probabilmente si riescono ad usare con lo stesso metodo. Se ne siete a conoscenza, fatemelo sapere. 😀

Buona visione!

Prevenire il DNS leak per le connessioni VPN attivate tramite Network Manager

Questo articolo è un’aggiunta al mio precedente post sull’importanza delle VPN ed è dedicato a chi si collega a un servizio VPN usando il software Network Manager.

Il DNS è un servizio alla base di Internet. Si tratta di un server a cui il nostro computer chiede l’indirizzo IP di un sito. Infatti, i siti web sono identificati da un nome di dominio (per esempio www.andrealazzarotto.com) ma questo va tradotto in un indirizzo numerico, affinché il computer si possa collegare.

Funziona così (per semplificare):

Computer: Ciao! C’è qui il mio utilizzatore che vorrebbe visitare Google.com, mi dai l’IP?

Server DNS: Certamente, è 173.194.112.33!

In genere, il nostro router gestisce le richieste DNS verso il server che ci dà il nostro fornitore di accesso a Internet. I nostri computer fanno invece una richiesta DNS al router, quindi collegandosi ad un indirizzo tipo 192.168.0.1 (o comunque l’indirizzo del router) ed è il router che poi si arrangia a trovare la risposta prima di restituirla.

Se usiamo una VPN con Network Manager, si verifica un problema di DNS leak (è stato segnalato come bug), cioè le richieste DNS del nostro computer passano fuori dalla VPN e non sono protette! Questo diagramma spiega la situazione:

Collegamento VPN con DNS leak
Collegamento VPN con DNS leak

Le connessioni a siti esterni (in rosso) sono protette e passano in modo criptato attraverso la VPN, che poi le fa uscire verso Internet. Però le richieste DNS sono (di default) rivolte verso il router, che ha un indirizzo di rete interna e perciò passa fuori dalla VPN.

Il router, di conseguenza, effettua una richiesta DNS al server (in blu) e quindi di fatto permette di lasciare una traccia sui siti che presumibilmente abbiamo visitato (se c’è una richiesta DNS, ci sarà un motivo…). Senza contare che, in alcuni luoghi, i DNS potrebbero essere configurati per impedirci di visualizzare determinati siti (per esempio Facebook o Youtube).

Quello che vorremmo noi, invece, è che le richieste DNS fossero protette (e quindi passassero nella VPN, non tramite il router). In attesa che il bug venga risolto, vi consiglio due metodi: uno è più facile e si può fare per ogni connessione, l’altro è globale ma leggermente più complicato.

Metodo 1: modificare le connessioni singolarmente

In attesa che il bug venga risolto, un metodo facile che ho trovato per risolvere il problema è impostare i server DNS manualmente nelle impostazioni della connessione VPN (va fatto per ogni server). Per esempio, potremmo impostare i server DNS di Google così:

Configurazione statica dei server DNS su una connessione VPN
Configurazione statica dei server DNS su una connessione VPN

Le impostazioni vanno fatte sicuramente per IPv4, che è ancora la versione di IP più utilizzata. Se siete su una rete che utilizza IPv6, dovrete configurare anche dei DNS per questa versione del protocollo.

Metodo 2: forzare i DNS per tutte le VPN

Si può anche fare una modifica globale al sistema che induca tutte le connessioni VPN a usare un certo DNS.

Per ottenere il risultato che vogliamo, dobbiamo modificare un file di sistema relativo alle interfacce di rete. Quando ci colleghiamo in VPN, si attiva un’interfaccia di rete virtuale chiamata tun0. Noi imposteremo i DNS su questa interfaccia.

Dovete innanzitutto aprire il file come amministratori, per esempio su Ubuntu potete usare Gedit con il comando:

sudo gedit /etc/network/interfaces

Procedete quindi ad aggiungere, in fondo al file, le righe:

# Forza i server DNS su ogni connessione VPN
iface tun0 inet manual
dns-nameservers 8.8.8.8 8.8.4.4

Salvate e uscite. Tenete presente che questa è una configurazione solo per IPv4, non per IPv6. A questo punto dovete riavviare il sistema. Non basta chiudere la connessione, bisogna proprio riavviare.

Questa modifica ha il vantaggio che non richiede assolutamente di cambiare le impostazioni delle singole connessioni, ha un effetto globale su tutte le VPN che avvierete sul vostro computer. Inoltre, se volete cambiare i server DNS vi basta modificare un solo file e riavviare.

Attenzione: se usate anche VPN aziendali, badate che potrebbe darvi dei malfunzionamenti. Casomai testate e eventualmente annullate la modifica.

Passo finale: cambiare i DNS della connessione

Dopo alcuni test, ho verificato quanto riportato anche da altri: il semplice cambio DNS sulla VPN non previene il leak al 100%, specialmente se usate la funzione Connessione VPN automatica nelle impostazioni, per accedere automaticamente alla VPN quando si attiva il Wi-Fi o la rete cablata.

Per essere sicuri il più possibile, vi consiglio di modificare la connessione che usate sempre a casa (wireless o cablata) e impostare anche lì i DNS statici, mettendo la rete in modalità Automatico (DHCP) solo indirizzi. I parametri per la connessione saranno molto simili a quelli visti nel Metodo 1 per la VPN.

A questo punto, la combinazione di uno dei due metodi visti prima con quest’ultimo passo vi dovrebbe dare una copertura adeguata in tutte le situazioni. 😉 Quando il bug verrà risolto, tutto ciò non sarà più necessario.

Qualsiasi metodo adottiate, trovate un’ottima lista di server DNS su DuckDuckGo tra cui poter scegliere. Una volta attivata la modifica, la situazione sarà così:

Connessione VPN senza DNS leak
Connessione VPN senza DNS leak

La richiesta DNS (in verde) è sempre contenuta dentro al collegamento criptato della VPN (l’ho disegnata a parte solo per far capire la dinamica) e quindi il router non la riceve né la rimanda al server DNS. La richiesta non viene svelata né può essere dirottata o bloccata dal router.

Con questo, ho praticamente finito. Non mi resta altro da fare che ricordarvi che è buona norma attivare la VPN automaticamente quando si accede a determinate reti (per esempio il Wi-Fi di casa) in modo da essere sempre protetti. 😉

Vi auguro una buona e sicura navigazione!

Aggiornamento 14/01/2016: l’articolo è stato integrato con l’aggiunta dell’impostazione statica dei DNS nella connessione usata abitualmente.

Cos’è una VPN e perché è fondamentale usarla per proteggersi

Pur essendo nate per scopi aziendali, le VPN (Virtual Private Network, o reti private virtuali) vengono usate molto spesso anche dalle persone che hanno un po’ a cuore la sicurezza della propria navigazione in Internet.

Cosa consente l’uso di una VPN

Il funzionamento di base delle VPN, infatti, crea un tunnel virtuale tra il nostro computer e un server sicuro di proprietà del fornitore del servizio VPN. Tutto il traffico che effettuiamo passa in modo criptato dal computer al server, per poi uscire “normalmente” (quindi criptato per HTTPS e in chiaro per HTTP, FTP, e altro) su Internet.

In sintesi, questo permette di navigare in modo privato e sicuro anche nelle reti Wi-Fi pubbliche. Si tratta di reti dove normalmente chiunque potrebbe spiare quali siti stiamo visitando o le password che inseriamo in alcuni portali che non usano HTTPS.

Mai sottovalutare la privacy online
Mai sottovalutare la privacy online

Inoltre, consente di mitigare gli effetti della sorveglianza di massa. L’Italia è uno dei molti paesi europei che trattiene illegalmente traccia di tutte le comunicazioni (nel senso di data, ora, e soggetti coinvolti, non contenuto) dei cittadini italiani, senza che ciò richieda un’indagine e senza configurarsi come intercettazione. Questi dati rimangono disponibili almeno per un anno.

Come se ciò non bastasse, gli Stati Uniti e il Regno Unito possiedono molte delle infrastrutture di Internet e intercettano abitualmente il traffico:

[…] il Guardian ha scoperto che il GCHQ ha accesso direttamente alle grandi ‘autostrade’ delle telecomunicazioni: i cavi in fibre ottiche che trasportano le telefonate e il traffico internet mondiale, e ‘succhiando’ direttamente da questi, l’anno scorso è stato in grado di intercettare 600milioni di telefonate al giorno.

Mi fa piacere che il nostro governo “logghi” (tenga traccia nei file di log) tutta la navigazione degli italiani? Non tantissimo. È accettabile che lo facciano paesi esteri senza alcuna autorità sui cittadini italiani? Assolutamente no. :\

Usando un servizio VPN, la vostra navigazione Internet potrebbe andare a mischiarsi con quella di decine di altre persone e risulterà, per esempio, generata da un anonimo datacenter situato ad Amsterdam, vicino al Koninklijk Paleis (peraltro un magnifico posto!) invece che dall’indirizzo IP intestato a Mario Rossi, Via Tal dei tali 0, Milano. 😛

Certo, se la connessione stessa dovesse contenere informazioni personali in chiaro sarebbe teoricamente possibile correlare la trasmissione dei dati a una persona, ma solo quella in particolare, non tutte le altre (chissà di chi sono?).

Infine, un argomento che interessa a molti dei miei lettori: usare un servizio VPN ci permette di aggirare le barriere geografiche. Praticamente tutti i servizi VPN, specialmente quelli seri (quindi che richiedono un pagamento per coprire i costi del servizio, spesso comunque molto ragionevole) forniscono server in svariati paesi.

Quindi, voglio vedere un video sul sito della BBC? Teoricamente non potrei… ma poco male, mi collego al mio servizio VPN scegliendo un server nel Regno Unito e accedo al contenuto che era bloccato! 😀 Lo stesso vale per un sito negli Stati Uniti, o in Francia, o in Germania.

Se vogliamo consultare siti in nazioni particolari (per esempio piccoli stati non europei, mettiamo caso il Belize) è meglio verificare i server offerti dal provider VPN prima di abbonarsi, ma generalmente i principali paesi UE, gli USA, il Canada e l’Australia sono ben coperti.

Per i motivi finora esposti, è altamente consigliabile che tutti usino una connessione VPN sia a casa che fuori casa, sul PC e sullo smartphone (soprattutto fuori casa)! È una questione di privacy e sicurezza, due cose da non prendere mai sottogamba.

“Ma non ho nulla da nascondere”

Ci tengo ad aprire una piccolissima parentesi su questa cosa, perché ogni volta che la sento dire mi fa alzare il sopracciglio… Se avete pensato qualcosa come la frase qui sopra, vi vorrei chiedere un piccolo favore.

Gentilmente, lasciate un commento sotto a questo post contenente il vostro indirizzo email e la password di Facebook. Ah, per cortesia fate un grande archivio ZIP con tutte le foto e i documenti del vostro PC e caricatelo online, poi inviatemi il link tramite email. Sì, anche i documenti bancari. Casomai dovessimo incontrarci di persona, vi chiederò anche di lasciarmi il vostro telefono cellulare in mano per un’oretta, chiaramente mi darete anche il PIN.

Come? Avete cambiato idea? 😉 Bene!

Possiamo continuare la parentesi dicendo che il diritto alla privacy è tutelato dalle leggi italiane ed europee, e concludo con una citazione di Edward Snowden:

Dire che non t’importa del diritto alla privacy perché non hai nulla da nascondere è come dire che non t’importa della libertà di espressione perché non hai nulla da dire.

Proseguiamo.

Come scegliere un fornitore VPN

Questo è un argomento che ho brevemente accennato nel mio post sul download dei video dalla BBC, ma vorrei estendere un po’ la trattazione. Le esigenze personali possono variare, ma gli aspetti che vi consiglio di valutare sono:

  • Disponibilità di paesi → Di più è meglio, sostanzialmente. Diciamo che un numero tra 25 e 50 va bene, ovviamente verificate che ci siano quelli “principali” che molti utilizzano: Stati Uniti, Regno Unito, Germania, Paesi Bassi. Meglio se vi danno anche un server in Italia, perché potreste voler navigare in sicurezza ma guardare i video della Rai, ed eventualmente scaricarli anche quando siete all’estero.
  • Numero di dispositivi collegabili → Fidatevi, non volete comprare un servizio per poi rendervi conto che vi permette di collegare solo 1 o 2 dispositivi alla volta. Contando che in famiglia potreste avere un paio di PC e un paio di smartphone, 5 è il numero minimo a cui puntare. Se vi offrono meno, guardate altrove.
  • Supporto OpenVPN → Non voglio scendere nei dettagli tecnici, ma non tutti i tipi di crittografia sono ugualmente sicuri. PPTP non è granché sicuro e va evitato. OpenVPN è uno standard aperto e finora si è rivelato molto valido. Per fortuna molti fornitori offrono sia OpenVPN che altre possibilità.
  • Politica di logging → Verificate le condizioni sulla privacy del fornitore e controllate che garantiscano una zero logging policy (politica di registrazione nulla).
  • Sede legale dell’azienda → Io francamente eviterei provider americani. Certo, ce ne sono anche alcuni che lavorano bene… però sono sempre sottoposti alle leggi statunitensi, dove l’intercettazione non solo è praticamente sempre legale ma è anche una prassi standard. Provider di paesi europei (specialmente nordici), australiani o di Hong Kong in genere vanno bene.
  • Costo → Sarà scontato dirlo, ma se confrontate diversi provider guardate anche il prezzo. Quasi tutti richiedono un pagamento mensile (pochi euro, tra i 5 e i 10 solitamente) o annuale. Però spesso in rete si trovano offerte che consentono di pagare una volta sola. 🙂

Perché non quelle gratuite? Semplice, sono utili per usi sporadici, per esempio guardarsi un video su un sito americano ogni tanto, ma offrono pochi server, una scarsa velocità e assolutamente nessuna assistenza se qualcosa non va. Solitamente poi loggano tutto il vostro traffico.

A loro il servizio VPN costa tempo e denaro, se per voi è gratis significa che da qualche parte i soldi li devono recuperare… Meglio evitare di chiedersi come e pagare qualcosa di valido. Poi, come vedremo tra poco, si può spendere davvero poco e avere un servizio di qualità che comunque tuteli la privacy.

Riguardo alle offerte, se volete vi segnalo quelle che ho linkato anche nell’altro post, e che personalmente trovo valide e affidabili, con un account a vita davvero conveniente:

  • VPNSecure per 35$: È quella che uso più spesso e posso testimoniare sulla qualità dei server, la prontezza del supporto tecnico e il fatto che offra 5 dispositivi collegabili in contemporanea. Sede legale: Australia.
  • Ivacy per 40$: Offre una rosa di server niente male e il prezzo è piuttosto competitivo. Consente l’uso di 5 dispositivi contemporaneamente. Sede legale: Singapore.
  • KeepSolid VPN per 40$: Va tenuto presente che l’azienda ha una sede negli USA e consente 5 dispositivi in contemporanea, che però vanno “linkati”. Sede legale: Ucraina.
  • FastestVPN per 40$: Ha server in una ventina di nazioni diverse e fornisce accesso a ben 10 dispositivi in contemporanea. Sede legale: Isole Cayman.
  • RealVPN per 20$: Una soluzione un po’ più basilare e economica, con 5 dispositivi in contemporanea. Sede legale: Estonia.

In pratica si paga circa il costo di un solo anno di abbonamento, solo che dura per sempre (o per 20-30 anni, verificate le singole offerte). Chiaramente non siete obbligati a scegliere queste, sono solo spunti per iniziare.

Valutate secondo la vostra coscienza qual è il provider migliore, verificando online anche altre fonti e altri pareri. Ricordate che scegliere una VPN significa affidare le proprie connessioni a un altro provider oltre a quello che fornisce l’ADSL o il collegamento wireless. È una questione di fiducia, perciò scegliete ciò che ritenete più giusto.

Una volta comprata, rimane la domanda su quale paese usare come nodo di uscita. Posto che per siti particolari non c’è scelta (BBC significa Regno Unito, Hulu significa USA, France 3 significa Francia, eccetera) in genere la normale navigazione la farete sempre dallo stesso server.

Per una navigazione “normale” evitate server negli Stati Uniti. Vari paesi possono essere buone scelte. Per quanto riguarda quelli europei, sarebbero da preferire:

  • Paesi Bassi, praticamente l’unico paese UE senza data retention attualmente (Gennaio 2016)
  • Svezia, una tra le nazioni con le migliori norme sulla privacy in tutta l’UE
  • Islanda, non fa parte dell’UE e ha ottime leggi sulla privacy
  • Lussemburgo e Romania, sono altri due paesi che vengono spesso consigliati da moltissimi provider VPN

Maggiori dettagli su questo argomento li trovate in questo articolo del sito BestVPN.

Come collegarsi alla VPN

Generalmente, molti provider offrono una app per smartphone che consente un accesso facile dai dispositivi mobili. Qualora così non fosse, è comunque possibile configurare OpenVPN for Android in modo simile a quanto si fa con un PC. Io uso questo client anche se il mio provider fornisce la propria app, lo preferisco.

Riguardo ai computer, è bene sottolineare come gli utenti che ci tengono alla propria privacy dovrebbero indubbiamente usare Linux. È un po’ un controsenso usare le VPN se poi ci pensa Windows a spedire tutti gli affari propri a Microsoft. OS X Yosemite fa qualcosa di simile, e comunque la sicurezza è una delle ragioni per cui Linux è meglio di altri sistemi operativi.

Insomma, fate come volete… ma rifletteteci. 😉

Sulle più diffuse distribuzioni Linux in genere c’è un programma chiamato Network Manager, che è l’icona da cui ci si collega alle reti wireless o cablate. È possibile installare un plug-in per configurare con facilità la rete in modo grafico. Su Ubuntu e derivate si installa con il comando:

sudo apt-get install network-manager-openvpn

Il provider VPN in genere fornisce un archivio ZIP con dentro tanti file di configurazione OpenVPN, uno per paese. Ci sarà poi un certificato crittografico e delle chiavi.

Quello che dovete fare è semplicemente aprire il client OpenVPN e importare il file di configurazione (inserendo la password se richiesto). Da Network Manager si fa cliccando su:

[Icona NM] → Modifica connessioni → Aggiungi → Importa configurazione VPN salvata…

Questo passaggio va ripetuto per ogni server che si intende utilizzare, ma solo la prima volta. Le successive, la configurazione sarà già memorizzata nel proprio client e basterà un solo click per connettersi. Per esempio, ecco la lista di server che ho importato nel mio Network Manager:

Lista delle reti VPN importate in Network Manager

A questo punto è sostanzialmente fatta, perché possiamo navigare sapendo che le nostre connessioni avvengono attraverso la VPN in modo criptato, anche se ci troviamo in un bar con il Wi-Fi aperto! 😀

C’è però un piccolo dettaglio che bisogna tenere a mente se si usa Network Manager, ovvero il DNS leak. Pertanto, se usate questo programma per collegarvi al vostro servizio VPN, leggete questo mio articolo per saperne di più su come sistemare il problema.

Buona navigazione, sicura e privata!

Navigare su Pinterest senza registrazione

Pinterest è un sito web in cui gli utenti iscritti possono creare delle bacheche virtuali dove mettere metaforicamente una “puntina da disegno” (pin, appunto) per memorizzare immagini o pagine web su un certo argomento.

Io non ho un profilo, perché non mi appassiona molto, e così molte altre persone. Le difficoltà però iniziano quando si tenta di aprire l’home page del sito:

pinterest-home
Home  page di Pinterest

Si potrebbe pensare «poco male»… il problema è che molto spesso si ritrovano link a pagine Pinterest quando si cerca qualcosa su Google Immagini. Prendiamo ad esempio questo pin di un bel Tux (la mascotte di Linux) da costruire con il cartoncino. A prima vista sembra tutto normale, ma cosa succede se si fa scroll verso il basso?

pinterest-modal
Cominciano i problemi…

Appare ben presto una finestra modale che invita a registrarsi. Basta scorrere ancora un pochino e presto ci si ritrova con una schermata analoga alla home page. È pieno di contenuti interessanti ma sono coperti da un velo nero e impossibili da vedere. Anzi, su alcune pagine non si può neppure scorrere in basso. Ma in realtà i contenuti sono tutti lì.

Per quale motivo un utente del web dovrebbe farsi un account (seppur gratuito), con un’ulteriore password da ricordare e un ulteriore sito web a cui dare i propri dati, se i contenuti ci sono? Nessuno, chiaramente. 😉

Per questo ho sviluppato uno user-script per il browser, cioè un piccolo programmino che “ritocca” alcune pagine che visitate (in questo caso Pinterest).

Il risultato sarà questo:

pinterest-senza-login
Navigazione completa, senza fare storie

Il mio script si occupa di fare alcune correzioni alla pagina che avete aperto, in particolare:

  • rimuove finestre modali e richieste di registrazione
  • sblocca lo scorrimento nelle pagine dove è bloccato
  • rimanda alla pagina delle categorie (nella schermata) se si visita la home page di Pinterest
  • mostra una barra di ricerca basilare, visto che Pinterest l’ha rimossa per gli utenti non registrati

L’installazione richiede pochi click ed è molto semplice. 🙂

Se è la prima volta che installate uno script, dovete aggiungere una estensione al vostro browser:

Fatto ciò, potete passare al secondo passo, ovvero cliccare sul pulsante per aprire la pagina dove ho pubblicato lo script. Poi vi basterà premere Installa:

La cosa che mi ha sorpreso di più è il successo di questo script, senza che io ne abbia mai parlato nel blog! In particolare, ho rilasciato poco fa la versione 1.5, che aggiunge l’ultima funzionalità relativa alla ricerca.

Lo script, a partire dal primo rilascio, è online da circa un anno ed è stato già scaricato oltre 6000 volte. Gli è stato anche dedicato un articolo su Ghacks ma già prima suscitava un discreto interesse. Pur essendo uno dei più semplici tra tutti quelli che ho creato, è anche quello che mi ha fatto ricevere più donazioni in assoluto.

Insomma, pare proprio che la gente detesti le insistenti e pretestuose richieste di Pinterest, perciò spero che vi possa tornare utile. 😀

Vi è piaciuto l’articolo?

Scrivere software e guide come questa richiede tempo. Se avete trovato queste informazioni utili e vi è piaciuto il post, potete offrirmi un caffè cliccando sul pulsante. 🙂 Se lo fate, per favore lasciate una nota indicando che è per questo articolo.


Aggiornamento del 5 dicembre 2021: lo script, precedentemente caricato su GreasyFork, è stato ripubblicato su OpenUserJS.

Aggiornamento del 9 gennaio 2021: lo script è tornato disponibile anche su GreasyFork, a un nuovo indirizzo.

I migliori metodi per estrarre automaticamente notizie, ricette e altre informazioni dai siti web

Il web è una miniera di informazioni, il cui contenuto cresce a dismisura ogni giorno. Una necessità che ci troviamo ad avere frequentemente è quella di estrarre e salvare contenuti e dati. In passato ho trattato l’estrazione dei contenuti audio e video, ma esistono anche moltissimi contenuti testuali, come notizie, ricette o tabelle con dati numerici.

Inoltre è molto utile essere notificati quando il contenuto di un sito cambia, per esempio pubblicando un nuovo articolo o aggiungendo delle foto a una galleria. Tuttavia, non tutti i siti offrono dei feed RSS già pronti.

Vi avevo anticipato che avrei trattato questo argomento al Linux Day 2015 e finalmente è pronto il filmato del mio intervento. 🙂 Riporto qui la descrizione e il video del talk:

Il web è pieno di informazioni utili: non solo dati numerici, ma anche notizie, tutorial, ricette e gallerie di immagini. Tuttavia, spesso i siti web rendono complicato estrarre le informazioni che ci interessano per poi elaborarle o convertirle. Inoltre, a volte è utile tenere traccia degli aggiornamenti che vengono pubblicati su una certa pagina.

In questo talk vengono analizzati strumenti e tecniche per risolvere efficacemente questo problema tramite il web scraping.

Clicca qui per mostrare contenuto da YouTube.
(leggi la privacy policy del servizio)

Siamo stati costretti ad usare una telecamera di riserva, per problemi tecnici con quella principale. Per questo il video è di scarsa qualità, ma ci sono le slide in sovrimpressione che compaiono quando necessario, quindi è tutto leggibile.

Se volete, potete scaricare le slide in PDF dal sito del GrappaLUG, cliccando qui.