Qubes USB fun

Qubes OS er et operativsystem med høj grad af isolation mellem applikationer. Det har været nævnt før, blandt andet fordi jeg kører Qubes på min Librem 15.

Soundtracket der anbefales til dette blogindlæg er Fastpoholmen andas in - valgt fordi vi hørte det under skrivningen, og det giver varme i kroppen her i mørket som er på vej. Ånd ind, træk vejret, Danser for livet og lev for at danse.

Qubes er et spændende projekt, fordi vi idag har en tendens til at blande alle vores opgaver sammen i en stor pærevælling. Jeg skal lige teste den her app, og den her, og bruge en Web server til at dele et par filer her, osv.osv. Det betyder at vores daglige laptop ligner en ruin, sikkerhedsmæssigt, med rester af gamle programmer overalt. OK, måske er jeg bare et rodehoved og I har en meget låst laptop med central styring af alle apps I installerer, men så har I en privat laptop - som er en ruin :-).

Qubes håndterer dette ved at man laver isolation med virtuelle maskiner, qubes som de kalder dem:

Qubes takes an approach called security by compartmentalization, which allows you to compartmentalize the various parts of your digital life into securely isolated compartments called qubes.

Det har en god indvirkning på sikkerheden, idet man kan lave qubes uden netværk, lave firewall regler for enkelte Qubes osv. Det giver også en opdeling i arbejdssituationer. Eksempelvis er jeg idag på TheCamp gensynsweekend, som er hyggehack med private projekter. Til det starter jeg mine Qubes: Personal, Projects, men kan lade være med at starte den qube som jeg normalt ville lave arbejde i. Du kan så også have forskellige default indstillinger, som kunne være default SSH brugernavn hlk i privaten, men hlkadmin på arbejde. En masse gode ting udover sikkerheden, og som opvejer det lidt større arbejde det er at køre qubes, som ny bruger.

DOG har der også været blockers for mig, ting som bare ikke virkede optimalt i forhold til mine opgaver. Læs evt. den gamle artikel Tilbage til Librem 15 og Qubes OS i praksis Specifikt har det været et problem for mig at jeg skal bruge:

  • Konsolkabel til Soekris og andre små enheder med serial konsol
  • Wireless USB direkte ind i Kali Linux, til både hacker kurser, til fejlfinding og til andet sjov - portscanning for at finde enheder m.v.
  • USB Ethernet ind til Kali - samme problem
  • Kamera til arbejdsmøder, vi har krav om dette
  • Find selv på flere USB ting

Tidligere var det et problem, fordi Qubes kun tillod at smide en HEL USB controller ind til en qube/VM - og det var typisk inkl enheder som man ikke kunne undvære ude i qubes. Så det blokerede for ovenstående.

Det er blevet løst i Qubes 3.2 som jeg har opgraderet til! Så ved at følge to guides Using and Managing USB Devices
og How to Create a Kali Linux VM så virker det!

Der var følgende modifikationer/råd - sørg for at opdateret Templates med seneste opdateringer, og du skal også installere qubes-usb-proxy i de VMs du skal bruge det i. Derefter har man en fin qvm-usb kommando, som kan bruges til at forbinde enkelte USB enheder til qube/VM:

Illustration: Privatfoto

og med en Kalitest VM får jeg således dmesg output, og kan bruge enheden - lige så nemt som på VMware Fusion. NB: det understøtter pt. ikke USB3, så jeg satte min Ethernet USB3 over i en USB2 port :-D

Så projektet skrider fremad, faktisk med god success. En anden der er gået igang med Qubes er Thomas Steen Rasmussen, bedre kendt som tykling. Han er skiftet fra Windows, og vi er nu igang med næste "blockers" som er Chromecast og Spotify som vi forventer at løse ved at sætte et lille wifikort ind til media VM, og derved sætte den på SAMME netværk, som medieenheder. Jeg vil prøve at få ham til at skrive om hans problemer og oplevelser!

Kommentarer (8)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Nichlas Vanggaard

Har godt læst om det tidligere, men aldrig leget med det. Overvejer lidt at smide det på min stationære pc der nu kører dual boot med arch linux - til (skole)arbejde og windows til spil.

Tror du man kan spille tunge spil i qubes ?

  • 1
  • 0
Henrik Kramshøj Blogger

nej

Jeg har ikke prøvet, men udover Spotify, VLC og Mplayer - så forventer jeg heller ikke at bruge min laptop til det. Jeg er ved at nå til den konklusion at min mobiltelefon og en eventuel tablet, eller en helt anden laptop er "underholdningscenter".

Jeg tror specielt ikke 3D funktioner i hardware GPU er eller bliver tilgængelige fra VMs. Jeg kan dog tage helt fejl :-D Kunne være interessant, idet man jo ofte kan finde gode muligheder for GPU cracking og den slags.

  • 2
  • 0
Baldur Norddahl

Har du prøve at sammenligne med LXD? Det lyder til at kunne lidt af det samme.

https://www.ubuntu.com/cloud/lxd

Hvis du vil teste noget kører du bare følge to kommandoer:

lxc launch ubuntu: smidvækvm
lxc exec smidvækvm bash

Så har du en helt clean vm på mindre end et sekund. Når du ikke skal bruge den mere:

lxc delete smidvækvm

Du kan også bruge en eksisterende vm som template for en ny. På den måde kan du lynhurtigt teste noget uden at forurene dit kørende system.

  • 0
  • 0
Henrik Kramshøj Blogger

kender godt lxc, vagrant og mange andre metoder. De løser et andet problem end Qubes.

og sjovt nok får jeg følgende når jeg kører lxc

hlk@kunoichi:hlk$ lxc  
pdksh: lxc: not found

Jeg kommer jo fra en Mac, som IKKE har lxc :-D

  • 0
  • 0
Sune Marcher

Har du prøve at sammenligne med LXD? Det lyder til at kunne lidt af det samme


Er LXD/LXC ikke baseret på containere, hvor Qubes er VMs under Xen hypervisor?

Der er ret stor forskel på graden af isolering - der har fx været mere end én breakout fra Docker (der bruger LXC som underlæggende teknologi), senest med Dirty COW. Hypervisors er ikke immune (host VENOM host), men når vi snakker sikkerhedsfokus ville jeg end ikke overveje noget container-baseret.

  • 0
  • 0
Baldur Norddahl

men når vi snakker sikkerhedsfokus ville jeg end ikke overveje noget container-baseret.

Er vi så ude i at det perfekte er det godes onde? Ja LXC er container teknologi men det er da stadig tusind gange bedre end at køre noget untrusted kode direkte på din host maskine.

Jeg kender ikke Qubes og er derfor oprigtigt interesseret i en sammenligning.

Jeg er begyndt at bruge LXC/LXD en del. Det er faktisk ekstremt nemt og det bruger meget få systemresourcer. Ja det forudsætter nok at du er Ubuntu bruger modsat Mac bruger :-).

De ting Henrik skriver om i blog indlægget gælder også på en Ubuntu maskine. Man forfalder nemt til at "sudo apt install dit", "sudo apt install dat" og pludselig har man alt muligt mærkeligt skrammel inde som bare skulle testes engang sidste efterår. Nu kan man i stedet lige skrive "lxc launch ubuntu: scrapme" først, og dels undgå at køre noget nyt kode som root, og dels undgå at forurene din maskine permanent. Det er alt for ofte at apt remove ikke er 100% effektivt for slet ikke at tale om hvis det var nødvendigt at skifte diverse biblioteker undervejs.

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize