app_android

Come si creano le app Android — Linux Day 2016

Il 22 ottobre si è svolto il Linux Day 2016 in tutta Italia. Come ormai faccio da anni, ho partecipato all’organizzazione di quello di Bassano del Grappa (VI) assieme a GrappaLUG.

Il Linux Day è un evento fantastico per vari motivi: è gratuito, si trova in decine di città in tutto il paese, e consente alle persone di avvicinarsi a Linux e conoscere varie tematiche relative al mondo del software libero.

Quest’anno ho deciso di proporre un talk basato essenzialmente sul mio lavoro, parlando dello sviluppo di app per Android, il quale è un sistema operativo basato su Linux, perciò eravamo pienamente in tema. 🙂

Di seguito potete vedere la registrazione del talk e le slide su SlideShare. Se volete scaricarle, le trovate sul sito del GrappaLUG. Naturalmente fatemi sapere se avete qualche domanda o dubbio. Buona visione!

ntfs_esc2016

Ricostruzione forense di NTFS con metadati parzialmente danneggiati — Video e slide

Come vi avevo anticipato circa un mese fa:

Mi è stato proposto di partecipare all’ESC 2016 e di tenere un talk attinente al mio lavoro di tesi sul file system NTFS. ESC è un incontro di persone interessate al Software e Hardware Libero, all’Hacking, al DIY. Si tratta di un evento con contenuti in continua evoluzione, che vengono creati dai suoi partecipanti.

L’organizzazione di ESC ha fatto un ottimo lavoro in termini di video, infatti tutti gli interventi sono già disponibili sul loro canale YouTube. Ci sono moltissimi talk interessanti e naturalmente desidero segnalarvi anche il mio, intitolato Ricostruzione forense di NTFS con metadati parzialmente danneggiati.

Purtroppo c’è stato un piccolo problema tecnico: per motivi logistici non ho potuto presentare con il mio laptop ma ho dovuto usare il portatile che era presente (per di più, ehm… con Windows). Le scritte si sono un po’ sballate.

Il laboratorio non è stato filmato, ma in sostanza ho mostrato RecuperaBit in azione su alcuni casi di esempio che sono discussi anche nel talk.

Di seguito invece trovate le slide pubblicate su SlideShare (cliccate qui per il PDF):

Avete domande? Qualche parte non è chiara? Lasciate pure un commento qui sotto.

unifying_logo

Gestire i dispositivi Logitech Unifying con Linux

Logitech produce una grande quantità di periferiche per PC, tra cui molti modelli di mouse e tastiere wireless. Da qualche anno, i principali dispositivi Wi-Fi di questa marca utilizzano la tecnologia Unifying. In pratica, sono dotati di un piccolo ricevitore USB che consente di collegare fino a 6 dispositivi diversi.

Recentemente ho comprato un mouse Logitech e qualche tempo dopo anche una tastiera della stessa marca per poter usare un solo connettore sul portatile. L’obiettivo era quello di risparmiare una porta USB, delle tre disponibili sul mio laptop. In particolare, utilizzo:

  • Logitech T620 (mouse)
  • Logitech K360 (tastiera)

Sembra quasi superfluo dirlo, ma purtroppo Logitech (come molti altri produttori) non fornisce il software di configurazione per Linux, anche se (lo scopro solo ora) c’è un’estensione per Chrome non ufficialmente supportata che dovrebbe funzionare. Non è proprio il massimo.

Per fortuna però il T620 è uno dei pochissimi mouse touch a funzionare perfettamente senza installare alcun programma di configurazione dei tocchi. Perlomeno, è l’unico che ho trovato in giro.

Il problema rimaneva quello di configurare i due dispositivi per usare un unico connettore. Ho impostato tutto in pochi click usando il software Solaar e il ricevitore fornito col mouse, ma un qualsiasi connettore Unifying sarebbe andato bene.

Installare Solaar

Il programma è costituito da due parti: lo strumento da terminale e una semplice interfaccia grafica. Per installarlo su Ubuntu basta cercare Solaar nel gestore software, oppure si può usare questo comando:

sudo apt install solaar

Per altre distribuzioni Linux è probabile che lo possiate trovare nei rispettivi gestori di pacchetti. In alternativa, il sito ufficiale fornisce il link a pacchetti per Gentoo, OpenSUSE e Arch più i sorgenti da compilare su qualsiasi distro.

Il programma partirà automaticamente dal vostro prossimo log in, ma per il primo avvio lo dovete eseguire manualmente dal menu delle applicazioni. Comparirà un’icona nel pannello degli indicatori, dalla quale potrete vedere il ricevitore e i dispositivi collegati.

Indicatore di Solaar
Indicatore di Solaar

Nella figura potete vedere che il mouse è già accoppiato e funzionante. Inoltre, si può aprire la finestra principale del programma cliccando sulla riga Unifying Receiver.

Finestra principale di Solaar con le informazioni sul ricevitore
Finestra principale di Solaar con le informazioni sul ricevitore

Configurare i dispositivi

Per accoppiare un nuovo dispositivo è sufficiente fare click su Pair new device e seguire le istruzioni a schermo. In pratica basta accendere il nuovo dispositivo quando appare la finestrella con la barra che ruota oppure (se acceso) spegnerlo e riaccenderlo.

Ricerca del dispositivo da accoppiare
Ricerca del dispositivo da accoppiare
Dispositivo rilevato da Solaar
Dispositivo rilevato da Solaar

Una volta terminata la ricerca, Solaar consente di avere alcune informazioni sul dispositivo collegato, tra cui la carica della batteria e l’eventuale cifratura del collegamento Wi-Fi con il computer. È ottimo per tenere tutto sotto controllo!

Informazioni sulla tastiera
Informazioni sulla tastiera
ESC2016

Il mio talk a ESC 2016 — Giovedì 01/09/2016, Forte Bazzera (VE)

Mi è stato proposto di partecipare all’ESC 2016 e di tenere un talk attinente al mio lavoro di tesi sul file system NTFS. ESC è un incontro di persone interessate al Software e Hardware Libero, all’Hacking, al DIY. Si tratta di un evento con contenuti in continua evoluzione, che vengono creati dai suoi partecipanti.

In particolare, ESC utilizza la formula del campeggio per riunire gli appassionati i quali poi possono assistere a talk e seminari, oltre a partecipare a laboratori vari e LAN party. I talk, caps e labs ufficiali saranno programmati da giovedì 1 a sabato 3 settembre, ma chi lo desidera può arrivare già mercoledì 31 e restare fino a domenica 4.

Il mio talk si svolgerà giovedì 1 settembre, di pomeriggio:

Giovedì 01/09/2016 — 15:00:00
Ricostruzione forense di NTFS con metadati parzialmente danneggiati
Andrea Lazzarotto (Lazza)
Forte Bazzera (VE)

A seguito terrò anche un laboratorio dove mostrerò l’utilizzo pratico di RecuperaBit, il mio software per la ricostruzione di NTFS.

L’ingresso è gratuito, e da quest’anno anche il campeggio. Tuttavia, c’è un limite al numero di partecipanti. È quindi necessario pre-registrarsi obbligatoriamente in maniera da rispettare il criterio “primo arrivato, primo servito”.

Potete trovare tutti i dettagli riguardo all’evento, compresa la lunga lista di interessantissimi talk e laboratori sul sito di ESC 2016. 🙂

talk_recuperabit_video_slide

Recuperare dati da partizioni NTFS danneggiate — Video e slide

Il Veneto è una regione particolarmente fortunata: siamo la seconda in tutta Italia per numero di LUG (Gruppi di Utenti Linux), dopo la Lombardia. Questo è possibile grazie all’incessante lavoro dei membri di tante associazioni. Tuttavia, potete trovare dei LUG in tutta Italia: non lasciatevi sfuggire queste opportunità e seguite i siti web dei LUG più vicini a voi per essere informati sugli eventi e le attività che organizzano. Io personalmente partecipo alle attività del GrappaLUG di Bassano del Grappa (VI).

Il mio talk sulla ricostruzione di NTFS

Come vi avevo scritto qualche tempo fa, il 7 giugno sono stato ospite del LUG Vicenza per un talk relativo alla mia tesi di laurea magistrale e il mio software RecuperaBit. Ovviamente, se siete di queste parti andate a visitare il loro sito web perché fanno un sacco di ottime attività di grande interesse e utili per tutta la comunità.

Devo dire che fare un talk da loro è stata un’esperienza davvero piacevole. L’organizzazione è stata perfetta, incluso il modo in cui è stato registrato il video. Mi ha piacevolmente sorpreso avere la partecipazione di una delegazione del LugBS, con tre persone venute addirittura da Brescia. Ciò mi ha onorato particolarmente.

Quello che ho cercato di fare è stato spiegare l’argomento in modo non eccessivamente tecnico ma allo stesso tempo accurato. È sempre difficile essere precisi senza essere noiosi, ma almeno ci ho provato. 😀

Ecco un estratto di alcuni commenti ricevuti dai partecipanti:

La serata di ieri è stata interessantissima. La tua esposizione è stata chiara, precisa, professionale ed illuminante.

Alla fine hai mostrato in maniera pratica il funzionamento del tuo software che è risultato disarmantemente semplice da usare, ma potentissimo!

— Marco

Bellissimo assistere a:

  • una persona preparata che ha scritto un programma
  • per giunta ti spiega come ha ragionato e come lavora: te ne vai a casa con un maggior grado di consapevolezza invece che un utente “passivo” che adopera un programma ma che fa un atto di fede e si affida ad esso senza sapere come lavora
  • e poi la parte pratica! Non finirò mai di insistere su questo punto 😀 Grande valore aggiunto!

— Luigi

L’argomento era effettivamente molto tecnico ma è stato spiegato con molta scioltezza da una persona che conosceva l’argomento in modo approfondito. Io ed i miei colleghi sistemisti abbiamo più che apprezzato.

— Vincenzo

La difficoltà non era tra le più basse, ma è stato tutto spiegato bene e tutto sommato in maniera leggera e con slide divertenti. Personalmente non sapevo nemmeno cosa significasse la parola forense, adesso ho tante cose in più nel bagaglio.

— Alessandro

È chiaro che l’argomento trattato da Andrea non fosse di vastissimo interesse, anch’io non avrei mai pensato di aver necessità di recuperare dati da un HD, ma vi assicuro che quando ti capita, riuscire a trovare un software adatto e (soprattutto) una persona che ti dia le dritte giuste è oro colato!

— Stefano

Il video e il materiale

Per chi non può esserci fisicamente, il LUG Vicenza registra puntualmente i video dei talk e li pubblica online. La qualità del video è molto buona, specialmente perché l’audio è stato registrato con un microfono esterno e quindi non ci sono interferenze. 🙂

Questo è il video disponibile su YouTube:

Di seguito invece trovate le slide pubblicate su SlideShare (cliccate qui per il PDF):

Per quanto riguarda il materiale che potete usare per i test, ne ho già parlato nel post precedente quindi potete leggere quello per maggiori dettagli.

Le prossime tappe

Ieri sera, come tutti i venerdì 17 che si rispettino, c’è stata la cena dei LUG veneti. Mi è stata fatta la proposta di riproporre un talk analogo a Schio (VI) presso l’AVi LUG e a Montebelluna (TV) presso il MontelLUG. Insomma, l’argomento sta diventando richiesto!

Naturalmente sono ancora idee e proposte non confermate, ma tenete d’occhio i loro siti… prima o poi potrei davvero fare un talk anche lì. 😉

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.

talk_ntfs

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! 🙂

scatto_volantino_16_9

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!

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 39$: È quella che uso io e posso testimoniare sulla qualità dei server, la prontezza del supporto tecnico e il fatto che offra 10 dispositivi collegabili in contemporanea. Sede legale: Australia.
  • GetFlix per 39$: Un servizio ideale per lo streaming video perché fortemente orientato allo SmartDNS, ma offre anche il collegamento VPN fino a 3 dispositivi in contemporanea. Sede legale: Turchia.
  • PureVPN per 69$: L’account è a vita ma va rinnovato ogni 5 anni contattando il supporto tecnico, come scritto nei dettagli. A parte questa piccola scocciatura, offre però una lista davvero molto ampia di server e l’uso di fino a 5 dispositivi in contemporanea. Sede legale: Hong Kong.

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, proseguite la lettura per saperne di più su come sistemare il problema.

Prevenire il DNS leak per le connessioni VPN attivate tramite 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.