Cifrare i dati presenti sull'hard disk, garantire la riservatezza delle e-mail, navigare in Internet in completo anonimato... ecco cosa è possibile fare per evitare che i nostri dati finiscano in mani sbagliate !
(pagina 5 di 8)
Privoxy ci ha permesso di proteggere le nostre
informazioni personali da occhi indiscreti
e filtrare il traffico che arriva verso il nostro PC da
Internet. (in realtà questo Privoxy può funzionare
anche come cache web per tenere in locale una
copia delle pagine visitate, in modo da riuscire a
caricarle più velocemente nel momento in cui
qualche client ne fa richiesta). Il passo successivo
è puntare al completo anonimato durante
le nostre scorribande sul web. Per raggiungere questa
meta agognata faremo uso della rete anonima
Tor. In pratica, si tratta di una sorta di un
proxy che, durante le sessioni di navigazione su
Internet, invia le richieste che noi facciamo ai
server che vogliamo visitare, ad un'ampia e sempre
mutevole serie di router (i server della rete Tor).
Un simile articolato passaggio dei dati fra questi
router e l'impiego della crittografia nello scambio
delle informazioni, quindi, fanno sì che sia
praticamente impossibile rintracciare la nostra
posizione, non solo per i siti web destinatari ma
anche per qualsiasi intermediario che si trovi tra
noi ed essi, rendendo dunque vano qualunque
tentativo di analisi del traffico. In sintesi, la nostra
identità resterà sempre sconosciuta, pur garantendoci
la navigazione.
Tor e Privoxy: unione perfetta
Nel tutorial “Navigare anonimi con Tor”, scopriremo
come far comunicare Privoxy con Tor
per costruire un sistema in grado di garantire la nostra
privacy sempre e ovunque. In realtà è possibile
utilizzare direttamente Tor, senza dover necessariamente
passare per un secondo proxy server:
perché, allora, aumentare la complessità della
configurazione con l'impiego aggiuntivo di Privoxy?
Il motivo è semplice. Quando si fa uso del
solo Tor è possibile che le richieste DNS vengano
effettuate in modo diretto, senza passare
cioè per la rete Tor; fatto che indebolisce inevitabilmente
l'anonimato, facilitando l'individuazione
del nostro indirizzo IP. Un altro problema è
che Tor, di per sé, non può impedire che vengano
inviate ad un server web preziose informazioni
personali (nome, cognome, dati vari presenti
all'interno dei cookie, ecc...). L'utilizzo combinato di Privoxy e Tor, dunque, risolve entrambi
i problemi perché le richieste DNS
verranno fatte passare necessariamente
attraverso Privoxy, che allo stesso
tempo svolgerà il compito per il quale
lo abbiamo già utilizzato in precedenza,
cioè il filtraggio del normale traffico web.
Navigare anonimi con Tor
L'accoppiata con Privoxy rende impossibile a chiunque scoprire la nostra identità
Tor chiama Privoxy
Per installare Tor apriamo una
console ed eseguiamo “sudo aptget
install tor”. A questo punto, dobbiamo
farlo dialogare con Privoxy, in modo tale che
per la navigazione venga utilizzando comunque
il proxy. Per fare ciò è necessario
modificare il file di configurazione di Privoxy
/etc/privoxy/config.
Passaggio obbligato
Lanciamo quindi “sudo nano
/etc/privoxy/config”. Nel file inseriamo
la riga “forward-socks4a /
127.0.0.1:9050 .”Dove, 127.0.0.1 è l'indirizzo
IP di Tor (macchina locale) mentre 9050
è la porta su cui questo risponde. Prima di
procedere, assicuriamoci di aver seguito i
passi visti prima per configurare Privoxy.
Più facile con Firefox
Questo browser dispone di
un'estensione che rende l'uso
di Tor quasi banale. Andiamo sulla pagina
web di Torbutton e clicchiamo su “Install
Now/Installa adesso”. Riavviamo Firefox.
Cliccando in basso a destra nel browser
attiveremo (Tor Enabled) e disattiveremo
(Tor Disabled) la navigazione anonima.
Il PC come server Tor
Ecco come divenire parte attiva della rete anonima senza consumare troppa banda
Le direttive giuste
Per attivare un relay il software
che ci serve è contenuto nel pacchetto
Tor che abbiamo installato in precedenza.
Per la configurazione bisogna, invece,
modificare il file /etc/tor/torrc. Apriamo
dunque una console ed eseguiamo “sudo
nano /etc/tor/torrc”. Nella parte finale del
file cerchiamo la riga che inizia con
'#Nickname'.
Il nome del server
Decommentiamo la riga togliendo
il carattere # iniziale e diamo
un nome al nostro relay, ad esempio “myprivacy”:
la riga di testo diventerà
“Nickname myprivacy”. A questo punto,
spostiamoci più in basso e individuiamo la
riga “#BandwidthRate”. Per offire banda in
upload a 256 Kbit/s modifchiamola in
“BandwidthRate 20 KB”
La porta di rete
Spostiamoci ancora più avanti
nel file torrc e decommentiamo
la riga “#ORPort 9001” facendola diventare
“ORPort 9001”. Salviamo e chiudiamo
l'editor, dopodiché riavviamo Tor con “sudo
/etc/init.d/tor restart”. Se usiamo un firewall
(quello del router ADSL, ad esempio)
assicuriamoci che permetta l'accesso
alla porta 9001 dall'esterno.
La cifratura dei dati non basta
Ecco perché criptare una sessione di navigazione non è sufficiente?
Le sessioni web in cui vengono comunicati
dati sensibili sono comunemente cifrate:
pensiamo, ad esempio, agli acquisti online
per i quali è necessario fornire gli estremi
della carta di credito. Tutto ciò non basta
per assicurare la nostra privacy? No. I
pacchetti che transitano su Internet sono
formati da un'intestazione e dal blocco vero
e proprio dei dati. Anche in caso di cifratura,
l'intestazione viaggia in chiaro: questa
contiene informazioni come sorgente,
destinazione e percorso di instradamento;
tutto ciò è più che sufficiente per fornire
dati su di noi che non vorremmo rendere
pubblici. La rete Tor pone rimedio a questo
problema.
Da client a router Tor
Abbiamo visto come sia semplice utilizzare
il client Tor per navigare nel web
in modo anonimo. La rete Tor funziona
grazie al contributo volontario di utenti
che mettono a disposizione la loro
banda attivando un router Tor (detto anche
relay): più router compongono la
rete anonima, più Tor diventa veloce ed
efficiente. Per attivare un relay sulla propria
macchina è sufficiente una comune
connessione ADSL 640/256 Kbit/s.
Questa operazione, oltre a migliorare le
prestazioni della rete, renderà più robusto
l'anonimato anche dal lato client
(infatti, in caso di attacco, sarà impossibile
stabilire se il vostro indirizzo ha
attivato direttamente la connessione o
ha semplicemente avuto il ruolo di router
nella propagazione della connessione
alla rete Tor). Vediamo come attivare
un router sul nostro PC nel tutorial
“Il PC come server Tor”.
Gli accessi al relay
Data la natura anonima della rete Tor,
è possibile che i relay vengano utilizzati
per commettere abusi. Per evitare questo,
la configurazione di default di tor
pone alcuni limiti ai servizi attivi: ad
esempio, viene chiusa la porta 25 così
da impedire che un relay venga utilizzato
per inviare email di spam. Alla pagina
http://wiki.noreply.org/noreply/ TheOnionRouter/
TorFAQ#DefaultPorts troviamo
un elenco delle porte chiuse (righe
“reject”) e di quelle aperte (righe “accept”).
Per modificare la configurazione
in tal senso è possibile intervenire sul
file /etc/tor/torrc: l'opzione da usare
è ExitPolicy. Ad esempio, per far sì
che il nostro relay non venga mai reso
disponibile come exit node inseriamo
la riga “ExitPolicy reject *:*”. In
tal modo, il relay sarà di tipo middleman ed il nostro IP non comparirà mai
nei log dei web server contattati dai
client tor.
E-mail sicure con GnuPG
A volte i nostri messaggi possono andare nelle mani sbagliate. Allora, l'unico modo per proteggerle è renderle leggibili solo a chi vogliamo noi. Ecco come Dopo esserci occupati della riservatezza dei dati presenti
sull'hard disk e dell'anonimato durante la navigazione
web, è il momento di proteggere da sguardi
indiscreti le e-mail. Per fare questo ci serviremo di un sistema
di crittografia a chiave pubblica, chiamato OpenPGP. Scopriamone caratteristiche e funzionalità nelle pagine
che seguono.
Quando a proteggerci è una coppia di chiavi
Crittografia a chiave pubblica: l'uso di una simile terminologia
può spaventare e, almeno per quanto riguarda gli
utenti meno smaliziati, è probabile che faccia venire in
mente più dei film di spionaggio che dei normali software
per computer. In realtà, il funzionamento di questo sistema
di criptazione è concettualmente piuttosto elementare:
un utente che voglia usufruirne non fa altro che
creare una coppia di chiavi, una privata ed una pubblica
(da qui il nome). La chiave privata deve essere conosciuta
soltanto dall'utente, mentre quella pubblica va distribuita
e consegnata a tutti coloro da cui l'utente stesso
vuole ricevere messaggi cifrati. Grazie a queste due
chiavi potremo firmare e decrittare messaggi: per “firmare” si intende la possibilità di attestare con certezza la
paternità di un messaggio (ad esempio, noi firmiamo con
la nostra chiave privata un messaggio su di uno newsgroup
e l'autenticità di questo potrà poi essere verificata
da un qualsiasi destinatario mediante l'utilizzo della
nostra chiave pubblica). Per crittare un messaggio, invece,
ci serviremo della chiave pubblica dell'utente a cui
vogliamo inviarlo.
Prima operazione, creare la chiave
Nel primo dei tutorial presentati in questa sezione, “La chiave
di cifratura personale”, ci occuperemo di come
creare una coppia di chiavi utilizzando il programma
GnuPG, un software distribuito con licenza GNU GPL
compatibile con OpenPGP. In particolare, al termine del
terzo passaggio, una volta inserita e confermata la passphrase
(che servirà a proteggere l'accesso alla nostra chiave
privata), dovremo “aiutare” la generazione di dati casuali
per la chiave spostando il puntatore del mouse,
premendo dei tasti a caso o, semplicemente, continuando
ad usare il PC come facciamo di solito. Alla fine dell'operazione
otterremo il cosiddetto key-id, il codice di identificazione per la nostra chiave: cerchiamo
nell'output in console una riga del tipo
“pub 1024D/2E5EFA5F 2007-12-10”, il nostro
key-id sarà costituito dagli 8 caratteri successivi
a '1024D/' (nell'esempio “2E5EFA5F").
La chiave di cifratura personale
I passaggi per crearne una senza scadenza per il nostro utente
Il tipo di chiave
Apriamo una console e scriviamo
“gpg --gen-key”. Ci verrà chiesto
di indicare il tipo di chiave da utilizzare. Confermiamo
la scelta di default, 'DSA and Elgamal”
premendo Invio. Quindi stabiliamo
le dimensioni della chiave. Anche qui, premiamo
Invio per accettare la scelta di default
(2048 bit).
Con o senza scadenza
A questo punto, dobbiamo indicare
la durata della chiave.
Possiamo anche sceglierne una senza scadenza
(scelta di default), nel qual caso è
sufficiente premere Invio. Altrimenti possiamo
specificarne la durata. Ad esempio,
inserendo come risposta “3m” la chiave
scadrà dopo tre mesi.
Dati personali
Premiamo “y” e poi Invio per
confermare i dati inseriti. A
questo punto digitiamo nome e cognome,
il nostro indirizzo e-mail e un commento
(per lasciarlo vuoto premiamo Invio), dopodiché
scriviamo “o” e diamo un Invio.
Infine, inseriamo una passphrase, ancora
Invio e reinseriamola per conferma.
Revocare una chiave
Qualcuno è riuscito ad ottenere la nostra chiave privata? Ritiriamola!
Quando una chiave privata arriva in mano
ad estranei è ormai compromessa e
quindi inutilizzabile. Lo stesso accade se
dimentichiamo la passphrase o perdiamo
la chiave stessa. In tutti questi casi
dobbiamo avvertire gli altri che la chiave
non deve essere più usata. Per fare ciò,
creiamo appena possibile un certificato
di revoca: in console eseguiamo “gpg --
output revoca.asc --gen-revoke nome”
(al posto di 'nome' inseriamo il nostro
nome, l'email oppure il key-id). Spostiamo
in luogo sicuro il file revoca.asc.
Quando vorremo disattivare la chiave basterà
importare il certificato con “gpg --
import revoca.asc” ed inviare la nostra
chiave aggiornata (e debitamente revocata)
al keyserver, nel modo spiegato nel
tutorial “Memorizzare la chiave in un
keyserver”.
Come importare una chiave
Nel tutorial “Memorizziamo la chiave in un keyserver”
abbiamo imparato il modo più semplice
per rivelare agli altri la nostra chiave pubblica.
Ora vediamo come ottenere l'inverso, cioè come
importare nel nostro “keyring” la chiave
pubblica di qualcun altro. Quello di cui abbiamo
bisogno è un file ASCII con la chiave: possiamo
ottenerlo inserendo il nominativo da
cercare nella pagina principale del sito keyserver.
veridis.com e cliccando poi sul pulsante
Search, oppure facendoci spedire via
e-mail il file dall'utente stesso. Una volta che
questo file è nelle nostre mani, apriamo una
console e digitiamo “gpg --import key.asc”
(key.asc è il nome del file ASCII con la chiave
pubblica che vogliamo importare).
Controllare le
“impronte digitali”
Per sicurezza, controlliamo che la chiave appena
ottenuta sia effettivamente di chi crediamo:
contattiamolo (basta una telefonata!)
e facciamoci leggere il fingerprint relativo alla
sua chiave; un fingerprint non è altro che
una sorta di “impronta digitale” che attesta che
la chiave pubblica in nostro possesso sia autentica.
Eseguiamo in console il comando “gpg
--fingerprint”: in output otterremo l'elenco
delle chiavi disponibili con i relativi fingerprint;
cerchiamo le righe che riguardano la chiave
che ci interessa e confrontiamo il fingerprint
ottenuto in precedenza con il codice presente
nella linea “Key fingerprint =”: in pratica i due
valori devono corrispondere esattamente. In tal
caso, possiamo apporre una firma alla chiave
pubblica, così da attestarne la validità in
modo definitivo. Per farlo, eseguiamo “gpg -
-edit-key amico” (amico è il nome o l'indirizzo
e-mail del proprietario della chiave, completi
o parziali) e sulla linea di comando di gpg
digitiamo “sign”, dopodiché premiamo Invio.
Infine, usciamo dalla modalità interattiva del
programma con “ quit2”.
Memorizzare la chiave in un keyserver
Distribuiamo la nostra chiave pubblica, così da poter ricevere e-mail protette
Esportare la chiave
Apriamo una console e scriviamo
“gpg -a --export >
public.key”. Con questo comando abbiamo
creato un file, public.key, contenente la versione
in ASCII (testo semplice) della nostra
chiave pubblica. Possiamo inserire questo
file nel nostro sito web personale oppure
memorizzarlo in un keyserver.
Quale Keyserver?
Scegliamo la seconda ipotesi: in
questo modo coloro che intendono
inviarci e-mail cifrate dovranno semplicemente
cercare il nostro nome nel keyserver.
Con il web browser apriamo l'indirizzo
“ http://keyserver.veridis.com”. Nella
prima pagina, al centro, clicchiamo sulla
scritta “Import your key”.
Upload sul server
Nella nuova pagina clicchiamo
su “Sfoglia...” e con il selettore
di file raggiungiamo e selezioniamo il file
public.key creato in precedenza. A questo
punto, premiamo sul pulsante “Submit”.
Adesso la nostra chiave è inserita nel keyserver:
in alto nella pagina comparirà una
riga con i dati salienti che la riguardano.
Inviare e-mail criptate
Arrivati a questo punto, disponiamo di tutto il
necessario per poter inviare messaggi di posta
cifrati. Per completare questo discorso,
nel tutorial “Posta cifrata e firmata con Evolution”, quindi, vedremo come configurare il client e-mail
Evolution (presente come predefinito in molte distribuzioni
che utilizzano Gnome) per raggiungere tale scopo.
Inoltre, nel tutorial “KMail incontra GnuPG”, scopriremo
come inviare e-mail criptate con il client KMail, il programma
di posta predefinito nelle distribuzioni che utilizzano
KDE. Infine, impareremo a leggere le e-mail cifrate
inviateci da altri utenti.
Gestire le chiavi con un semplice clic
SeaHorse con la schermata per la creazione di una nuova chiave
Certo, GnuPG è uno strumento universale: può essere utilizzato
all'interno di qualsiasi ambiente, grafico o meno,
e fornisce un numero copioso di funzionalità (oltretutto,
su Ubuntu lo troviamo installato di default). Quando però
il nostro “portachiavi” arriverà a contenere decine e decine
di chiavi i limiti di gestione mediante un software a linea
di comando, seppur valido, si fanno sentire. Quello
che bisogna fare, allora, è ricorrere all'utilizzo di una più
intuitiva interfaccia grafica, che ci consenta di compiere
le operazioni più ripetitive con qualche semplice clic del
mouse (per le operazioni più articolate e complesse, invece,
è sempre consigliabile usare direttamente GnuPG).
I programmi più evoluti per svolgere questo tipo di compito,
sono Seahorsee Kgpg, due software grafici, rispettivamente
per i desktop Gnome e KDE, che permettono
di sfruttare le potenzialità di GnuPG senza dover
ricorrere alla riga di comando. I due programmi sono
molto simili: permettono di creare nuove chiavi PGP, ottenere
informazioni su quelle esistenti, importarle ed
esportarle, effettuare backup dei keyring, ricercare chiavi
sui server remoti e così via. Ad esempio, con SeaHorse,
per creare una nuova chiave non dobbiamo far altro
che andare sul menu Chiave e selezionare la voce “Crea
una nuova chiave”: nella finestra che compare clicchiamo
due volte su “Chiave PGP” ed inseriamo poi,
nome e cognome, indirizzo e-mail, tipo di cifratura, ecc...
Posta cifrata e firmata con Evolution
Come proteggere le e-mail con GnuPG e il client di posta per Gnome
Il nostro KEY-ID
Selezioniamo Modifica/
Preferenze, entriamo nella sezione
“Account di posta'” e clicchiamo due
volte sulla voce relativa al nostro account email
predefinito. Successivamente, nella finestra
Editor account andiamo sulla linguetta
“Sicurezza” e in “ID della chiave
PGP/GPG” inseriamo il nostro key-id.
Nuovo messaggio
Clicchiamo su “OK” in basso e
poi su “Chiudi” per tornare alla
finestra principale del programma. A questo
punto, premiamo su “Nuovo” in alto
per scrivere un nuovo messaggio. Nella finestra
Composizione messaggio entriamo
nel menu “Sicurezza” e selezionamo le opzioni
“Firma PGP” e “Cifratura PGP”.
Invio posta cifrata
Assicuriamoci di inserire come
destinatario dell'e-mail un
utente del quale abbiamo la chiave pubblica
PGP nel “portachiavi”. Così facendo,
quando cliccheremo sull'icona “Invia”
comparirà una finestra in cui dovremo inserire
la passphrase: servirà per firmare
l'e-mail con la nostra chiave privata.
Cifrare le e-mail con Kde
I pulsanti per firmare e cifrare le e-mail con KMail
Nel tutorial “KMail incontra GnuPG”, scopriremo come configurare il client di posta di KDE per poter
inviare e-mail criptate. Dopo aver seguito i passaggi
del tutorial, potremo spedire un messaggio
di posta cifrato: andiamo come di consueto
su File/Nuovo/Nuovo messaggio e nella
finestra del compositore dei messaggi inseriamo
come destinatario una persona di cui
conosciamo la chiave pubblica PGP. A questo
punto, clicchiamo sulle icone “Firma il messaggio”
e “Cifra il messaggio” presenti in alto
nella barra degli strumenti.
Dalla parte di chi legge
• Il client Evolution quando riceviamo un'e-mail cifrata
Con i tutorial su Evolution e KMail abbiamo imparato
ad inviare e-mail cifrate con GnuPG. Ma
cosa succede quando siamo noi a ricevere un messaggio
cifrato? Innanzitutto, ci verrà chiesto di
inserire la nostra passphrase. Come sappiamo,
infatti, un messaggio cifrato per poter essere
letto esclusivamente da noi viene criptato utilizzando
la nostra chiave pubblica: per “sbloccarlo”,
quindi, è necessario ottenere l'accesso alla nostra
chiave privata, e ciò richiede, appunto, l'inserimento
della passphrase corretta. Se l'email
è stata firmata dal mittente, inoltre, il programma
di posta confronterà la firma con la
sua chiave pubblica presente nel nostro keyring
e, se le due corrispondono, ci informerà
che la firma è valida. Digitata la passphrase, al termine
del corpo dell'e-mail apparirà un'icona con
le scritte “Firma valida” e “Cifrato”. Cliccando
sull'icona comparirà una finestra informativa che
visualizzerà dettagli aggiuntivi sulla firma digitale
e sulla crittografia utilizzata nel messaggio.