1.4 Lezione 1
Certificazione: |
Linux Essentials |
---|---|
Versione: |
1.6 |
Argomento: |
1 La Comunità Linux e una Carriera nell’Open Source |
Obiettivo: |
1.4 Competenze ICT - Lavorare con Linux |
Lezione: |
1 di 1 |
Introduzione
C’è stato un tempo in cui lavorare con Linux in ambiente desktop era considerato difficile poiché il sistema non disponeva di molte delle applicazioni desktop più sofisticate e degli strumenti di configurazione che gli altri sistemi operativi avevano. Del resto Linux era molto più recente di molti altri sistemi operativi. Detto questo, è stato più semplice iniziare con lo sviluppo delle applicazioni a Command Line indispensabili e lasciare gli strumenti grafici più complessi per una fase successiva. All’inizio, dal momento che Linux era innanzitutto destinato agli utenti più avanzati, non avrebbe dovuto essere un problema. Ma quei giorni sono oramai lontani. Oggi gli ambienti desktop Linux sono molto maturi e non lasciano nulla a desiderare in termini di funzionalità e semplicità di utilizzo. Tuttavia, la Command Line è ancora considerata un potente strumento utilizzato quotidianamente dagli utenti avanzati. In questa lezione esamineremo alcune delle competenze desktop di base di cui avrai bisogno per scegliere lo strumento migliore per il lavoro da svolgere, incluso l’accesso alla Command Line.
Interfacce Utente in Linux
Quando si utilizza un sistema Linux, si interagisce con una Command Line o con un’interfaccia utente grafica. Entrambi i modi permettono l’accesso a numerose applicazioni che consentono di svolgere quasi tutte le attività con il computer. Sebbene l’obiettivo 1.2 abbia già introdotto una serie di applicazioni di uso comune, inizieremo questa lezione con uno sguardo più da vicino agli ambienti desktop, ai modi per accedere al terminale e agli strumenti utilizzati per la presentazione e la gestione dei progetti.
Ambienti Desktop
Linux ha un approccio modulare in cui diverse parti del sistema sono sviluppate da diversi progetti e sviluppatori; ognuna delle parti soddisfa una specifica esigenza o obiettivo. Per questo motivo, ci sono diverse opzioni di ambienti desktop tra cui scegliere e, insieme ai gestori di pacchetti, l’ambiente desktop predefinito è una delle principali differenze tra le molte distribuzioni disponibili. A differenza dei sistemi operativi proprietari come Windows e macOS, in cui gli utenti sono limitati all’ambiente desktop fornito con il loro OS, c’è la possibilità di installare più ambienti e scegliere quello più adatto a te e alle tue esigenze.
Fondamentalmente, ci sono due principali ambienti desktop nel mondo Linux: Gnome e KDE. Sono entrambi molto completi, con una grande comunità alle spalle e con le medesime finalità, ma con approcci leggermente diversi. In poche parole, Gnome cerca di seguire il principio KISS (“keep it simple stupid”), con applicazioni molto snelle e pulite. Al contrario, KDE ha un’altra prospettiva con una più ampia selezione di applicazioni e offre all’utente l’opportunità di cambiare ogni impostazione di configurazione nell’ambiente.
Mentre le applicazioni Gnome sono basate sul toolkit GTK (scritto in linguaggio C), le applicazioni KDE fanno uso della libreria Qt (scritta in C ++). Uno degli aspetti più pratici per sviluppare applicazioni con lo stesso toolkit grafico è che le applicazioni tenderanno a condividere un aspetto simile, il che a sua volta dà all’utente un’impressione di uniformità. Un’altra caratteristica importante è che l’uso di una stessa libreria grafica condivisa per molte applicazioni usate di frequente può far risparmiare un po' di spazio di memoria e allo stesso tempo velocizzare i tempi di caricamento dopo che la libreria è stata caricata per la prima volta.
Accedere alla Command Line
Una delle applicazioni più importanti è l’emulatore grafico di terminale. Sono chiamati emulatori di terminale perché emulano realmente, in un ambiente grafico, i terminali seriali vecchio stile (spesso macchine telescriventi) che erano in realtà client collegati a una macchina remota su cui effettivamente avveniva l’elaborazione. Quelle macchine erano computer davvero semplici, senza alcuna interfaccia grafica, e venivano usati nelle prime versioni di Unix.
In Gnome, tale applicazione si chiama Gnome Terminal, mentre in KDE può essere presente come Konsole. Ma sono disponibili molte altre alternative, come Xterm. Queste applicazioni ci consentono di avere accesso a un ambiente a Command Line per poter interagire con una shell.
Dovresti quindi guardare il menu delle applicazioni della tua distribuzione preferita per trovare un’applicazione terminale. A parte qualche differenza tra loro, tutte le applicazioni ti offriranno ciò di cui hai bisogno per acquisire sicurezza nell’uso della Command Line.
Un altro modo per accedere al terminale è utilizzare il TTY virtuale. Puoi accedervi premendo Ctrl+Alt+F#. Considera F# come uno dei tasti funzione da 1 a 7. Probabilmente, alcune delle combinazioni iniziali potrebbero eseguire il gestore della sessione o il tuo ambiente grafico. Le altre mostreranno un prompt che richiede il tuo nome utente come nell’esempio qui sotto:
Ubuntu 18.10 arrelia tty3 arrelia login:
arrelia
in questo caso è il nome host della macchina e tty3
è il terminale disponibile dopo aver usato la combinazione di tasti sopra, più il tasto F3, ovvero Ctrl+Alt+F3.
Dopo aver inserito il nome utente e la password entrerai in un terminale, ma qui non ci sarà un ambiente grafico e quindi non sarai in grado di utilizzare il mouse o eseguire applicazioni grafiche senza prima avviare una sessione di X o di Wayland. Tuttavia questo va al di là dello scopo di questa lezione.
Presentazioni e Progetti
Lo strumento più importante per le presentazioni su Linux è LibreOffice Impress. Fa parte della suite per ufficio open source chiamata LibreOffice. Pensa a LibreOffice come un programma sostitutivo open source per l’equivalente Microsoft Office. Può anche aprire e salvare i file PPT e PPTX nativi di Powerpoint. Ma nonostante ciò, ti consiglio vivamente di utilizzare il formato di Impress nativo ODP. ODP fa parte del più ampio Open Document Format, che è uno standard internazionale per questo tipo di file. Ciò è particolarmente importante se desideri mantenere i tuoi documenti accessibili per molti anni e non vuoi preoccuparti dei problemi di compatibilità. Poiché si tratta di uno standard aperto, chiunque può implementare tale formato senza pagare royalties o licenze. Ciò ti consente anche di provare altri software di presentazione che potrebbero piacerti di più e di avere i tuoi file sempre con te, poiché è molto probabile che siano compatibili con i software più recenti.
Ma se preferisci il codice alle interfacce grafiche, ci sono alcuni strumenti tra cui scegliere. Beamer è una classe LaTeX che può creare presentazioni di diapositive da codice LaTeX. Lo stesso LaTeX è un sistema di composizione tipografico molto utilizzato per la scrittura di documenti scientifici accademici, specialmente per la sua capacità di gestire simboli matematici complessi, che altri software hanno difficoltà a gestire. Se sei all’università e hai a che fare con equazioni e altre questioni matematiche, Beamer può farti risparmiare molto tempo.
L’altra opzione è Reveal.js, un fantastico pacchetto NPM (NPM è il gestore di pacchetti NodeJS predefinito) che ti consente di creare bellissime presentazioni utilizzando il web. Quindi, se sai usare HTML e CSS, Reveal.js ti fornirà la maggior parte del JavaScript necessario per creare presentazioni carine e interattive che si adatteranno bene a qualsiasi risoluzione e dimensione dello schermo.
Infine, se desideri un programma sostitutivo per Microsoft Project, puoi provare GanttProject o ProjectLibre. Entrambi sono molto simili alla controparte proprietaria e compatibili con i file di Project.
Usi Industriali di Linux
Linux è ampiamente utilizzato nei settori software e Internet. Siti come W3Techs riportano che circa il 68% dei server di siti web su Internet sono basati su Unix e la maggior parte di questi su Linux.
Questa ampiezza di utilizzo è dovuta non solo alla natura libera di Linux (sia nel senso di birra gratis sia in quello di libertà di espressione) ma anche alla sua stabilità, flessibilità e per le sue prestazioni. Queste caratteristiche consentono ai fornitori di offrire servizi con un costo inferiore e una maggiore scalabilità. Una parte significativa dei sistemi Linux viene oggi eseguita in cloud, su modelli IaaS (Infrastructure as a service), PaaS (Platform as a Service) o SaaS (Software as a Service).
IaaS è un modo per condividere le risorse di un server di grandi dimensioni offrendo l’accesso a macchine virtuali che sono, di fatto, più sistemi operativi in esecuzione come ospiti su una macchina host, su un importante “pezzo” di software chiamato hypervisor. L’hypervisor consente l’esecuzione di questi SO ospiti separando e gestendo le risorse disponibili sulla macchina host per tali SO ospiti. Questo è ciò che chiamiamo virtualizzazione. Nel modello IaaS, paghi solo per la frazione delle risorse utilizzate dalla tua infrastruttura.
Linux ha tre ben noti hypervisor open source: Xen, KVM e VirtualBox. Xen è probabilmente il più vecchio. KVM ha superato Xen come il più importante Hypervisor Linux. Il suo sviluppo è sponsorizzato da RedHat ed è utilizzato anche da altre realtà del settore, sia nei servizi cloud pubblici sia nelle configurazioni cloud private. VirtualBox appartiene a Oracle sin dalla sua acquisizione di Sun Microsystems ed è solitamente utilizzato dagli utenti finali per la sua facilità d’uso e di amministrazione.
PaaS e SaaS, d’altra parte, si basano sul modello IaaS, sia tecnicamente sia concettualmente. In PaaS, al posto di una macchina virtuale, gli utenti hanno accesso a una piattaforma dove possono distribuire ed eseguire le applicazioni. In questo caso, l’obiettivo è quello di ridurre gli sforzi richiesti per le attività di amministrazione di sistema e per gli aggiornamenti dei sistemi operativi. Heroku è un esempio comune di PaaS in cui il codice del programma può essere semplicemente eseguito senza preoccuparsi dei container e delle macchine virtuali sottostanti.
Infine, SaaS è il modello in cui di solito si paga un abbonamento per utilizzare semplicemente un software senza preoccuparsi di nient’altro. Dropbox e Salesforce sono due buoni esempi di SaaS. Alla maggior parte di questi servizi si accede tramite un browser web.
Un progetto come OpenStack è una raccolta di software open source che può utilizzare diversi hypervisor e altri strumenti per offrire un ambiente cloud IaaS completo in loco, sfruttando la potenza del cluster di computer nel proprio datacenter. Tuttavia, la configurazione di tale infrastruttura non è banale.
Problemi di Privacy nell’utilizzo di Internet
Il browser web è oggigiorno un software fondamentale su qualsiasi desktop, ma alcune persone non hanno ancora le conoscenze necessarie per utilizzarlo in modo sicuro. Sebbene sempre più servizi siano accessibili tramite un browser web, quasi tutte le azioni eseguite tramite un browser vengono tracciate e analizzate da vari attori. Garantire l’accesso ai servizi Internet e impedire il tracciamento è un aspetto importante dell’utilizzo di Internet in modo sicuro.
Tracciamento dei Cookie
Supponiamo che tu abbia navigato in un sito web di e-commerce, selezionando un prodotto che desideri e che tu lo abbia inserito nel carrello. Ma all’ultimo secondo hai deciso di ripensarci e di riflettere se ne avevi davvero bisogno. Dopo un po', inizi a vedere gli annunci dello stesso prodotto che ti “seguono” in giro per il web. Quando clicchi sugli annunci, vieni immediatamente reindirizzato alla pagina del prodotto di quel sito. Non è raro che i prodotti che hai inserito nel carrello siano ancora lì, in attesa che tu decida di dar loro un’occhiata. Ti sei mai chiesto come succeda? Come ti mostrino l’annuncio “giusto” su un’altra pagina web? La risposta a queste domande si chiama tracciamento dei cookie.
I cookie sono piccoli file che un sito web può salvare sul tuo computer al fine di memorizzare e recuperare alcuni tipi di informazioni utili alla tua navigazione. Sono in uso da molti anni e sono uno dei metodi più datati per memorizzare i dati lato client. Un buon esempio del loro utilizzo risiede negli ID univoci delle carte d’acquisto, in modo che, se torni sullo stesso sito web entro pochi giorni, il negozio potrà ricordarti i prodotti che hai inserito nel carrello durante la tua ultima visita e farti risparmiare tempo per ritrovarli.
Questo generalmente è un bene, poiché il sito web ti offre una funzionalità utile e non condivide alcun dato con terze parti. Ma per quanto riguarda gli annunci che ti vengono mostrati mentre navighi su altre pagine web? È qui che entrano in gioco le reti pubblicitarie. Le reti pubblicitarie sono aziende che offrono da un lato annunci pubblicitari per siti di e-commerce, come quello del nostro esempio, e monetizzazione per i siti web dall’altro. I creatori di contenuti come i blogger, per esempio, possono mettere a disposizione un po' di spazio per queste reti pubblicitarie sul loro blog, in cambio di una commissione sulle vendite generate dagli annunci pubblicitari.
Ma come fanno a sapere quale prodotto mostrarti? Di solito salvando un cookie dalla rete pubblicitaria nel momento in cui visiti o cerchi un determinato prodotto sul sito web di e-commerce. In questo modo la rete è in grado di recuperare le informazioni su quel cookie ovunque la rete abbia annunci pubblicitari, effettuando la correlazione con i prodotti a cui eri interessato. Questo è di solito uno dei modi più comuni per tracciare qualcuno su Internet. L’esempio che abbiamo mostrato sopra fa uso di un sito web di e-commerce per rendere le cose più tangibili, ma le piattaforme di social media fanno lo stesso con i loro pulsanti “Mi piace” o “Condividi” e con il login alla loro piattaforma.
Un modo per evitare questo è non consentire a siti web di terze parti di memorizzare cookie nel browser. In questo modo, solo il sito web che visiti può memorizzare i propri cookie. Ma tieni presente che alcune funzionalità “legittime” potrebbero non operare bene se lo fai, perché molti siti oggi si affidano a servizi di terze parti per funzionare. Pertanto, puoi cercare un gestore di cookie nei componenti aggiuntivi del tuo browser per avere un controllo dettagliato di quali cookie vengono memorizzati sul tuo computer.
Do Not Track (DNT)
Un altro malinteso comune riguarda una particolare impostazione del browser meglio nota come DNT. È l’acronimo di “Do Not Track” e può essere attivata praticamente su qualsiasi browser. Come nel caso della modalità privata, non è difficile trovare persone che credono di non essere tracciate se hanno attiva questa impostazione. Purtroppo non è sempre vero. Attualmente, DNT è solo un modo per dire ai siti web che visiti che non vuoi che ti traccino. Ma, in effetti, sono loro che decideranno se rispettare o meno la tua scelta. In altre parole, DNT è un modo per disattivare il tracciamento dei siti web, ma non vi è alcuna garanzia che questa richiesta venga rispettata.
Tecnicamente parlando questo viene fatto semplicemente inviando un flag aggiuntivo nell’header del protocollo di richiesta HTTP (DNT: 1
) quando si richiedono i dati da un server web. Se vuoi saperne di più su questo argomento, il sito web https://allaboutdnt.com è un buon punto di partenza.
Finestre “Private”
Probabilmente hai notato le virgolette nel titolo qui sopra. Questo perché queste finestre non sono private come la maggior parte delle persone pensa. I nomi possono variare, ma possono essere chiamate “modalità privata”, scheda di “navigazione in incognito” o di "navigazione anonima", a seconda del browser che stai utilizzando.
In Firefox, puoi facilmente usarne una premendo i tasti Ctrl+Shift+P. In Chrome, premi semplicemente Ctrl+Shift+N. Ciò che in realtà il browser fa è aprire una nuova sessione, che normalmente non condivide alcuna configurazione o alcun dato dal tuo profilo standard. Alla chiusura della finestra privata, il browser cancellerà automaticamente tutti i dati generati da quella sessione, senza lasciare traccia sul computer utilizzato. Ciò significa che nessun dato personale, come cronologia, password o cookie viene memorizzato su quel computer.
Pertanto molte persone fraintendono questo concetto credendo di poter navigare in modo anonimo su Internet, il che non è completamente vero. Una cosa che fa la modalità privacy o la modalità di navigazione in incognito è evitare ciò che chiamiamo tracciamento dei cookie. Quando visiti un sito web, questo può memorizzare un piccolo file sul tuo computer contenente un ID che può essere utilizzato per tracciarti. A meno che tu non configuri il tuo browser in modo da non accettare cookie di terze parti, le reti pubblicitarie o altre società possono archiviare e recuperare quell’ID e di fatto tracciare la tua navigazione attraverso i siti web. Ma poiché i cookie memorizzati in una sessione in modalità privata vengono eliminati subito dopo la chiusura di quella sessione, tali informazioni andranno perse per sempre.
Oltre a questo, i siti web e gli altri peers in Internet possono però utilizzare molte altre tecniche per tracciarti. Quindi la modalità privata ti offre un certo livello di anonimato, ma è completamente privata solo sul computer che stai utilizzando. Se accedi al tuo account di posta elettronica o al tuo sito web bancario da un computer pubblico, come in un aeroporto o in un hotel, dovresti assolutamente utilizzare la modalità privata del browser. In altre situazioni potrebbero esserci dei vantaggi, ma è necessario capire esattamente quali rischi stai evitando e quali non hanno alcun impatto. Ogni volta che utilizzi un computer accessibile al pubblico, tieni presente che potrebbero esistere altre minacce alla sicurezza come malware o key logger. Fai attenzione ogni volta che inserisci informazioni personali, inclusi nomi utente e password, su tali computer o quando scarichi o copi dati riservati.
Scegliere la Giusta Password
Una delle situazioni più difficili che un utente deve affrontare è la scelta di una password sicura per i servizi che utilizza. Hai sicuramente sentito prima d’ora che non dovresti utilizzare combinazioni comuni come qwerty
,123456
o 654321
, né numeri facilmente indovinabili come il tuo compleanno (o quello di un parente) o il codice postale. Il motivo è che queste sono tutte combinazioni molto prevedibili e saranno i primi tentativi di un utente malintenzionato per accedere al tuo account.
Esistono tecniche note per creare una password sicura. Una delle più famose è inventare una frase che ti ricordi quel servizio e scegliere le prime lettere di ogni parola. Supponiamo per esempio che io voglia creare una buona password per Facebook. In questo caso, potrei pensare a una frase del tipo “Io sarei felice se avessi 1000 amici come Mike”. Prendi la prima lettera di ogni parola e la password finale sarà Isfsa1000acM
. Ciò si tradurrebbe in una password di 12 caratteri, abbastanza lunga da essere difficile da indovinare e, allo stesso tempo, facile da ricordare (a patto che riesca a ricordare la frase e l'“algoritmo” per recuperare la password).
Le frasi di solito sono più facili da ricordare delle password, ma anche questo metodo ha i suoi limiti. Oggigiorno dobbiamo creare delle password per molteplici servizi e, poiché le usiamo con frequenze diverse, alla fine diventa molto difficile ricordare tutte le frasi nel momento in cui ne abbiamo bisogno. Quindi cosa possiamo fare? Potresti rispondere che la cosa più saggia da fare in questo caso è creare un paio di buone password e riutilizzarle per servizi simili, giusto?
Sfortunatamente, anche questa non è una buona idea. Probabilmente hai anche sentito che non dovresti riutilizzare la stessa password per servizi diversi. Il problema nel fare una cosa del genere è che un servizio specifico potrebbe far trapelare la tua password (sì, succede di continuo) e chiunque abbia accesso a essa proverà a utilizzare la stessa combinazione di email e password per altri servizi comuni in Internet nella speranza che tu abbia fatto esattamente questo: usare password riciclate. E indovina cosa succede? Nel caso in cui abbiano ragione, finirai per avere un problema non solo su un servizio ma su molti di essi. E credimi, tendiamo a pensare che a noi non succederà finché non è troppo tardi.
Quindi, cosa possiamo fare per proteggerci? Uno degli approcci più sicuri, oggi disponibili, è l’utilizzo di quello che viene chiamato gestore di password. I gestori di password sono dei software che in sostanza memorizzano tutte le tue password e i nomi utente in un formato crittato che può essere decrittato da una password principale. In questo modo devi solo ricordare una buona password poiché il gestore terrà tutte le altre al sicuro per te.
KeePass è uno dei gestori di password open source più famosi e ricchi di funzionalità tra quelli disponibili: memorizza le tue password in un file crittato all’interno del tuo filesystem. Il fatto che sia open source è una cosa importante per questo tipo di software, poiché garantisce che non ci sarà alcun uso dei tuoi dati perché qualsiasi sviluppatore può controllare il codice e sapere esattamente come funziona. Ciò fornisce un livello di trasparenza impossibile da raggiungere con del codice proprietario. KeePass ha versioni per la maggior parte dei sistemi operativi, inclusi Windows, Linux e macOS, così come per quelli mobili come iOS e Android. Include anche un sistema di plugin che è in grado di estendere le sue funzionalità ben oltre quelle standard.
Bitwarden è un’altra soluzione open source che ha un approccio simile, ma invece di archiviare i dati in un file, utilizzerà un server cloud. In questo modo, è più facile mantenere sincronizzati tutti i tuoi dispositivi e accedere in modo semplice alle tue password tramite il web. Bitwarden è uno dei pochi progetti che rende disponibile non solo i client, ma anche il server cloud, come software open source. Ciò significa che puoi ospitare la tua versione di Bitwarden e renderla disponibile a chiunque, come la tua famiglia o i dipendenti della tua azienda. Questo ti dà flessibilità ma anche pieno controllo su come le loro password vengono memorizzate e utilizzate.
Una delle cose più importanti da tenere a mente quando si utilizza un gestore di password è creare una password casuale per ogni diverso servizio poiché non sarà comunque necessario ricordarle. Sarebbe inutile utilizzare un gestore di password per archiviare password riciclate o facilmente individuabili. Pertanto, la maggior parte di essi ti offrirà un generatore di password casuali che potrai utilizzare per creare le password al posto tuo.
Crittografia
Ogni volta che i dati vengono trasmessi o archiviati è necessario prendere precauzioni per garantire che terze parti non possano accedere a essi. I dati trasmessi in Internet passano da una serie di router e reti in cui terze parti potrebbero avere accesso al traffico di rete. Allo stesso modo, i dati archiviati su supporti fisici potrebbero essere letti da chiunque ne entri in possesso. Per evitare questo tipo di accesso, le informazioni riservate dovrebbero essere crittografate prima di lasciare un dispositivo informatico.
TLS
Transport Layer Security (TLS) è un protocollo in grado di offrire sicurezza alle connessioni di rete facendo uso della crittografia. TLS è il successore di Secure Sockets Layer (SSL) che è stato deprecato a causa di gravi difetti. TLS si è anche evoluto un paio di volte per adattarsi e diventare più sicuro, quindi la sua versione attuale è la 1.3. Garantisce sia privacy sia autenticità facendo uso di quella che viene chiamata crittografia simmetrica e a chiave pubblica. Ciò significa che, una volta in uso, puoi essere certo che nessuno sarà in grado di intercettare o alterare la tua comunicazione con quel server durante quella sessione.
L’insegnamento più importante qui è riconoscere che un sito web sia affidabile. Dovresti cercare il simbolo del “lucchetto” nella barra degli indirizzi del browser. Se lo desideri, puoi fare clic su di esso per ispezionare il certificato, che riveste un ruolo fondamentale nel protocollo HTTPS.
TLS è ciò che viene utilizzato nel protocollo HTTPS (HTTP su TLS) per rendere possibile l’invio di dati sensibili (come il numero della carta di credito) attraverso il web. Spiegare come funziona TLS va ben oltre lo scopo di questa lezione, ma puoi trovare ulteriori informazioni su Wikipedia e su Mozilla wiki.
Crittografia di File ed E-mail con GnuPG
Esistono molti strumenti per proteggere i messaggi di posta elettronica, ma uno dei più importanti è sicuramente GnuPG. GnuPG sta per GNU Privacy Guard ed è un’implementazione open source di OpenPGP, che è uno standard internazionale codificato all’interno della RFC 4880.
GnuPG può essere utilizzato per firmare, crittare e decrittare testi, e-mail, file, directory e persino intere partizioni del disco. Funziona con la crittografia a chiave pubblica ed è molto utilizzato. In poche parole GnuPG crea una coppia di file che contengono la tua chiave pubblica e la tua chiave privata. Come suggerisce il nome, la chiave pubblica può essere a disposizione di tutti mentre la chiave privata deve essere tenuta segreta. Le persone utilizzeranno la tua chiave pubblica per crittare i dati che solo la tua chiave privata sarà in grado di decrittare.
Inoltre puoi utilizzare la tua chiave privata per firmare qualsiasi file o e-mail che possono essere validati dalla corrispondente chiave pubblica. Questa firma digitale funziona in modo analogo alla firma del mondo reale. Finché sei l’unico a possedere la tua chiave privata, il destinatario può essere sicuro che sei tu effettivamente l’autore della firma. Facendo uso della funzione crittografica di hash, GnuPG garantirà inoltre che non siano state apportate modifiche dopo la firma perché qualsiasi modifica al contenuto invaliderebbe la firma.
GnuPG è uno strumento molto potente e, per certi versi, anche complesso. Puoi trovare maggiori informazioni sul sito ufficiale e su Archlinux wiki (Archlinux wiki è un’ottima fonte di informazioni, anche se non usi Archlinux).
Crittografia del Disco
Un buon modo per proteggere i tuoi dati è crittografare l’intero disco o una partizione di esso. Esistono molti software open source che possono essere utilizzati per tale scopo. Anche il modo in cui funzionano e il livello di crittografia che offrono varia notevolmente. Sono disponibili due metodi di base: crittografia del dispositivo in pila (stacked device encryption) e a blocchi (block device encryption).
Le soluzioni di crittografia dei filesystem di tipo stacked vengono implementate sopra il filesystem esistente. Quando si utilizza questo metodo, i file e le directory vengono crittati prima di essere memorizzati nel filesystem e decrittati dopo essere stati letti. Ciò significa che i file sono archiviati sul filesystem host in una forma crittografata (il che significa che i loro contenuti, e solitamente anche i loro nomi di file/cartelle, sono sostituiti da dati apparentemente casuali), ma a parte questo, esistono ancora su quel filesystem nello stesso modo in cui esisterebbero senza crittografia, come file normali, collegamenti simbolici, hard link, etc.
Invece, la crittografia del dispositivo a blocchi avviene sotto il livello del filesystem, assicurandosi che tutto ciò che viene scritto su un dispositivo a blocchi venga crittografato. Se guardi il blocco mentre è offline, apparirà come una grande massa di dati casuali e non sarai nemmeno in grado di dire quale tipo di filesystem sia senza prima decrittarlo. Ciò significa che non puoi dire cosa sia un file o una directory, quanto è grande e che tipo di dati sono, perché anche i metadati, la struttura delle directory e le autorizzazioni sono crittati.
Entrambi i metodi hanno i loro pro e contro. Tra tutte le alternative disponibili, dovresti dare un’occhiata a dm-crypt, che è di fatto lo standard per la crittografia a blocchi per i sistemi Linux, poiché è nativo del kernel. Può essere utilizzato con l’estensione LUKS (Linux Unified Key Setup), che è una specifica che implementa uno standard indipendente dalla piattaforma da utilizzare con diversi strumenti.
Se vuoi provare un metodo di crittografia stacked, dovresti dare un’occhiata a EncFS, che è probabilmente il modo più semplice per proteggere i dati su Linux poichè non richiede i privilegi di root e può essere eseguito su un filesystem esistente senza modifiche.
Infine, se hai bisogno di accedere ai dati su più piattaforme, dai un’occhiata a Veracrypt. È il successore di Truecrypt e consente la creazione di file, anche multimediali, crittografati che possono essere utilizzati su Linux, macOS e Windows.
Esercizi Guidati
-
Dovresti utilizzare una “finestra di navigazione in incognito” nel tuo browser nel caso in cui tu voglia:
Navigare in modo completamente anonimo in Internet
Non lasciare traccia sul computer che stai utilizzando
Attivare TLS per evitare il tracciamento dei cookie
Utilizzare DNT
Utilizzare la crittografia durante la trasmissione dei dati
-
Cos’è OpenStack?
Un progetto che consente la creazione di IaaS privati
Un progetto che consente la creazione di PaaS
Un progetto che consente la creazione di SaaS
Un hypervisor
Un gestore di password open source
-
Quali delle seguenti opzioni riportano validi software per la crittografia del disco?
RevealJS, EncFS e dm-crypt
dm-crypt e KeePass
EncFS e Bitwarden
EncFS e dm-crypt
TLS e dm-crypt
-
Indica se le seguenti affermazioni sulla crittografia dei dispositivi con dm-crypt sono vere o false:
I file vengono crittografati prima di essere scritti sul disco
L’intero filesystem è un blob crittografato
Vengono crittografati solo i file e le directory, non i collegamenti simbolici
Non richiede l’accesso come root
È una crittografia del dispositivo a blocchi
-
Beamer è:
Un meccanismo di crittografia
Un hypervisor
Un software di virtualizzazione
Un componente di OpenStack
Uno strumento di presentazione LaTeX
Esercizi Esplorativi
-
La maggior parte delle distribuzioni viene fornita con Firefox installato di default (in caso contrario, dovrai prima installarlo). Installeremo ora un’estensione per Firefox chiamata Lightbeam. Puoi farlo premendo Ctrl+Shift+A e cercando “Lightbeam” nel campo di ricerca che verrà mostrato nella scheda aperta, oppure visitando la pagina delle estensioni con Firefox e cliccando sul pulsante “Installa”: https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/. Avvia quindi l’estensione facendo clic sulla sua icona e inizia a visitare alcune pagine web su altre schede per vedere cosa succede.
-
Qual è la cosa più importante quando si utilizza un gestore di password?
-
Usa il tuo browser web per navigare su https://haveibeenpwned.com/. Scopri a cosa serve il sito web e controlla se il tuo indirizzo di posta elettronica è stato affetto da qualche fuga di dati.
Sommario
Il terminale è un potente mezzo per interagire con il sistema ed esistono molti strumenti utili e ben collaudati da utilizzare in questo tipo di ambiente. Puoi accedere al terminale cercandone uno grafico nel menu dell’ambiente desktop o premendo Ctrl+Alt+F#.
Linux è ampiamente utilizzato nel settore tecnologico per offrire servizi IaaS, PaaS e SaaS. Ci sono tre hypervisor principali che giocano un ruolo importante nel supporto di questi servizi: Xen, KVM e Virtualbox.
Il browser è un software essenziale nell’informatica al giorno d’oggi, ma è necessario capire alcune cose per utilizzarlo in modo sicuro. DNT è solo un modo per dire al sito web che non vuoi essere tracciato, ma non esiste alcuna garanzia che venga rispettato. Le finestre di navigazione in incognito sono private solamente per il computer che stai utilizzando, ma proprio per questo motivo possono consentirti di evitare il tracciamento dei cookie.
TLS è in grado di crittografare la tua comunicazione in Internet, ma devi essere in grado di riconoscere quando è in uso. Anche l’utilizzo di password complesse è molto importante per mantenere la sicurezza, quindi l’idea migliore è delegare tale responsabilità a un gestore di password e consentire al software di creare password casuali per ogni sito a cui si accede.
Un altro modo per proteggere la tua comunicazione è firmare e crittografare i tuoi file, le tue cartelle e le tue email con GnuPG. dm-cypt ed EncFS sono due alternative per crittografare interi dischi o partizioni che utilizzano rispettivamente metodi di crittografia a blocchi e a stack.
Infine, LibreOffice Impress è un’alternativa open source e molto completa a Microsoft Powerpoint, ma esistono anche Beamer e RevealJS se preferisci creare presentazioni usando il codice invece delle GUI. ProjectLibre e GanttProject possono essere la scelta giusta se hai bisogno di una alternativa a Microsoft Project.
Risposte agli Esercizi Guidati
-
Dovresti utilizzare una “finestra di navigazione in incognito” nel tuo browser nel caso in cui tu voglia:
Navigare in modo completamente anonimo in Internet
Non lasciare traccia sul computer che stai utilizzando
X
Attivare TLS per evitare il tracciamento dei cookie
Utilizzare DNT
Utilizzare la crittografia durante la trasmissione dei dati
-
Cos’è OpenStack?
Un progetto che consente la creazione di IaaS privati
X
Un progetto che consente la creazione di PaaS
Un progetto che consente la creazione di SaaS
Un hypervisor
Un gestore di password open source
-
Quali delle seguenti opzioni riportano validi software per la crittografia del disco?
RevealJS, EncFS e dm-crypt
dm-crypt e KeePass
EncFS e Bitwarden
EncFS e dm-crypt
X
TLS e dm-crypt
-
Indica se le seguenti affermazioni sulla crittografia dei dispositivi con dm-crypt sono vere o false:
I file vengono crittografati prima di essere scritti sul disco
V
L’intero filesystem è un blob crittografato
V
Vengono crittografati solo i file e le directory, non i collegamenti simbolici
F
Non richiede l’accesso come root
F
È una crittografia del dispositivo a blocchi
V
-
Beamer è:
Un meccanismo di crittografia
Un hypervisor
Un software di virtualizzazione
Un componente di OpenStack
Uno strumento di presentazione LaTeX
X
Risposte agli Esercizi Esplorativi
-
La maggior parte delle distribuzioni viene fornita con Firefox installato di default (in caso contrario, dovrai prima installarlo). Installeremo ora un’estensione per Firefox chiamata Lightbeam. Puoi farlo premendo Ctrl+Shift+A e cercando “Lightbeam” nel campo di ricerca che verrà mostrato nella scheda aperta, oppure visitando la pagina delle estensioni con Firefox e cliccando sul pulsante “Installa”: https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/. Avvia quindi l’estensione facendo clic sulla sua icona e inizia a visitare alcune pagine web su altre schede per vedere cosa succede.
Ricordi quei cookie che abbiamo detto che possono condividere i tuoi dati con diversi servizi quando visiti un sito web? Questo è esattamente ciò che ti mostrerà questa estensione. Lightbeam è un esperimento di Mozilla che cerca di rivelare i siti principali e di terze parti con cui interagisci visitando un singolo URL. Questo contenuto non è di solito visibile all’utente medio e può mostrare che a volte un singolo sito web è in grado di interagire con una dozzina, o più, di servizi.
-
Qual è la cosa più importante quando si utilizza un gestore di password?
Quando si utilizza un gestore di password, la cosa più importante da tenere a mente è memorizzare la password principale e utilizzare una password casuale univoca per ognuno dei diversi servizi.
-
Usa il tuo browser web per navigare su https://haveibeenpwned.com/. Scopri a cosa serve il sito web e controlla se il tuo indirizzo di posta elettronica è stato affetto da qualche fuga di dati.
Il sito web mantiene un database di informazioni di login le cui password sono state interessate da una fuga di password. Consente la ricerca di un indirizzo di posta elettronica e mostra se tale indirizzo di posta elettronica è stato incluso in un database pubblico di credenziali rubate. È probabile che anche il tuo indirizzo di posta elettronica sia stato interessato da una di queste fughe di password. In tal caso, assicurati di aver aggiornato le tue password di recente. Se non utilizzi già un gestore di password, dai un’occhiata a quelli consigliati in questa lezione.