seconda versione
This commit is contained in:
parent
1c148679a2
commit
8841335a9f
12
README.md
12
README.md
|
@ -1,12 +1,15 @@
|
|||
# Criptolibretto
|
||||
|
||||
Un criptolibretto in puro testo con formattazione markdown, convertibile in PDF
|
||||
via pandoc e stampabile in formato pieghevole. Con documentazione.
|
||||
|
||||
Il criptolibretto nasce il 15 aprile 2018 per avere un pieghevole da
|
||||
portare al cryptoparty organizzato da Unit hacklab presso Macao.
|
||||
portare al cryptoparty organizzato da Unit hacklab presso Macao Milano.
|
||||
|
||||
Il criptolibretto è in lavorazione.
|
||||
|
||||
Se desideri ottenere il Pdf prima versione pronto da stampare,
|
||||
è disponibile a questo link il [criptolibretto versione 15 aprile 2018]
|
||||
Per ottenere il Pdf prima versione pronto da stampa, è disponibile a questo link
|
||||
il [criptolibretto versione 15 aprile 2018]
|
||||
|
||||
## Ottenere il Pdf
|
||||
|
||||
|
@ -46,9 +49,8 @@ le pagine sono una dritta e una storta.
|
|||
|
||||
L'azione di pinzare o cucire il libretto si dice "binding".
|
||||
|
||||
## Markdown
|
||||
### Markdown
|
||||
|
||||
* Guida di riferimento: [Pandoc's Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown)
|
||||
|
||||
[criptolibretto versione 15 aprile 2018]: http://cloud.unit.macaomilano.org/f/11f14729b3cd4d97a5f3/
|
||||
|
||||
|
|
19
TODO.md
19
TODO.md
|
@ -2,8 +2,21 @@
|
|||
|
||||
## TODO
|
||||
|
||||
* selfhosting
|
||||
espandere la scaletta
|
||||
### Fix my error nella conversione Pdf
|
||||
|
||||
* ingrandire i caratteri di stampa, se possibile senza ricorre a YALM
|
||||
make nella conversione sputa questo errore:
|
||||
|
||||
! Package babel Error: You haven't specified a language option.
|
||||
See the babel package documentation for explanation.
|
||||
Type H <return> for immediate help.
|
||||
...
|
||||
l.343 ...ry to proceed from here, type x to quit.}
|
||||
pandoc: Error producing PDF
|
||||
Makefile:2: recipe for target 'book-a4.pdf' failed
|
||||
make: *** [book-a4.pdf] Error 43
|
||||
|
||||
il pacchetto texlive-lang-italian è installato
|
||||
Forse è il mio setup poco CTAN e tanto apt-get
|
||||
|
||||
Workaround: levato "lang: italian" dallo yalm di book.md e funziona,
|
||||
ma si ottiene un PDF in inglese. Cioé "Contents" invece di "Index". Acc.
|
||||
|
|
430
book.md
430
book.md
|
@ -1,293 +1,381 @@
|
|||
---
|
||||
title: "Cripto libretto"
|
||||
author: Unit hacklab - unit@paranoici.org
|
||||
date: Aprile 2018
|
||||
lang: italian
|
||||
date: 12 Gennaio 2019
|
||||
---
|
||||
|
||||
# Per una corretta igiene digitale
|
||||
|
||||
## Usiamo software libero e a sorgente aperta
|
||||
# Usiamo software libero e a sorgente aperta
|
||||
|
||||
https://www.gnu.org/philosophy/free-sw.it.html
|
||||
https://gnu.org/philosophy/free-sw.it.html
|
||||
|
||||
## Una buona password
|
||||
# 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
|
||||
che numeri, è molto lunga, ma è difficile da dimenticare
|
||||
|
||||
Nel mezzo del cammin di nostra vita2
|
||||
Nel Mezzo Del Cammin Di Nostra Vita 19
|
||||
|
||||
## Il password manager
|
||||
# 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
|
||||
Le password da ricordare sono troppe, KeePassX è un software per la gestione di password
|
||||
che offre un luogo sicuro dove scriverle, ma non dimenticare la password principale
|
||||
|
||||
https://www.keepassx.org
|
||||
https://keepassx.org
|
||||
|
||||
## Accecare la telecamera del portatile
|
||||
# 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.
|
||||
Attaccare 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
|
||||
# Navigazione consapevole
|
||||
|
||||
Usiamo Firefox
|
||||
|
||||
La gestione dei containers e dei profili ci permette di creare ambienti isolati
|
||||
La gestione dei containers e dei profili ci permettono di creare ambienti isolati
|
||||
|
||||
Containers[^1]: per compartimentare history e cookies
|
||||
Multi-account-containers è un componente aggiuntivo (add-on) per creare schede contenitore
|
||||
(tab) e compartimentare le preferenze del sito, le sessioni registrate e i dati di
|
||||
tracciamento. Un sito non avrà dunque accesso ai dati (cookies) delle altre tab aperte.
|
||||
Questo permette di separare facilmente il lavoro dalla navigazione personale.
|
||||
|
||||
Profili: sono delle diverse sessioni del browser, per compartimentare anche gli add-on, si
|
||||
possono aprire scrivendo nella finestra di navigazione:
|
||||
I 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:
|
||||
|
||||
* multi-account containers
|
||||
* 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
|
||||
|
||||
## Navigazione anonima con Tor
|
||||
# Navigazione anonima
|
||||
|
||||
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.
|
||||
Scaricare, installare e usare il programma Tor browser bundle per navigare in rete
|
||||
anonimamente
|
||||
|
||||
Attenzione! Non presumere che il tutto funzioni per magia. Studia, prova, verifica.
|
||||
https://torproject.org
|
||||
|
||||
https://www.torproject.org/download/download.html.en
|
||||
Attenzione. Non presumere che il tutto funzioni per magia. Studia, prova, chiedi
|
||||
|
||||
## Tails
|
||||
# Navigazione paranoica
|
||||
|
||||
TAILS è un sistema operativo smemorato, si avvia da penna Usb e quando lo spegni non
|
||||
Tails è un sistema operativo smemorato, si avvia da penna Usb e una volta spento 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.
|
||||
nulla. Utile in viaggio in zone pericolose
|
||||
|
||||
https://tails.boum.org
|
||||
|
||||
## Verificare l'integrità del software scaricato
|
||||
# Usare un sistema operativo libero
|
||||
|
||||
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.
|
||||
Usiamo GNU/Linux, disponibile in diverse distribuzioni. Queste tre distribuzioni sono
|
||||
elencate per facilità d'uso
|
||||
|
||||
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
|
||||
## Scaricare e installare una distribuzione GNU/Linux
|
||||
|
||||
Premessa: consideriamo che gli smartphone sono insicuri per definizione
|
||||
Ad esempio Debian. Dal sito individuare e scaricare l'immagine. Mentre scriviamo la
|
||||
più recente è la 9.6. Per un comune computer moderno usare amd64. Verificare la
|
||||
checksum e masterizzare l'immagine su di un Cd, Dvd o su una penna Usb da almeno 1GB
|
||||
|
||||
* **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
|
||||
Inserire la penna Usb e scoprire dove è stata montata
|
||||
|
||||
## VeraCrypt
|
||||
ls -l /dev/disk/by-id/*usb*
|
||||
|
||||
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.
|
||||
Nell'esempio che segue la penna è in /dev/sdb, copiarvi Debian:
|
||||
|
||||
https://www.veracrypt.fr/en/Home.html
|
||||
*il contenuto della penna sarà cancellato*
|
||||
|
||||
## PGP, la crittografia pesante a doppia chiave
|
||||
dd if=debian-9.6.0-amd64-netinst.iso of=/dev/sdb bs=4M; sync
|
||||
|
||||
* **PGP** Pretty Good Privacy, software di crittografia asimmetrica
|
||||
* **GnuPG** è il suo equivalente libero
|
||||
Riavviare il Pc dalla penna Usb tenendo premuto F12
|
||||
|
||||
Si usa per cifrare, ma anche per firmare.
|
||||
*Se il Pc non avvia automaticamente dalla penna, entrare nel Bios e scegliere Usb come
|
||||
dispositivo d'avvio. A seconda del modello tenere premuto all'avvio uno di questi tasti:
|
||||
ESC, DEL, F1, F2, F8, F10. Una volta nel Bios, editiamo l'ordine di avvio mettendo per
|
||||
prima la penna Usb*
|
||||
|
||||
Chi usa GnuPG crea due chiavi, quella privata serve per decifrare, quella pubblica viene
|
||||
usata dai suoi corrispondenti per cifrare.
|
||||
Nella procedura di installazione si verrà guidati a scegliere la lingua da usare, la zona
|
||||
geografica, il nome del Pc, la rete e la creazione dell'utilizzatore. Durante la
|
||||
partizione guidata formattare l'intero disco senza complicazioni. In conclusione
|
||||
installare Grub bootloader nel Master Boot Record
|
||||
|
||||
Creare la coppia di chiavi
|
||||
*Il disco del Pc verrà formattato e cancellato, non ci saranno altri sistemi operativi
|
||||
oltre a GNU/Linux Debian. È possibile effettuare al momento dell'installazione scelte
|
||||
diverse per casi particolari*
|
||||
|
||||
*È possibile durante l'installazione crittografare l'intero disco e in questo caso si
|
||||
dovrà mettere una passhprase ad ogni avvio, in aggiunta a quella di login. Consigliabile
|
||||
per un portatile, in caso venga smarrito non ci si dovrà preoccupare della perdita dei
|
||||
dati. Ricordare che senza la passphase non è possibile accedere al disco*
|
||||
|
||||
### Migrare la posta di Thunderbird da quel sistema a GNU/Linux
|
||||
|
||||
Prima di cominciare fare un backup zippando la cartella di Thunderbird
|
||||
|
||||
Poi compattare le cartelle di Thunderbird
|
||||
|
||||
Thunderbird: Menu > File > Compact Folders
|
||||
|
||||
Infine copiare il profilo da un pc all'altro, che si trova, a seconda, in
|
||||
|
||||
Linux: /home/tu/.thunderbird/[profile name]
|
||||
MacOSX: /Users/tu/Library/Thunderbird/Profiles/[profile name]/
|
||||
WindowsXP: C:\Documents and Settings\tu\Application Data\Thunderbird\Profiles
|
||||
Windows7: C:\Users\tu\AppData\Roaming\Thunderbird\Profiles\[profile name]
|
||||
|
||||
In caso di problema, far partire thunderbird con profile manager e sistemare:
|
||||
|
||||
thunderbird -profilemanager
|
||||
|
||||
Se il problema persiste:
|
||||
|
||||
Chiudere e riaprire
|
||||
|
||||
Controllare i permessi
|
||||
|
||||
Verificare il path in ./thunderbird/profiles.ini
|
||||
|
||||
nel mac era: Path=Profiles/76gighirz.default
|
||||
su debian è: Path=76gighirz.default
|
||||
|
||||
Cancellare questi files che comunque si rigenerano da soli
|
||||
|
||||
compreg.dat
|
||||
extensions.cache
|
||||
extensions.ini
|
||||
extensions.rdf
|
||||
pluginreg.dat
|
||||
|
||||
# VeraCrypt, il lucchetto alla penna Usb
|
||||
|
||||
VeraCrypt è un software che permette di proteggere con una passphrase una penna Usb. Utile
|
||||
per trasportare dei documenti in viaggio senza preoccuparsi di perderla.
|
||||
|
||||
*Durante la configurazione la penna verrà formattata e sarà sempre necessario usare
|
||||
VeraCrypt per montarla e accedere al contenuto*
|
||||
|
||||
https://veracrypt.fr
|
||||
|
||||
# GnuPG, la crittografia pesante a doppia chiave
|
||||
|
||||
Gnu Privacy Guard [gnupg.org] è la versione libera del software di crittografia
|
||||
asimmetrica Pgp, Pretty Good Privacy
|
||||
|
||||
Si usa per cifrare, cioè per nascondere il contenuto di un messaggio. E per firmare, cioè
|
||||
per autenticare un messaggio. Dunque anche per decifrare e per verificare una firma
|
||||
|
||||
Il suo scopo è permettere una comunicazione sicura tra persone che non si sono incontrate
|
||||
di persona e frustrare chi intercetta i messaggi ma non ha la chiave per decifrarli
|
||||
|
||||
## Installazione
|
||||
|
||||
Si può usare da terminale o con la grafica, in entrambi i casi si vorrà integrarne l'uso
|
||||
con l'email, dunque *gpg+mutt* o *gpg+enigmail+thunderbird*
|
||||
|
||||
Installare GnuPG, il client di posta grafica e il suo plugin (che può gestire Gpg fin
|
||||
dalla creazione delle chiavi)
|
||||
|
||||
apt-get install gnupg thunderbird enigmail
|
||||
|
||||
## Configurazione e creazione delle chiavi
|
||||
|
||||
gpg --gen-key
|
||||
|
||||
Creare un certificato di revoca
|
||||
oppure
|
||||
|
||||
gpg -o revoca-Key-ID.asc --gen-revoke Key-ID
|
||||
Aprire thunderbird > enigmail
|
||||
|
||||
Esportare la chiave pubblica
|
||||
Creare la coppia di chiavi, indicando una email, assegnando una passphrase e specificando
|
||||
una scadenza. Otterremo una chiave pubblica (pubkey) e una chiave privata (privkey). La
|
||||
pubkey viene conservata privatamente, la pubkey viene divulgata liberamente
|
||||
|
||||
gpg -a -o mia-chiave-pubblica.txt --export Key-ID
|
||||
## Uso
|
||||
|
||||
Importare una chiave di qualcuno
|
||||
* Si usa la propria privkey per firmare un documento o una email
|
||||
* Si usa la pubkey di qualcun* per verificare la sua firma al messaggio
|
||||
* Si divulga la propria pubkey perché il nostro corrispondente possa scriverci segretamente
|
||||
* Si ottiene la pubkey del nostro corrispondente per scrivergli segretamente
|
||||
* Si usa la propria privkey per decifrare un messaggio a noi indirizzato
|
||||
* Si usa la pubkey di qualcun* per cifrare un messaggio ad ess* destinato
|
||||
|
||||
gpg --import chiave.asc
|
||||
Solitamente si invia un messaggio segreto sia cifrandolo che firmandolo ed è ragionevole
|
||||
aspettarsi di ricevere dei messaggi segreti firmati, ma quando non si vuole nascondere
|
||||
il contenuto ma solo avere la certezza di stare dialogando con la persona giusta, si firma
|
||||
solo.
|
||||
|
||||
Verificare una fingerprint
|
||||
*La crittografia a doppia chiave è semplice, ma non è facile. Usarla nel quotidiano
|
||||
permette di sperimentare e capire attraverso la pratica. Trovare un corrispondente*
|
||||
|
||||
gpg --fingerprint Key-ID
|
||||
Una guida con infografiche: https://emailselfdefense.fsf.org/it
|
||||
|
||||
Cifrare un documento per Snowden
|
||||
## Verifica
|
||||
|
||||
gpg -a -o messaggio.asc --encrypt --recipient snowden-Key-ID messaggio.txt
|
||||
Ogni coppia di chiavi ha una fingerprint che la identifica univocamente. È buona pratica,
|
||||
prima di inserire la chiave nella nostra rete di fiducia, chiedere al vostro
|
||||
corrispondente di leggervi al telefono la sua fingerprint verificando che corrisponda con
|
||||
quella della pubkey che vi siete scambiat*. E viceversa. Il Gpg è una rete sociale
|
||||
|
||||
Decifrare un documento
|
||||
## Fingerprint, revoca e backup
|
||||
|
||||
gpg -o messaggio-in-chiaro.txt messaggio.asc
|
||||
Ottenere la fingerprint di una chiave
|
||||
|
||||
Scaricare la chiave pubblica di qualcuno
|
||||
gpg --fingerprint [email o Key-ID]
|
||||
|
||||
gpg --keyserver pgp.mit.edu --search-keys Key-ID
|
||||
È consigliabile creare subito un certificato di revoca delle chiavi
|
||||
|
||||
Verificare una firma accanto a un file
|
||||
gpg -o ~/.gnupg/RevocaCertificato.asc --gen-revoke [fingerprint]
|
||||
|
||||
gpg --verify file.sig file
|
||||
Fare un backup della cartella nascosta .gnupg da conservare altrove con molta cura
|
||||
|
||||
## Self hosting
|
||||
tar -zcpf ~/backup-gnupg.tar.gz ~/.gnupg
|
||||
|
||||
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.
|
||||
*È possibile usare una penna Usb cifrata con VeraCrypt per contenere il backup di gpg e
|
||||
altri dati importanti come le mailbox*
|
||||
|
||||
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".
|
||||
# Verificare l'integrità di un software scaricato
|
||||
|
||||
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.
|
||||
Alcuni software sono distribuiti accompagnati dal risultato della somma di controllo
|
||||
(checksum) oppure da una firma digitale a lato (.sig) e la sua fingerprint
|
||||
|
||||
### Requisiti
|
||||
Verificare che la stringa alfanumerica univoca (hash) che risulta applicando l'algoritmo
|
||||
sha256 coincida con quella pubblicata
|
||||
|
||||
* 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
|
||||
openssl sha256 debian-9.6.0-amd64-netinst.iso
|
||||
c51d84019c3637ae9d12aa6658ea8c613860c776bd84c6a71eaaf765a0dd60fe
|
||||
|
||||
### Scaletta
|
||||
Verificare una firma
|
||||
|
||||
* 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
|
||||
gpg --import VeraCrypt_PGP_public_key.asc
|
||||
key 821ACD02680D16DE: public key "VeraCrypt Team" imported
|
||||
(è stato troncato ciò che non interessa all'esempio)
|
||||
|
||||
#### Fare un buco nel firewall del hag/router per far passare la porta 22 e 443
|
||||
gpg --fingerprint VeraCrypt
|
||||
5069 A233 D55A 0EEB 174A 5FC3 821A CD02 680D 16DE
|
||||
(coincide con la fingerprint pubblicata sul sito?)
|
||||
|
||||
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.
|
||||
gpg --verify veracrypt-1.23-setup.tar.bz2.sig
|
||||
Good signature from "VeraCrypt Team"
|
||||
(Bene. Il warning indica solo che la chiave non è stata da noi firmata)
|
||||
|
||||
#### Scaricare, verificare e installare Debian
|
||||
*Non è necessario firmare una chiave per usarla. Firmarla serve a ricordare (e nel caso si
|
||||
usi il web of trust, a dichiararlo al mondo) che ci si fida di quella chiave. È giusto
|
||||
farlo dopo averla verificata con una telefonata. p.s. non chiamare al telefono Debian,
|
||||
tantomeno all'ora di cena*
|
||||
|
||||
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
|
||||
# Collegarsi a un pc usando ssh con scambio di chiavi
|
||||
|
||||
Collegare il Pc a monitor, tastiera e cavo ethernet
|
||||
Nella crittografia asimmetrica quando si usa una passphrase per sbloccare una chiave, la
|
||||
decrittazione avviene in locale, perciò la passphrase non viaggia per internet. Questa
|
||||
viene chiamata cifratura *end to end* ed è più sicura
|
||||
|
||||
Inserire la chiavetta e verificare dove è stata montata
|
||||
Creare la coppia di chiavi per collegarsi al pc
|
||||
|
||||
sudo ls -l /dev/disk/by-id/*usb*
|
||||
ssh-keygen -b 8192 -t rsa -f chiave
|
||||
|
||||
Nell'esempio che segue la penna è in /dev/sdb, procediamo a creare la penna d'avvio
|
||||
Caricare sul pc la chiave pubblica e rinominarla in ~/.ssh/authorized_keys con i
|
||||
giusti permessi
|
||||
|
||||
*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*
|
||||
cat chiave.pub | ssh tu@pc "mkdir -p ~/.ssh && \
|
||||
chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
|
||||
|
||||
sudo dd if=debian.iso of=/dev/sdb bs=4M; sync
|
||||
Avviare ssh-agent e usare la chiave privata
|
||||
|
||||
Inserire la penna nel Pc da usare come self host e riavviare tenendo premuto F12
|
||||
eval `ssh-agent` ; ssh-add chiave
|
||||
|
||||
*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*
|
||||
Collegarsi al pc
|
||||
|
||||
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.
|
||||
*"tu" è il nome utilizzatore e "pc" è il nome o l'indirizzo IP della macchina remota*
|
||||
|
||||
*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*
|
||||
ssh tu@pc
|
||||
|
||||
#### Primo login e gestione root
|
||||
Dopo verifica sarà possibile disabilitare sul pc l'accesso ssh via password
|
||||
specificando *PasswordAuthentication no* in */etc/ssh/sshd_config*
|
||||
|
||||
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*.
|
||||
# Self hosting con Nextcloud
|
||||
|
||||
Come prima cosa cambiamo la password del nostro utente con una password non banale,
|
||||
Per avere una copia di riserva dei propri dati, sincronizzare una rubrica e un calendario
|
||||
con un dispositivo mobile e condividere documenti non è obbligatorio usare i servizi
|
||||
commerciali, i quali non sono gratuiti, ma costano in libertà. Quando i nostri dati
|
||||
vengono sparpagliati e utilizzati come risorse per creare profitto, subiamo un danno
|
||||
all'integrità del nostro *mio* digitale. Self hosting significa gestire autonomamente uno
|
||||
spazio digitale. Si può fare in gruppo e collettivizzare le risorse e i costi. È meno
|
||||
facile che usare i servizi commerciali.. ma no, è il paragone che non regge. La guida per
|
||||
fare un orto verticale non deve giustificarsi dicendo che è meno facile che andare al
|
||||
supermercato
|
||||
|
||||
passwd
|
||||
Installare e configurare Nextcloud (con mariadb, apache2, php7, ufw e fail2ban) su una VPS
|
||||
o un Pc, con già Debian 9
|
||||
|
||||
Verifichiamo il nome della macchina
|
||||
apt-get install curl
|
||||
curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | bash
|
||||
|
||||
hostname
|
||||
Conservare le password e seguire le info di post installazione
|
||||
|
||||
Prendiamo nota dell'indirizzo IP
|
||||
https://github.com/nextcloud/nextcloudpi/wiki
|
||||
|
||||
hostname -I
|
||||
Se si ha un (sub)dominio a disposizione si può ottenere da LetsEncrypt un certificato SSL
|
||||
|
||||
*se non funziona, uno dei due comandi seguenti ci darà l'indirizzo IP*
|
||||
ncp-config
|
||||
|
||||
ip addr
|
||||
Configurare nextcloud: creare utenti e attivare calendario, rubrica e quel che serve
|
||||
|
||||
ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1
|
||||
# Comunicazione sicura dal telefonino
|
||||
|
||||
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.
|
||||
Premessa: consideriamo che gli smartphone sono insicuri per definizione
|
||||
|
||||
Fare login su selfhost da un altro Pc ci basta conoscere utente, password e l'indirizzo
|
||||
IP dove trovarla
|
||||
* **Signal.org** è una app per comunicare privatamente
|
||||
* **Conversations.im** è una app per comunicare privatamente con protocollo federato
|
||||
* **lineageos.org** è un sistema operativo per telefonini basato su Android
|
||||
|
||||
ssh user-name@indirizzo-IP
|
||||
Il progetto **Privacy matters on my phone** affronta il discorso privacy per livelli
|
||||
|
||||
https://unit.abbiamoundominio.org/pmomp.html
|
||||
|
||||
**TO BE CONTINUED**
|
||||
# Backup incrementale sicuro e remoto con duplicity
|
||||
|
||||
## Risorse
|
||||
Usando duplicity, ssh e gpg si può crittografare un backup e conservarlo in modo sicuro su
|
||||
un pc remoto. Attenzione a conservare a parte una copia della chiave gpg che serve
|
||||
per il recupero
|
||||
|
||||
apt-get install duplicity
|
||||
|
||||
In questo esempio avviene un backup della Home, con scambio chiavi ssh, definendo la
|
||||
chiave gpg da usare per la cifratura, con esclusione della cartella *Downloads*, sul
|
||||
pc chiamato *pc*, nella directory *backup* dell'utilizzatore con lo stesso nome, in
|
||||
questo esempio chiamato *tu*
|
||||
|
||||
Nei giorni successivi usare stesso comando per eseguire un backup incrementale
|
||||
|
||||
duplicity --use-agent --encrypt-sign-key [Key-ID] --exclude ~/Downloads \
|
||||
$HOME/ sftp://tu@pc//home/tu/backup
|
||||
|
||||
Verificare il backup
|
||||
|
||||
duplicity verify -v9 sftp://tu@pc//home/tu/backup /home/tu
|
||||
|
||||
Recuperare il backup nella cartella *recupero*
|
||||
|
||||
mkdir recupero
|
||||
duplicity sftp://tu@pc//home/tu/backup /home/tu/recupero
|
||||
|
||||
Esiste un front-end grafico di duplicity, chiamato Deja Dup
|
||||
|
||||
apt-get install duplicity deja-dup
|
||||
|
||||
# Risorse
|
||||
|
||||
Liberati dai programmi globali di sorveglianza
|
||||
https://prism-break.org/it
|
||||
|
@ -297,7 +385,7 @@ comunicazione più libera e strumenti digitali per l'autodifesa della privacy, c
|
|||
esempio email, blog, mailing list, instant messaging e altro.
|
||||
https://www.autistici.org
|
||||
|
||||
## Consigli
|
||||
# Consigli
|
||||
|
||||
Il computer non ha un cervello, usa il tuo.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user