QubesOS erabiliz Windows 7-rekin lan egiteko

Ez dago HabrΓ©-ri buruzko artikulu asko Qubes sistema eragileari eskainita, eta ikusi ditudanek ez dute hura erabiltzeko esperientzia handirik deskribatzen. Ebakiaren azpian, hori zuzentzea espero dut Qubes Windows ingurunea babesteko (aurkako) baliabide gisa erabiltzearen adibidea erabiliz eta, aldi berean, sistemaren errusieraz hitz egiten duten erabiltzaileen kopurua kalkulatzea.

QubesOS erabiliz Windows 7-rekin lan egiteko

Zergatik Qubes?

Windows 7-ren laguntza teknikoaren amaieraren istorioak eta erabiltzaileen antsietate gero eta handiagoak sistema eragile honen lana antolatzeko beharra ekarri zuen, baldintza hauek kontuan hartuta:

  • Erabat aktibatuta dagoen Windows 7 erabiltzea bermatu erabiltzaileak eguneratzeak eta hainbat aplikazio instalatzeko (Internet bidez barne);
  • baldintzen arabera (funtzionamendu autonomoa eta trafikoa iragazteko moduak);
  • euskarri aldagarriak eta gailuak selektiboki konektatzeko gaitasuna eskaintzea.

Murrizketa-multzo honek argi eta garbi prestatutako erabiltzailea suposatzen du, administrazio independentea onartzen baita, eta murrizketak ez daude bere balizko ekintzak blokeatzearekin lotuta, akats posibleak edo software-efektu suntsitzaileak baztertuz baizik. Horiek. Ereduan ez dago barne-hauslerik.

Irtenbide baten bila, azkar alde batera utzi genuen murrizketak Windows tresna integratuak edo osagarriak erabiliz ezartzeko ideia, nahiko zaila baita administratzaile-eskubideak dituen erabiltzaile bat eraginkortasunez murriztea, aplikazioak instalatzeko gaitasuna utziz.

Hurrengo irtenbidea birtualizazioa erabiliz isolatzea izan zen. Mahaigaineko birtualizaziorako tresna ezagunak (adibidez, Virtualbox adibidez) ez dira oso egokiak segurtasun arazoak konpontzeko eta zerrendatutako murrizketak erabiltzaileak egin beharko ditu gonbidatutako makina birtualaren propietateak etengabe aldatuz edo egokituz (aurrerantzean aipatzen dena). VM gisa), akatsak izateko arriskua areagotzen du.

Aldi berean, Qubes erabiltzaileen mahaigaineko sistema gisa erabiltzen esperientzia genuen, baina Windows gonbidatuekin lan egiteko egonkortasunari buruzko zalantzak genituen. Qubes-en egungo bertsioa egiaztatzea erabaki zen, adierazitako mugak sistema honen paradigman oso ondo sartzen direlako, batez ere makina birtualen txantiloiak ezartzea eta ikusizko integrazioa. Jarraian, Qubesen ideiei eta tresnei buruz laburki hitz egiten saiatuko naiz, arazoa konpontzeko adibidea erabiliz.

Xen birtualizazio motak

Qubes Xen hipervisorean oinarritzen da, prozesadorearen baliabideak, memoria eta makina birtualak kudeatzeko funtzioak minimizatzen dituena. Gailuekin beste lan guztiak dom0-n kontzentratzen dira Linux nukleoan oinarrituta (Qubes-ek dom0-rako Fedora banaketa erabiltzen du).

QubesOS erabiliz Windows 7-rekin lan egiteko

Xenek hainbat birtualizazio mota onartzen ditu (Intel arkitekturarako adibideak emango ditut, Xenek beste batzuk onartzen dituen arren):

  • parabirtualizazioa (PV) - hardware euskarririk erabili gabe birtualizazio modua, edukiontzien birtualizazioa gogorarazten duena, nukleo egokitua duten sistemetarako erabil daiteke (dom0-k modu honetan funtzionatzen du);
  • birtualizazio osoa (HVM) - modu honetan, hardware euskarria erabiltzen da prozesadorearen baliabideetarako, eta gainerako ekipamendu guztiak QEMU erabiliz emulatzen dira. Hau da hainbat sistema eragile exekutatzeko modurik unibertsalena;
  • hardwarearen parabirtualizazioa (PVH - ParaVirtualized Hardware) - hardware euskarria erabiltzen duen birtualizazio modua, hardwarearekin lan egiteko, sistema gonbidatuaren nukleoak hipervisorearen gaitasunetara egokitutako kontrolatzaileak erabiltzen dituenean (adibidez, memoria partekatua), QEMU emulazioaren beharra ezabatuz. eta I/O errendimendua areagotzea. 4.11tik hasten den Linux kernelak modu honetan lan egin dezake.

QubesOS erabiliz Windows 7-rekin lan egiteko

Qubes 4.0-tik hasita, segurtasun arrazoiengatik, parabirtualizazio modua erabiltzeari uzten zaio (Intel arkitekturan ahultasun ezagunak direla eta, birtualizazio osoa erabiliz partzialki arintzen direnak barne); PVH modua erabiltzen da lehenespenez.

Emulazioa erabiltzean (HVM modua), QEMU stubdomain izeneko VM isolatu batean abiarazten da, eta horrela inplementazioan balizko akatsak ustiatzeko arriskuak murrizten dira (QEMU proiektuak kode asko dauka, bateragarritasuna barne).
Gure kasuan, modu hau Windows-erako erabili beharko litzateke.

Zerbitzua makina birtualak

Qubes segurtasun arkitekturan, hipervisorearen gaitasun nagusietako bat PCI gailuak gonbidatuen ingurunera transferitzea da. Hardware baztertzeak sistemaren ostalariaren zatia kanpoko erasoetatik isolatzeko aukera ematen du. Xenek hau onartzen du PV eta HVM moduetarako, bigarren kasuan IOMMU (Intel VT-d) laguntza behar du - gailu birtualizatuetarako hardware-memoria kudeatzea.

Honek hainbat sistemako makina birtual sortzen ditu:

  • sys-net, zein sareko gailuetara transferitzen diren eta beste VM batzuen zubi gisa erabiltzen dena, adibidez, suebaki baten edo VPN bezero baten funtzioak ezartzen dituztenak;
  • sys-usb, zeinetara transferitzen diren USB eta beste gailu periferikoen kontrolagailuak;
  • sys-firewall, gailurik erabiltzen ez duena, baina konektatutako VM-en suebaki gisa funtzionatzen du.

USB gailuekin lan egiteko, proxy zerbitzuak erabiltzen dira, besteak beste:

  • HID (giza interfazearen gailua) gailu klaserako, komandoak dom0-ra bidaliz;
  • euskarri aldagarrietarako, gailuen bolumenak beste VM batzuetara birbideratzea (dom0-ra izan ezik);
  • zuzenean USB gailu batera birbideratzea (USBIP eta integrazio tresnak erabiliz).

Horrelako konfigurazio batean, sareko pilaren edo konektatutako gailuen bidezko eraso arrakastatsu batek exekutatzen ari den VM zerbitzuaren arriskua ekar dezake, eta ez sistema osoa. Eta zerbitzua VM berrabiarazi ondoren, jatorrizko egoeran kargatuko da.

VM integratzeko tresnak

Makina birtual baten mahaigainarekin elkarreragiteko hainbat modu daude: sistema gonbidatuan aplikazioak instalatzea edo bideoa emulatzea birtualizazio tresnak erabiliz. Gonbidatuen aplikazioak urruneko sarbide unibertsalaren hainbat tresna izan daitezke (RDP, VNC, Spice, etab.) edo hipervisor zehatz batera egokituak (tresna horiei gonbidatutako utilitateak deitzen zaie normalean). Aukera mistoa ere erabil daiteke, hipervisoreak sistema gonbidaturako I/O emulatzen duenean eta kanpotik I/O konbinatzen dituen protokoloa erabiltzeko gaitasuna ematen duenean, adibidez, Spice bezalakoak. Aldi berean, urrutiko sarbideko tresnek irudia optimizatu ohi dute, sare baten bidez lan egitea dakar eta horrek ez du eragin positiborik irudiaren kalitatean.

Qubes-ek bere tresnak eskaintzen ditu VM integratzeko. Lehenik eta behin, hau azpisistema grafiko bat da - VM desberdinetako leihoak mahaigain bakarrean erakusten dira kolore-marko propioarekin. Oro har, integrazio-tresnak hipervisorearen gaitasunetan oinarritzen dira: memoria partekatua (Xen grant table), jakinarazpen tresnetan (Xen gertaeren kanala), biltegiratze partekatua xenstore eta vchan komunikazio protokoloa. Haien laguntzarekin, oinarrizko osagaiak qrexec eta qubes-rpc eta aplikazio-zerbitzuak ezartzen dira: audioa edo USB birbideratzea, fitxategiak edo arbeleko edukiak transferitzea, komandoak exekutatu eta aplikazioak abiarazi. VM batean eskuragarri dauden zerbitzuak mugatzeko aukera ematen duten politikak ezar daitezke. Beheko irudia bi VMren elkarrekintza hasieratzeko prozeduraren adibidea da.

QubesOS erabiliz Windows 7-rekin lan egiteko

Horrela, VMn lana sarerik erabili gabe egiten da, eta horri esker, VM autonomoen erabilera osoa ahalbidetzen da, informazio-ihesak ekiditeko. Esaterako, horrela ezartzen da eragiketa kriptografikoen bereizketa (PGP/SSH), gako pribatuak VM isolatuetan erabiltzen direnean eta haietatik haratago ez direnean.

Txantiloiak, aplikazioa eta behin-behineko VM-ak

Qubes-en erabiltzaileen lan guztiak makina birtualetan egiten dira. Ostalari-sistema nagusia haiek kontrolatzeko eta ikusteko erabiltzen da. OSa txantiloietan oinarritutako makina birtualen oinarrizko multzo batekin batera instalatzen da (TemplateVM). Txantiloi hau Fedora edo Debian banaketan oinarritutako Linux VM bat da, integrazio tresnak instalatuta eta konfiguratuta, eta sistema eta erabiltzaileen partizio dedikatuekin. Softwarearen instalazioa eta eguneratzea pakete kudeatzaile estandar batek (dnf edo apt) egiten du konfiguratutako biltegietatik sinadura digitalaren egiaztapena derrigorrezkoa dutenak (GnuPG). VM horien helburua da haien oinarrian abiarazitako aplikazio VM-en konfiantza bermatzea.

Abiaraztean, aplikazio VM (AppVM) batek dagokion VM txantiloiaren sistema-partizioaren argazki bat erabiltzen du, eta amaitzean argazki hau ezabatzen du aldaketarik gorde gabe. Erabiltzaileak behar dituen datuak aplikazio VM bakoitzerako erabiltzailearen partizio bakar batean gordetzen dira, hasierako direktorioan muntatuta dagoena.

QubesOS erabiliz Windows 7-rekin lan egiteko

Erabilera eta botatzeko VMak (disposableVM) erabiltzea erabilgarria izan daiteke segurtasunaren ikuspuntutik. Horrelako VM bat abiaraztean txantiloi batean oinarrituta sortzen da eta helburu batekin abiarazten da: aplikazio bat exekutatzeko, itxi ondoren lana amaituz. Bota daitezkeen VM-ak fitxategi susmagarriak irekitzeko erabil daitezke, zeinen edukiak aplikazioen ahultasun zehatzak ustiatzea ekar dezaketen. Behin-behineko VM exekutatzeko gaitasuna fitxategi-kudeatzailean (Nautilus) eta posta-bezeroan (Thunderbird) integratuta dago.

Windows VM txantiloi bat eta behin-behineko VM bat sortzeko ere erabil daiteke erabiltzailearen profila aparteko atal batera eramanez. Gure bertsioan, horrelako txantiloi bat erabiliko du erabiltzaileak administrazio zereginetarako eta aplikazioak instalatzeko. Txantiloian oinarrituta, hainbat aplikazio VM sortuko dira - sarerako sarbide mugatuarekin (sys-firewall gaitasun estandarrak) eta sarerako inolako sarbiderik gabe (sare birtual gailurik ez da sortzen). Txantiloian instalatutako aldaketa eta aplikazio guztiak erabilgarri egongo dira VM hauetan lan egiteko, eta laster-marken programak sartzen badira ere, ez dute sarerako sarbidea izango arriskuan jartzeko.

Borrokatu Windows-en alde

Goian deskribatutako ezaugarriak Qubes-en oinarria dira eta nahiko egonkor funtzionatzen dute; zailtasunak Windows-ekin hasten dira. Windows integratzeko, Qubes Windows Tools (QWT) tresna gonbidatuen multzo bat erabili behar duzu, Xen-ekin lan egiteko kontrolatzaileak, qvideo kontrolatzailea eta informazioa trukatzeko utilitate multzo bat (fitxategien transferentzia, arbela) barne. Instalazio eta konfigurazio prozesua zehatz-mehatz dokumentatuta dago proiektuaren webgunean, beraz, gure aplikazioaren esperientzia partekatuko dugu.

Zailtasun nagusia garatutako tresnen laguntza falta da funtsean. Key Developers (QWT) ez dago erabilgarri eta Windows integrazio proiektua garatzaile nagusi baten zain dago. Hori dela eta, lehenik eta behin, bere errendimendua ebaluatu eta independentean laguntzeko aukeraz ulertu behar zen, behar izanez gero. Garatu eta arazketa zailena kontrolatzaile grafikoa da, bideo-egokitzailea eta pantaila emulatzen dituena memoria partekatuan irudi bat sortzeko, mahaigain osoa edo aplikazio-leihoa zuzenean ostalari-sistemaren leihoan bistaratzeko aukera emanez. Gidariaren funtzionamenduaren analisian, Linux ingurunean muntatzeko kodea egokitu genuen eta Windows-eko bi sistema gonbidatuen artean arazketa-eskema bat landu genuen. Eraikuntza gurutzatuaren fasean, gauzak sinplifikatu zizkiguten hainbat aldaketa egin genituen, batez ere utilitateen instalazio "isilean" dagokionez, eta denbora luzez VM batean lan egitean errendimenduaren degradazio gogaikarria ere ezabatu genuen. Lanaren emaitzak bereizi batean aurkeztu ditugu biltegiak, beraz, ez luzarorako inspiratzailea Qubes garatzaile nagusia.

Gonbidatuen sistemaren egonkortasunari dagokionez etaparik kritikoena Windows abiaraztea da, hemen ezaguna den pantaila urdina ikus dezakezu (edo ikusi ere ez). Identifikatutako akats gehienetarako, hainbat konponbide egon ziren: Xen bloke gailuen kontrolatzaileak ezabatzea, VM memoria orekatzea desgaitzea, sarearen ezarpenak konpondu eta nukleoen kopurua gutxitzea. Gure gonbidatu-tresnek Windows 7 eta Windows 10 guztiz eguneratuetan instalatzen eta exekutatzen dira (qvideo izan ezik).

Ingurune erreal batetik birtual batera pasatzean, Windows aktibatzeko arazo bat sortzen da aurrez instalatutako OEM bertsioak erabiltzen badira. Sistema horiek gailuaren UEFIn zehaztutako lizentzietan oinarritutako aktibazioa erabiltzen dute. Aktibazioa behar bezala prozesatzeko, beharrezkoa da sistema ostalariaren ACPI atal osoetako bat (SLIC taula) sistema gonbidatura itzultzea eta beste batzuk apur bat editatzea, fabrikatzailea erregistratuz. Xenek taula gehigarrien ACPI edukia pertsonalizatzeko aukera ematen du, baina nagusiak aldatu gabe. Qubes-erako egokitutako OpenXT proiektu baten antzeko adabaki batek lagundu zuen konponbidean. Konponketak guri ez ezik erabilgarriak iruditu zitzaizkigun eta Qubes biltegi nagusira eta Libvirt liburutegira itzuli ziren.

Windows integratzeko tresnen desabantaila nabarien artean, audio, USB gailuetarako euskarririk eza eta euskarriekin lan egitearen konplexutasuna daude, ez baitago GPUrako hardware euskarririk. Baina aurrekoak ez du eragozten VM-a bulegoko dokumentuekin lan egiteko erabiltzea, ezta aplikazio korporatibo zehatzak abian jartzea ere.

Windows VM txantiloi bat sortu ondoren sarerik gabe edo sare mugatu batekin funtzionamendu-modura aldatzeko eskakizuna aplikazioen VM-en konfigurazio egokiak sortuz bete zen, eta euskarri aldagarriak modu selektiboan konektatzeko aukera OS tresna estandarrek ere konpondu zuten - konektatzean. , sistemaren VM sys-usb-n daude eskuragarri, eta handik "birbidali" daitezke beharrezko VM-ra. Erabiltzailearen mahaigainak horrelako zerbait du.

QubesOS erabiliz Windows 7-rekin lan egiteko

Sistemaren azken bertsioa positiboki onartu zuten (halako irtenbide integral batek ahalbidetzen duen neurrian) erabiltzaileek, eta sistemaren tresna estandarrei esker, aplikazioa erabiltzailearen lan-estazio mugikorrera zabaltzea ahalbidetu zuten VPN bidez sartzeko.

Horren ordez Ondorio baten

Birtualizazioak, oro har, laguntzarik gabe geratzen diren Windows sistemak erabiltzeko arriskuak murrizteko aukera ematen du - ez du hardware berriarekin bateragarritasuna behartzen, sistemarako sarbidea baztertu edo kontrolatzeko aukera ematen du sarearen bidez edo konektatutako gailuen bidez, eta aukera ematen du. abiarazteko ingurune bat ezartzea.

Birtualizazio bidezko isolamenduaren ideian oinarrituta, Qubes OS-k segurtasunerako mekanismo hauek eta beste batzuk aprobetxatzen laguntzen dizu. Kanpotik, jende askok Qubes-ek anonimotasun nahi bat bezala ikusten du batez ere, baina sistema erabilgarria da bai ingeniarientzat, askotan proiektuak, azpiegiturak eta sekretuak horiek sartzeko malabareak egiten dituztenentzat, bai segurtasun ikertzaileentzat. Aplikazioak, datuak eta elkarreraginaren formalizatzea mehatxuen analisiaren eta segurtasun sistemaren diseinuaren hasierako urratsak dira. Banaketa honek informazioa egituratzen eta giza faktorearen ondoriozko akatsak izateko probabilitatea murrizten laguntzen du - presaka, nekea, etab.

Gaur egun, garapenean enfasi nagusia Linux inguruneen funtzionaltasuna zabaltzea da. 4.1 bertsioa kaleratzeko prestatzen ari da, Fedora 31-en oinarrituko dena eta Xen eta Libvirt osagai nagusien egungo bertsioak barne. Azpimarratzekoa da Qubes informazioaren segurtasuneko profesionalek sortu dutela, eta beti eguneraketak berehala kaleratzen dituzte mehatxu edo akats berriak identifikatzen badira.

afterword

Garatzen ari garen gaitasun esperimentaletako batek Intel GVT-g teknologian oinarritutako GPUrako gonbidatuentzako sarbidea duten VM-ak sortzeko aukera ematen digu, egokitzaile grafikoaren gaitasunak erabiltzeko eta sistemaren esparrua nabarmen zabaltzeko. Idazten ari den unean, funtzionalitate honek Qubes 4.1-en proba-eraiketetarako funtzionatzen du eta eskuragarri dago. GitHub.

Iturria: www.habr.com

Gehitu iruzkin berria