I miei qube
Come impostare il proprio Qubes OS
Qubes OS è un sistema operativo unico, che compartimenta i programmi impedendo la trasmissione di virus e quant'altro da una sezione - denominata "qube" - all'altra del vostro pc. Vi sono quattro tipi di sezioni:
1) i template, che sono ambienti Linux in cui installi i tuoi programmi;
2) i qube persistenti, basati sui primi, in cui usi i tuoi programmi;
3) i qube volatili (disposable), come i precedenti, ma che scompaiono dopo l'uso;
4) i qube standalone, che non sono basati su alcun template e nei quali s'installano OS a sé stanti come Windows o Haiku.
In questo modo potete, per esempio, usare un disposable contenente il vostro browser preferito e navigare senza restrizioni, filtri o preoccupazioni: se anche s'infettasse scomparirà tutto chiudendo il browser/disposable.
Esiste peraltro un sistema di condivisione di dati e file da un qube all'altro, per cui, ad esempio, se scaricate un file da un browser su disposable potete "ripulirlo" e trasferirlo ad un altro qube tramite un comando securizzato.
Un sistema a sé
Qubes OS è un altro mondo rispetto a tutti gli altri sistemi operativi. Immaginate di avere una specie di torre di controllo, da cui potete dirigere molteplici computer, eseguendo su ciascuno di essi un compito specifico: se un volo precipita - se un qube è compromesso - non trascina con sé tutti gli altri.
Per usare questo sistema bisogna essere consapevoli che stiamo usando un mezzo diverso da quello a cui siamo abituati, come se dopo anni di guida su strada imparassimo a pilotare un motoscafo. Oltre a ciò bisogna accettare l'dea che le operazioni fatte su Qubes - come il copia-incolla - esigono qualche passaggio in più rispetto agli altri OS ma è così in ogni ambito: anche salire sul tetto di una casa collegandosi alla linea di sicurezza invece di muoversi in libertà implica qualche operazione in più.
Modelli a cui ispirarsi
Una delle cose più difficili da capire all'inizio, è come impostare i qube rispetto alle nostre esigenze. La documentazione online di Qubes offre alcuni esempi di configurazione, basati sulle esigenze di alcune figure professionali: programmatrice, giornalista, investitore, insegnante:
Per fornire un ulteriore esempio su cui riflettere illustrerò qui di seguito l'organizzazine dei miei qube.
Template
Ogni qube è come se fosse un computer separato dagli altri. Consiglio di dedicare ciascun qube a un'operazione specifica, per esempio navigare, leggere la posta, scrivere... Bisogna tuttavia capire la differenza fra template e qube persistenti o volatili: i programmi si installano nei primi e si usano nei secondi.
Il sistema operativo propone di default template basati su Fedora e su Debian. Sui template sono basati sia i qube contenenti i programmi che ci servono (ad esempio il qube dedicato alle email) sia i qube di sistema: dom0, sys.net, sys-usb, ecc... Sconsiglio vivamente di toccare questi ultimi se non si è utenti molto esperti di Qubes OS. Mi limito, qui, a mostrare come possiamo impostare il nostro lavoro quotidiano abbinando alcuni programmi a template e qube specifici.
Template minimali
In alternativa ai template standard possiamo partire da template minimali di Fedora, Debian, CentOS e Gentoo. I minimali offrono una versione essenziale del sistema operativo, quindi meno vulnerabile ("quel che non c'è non si rompe", dicono gli ingegneri. Questo vale anche in informatica).
Per chi è interessato, il template minimale di Debian 12, ad esempio, si installa cliccando col tasto destro del mouse in un'area vuota dello schermo per aprire un terminale dom0, ovvero del template fondamentale da cui si amministra tutto il sistema, e digitare il seguente comando:
sudo qubes-dom0-update-qubes-template-Debian-12-minimal
Chi vuol installare un altro OS minimale deve sostituire "Debian-12" col nome e la versione del sistema prescelto.
Pianificazione
A questo punto dobbiamo riflettere alle nostre esigenze: come uso il computer? cosa mi serve? Per quanto mi riguarda il ragionamento è stato questo:
1) ho delle cartelle con dei file su cui voglio poter lavorare dai vari pc di casa mia. Queste cartelle sono sincronizzate da syncthing all'interno della lan domestica e non sono accessibili dall'esterno;
2) per la posta mi collego ai server delle mie caselle email;
3) la navigazione web è sempre insicura, quindi userò un template dedicato a internet su cui basare dei qube per navigare;
4) uso anche gemini, per cui voglio un qube dedicato.
Clonazione
Capite le esigenze, possiamo prendere il nostro template di base, minimale o meno, e clonarlo per ogni nuovo template di cui avremo bisogno; nei template derivati effettueremo le variazioni e aggiungeremo i programmi necessari alla funzione designata.
Prima di procedere alla clonazione bisogna aprire il Qube Manager, cliccare col pulsante destro del mouse sul template di base e selezionare "Update".
Poi, se il template di base è un minimal, vanno aggiunti alcuni programmi che serviranno a tutti i template derivati; a tal fine clic destro sul template > "Start/Resume" e poi clic destro > "Open console in qube". Nel terminale inserire se richiesto "user" come nome utente e digitare:
sudo apt install qubes-core-agent-thunar qubes-core-agent-dom0-updates qubes-menu qubes-desktop-linux-common
Ora procediamo alla clonazione in base a quanto pianificato. Nel mio caso, avendo bisogno di un qube dedicato a intranet, uno alla posta, e uno al web ho creato i seguenti template derivati:
1) debian-12-minimal-LAN, nel quale ho poi installato con la procedura di cui sopra (clic destro > "Start" + "Open console") i seguenti programmi, digitando in terminale:
sudo apt install qubes-core-agent-networking gnome-keyring
sudo apt install qutebrowser syncthing libreoffice gimp evince ristretto keepass vifm
2) debian-12-minimal-MAIL, in cui ho installato da terminale:
sudo apt install qubes-core-agent-networking gnome-keyring
sudo apt install qubes-pdf-converter qubes-img-converter
sudo apt install sylpheed evince ristretto
3) debian-12-minimal-WEB, in cui ho installato da terminale:
sudo apt install qubes-core-agent-networking gnome-keyring
sudo apt install qubes-pdf-converter qubes-img-converter
sudo apt install qutebrowser firefox-esr scrot
4) debian-12-minimal-GEM, in cui ho installato da terminale
sudo apt install qubes-core-agent-networking gnome-keyring
sudo apt install openssh-server sshfs krystal vifm filezilla geany
Lavorare con i qubes
Dopo i template vanno creati i qube con cui lavorare ogni giorno. Nel mio sistema, sulla base delle esigenze e dei template illustrati sopra, ho installato questi qube:
1) Lan: contiene tutti i file su cui lavoro e si sincronizza con gli altri pc della mia rete domestica: a tal fine uso syncthing, per configurare il quale uso il browser per accedere a 127.0.0.1, che è l'unico indirizzo consentito dal firewall del qube.
2) Mail: uso il client sylpheed; il firewall consente l'accesso soltanto ai server mail delle mie caselle.
3a) Dvm-web: è un qube volatile (disposable) basato sul template debian-12-minimal-WEB; quando avvio il browser è come se accendessi un nuovo computer che si autodistrugge quando lo chiudo, per cui dovunque io navighi eventuali infestanti scompaiono con lui. Perché il qube funzioni come un disposable occorre andare nelle sue Impostazioni (Qube manager > clic destro sul qube "dvm-web" > Settings, poi tab Advanced > Other e spuntare tab "Disposable template")
3b) Telegram: è un qube permanente basato anch'esso su debian-12-minimal-WEB, in cui adopero il browser per accedere esclusivamente alla pagina https://web.telegram.org. Non è disposable perché voglio poterci tornare senza dover rieffetuare il login con qrcode ogni volta; il firewall consente di andare solo a quell'indirizzo: qualunque "biscotto", robotino o parassita spione si insinuasse da lì non potrà comunque uscire da questo qube e raccogliere informazioni presenti negli altri.
4) Gemini: è dedicato al protocollo gemini (non all'IA di Microsoft!), ha i programmi necessari per navigare tra le "capsule" (i siti gemini)... e per scrivere questo blog. Il firewall è parametrato per consentire l'accesso solo agli indirizzi che mi interessano, dalla porta 1967 usata per questo protocollo.
Considerazioni finali
Se ho bisogno di allegare a una email un file del qube Lan, o salvare in Lan un allegato di posta elettronica o un pdf scaricato dal web posso sempre aprire il filemanager Thunar, presente di default in ogni qube, cliccare col tasto destro il file e selezionare "Move/Copy to another qube": il file apparirà nella cartella QubesIncoming del qube di destinazione.
Se poi il file da spostare è scaricato dal web, può essere "sanificato" prima d'inviarlo a un altro qube: basta cliccare il file col mouse destro e selezionare "Convert in disposable qube".
Contatto: @Dig@mastodon.uno