11 KiB
title | author | date | lang |
---|---|---|---|
Cripto libretto | Unit hacklab - unit@paranoici.org | Aprile 2018 | 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
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
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
Containers1: per compartimentare history e cookies
Profili: sono delle diverse sessioni del browser, per compartimentare anche gli add-on, si possono aprire scrivendo nella finestra di navigazione:
about:profiles
Add-ons:
- https-everywhere: preferisce https a http
- ghostly: blocca i tracker della nostra navigazione
- no script: blocca gli script
- ublock origin: blocca la pubblicità
Navigazione anonima con Tor
Tor, The Onion Router è 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.
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.
openssl sha256 VeraCrypt_1.22_Bundle.7z
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.
- Ubuntu: https://www.ubuntu.com/desktop/1710
- Linux Mint: https://linuxmint.com
- Bunsenlabs: https://www.bunsenlabs.org
- Debian: https://www.debian.org
Comunicazione sicura dal telefonino
Premessa: consideriamo che gli smartphone sono insicuri per definizione
- 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
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
- PGP Pretty Good Privacy, software di crittografia asimmetrica
- GnuPG è il suo equivalente libero
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
Verificare una firma accanto a un file
gpg --verify file.sig file
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 senso che si difenda dicendo: "è meno facile che andare al supermercato".
Di seguito una guida su come offrire servizi utili da una macchina di casa affacciata alla 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.
Requisiti
- Un IP pubblico. È obbligatorio darlo da parte del gestore, ma a volte è necessario 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
- Scaricare, verificare e installare Debian
- Primo login e gestione root
- 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
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
Risorse
Liberati dai programmi globali di sorveglianza 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 esempio email, blog, mailing list, instant messaging e altro. https://www.autistici.org
Consigli
Il computer non ha un cervello, usa il tuo.
Non fidarti troppo di chi ti dà consigli.