Uzante QubesOS por labori kun Vindozo 7

Ne estas multaj artikoloj pri Habré dediĉitaj al la operaciumo Qubes, kaj tiuj, kiujn mi vidis, ne multe priskribas la sperton uzi ĝin. Sub la tranĉo, mi esperas korekti ĉi tion uzante la ekzemplon uzi Qubes kiel rimedon de protekto (kontraŭ) la Vindoza medio kaj, samtempe, taksi la nombron de ruslingvaj uzantoj de la sistemo.

Uzante QubesOS por labori kun Vindozo 7

Kial Qubes?

La rakonto pri la fino de teknika subteno por Windows 7 kaj la kreskanta angoro de uzantoj kondukis al la bezono organizi la laboron de ĉi tiu OS, konsiderante la sekvajn postulojn:

  • certigi la uzon de plene aktivigita Vindozo 7 kun la kapablo por la uzanto instali ĝisdatigojn kaj diversajn aplikojn (inkluzive per interreto);
  • efektivigi kompletan aŭ selekteman ekskludon de retaj interagoj bazitaj sur kondiĉoj (aŭtonoma funkciado kaj trafikaj filtraj reĝimoj);
  • havigi la kapablon selekteme konekti forpreneblajn amaskomunikilarojn kaj aparatojn.

Ĉi tiu aro de limigoj antaŭsupozas klare pretan uzanton, ĉar sendependa administrado estas permesita, kaj la limigoj ne rilatas al blokado de liaj eblaj agoj, sed al la ekskludo de eblaj eraroj aŭ detruaj programaj efikoj. Tiuj. Ne estas interna krimulo en la modelo.

En nia serĉo de solvo, ni rapide forlasis la ideon efektivigi limigojn per enkonstruitaj aŭ aldonaj Vindozaj iloj, ĉar estas sufiĉe malfacile efike limigi uzanton kun administranto-rajtoj, lasante al li la kapablon instali aplikaĵojn.

La sekva solvo estis izolado uzante virtualigon. Konataj iloj por labortabla virtualigo (ekzemple, kiel virtuala skatolo) estas nebone taŭgaj por solvi sekurecproblemojn kaj la listigitaj limigoj devos esti faritaj de la uzanto konstante ŝanĝante aŭ alĝustigante la ecojn de la gasto virtuala maŝino (ĉi-poste referita al kiel VM), kiu pliigas la riskon de eraroj.

Samtempe, ni havis sperton uzante Qubes kiel la labortabla sistemo de uzanto, sed havis dubojn pri la stabileco labori kun gasto Windows. Estis decidite kontroli la nunan version de Qubes, ĉar la deklaritaj limigoj tre bone konvenas al la paradigmo de ĉi tiu sistemo, precipe la efektivigo de virtualaj maŝinaj ŝablonoj kaj vida integriĝo. Poste, mi provos mallonge paroli pri la ideoj kaj iloj de Qubes, uzante la ekzemplon de solvado de la problemo.

Specoj de Xen-virtualigo

Qubes baziĝas sur la hiperviziero Xen, kiu minimumigas la funkciojn de administrado de procesoraj rimedoj, memoro kaj virtualaj maŝinoj. Ĉiu alia laboro kun aparatoj estas koncentrita en dom0 bazita sur la Linukso-kerno (Qubes por dom0 uzas la Fedora-distribuon).

Uzante QubesOS por labori kun Vindozo 7

Xen subtenas plurajn specojn de virtualigo (mi donos ekzemplojn por Intel-arkitekturo, kvankam Xen subtenas aliajn):

  • paravirtualization (PV) - virtualiga reĝimo sen la uzo de aparatara subteno, rememoriga pri kontenervirtualigo, povas esti uzata por sistemoj kun adaptita kerno (dom0 funkcias en ĉi tiu reĝimo);
  • plena virtualigo (HVM) - en ĉi tiu reĝimo, hardvarsubteno estas uzata por procesorresursoj, kaj ĉiuj aliaj ekipaĵoj estas kopiitaj uzante QEMU. Ĉi tio estas la plej universala maniero funkciigi diversajn operaciumojn;
  • paravirtualigo de aparataro (PVH - ParaVirtualized Hardware) - virtualiga reĝimo uzanta hardvarsubtenon kiam, por labori kun aparataro, la gastsistemkerno uzas ŝoforojn adaptitajn al la kapabloj de la hiperviziero (ekzemple, komuna memoro), eliminante la bezonon de QEMU-imulado. kaj pliigante I/O-efikecon. La Linukso-kerno ekde 4.11 povas funkcii en ĉi tiu reĝimo.

Uzante QubesOS por labori kun Vindozo 7

Komencante kun Qubes 4.0, pro sekureckialoj, la uzo de paravirtualiza reĝimo estas forlasita (inkluzive pro konataj vundeblecoj en Intel-arkitekturo, kiuj estas parte mildigitaj per la uzo de plena virtualigo); PVH-reĝimo estas uzita defaŭlte.

Dum uzado de emulado (HVM-reĝimo), QEMU estas lanĉita en izolita VM nomita stubdomajno, tiel reduktante la riskojn de ekspluatado de eblaj eraroj en la efektivigo (la QEMU-projekto enhavas multe da kodo, inkluzive por kongruo).
En nia kazo, ĉi tiu reĝimo devus esti uzata por Vindozo.

Servu virtualajn maŝinojn

En la sekureca arkitekturo de Qubes, unu el la ŝlosilaj kapabloj de la hiperviziero estas la translokigo de PCI-aparatoj al la gastmedio. Aparataro ekskludo permesas vin izoli la gastigan parton de la sistemo de eksteraj atakoj. Xen subtenas ĉi tion por PV kaj HVM-reĝimoj, en la dua kazo ĝi postulas subtenon por IOMMU (Intel VT-d) - hardvara memoradministrado por virtualigitaj aparatoj.

Ĉi tio kreas plurajn sistemajn virtualajn maŝinojn:

  • sys-net, al kiu retaj aparatoj estas translokigitaj kaj kiu estas uzata kiel ponto por aliaj VM-oj, ekzemple tiuj, kiuj efektivigas la funkciojn de fajroŝirmilo aŭ VPN-kliento;
  • sys-usb, al kiu USB kaj aliaj periferiaj aparato-regiloj estas translokigitaj;
  • sys-firewall, kiu ne uzas aparatojn, sed funkcias kiel fajroŝirmilo por konektitaj VM-oj.

Por labori kun USB-aparatoj, oni uzas prokurajn servojn, kiuj provizas interalie:

  • por la klaso de aparato HID (hominterfaco-aparato), sendante komandojn al dom0;
  • por forpreneblaj amaskomunikiloj, alidirektado de aparataj volumoj al aliaj VM-oj (krom dom0);
  • redirektante rekte al USB-aparato (uzante USBIP kaj integrigajn ilojn).

En tia agordo, sukcesa atako tra la reto-stako aŭ konektitaj aparatoj povas konduki al la kompromiso de nur la funkcianta servo VM, kaj ne la tuta sistemo entute. Kaj post rekomenco de la servo VM, ĝi estos ŝarĝita en sia originala stato.

VM-integrigaj iloj

Estas pluraj manieroj interagi kun la labortablo de virtuala maŝino - instali aplikojn en la gastsistemo aŭ kopii videon uzante virtualigajn ilojn. Gastaplikoj povas esti diversaj universalaj foraj aliriloj (RDP, VNC, Spice, ktp.) aŭ adaptitaj al specifa hiperviziero (tiaj iloj estas kutime nomitaj gastservaĵoj). Miksa opcio ankaŭ povas esti uzata, kiam la hiperviziero kopias I/O por la gastsistemo, kaj ekstere disponigas la kapablon uzi protokolon kiu kombinas I/O, ekzemple, kiel Spice. Samtempe, foraj aliriloj kutime optimumigas la bildon, ĉar ili implikas labori per reto, kiu ne havas pozitivan efikon sur la kvalito de la bildo.

Qubes disponigas siajn proprajn ilojn por VM-integriĝo. Antaŭ ĉio, ĉi tio estas grafika subsistemo - fenestroj de malsamaj VM-oj estas montrataj sur ununura labortablo kun sia propra kolora kadro. Ĝenerale, integrigaj iloj baziĝas sur la kapabloj de la hiperviziero - komuna memoro (Xen-subvenciotabelo), sciigaj iloj (Xen-okazaĵkanalo), komuna stokado xenstore kaj la vchan-komunika protokolo. Kun ilia helpo, la bazaj komponantoj qrexec kaj qubes-rpc, kaj aplikaĵservoj estas efektivigitaj - aŭda aŭ USB-redirekto, translokado de dosieroj aŭ tondujo enhavo, ekzekuto de komandoj kaj lanĉo de aplikoj. Eblas agordi politikojn, kiuj permesas vin limigi la disponeblajn servojn en VM. La figuro malsupre estas ekzemplo de la proceduro por pravalorigi la interagon de du VM-oj.

Uzante QubesOS por labori kun Vindozo 7

Tiel, laboro en la VM estas farata sen uzi reton, kio ebligas plenan uzon de aŭtonomaj VM-oj por eviti informojn. Ekzemple, jen kiel apartigo de kriptografiaj operacioj (PGP/SSH) estas efektivigita, kiam privataj ŝlosiloj estas uzataj en izolitaj VM-oj kaj ne preterpasas ilin.

Ŝablonoj, aplikaĵo kaj unufojaj VM-oj

Ĉiu uzantlaboro en Qubes estas farita en virtualaj maŝinoj. La ĉefa gastiga sistemo estas uzata por kontroli kaj bildigi ilin. La OS estas instalita kune kun baza aro de ŝablonaj virtualaj maŝinoj (TemplateVM). Ĉi tiu ŝablono estas Linuksa VM bazita sur la distribuo Fedora aŭ Debian, kun integrigaj iloj instalitaj kaj agordis, kaj dediĉitaj sistemoj kaj uzantsekcioj. Instalado kaj ĝisdatigo de programaro estas efektivigitaj de norma pakaĵmanaĝero (dnf aŭ apt) de agorditaj deponejoj kun deviga kontrolado de cifereca subskribo (GnuPG). La celo de tiaj VM-oj estas certigi fidon en aplikaĵo-VM-oj lanĉitaj sur ilia bazo.

Ĉe ekfunkciigo, aplikaĵo VM (AppVM) uzas momentfoton de la sistema sekcio de la responda VM-ŝablono, kaj post kompletigo forigas ĉi tiun momentfoton sen konservi ŝanĝojn. La datumoj postulitaj de la uzanto estas stokitaj en uzantsekcio unika por ĉiu aplikaĵo VM, kiu estas muntita en la hejma dosierujo.

Uzante QubesOS por labori kun Vindozo 7

Uzi unu-uzeblajn VM-ojn (disposableVM) povas esti utila de sekureca vidpunkto. Tia VM estas kreita surbaze de ŝablono en la momento de ekfunkciigo kaj estas lanĉita por unu celo - por efektivigi unu aplikaĵon, kompletigante laboron post kiam ĝi estas fermita. Foruzeblaj VM-oj povas esti uzataj por malfermi suspektindajn dosierojn, kies enhavo povus konduki al ekspluato de specifaj aplikaĵaj vundeblecoj. La kapablo ruli unufojan VM estas integrita al la dosieradministranto (Nautilus) kaj retpoŝta kliento (Thunderbird).

Windows VM ankaŭ povas esti uzata por krei ŝablonon kaj unufojan VM movante la uzantprofilon al aparta sekcio. En nia versio, tia ŝablono estos uzata de la uzanto por administraj taskoj kaj instalado de aplikaĵo. Surbaze de la ŝablono, kreiĝos pluraj aplikaĵaj VM-oj - kun limigita aliro al la reto (normaj sys-firewall-kapabloj) kaj tute sen aliro al la reto (virtuala reto-aparato ne estas kreita). Ĉiuj ŝanĝoj kaj aplikoj instalitaj en la ŝablono estos disponeblaj por labori en ĉi tiuj VMs, kaj eĉ se legosignprogramoj estas enkondukitaj, ili ne havos retan aliron por kompromiso.

Batalu por Vindozo

La funkcioj priskribitaj supre estas la bazo de Qubes kaj funkcias sufiĉe stabile; la malfacilaĵoj komenciĝas per Vindozo. Por integri Vindozon, vi devas uzi aron de gastaj iloj Qubes Windows Tools (QWT), kiu inkluzivas ŝoforojn por labori kun Xen, qvideo-ŝoforon kaj aron da iloj por informinterŝanĝo (dosiertransigo, tondujo). La procezo de instalado kaj agordo estas detale dokumentita en la retejo de la projekto, do ni dividos nian sperton pri aplikaĵo.

La ĉefa malfacilaĵo estas esence la manko de subteno por la evoluintaj iloj. Ŝlosilaj Programistoj (QWT) ŝajnas esti neatingeblaj kaj la Vindoza integriga projekto atendas ĉefan programiston. Tial, antaŭ ĉio, necesis taksi ĝian agadon kaj formi komprenon pri la ebleco subteni ĝin sendepende, se necese. La plej malfacile disvolvi kaj sencimigi estas la grafika pelilo, kiu imitas la video-adaptilon kaj ekranon por generi bildon en komuna memoro, permesante al vi montri la tutan labortablon aŭ la aplikaĵan fenestron rekte en la mastro-sistemo fenestro. Dum la analizo de la funkciado de la ŝoforo, ni adaptis la kodon por kunigo en Linukso-medio kaj ellaboris sencimigan skemon inter du Vindozaj gastsistemoj. En la transkonstrua etapo, ni faris plurajn ŝanĝojn, kiuj simpligis aferojn por ni, ĉefe rilate al "silenta" instalado de utilecoj, kaj ankaŭ forigis la ĝenan degeneron de rendimento dum longa tempo laborante en VM. Ni prezentis la rezultojn de la laboro aparte deponejoj, do ne longe inspirante Ĉefa Programisto de Qubes.

La plej kritika etapo rilate al gastsistema stabileco estas la ekfunkciigo de Vindozo, ĉi tie vi povas vidi la konatan bluan ekranon (aŭ eĉ ne vidi ĝin). Por la plej multaj el la identigitaj eraroj, ekzistis diversaj solvoj - forigi Xen-blokaj aparato-ŝoforoj, malŝalti VM-memorbalancadon, ripari retajn agordojn kaj minimumigi la nombron da kernoj. Niaj gastaj iloj konstruas instalojn kaj funkcias per plene ĝisdatigitaj Vindozo 7 kaj Windows 10 (krom qvideo).

Kiam oni transiras de reala medio al virtuala, okazas problemo kun aktivigo de Vindozo se oni uzas antaŭinstalitajn OEM-versiojn. Tiaj sistemoj uzas aktivigon bazitan sur licencoj specifitaj en la UEFI de la aparato. Por ĝuste prilabori la aktivigon, necesas traduki unu el la tutaj ACPI-sekcioj de la gastiga sistemo (SLIC-tabelo) al la gastsistemo kaj iomete redakti la aliajn, registrante la fabrikanton. Xen permesas al vi personecigi la ACPI-enhavon de pliaj tabeloj, sed sen modifi la ĉefajn. Flikaĵo de simila OpenXT-projekto, kiu estis adaptita por Qubes, helpis kun la solvo. La korektoj ŝajnis utilaj ne nur al ni kaj estis tradukitaj en la ĉefan deponejon de Qubes kaj la bibliotekon Libvirt.

La evidentaj malavantaĝoj de Vindozaj integrigaj iloj inkluzivas la mankon de subteno por audio, USB-aparatoj kaj la komplekseco labori kun amaskomunikiloj, ĉar ne ekzistas aparatara subteno por la GPU. Sed ĉi-supra ne malhelpas la uzon de la VM por labori kun oficejaj dokumentoj, nek malhelpas la lanĉon de specifaj kompaniaj aplikoj.

La postulo ŝanĝi al operacia reĝimo sen reto aŭ kun limigita reto post kreado de Vindoza VM-ŝablono estis plenumita kreante la taŭgajn agordojn de aplikaĵaj VM-oj, kaj la ebleco selekteme konekti forpreneblajn rimedojn ankaŭ estis solvita per normaj OS-iloj - kiam ligite. , ili estas disponeblaj en la sistemo VM sys-usb, de kie ili povas esti " plusenditaj " al la bezonata VM. La labortablo de la uzanto aspektas kiel ĉi tio.

Uzante QubesOS por labori kun Vindozo 7

La fina versio de la sistemo estis pozitive (laŭ tia ampleksa solvo permesas) akceptita de uzantoj, kaj la normaj iloj de la sistemo ebligis vastigi la aplikaĵon al la movebla laborstacio de la uzanto kun aliro per VPN.

Anstataŭ konkludo

Virtualigo ĝenerale permesas redukti la riskojn de uzado de Vindozaj sistemoj lasitaj sen subteno - ĝi ne devigas kongruon kun nova aparataro, ĝi permesas ekskludi aŭ kontroli aliron al la sistemo per la reto aŭ per konektitaj aparatoj, kaj ĝi permesas vin. efektivigi unufojan lanĉan medion.

Surbaze de la ideo de izolado per virtualigo, Qubes OS helpas vin utiligi ĉi tiujn kaj aliajn mekanismojn por sekureco. De ekstere, multaj homoj vidas Qubes ĉefe kiel deziron al anonimeco, sed ĝi estas utila sistemo kaj por inĝenieroj, kiuj ofte ĵonglas kun projektoj, infrastrukturoj kaj sekretoj por aliri ilin, kaj por sekurecaj esploristoj. Apartigo de aplikoj, datumoj kaj formaligo de ilia interago estas la komencaj paŝoj de minacanalizo kaj sekureca sistemo-dezajno. Ĉi tiu disiĝo helpas strukturi informojn kaj redukti la probablecon de eraroj pro la homa faktoro - hasto, laceco, ktp.

Nuntempe, la ĉefa emfazo en evoluo estas sur vastigado de la funkcieco de Linukso-medioj. Versio 4.1 estas preta por liberigo, kiu estos bazita sur Fedora 31 kaj inkluzivos aktualajn versiojn de la ŝlosilaj komponantoj Xen kaj Libvirt. Indas noti, ke Qubes estas kreita de informasekurecaj profesiuloj, kiuj ĉiam senprokraste liberigas ĝisdatigojn se novaj minacoj aŭ eraroj estas identigitaj.

Antaŭparolo

Unu el la eksperimentaj kapabloj, kiujn ni disvolvas, permesas al ni krei VM-ojn kun subteno por gasta aliro al la GPU bazita sur Intel GVT-g-teknologio, kiu ebligas al ni uzi la kapablojn de la grafika adaptilo kaj signife vastigi la amplekson de la sistemo. Dum la skribado, ĉi tiu funkcio funkcias por testaj konstruoj de Qubes 4.1, kaj disponeblas sur GitHub.

fonto: www.habr.com

Aldoni komenton