2018-04-19 12:56:20 +02:00
|
|
|
---
|
|
|
|
title: "Cripto libretto"
|
|
|
|
author: Unit hacklab - unit@paranoici.org
|
2018-04-22 08:08:14 +02:00
|
|
|
date: Aprile 2018
|
2018-04-19 12:56:20 +02:00
|
|
|
lang: italian
|
|
|
|
---
|
|
|
|
|
|
|
|
# Per una corretta igiene digitale
|
|
|
|
|
|
|
|
## Usiamo software libero e a sorgente aperta
|
|
|
|
|
|
|
|
https://www.gnu.org/philosophy/free-sw.it.html
|
|
|
|
|
|
|
|
## Una buona password
|
|
|
|
|
|
|
|
Non usare la stessa password per diversi servizi
|
|
|
|
|
|
|
|
Usa una passphrase, ossia una frase di accesso compresa di spazi, facile da ricordare, ma
|
|
|
|
difficile da indovinare persino per un computer, ad esempio questa contiene sia maiuscole
|
|
|
|
che numeri, è molto lunga, ma facile da ricordare
|
|
|
|
|
|
|
|
Nel mezzo del cammin di nostra vita2
|
2018-04-19 14:02:48 +02:00
|
|
|
|
2018-04-19 12:56:20 +02:00
|
|
|
## Il password manager
|
|
|
|
|
|
|
|
Le password da ricordare sono troppe, KeePassX è un software multipiattaforma per la
|
|
|
|
gestione di password, un luogo sicuro dove scriverle, ma non dimenticare la password
|
|
|
|
principale
|
|
|
|
|
|
|
|
https://www.keepassx.org
|
|
|
|
|
|
|
|
## Accecare la telecamera del portatile
|
|
|
|
|
|
|
|
Attacca un pezzo di scotch nero da elettricista sulla telecamera del portatile, il fatto
|
|
|
|
che non si accenda la lucina non significa che sia spenta.
|
|
|
|
|
|
|
|
## Navigazione consapevole
|
|
|
|
|
|
|
|
Usiamo Firefox
|
|
|
|
|
|
|
|
La gestione dei containers e dei profili ci permette di creare ambienti isolati
|
|
|
|
|
2018-04-19 14:30:56 +02:00
|
|
|
Containers[^1]: per compartimentare history e cookies
|
2018-04-19 12:56:20 +02:00
|
|
|
|
|
|
|
Profili: sono delle diverse sessioni del browser, per compartimentare anche gli add-on, si
|
|
|
|
possono aprire scrivendo nella finestra di navigazione:
|
|
|
|
|
2018-04-19 14:02:48 +02:00
|
|
|
about:profiles
|
2018-04-19 12:56:20 +02:00
|
|
|
|
|
|
|
Add-ons:
|
|
|
|
|
2018-04-19 14:30:56 +02:00
|
|
|
* https-everywhere: preferisce https a http
|
|
|
|
* ghostly: blocca i tracker della nostra navigazione
|
|
|
|
* no script: blocca gli script
|
|
|
|
* ublock origin: blocca la pubblicità
|
|
|
|
|
|
|
|
[^1]: https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers
|
2018-04-19 12:56:20 +02:00
|
|
|
|
|
|
|
## Navigazione anonima con Tor
|
|
|
|
|
|
|
|
Tor, **T**he **O**nion **R**outer è un protocollo per l'anonimizzazione del traffico web.
|
|
|
|
Scarica, installa e usa il programma Tor browser bundle per navigare in rete anonimamente.
|
|
|
|
|
|
|
|
Attenzione! Non presumere che il tutto funzioni per magia. Studia, prova, verifica.
|
|
|
|
|
|
|
|
https://www.torproject.org/download/download.html.en
|
|
|
|
|
|
|
|
## Tails
|
|
|
|
|
|
|
|
TAILS è un sistema operativo smemorato, si avvia da penna Usb e quando lo spegni non
|
|
|
|
ricorda nulla di quello che è successo. In altre parole usa Tor per navigare in internet
|
|
|
|
anonimamente e permette di usare un computer in prestito senza doverci installare
|
|
|
|
nulla. Utile in viaggio.
|
|
|
|
|
|
|
|
https://tails.boum.org
|
|
|
|
|
|
|
|
## Verificare l'integrità del software scaricato
|
|
|
|
|
|
|
|
Alcuni software offrono di verificare la loro checksum (somma di controllo), ossia la
|
|
|
|
stringa alfanumerica univoca che risulta applicando un algoritmo chiamato SHA256. Scarica
|
|
|
|
il pacchetto e usa un programma per fare il calcolo, se la stringa (hash) che salta fuori
|
|
|
|
coincide con quella pubblicata sulla pagina web, il pacchetto dovrebbe essere integro.
|
|
|
|
|
2018-04-19 14:02:48 +02:00
|
|
|
openssl sha256 VeraCrypt_1.22_Bundle.7z
|
2018-04-19 12:56:20 +02:00
|
|
|
e51bd8ba4ff40aee084019ddf3a9f8d0e5fa8f743612c581efb2fbf10e36c595
|
|
|
|
|
|
|
|
Alcuni software sono anche accompagnati da una firma digitale, si può verificare con GnuPg
|
|
|
|
che la firma, apposta a lato come file.sig, appartenga all'autore.
|
|
|
|
|
|
|
|
gpg --verify VeraCrypt_1.22_Bundle.7z.sig VeraCrypt_1.22_Bundle.7z
|
|
|
|
|
|
|
|
## Usare un sistema operativo libero
|
|
|
|
|
|
|
|
Usiamo GNU/Linux, disponibile in diverse distribuzioni, elencate in ordine di facilità d'uso.
|
|
|
|
|
2018-04-19 14:30:56 +02:00
|
|
|
* Ubuntu: https://www.ubuntu.com/desktop/1710
|
|
|
|
* Linux Mint: https://linuxmint.com
|
|
|
|
* Bunsenlabs: https://www.bunsenlabs.org
|
|
|
|
* Debian: https://www.debian.org
|
2018-04-19 12:56:20 +02:00
|
|
|
|
|
|
|
## Comunicazione sicura dal telefonino
|
|
|
|
|
|
|
|
Premessa: consideriamo che gli smartphone sono insicuri per definizione
|
|
|
|
|
2018-04-19 14:30:56 +02:00
|
|
|
* **Signal.org** è una app che permette di comunicare privatamente
|
|
|
|
* **Conversations.im** è una app che permette di comunicare privatamente con protocollo federato
|
|
|
|
* **lineageos.org** è un sistema operativo per telefonini basato su Android
|
2018-04-19 12:56:20 +02:00
|
|
|
|
|
|
|
## VeraCrypt
|
|
|
|
|
|
|
|
VeraCrypt è un software che permette di proteggere con una passphrase una penna Usb, utile
|
|
|
|
per trasportare dei documenti in viaggio senza preoccuparsi di perderla. Attenzione che
|
|
|
|
durante la configurazione la penna verrà formattata e sarà poi sempre necessario usare
|
|
|
|
VeraCrypt per montarla.
|
|
|
|
|
|
|
|
https://www.veracrypt.fr/en/Home.html
|
|
|
|
|
|
|
|
## PGP, la crittografia pesante a doppia chiave
|
|
|
|
|
2018-04-19 14:30:56 +02:00
|
|
|
* **PGP** Pretty Good Privacy, software di crittografia asimmetrica
|
|
|
|
* **GnuPG** è il suo equivalente libero
|
2018-04-19 12:56:20 +02:00
|
|
|
|
|
|
|
Si usa per cifrare, ma anche per firmare.
|
|
|
|
|
|
|
|
Chi usa GnuPG crea due chiavi, quella privata serve per decifrare, quella pubblica viene
|
|
|
|
usata dai suoi corrispondenti per cifrare.
|
|
|
|
|
|
|
|
Creare la coppia di chiavi
|
|
|
|
|
|
|
|
gpg --gen-key
|
|
|
|
|
|
|
|
Creare un certificato di revoca
|
|
|
|
|
|
|
|
gpg -o revoca-Key-ID.asc --gen-revoke Key-ID
|
|
|
|
|
|
|
|
Esportare la chiave pubblica
|
|
|
|
|
|
|
|
gpg -a -o mia-chiave-pubblica.txt --export Key-ID
|
|
|
|
|
|
|
|
Importare una chiave di qualcuno
|
|
|
|
|
|
|
|
gpg --import chiave.asc
|
|
|
|
|
|
|
|
Verificare una fingerprint
|
|
|
|
|
|
|
|
gpg --fingerprint Key-ID
|
|
|
|
|
|
|
|
Cifrare un documento per Snowden
|
|
|
|
|
|
|
|
gpg -a -o messaggio.asc --encrypt --recipient snowden-Key-ID messaggio.txt
|
|
|
|
|
|
|
|
Decifrare un documento
|
|
|
|
|
|
|
|
gpg -o messaggio-in-chiaro.txt messaggio.asc
|
|
|
|
|
|
|
|
Scaricare la chiave pubblica di qualcuno
|
|
|
|
|
|
|
|
gpg --keyserver pgp.mit.edu --search-keys Key-ID
|
2018-04-19 14:02:48 +02:00
|
|
|
|
2018-04-19 12:56:20 +02:00
|
|
|
Verificare una firma accanto a un file
|
2018-04-19 14:02:48 +02:00
|
|
|
|
2018-04-19 12:56:20 +02:00
|
|
|
gpg --verify file.sig file
|
|
|
|
|
2018-04-22 08:08:14 +02:00
|
|
|
## Self hosting
|
|
|
|
|
|
|
|
Abbiamo la volontà di avere una copia di riserva dei nostri dati, di sincronizzare una
|
|
|
|
rubrica e un calendario con un dispositivo mobile e di condividere documenti. Tutto questo
|
|
|
|
possiamo farlo facilmente con dei servizi commerciali, ma non gratuitamente, a costo
|
|
|
|
invece della nostra libertà. Quando i nostri dati vengono sparpagliati e utilizzati come
|
|
|
|
risorse per creare profitto, subiamo un danno all'integrità del nostro sé digitale.
|
|
|
|
|
|
|
|
Self hosting significa gestire autonomamente uno spazio digitale. Si può fare anche in
|
|
|
|
gruppo e collettivizzare le risorse e i costi. È meno facile che usare i servizi
|
|
|
|
commerciali, ma forse il paragone non è giusto. La guida per coltivare un orto non ha
|
2018-05-25 16:36:54 +02:00
|
|
|
senso che si difenda dicendo: "è meno facile che andare al supermercato".
|
2018-04-22 08:08:14 +02:00
|
|
|
|
|
|
|
Di seguito una guida su come offrire servizi utili da una macchina di casa affacciata alla
|
2018-05-25 16:36:54 +02:00
|
|
|
rete. In particolare per la costruzione di un server dove avere uno spazio per la
|
|
|
|
condivisione documenti, rubrica e calendario, un wiki, un blog per la scrittura e dove
|
|
|
|
fare un backup senza perdere il controllo dei nostri dati.
|
2018-04-22 08:08:14 +02:00
|
|
|
|
|
|
|
### Requisiti
|
|
|
|
|
2018-05-25 16:36:54 +02:00
|
|
|
* Un IP pubblico. È obbligatorio darlo da parte del gestore, ma a volte è necessario
|
2018-04-22 08:08:14 +02:00
|
|
|
chiederlo esplicitamente
|
|
|
|
* Utilizzare un Pc con almeno 40 Gb di disco e 1 Gb di RAM
|
|
|
|
|
|
|
|
### Scaletta
|
|
|
|
|
|
|
|
* Fare un buco nel firewall del hag/router per far passare la porta 22 e 443
|
2018-05-25 16:36:54 +02:00
|
|
|
* Scaricare, verificare e installare Debian
|
|
|
|
* Primo login e gestione root
|
2018-04-22 08:08:14 +02:00
|
|
|
* Creare una chiave ssh per collegarsi a debian in maniera sicura
|
|
|
|
* Assegnare a debian, attraverso il router, un IP statico nella sottorete
|
|
|
|
* Installare ntp per sincronizzare l'ora
|
|
|
|
* Installare e configurare ufw firewall, aprendo le porte 22 e 443
|
|
|
|
* Installare postfix, local only
|
|
|
|
* Installare e configurare apache
|
|
|
|
* Installare e configurare php
|
|
|
|
* Creare una chiave SSL con LetsEncrypt
|
|
|
|
* Installare e configurare MariaDB
|
|
|
|
* Installare e configurare Nextcloud
|
|
|
|
* Installare e configurare Dokuwiki
|
|
|
|
* Installare e configurare Blogxom
|
|
|
|
* Installare e configurare Duplicity
|
|
|
|
* Hardening: permessi, chroot, suid-suig, fail2ban, rkhunter
|
|
|
|
|
2018-05-25 16:36:54 +02:00
|
|
|
#### Fare un buco nel firewall del hag/router per far passare la porta 22 e 443
|
|
|
|
|
|
|
|
A seconda del router utilizzato, l'interfaccia potrebbe essere diversa, alla voce: NAT o
|
|
|
|
port forwarding apriamo l'accesso alla porta 22 e 443, che serviranno rispettivamente a
|
|
|
|
ssh e https.
|
|
|
|
|
|
|
|
#### Scaricare, verificare e installare Debian
|
|
|
|
|
|
|
|
Dal sito www.debian.org individuare e scaricare l'immagine della distribuzione, mentre
|
|
|
|
scriviamo la più recente è Debian 9.4. Per un comune computer recente useremo amd64.
|
|
|
|
Verificare la checksum e masterizzare l'immagine su di un CD o DVD, ma in questo tutorial
|
|
|
|
useremo una penna USB di almeno 1GB
|
|
|
|
|
|
|
|
Collegare il Pc a monitor, tastiera e cavo ethernet
|
|
|
|
|
|
|
|
Inserire la chiavetta e verificare dove è stata montata
|
|
|
|
|
|
|
|
sudo ls -l /dev/disk/by-id/*usb*
|
|
|
|
|
|
|
|
Nell'esempio che segue la penna è in /dev/sdb, procediamo a creare la penna d'avvio
|
|
|
|
|
|
|
|
*attenzione che il contenuto della penna sarà cancellato, e attenzione ad essere sicure di
|
|
|
|
aver indicato correttamente il percorso della penna per non cancellare inavvertitamente
|
|
|
|
un altro disco innocente*
|
|
|
|
|
|
|
|
sudo dd if=debian.iso of=/dev/sdb bs=4M; sync
|
|
|
|
|
|
|
|
Inserire la penna nel Pc da usare come self host e riavviare tenendo premuto F12
|
|
|
|
|
|
|
|
*Se il Pc non avvia dalla penna potrebbe essere necessario entrare nel BIOS e scegliere
|
|
|
|
Usb come dispositivo d'avvio. A seconda del modello di Pc per entrare nel BIOS potrebbe
|
|
|
|
servire tenere premuto all'avvio uno di questi tasti: F1, F2, F8, DEL, ESC or F10. Una
|
|
|
|
volta entrati, editiamo l'ordine di avvio mettendo la USB flash disco come prioritario*
|
|
|
|
|
|
|
|
La procedura di installazione di Debian è semplice: l'installazione grafica fa da guida
|
|
|
|
per scegliere la lingua da usare, la zona geografica e il nome della macchina, ad esempio
|
|
|
|
"selfhost". Creare l'utente con password e con la partizione guidata formattare l'intero
|
|
|
|
disco senza complicazioni. Usare un network mirror per scaricare il software aggiornato ed
|
|
|
|
è sufficiente scegliere: SSH server e standard system utilities. In conclusione installare
|
|
|
|
GRUB bootloader nel Master Boot Record (MBR) per terminare l'installazione.
|
|
|
|
|
|
|
|
*Attenzione che il disco sarà formattato e cancellato, non ci saranno altri sistemi
|
|
|
|
operativi oltre a GNU/Linux Debian. È possibile effettuare al momento dell'installazione
|
|
|
|
scelte particolari che lasciamo agli utenti esperti*
|
|
|
|
|
|
|
|
#### Primo login e gestione root
|
|
|
|
|
|
|
|
Al primo avvio saremo di fronte a una schermata dove potremo inserire login e password che
|
|
|
|
abbiamo definito durante l'installazione. Si tratta del primo e fino ad ora unico utente
|
|
|
|
del computer e si tratta di un utente il quale può amministrare la macchina grazie al
|
|
|
|
comando *sudo*.
|
|
|
|
|
|
|
|
Come prima cosa cambiamo la password del nostro utente con una password non banale,
|
|
|
|
|
|
|
|
passwd
|
|
|
|
|
|
|
|
Verifichiamo il nome della macchina
|
|
|
|
|
|
|
|
hostname
|
|
|
|
|
|
|
|
Prendiamo nota dell'indirizzo IP
|
|
|
|
|
|
|
|
hostname -I
|
|
|
|
|
|
|
|
*se non funziona, uno dei due comandi seguenti ci darà l'indirizzo IP*
|
|
|
|
|
|
|
|
ip addr
|
|
|
|
|
|
|
|
ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1
|
|
|
|
|
|
|
|
A questo punto possiamo spegnere il Pc, staccare monitor e tastiera e posizionarla nella
|
|
|
|
sua sistemazione definitiva, vicino a una presa di corrente e raggiungibile da un cavo di
|
|
|
|
rete.
|
|
|
|
|
|
|
|
Fare login su selfhost da un altro Pc ci basta conoscere utente, password e l'indirizzo
|
|
|
|
IP dove trovarla
|
|
|
|
|
|
|
|
ssh user-name@indirizzo-IP
|
|
|
|
|
|
|
|
|
|
|
|
**TO BE CONTINUED**
|
|
|
|
|
2018-04-19 12:56:20 +02:00
|
|
|
## Risorse
|
|
|
|
|
2018-04-19 14:02:48 +02:00
|
|
|
Liberati dai programmi globali di sorveglianza
|
2018-04-19 12:56:20 +02:00
|
|
|
https://prism-break.org/it
|
|
|
|
|
|
|
|
Autistici/Inventati offre ad attivisti, gruppi e collettivi piattaforme per una
|
|
|
|
comunicazione più libera e strumenti digitali per l'autodifesa della privacy, come per
|
2018-04-19 14:02:48 +02:00
|
|
|
esempio email, blog, mailing list, instant messaging e altro.
|
2018-04-19 12:56:20 +02:00
|
|
|
https://www.autistici.org
|
|
|
|
|
2018-04-22 08:08:14 +02:00
|
|
|
## Consigli
|
|
|
|
|
|
|
|
Il computer non ha un cervello, usa il tuo.
|
2018-04-19 12:56:20 +02:00
|
|
|
|
2018-04-22 08:08:14 +02:00
|
|
|
Non fidarti troppo di chi ti dà consigli.
|