Tietoturvasta kiinnostuneen kannattaa tutustua Qubes OS:iin

”Security by isolation”

Tietoturvaan vakavasti suhtautuvina päätimme asentaa toimistollemme testikäyttöön Qubes OS:in. Tarkoituksemme oli kokeilla, soveltuvatko sen tietoturvaominaisuudet lakiasiaintoimiston tarpeisiin. Qubes OS on käyttöjärjestelmä, jossa prosessit on eristetty Xen VMM:n avulla toisistaan erillisiksi osakokonaisuuksiksi siten, että esimerkiksi internetin selaamiseen ja arkaluontoisten asiakirjojen editoimiseen voidaan käyttää eri virtuaalikoneita, jotka eivät ole millään tavalla tietoisia toisistaan: selaimen mahdollinen saastuminen ei uhkaa arkaluontoista dataa, joka on turvassa toisella virtuaalikoneella.

Ruutukaappaus testikäytössä olevalta koneeltamme.

Kuvan vasemmassa alalaidassa näkyy arkaluontoisen datan käsittelyyn tarkoitettu vault-virtuaalikone, jossa ei tietoturvasyistä ole lainkaan verkkoyhteyttä, ja oikeassa laidassa work-virtuaalikone, jossa on rajoitettu verkkoyhteys erillisen palomuurina toimivan sys-firewall-koneen kautta. Yläreunan ikkunassa näkyy ylläpitoon tarkoitettu dom0, jonka päällä työpöytäympäristö toimii ja jonka kautta muita virtuaalikoneita hallinnoidaan. Ikkunassa ajettu komento ”qvm-ls -n” listaa kaikki virtuaalikoneet ip-osoitteineen. Myöskään dom0:lla ei ole verkkoyhteyttä, kuten netvm- ja gateway/DNS-sarakkeista näkyy1.

Qubes OS:issä virtuaalikoneita voi kloonata helposti ja nopeasti2. Tämän ansiosta järjestelmä on helppo palauttaa aiempaan tilaan. Lisäksi Qubes OS:in käyttäjä voi lennossa luoda kertakäyttöisiä virtuaalikoneita (Disposable VM) selatakseen esimerkiksi verkkosivuja, joiden turvallisuudesta ei ole takeita3. Kertakäyttöinen virtuaalikone hävitetään joka tapauksessa käytön jälkeen, eikä sen mahdollisesta saastumisesta ole haittaa. Qubes OS:istä onkin sanottu, että ”this secure operating system can protect you even if you get hacked”. Eri virtuaalikoneiden verkkoliikenne on myös helppo reitittää automaattisesti eri palomuurikoneiden kautta – esimerkiksi siten, että kertakäyttöisten virtuaalikoneiden liikenne kulkee automaattisesti Tor-proxyn läpi – ja/tai eri verkkokorttien kautta.

Työpöytäympäristö ja virtuaalikoneiden integroiminen käyttäjäystävälliseksi kokonaisuudeksi

Qubes OS yhdistää hienosti tietoturvan ja järjestelmän käytettävyyden. Samojen virtuaalikoneiden sovellukset aukeavat erillisiin ikkunoihin (samaan tapaan kuin VirtualBoxin seamless-modessa) ja ne voi halutessaan sijoittaa eri työpöydille. Kulloisenkin ympäristön tietoturvaominaisuudet ovat koko ajan nähtävissä ikkunan kehyksen väristä. Käyttäjän oma huolimattomuus on usein järjestelmän suurin tietoturvariski, ja tätä riskiä pienentää olennaisesti se, että tietoturvaltaan erilaiset alueet on selkeästi ja intuitiivisesti merkitty. Värit ovat tietysti muutettavissa, mutta oletusväritys on sellaisenaankin toimiva.

Tiedostojen kopiointi virtuaalikoneiden välillä perustuu qrexec-sovelluskehykseen. Sen avulla (komennolla ”qvm-copy-to-vm”) tiedostoja voi siirtää vastaanottavan virtuaalikoneen ~/QubesIncoming-hakemistoon. Komento toimii jopa rekursiivisesti ja tarkistaa, ettei olemassaolevien tiedostojen päälle kirjoiteta.

Qubes OS tarjoaa kiinnostavia ratkaisuja myös PGP-avainten turvaamiseen ja PDF-tiedostojen tietoturvaongelmiin.

Käyttökokemuksemme perusteella oikeastaan vain vaihtoehtoiset työpöytäympäristöt jättävät toivomisen varaa. Qubes OS tarjoaa automaattisesti asennettavina työpöytäympäristöinä vain KDE:n ja Xfce:n. Toimistomme ensisijaisesti käyttämä Awesome toimii Qubes OS:issa toistaiseksi vain tyydyttävästi, eikä se siksi sisälly Qubes OS -jakeluun, vaan se on muokattava ja käännettävä itse. Toimistomme näkökulmasta toinen negatiivinen piirre voisi olla se, että Qubes OS:in dom0 on aina Fedora-Linux – mutta helposti asennettava Debian-template korjaa ongelman melko hyvin.

Template-järjestelmä säästää resursseja

Yllä sanotun perusteella voisi kuvitella, että rinnakkaiset virtuaalikoneet tuhlaavat melkoisesti koneen resursseja ja edellyttävät valtavasti tehoa. Qubes OS on kuitenkin yllättävän kevyt. Resurssien säästämiseksi kaikki sovellusten käyttämiseen tarkoitetut virtuaalikoneet (AppVM) perustuvat template-virtuaalikoneisiin (TemplateVM), joita on yksi tai useampia.

App-virtuaalikoneet jakavat juuriosion template-virtuaalikoneensa kanssa; myös kaikki template-koneelle asennetut ohjelmistot. Tästä johtuen app-virtuaalikoneet vaativat levytilaa vain suunnilleen saman verran kuin ko. app-koneen kotihakemistossa on dataa. Jaettuun dataan app-virtuaalikoneilla on vain lukuoikeus, eivätkä ne siksi voi tehdä siihen mitään muutoksia.

Testikäytössämme yksittäinen app-virtuaalikone käytti keskusmuistia 237–900 MB siitä riippuen, kuinka raskaita sovelluksia siinä ajettiin.

Qubes OS:iin voi asentaa virtuaalikoneita myös HVM:nä (hardware virtual machine), jolloin ei tarvita muuta kuin ko. käyttöjärjestelmän asennusmedia. Näin asennettua virtuaalikonetta voi käyttää myös template-koneena, mikä mahdollistaa jopa Microsoft Windowsin melko turvallisen käytön.

Oikeastaan meidän on turha enää puhua testikäytöstä: Qubes OS on selvästi tullut toimistollemme jäädäkseen.


  1. dom0:lla on tosin kaksi ip-osoitetta, joiden kautta kulkevan verkkoyhteyden voi väliaikaisesti avata, mikä ei tietenkään ole suositeltavaa kuin poikkeustapauksissa.

  2. Testikäytössämme app-virtuaalikoneen kloonaukseen kului aikaa noin 5 sekuntia; tallennettua yksityistä dataa oli ko. koneella tosin tuossa vaiheessa huomattavan vähän.

  3. Kertakäyttöisen virtuaalikoneen luominen ja selaimen käynnistäminen kesti noin 10 sekuntia.

Kommentoi





Kommenteissa sallitut HTML-tagit: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <em> <i> <strike> <strong>