Windows 7 менен иштөө үчүн QubesOS колдонуу

Habré жөнүндө Qubes операциялык тутумуна арналган макалалар көп эмес, жана мен көргөндөр аны колдонуу тажрыйбасын көп сүрөттөгөн эмес. Кесиптин ылдый жагында, мен муну Qubesди Windows чөйрөсүнөн коргоо (каршы) каражаты катары колдонуунун мисалында оңдоого жана ошол эле учурда системанын орус тилдүү колдонуучуларынын санын эсептөөгө үмүттөнөм.

Windows 7 менен иштөө үчүн QubesOS колдонуу

Эмне үчүн Qubes?

Windows 7ге техникалык колдоо көрсөтүүнүн аякташынын окуясы жана колдонуучулардын тынчсыздануусу төмөндөгү талаптарды эске алуу менен бул ОСтун ишин уюштуруу зарылдыгына алып келди:

  • колдонуучуга жаңыртууларды жана ар кандай тиркемелерди (анын ичинде Интернет аркылуу) орнотуу мүмкүнчүлүгү менен толук иштетилген Windows 7дин колдонулушун камсыз кылуу;
  • шарттарга (автономдуу иштөө жана трафикти чыпкалоо режимдери) негизделген тармактын өз ара аракеттенүүсүн толук же тандалма алып салууну ишке ашыруу;
  • тандалып алынуучу медиа жана түзмөктөрдү туташтыруу мүмкүнчүлүгүн камсыз кылуу.

Бул чектөөлөрдүн жыйындысы так даярдалган колдонуучуну болжолдойт, анткени көз карандысыз башкарууга уруксат берилет, ал эми чектөөлөр анын потенциалдуу аракеттерине бөгөт коюу менен эмес, мүмкүн болгон каталарды же программалык камсыздоонун кыйратуучу эффекттерин жокко чыгаруу менен байланышкан. Ошол. Моделде эч кандай ички кылмышкер жок.

Чечимди издөөдө биз камтылган же кошумча Windows куралдарын колдонуу менен чектөөлөрдү киргизүү идеясын тез эле таштап койдук, анткени администратордук укуктарга ээ болгон колдонуучуну эффективдүү чектөө, ага тиркемелерди орнотуу мүмкүнчүлүгүн калтыруу абдан кыйын.

Кийинки чечим виртуалдаштырууну колдонуу менен изоляция болду. Иш тактасын виртуалдаштыруунун белгилүү инструменттери (мисалы, виртуалдык куту сыяктуу) коопсуздук маселелерин чечүү үчүн анча ылайыктуу эмес жана саналып өткөн чектөөлөрдү колдонуучу конок виртуалдык машинасынын (мындан ары) касиеттерин тынымсыз которуштуруу же тууралоо жолу менен аткарышы керек. VM катары), бул каталардын коркунучун жогорулатат.

Ошол эле учурда биз Qubesти колдонуучунун рабочий системасы катары колдонуу тажрыйбасына ээ болдук, бирок конок Windows менен иштөөнүн туруктуулугуна күмөн санадык. Qubesтин учурдагы версиясын текшерүү чечими кабыл алынды, анткени айтылган чектөөлөр бул системанын парадигмасына, айрыкча виртуалдык машинанын шаблондорун ишке ашырууга жана визуалдык интеграцияга абдан туура келет. Андан кийин, маселени чечүүнүн мисалында Qubes идеялары жана куралдары жөнүндө кыскача айтууга аракет кылам.

Xen виртуалдаштыруунун түрлөрү

Qubes Xen гипервизоруна негизделген, ал процессор ресурстарын, эстутумду жана виртуалдык машиналарды башкаруу функцияларын азайтат. Түзмөктөр менен башка бардык иштер Linux ядросунун негизинде dom0до топтолгон (dom0 үчүн Qubes Fedora дистрибуциясын колдонот).

Windows 7 менен иштөө үчүн QubesOS колдонуу

Xen виртуалдаштыруунун бир нече түрлөрүн колдойт (мен Intel архитектурасына мисалдарды келтирем, бирок Xen башкаларды колдойт):

  • паравиртуалдаштыруу (PV) - контейнердик виртуалдаштырууну эске салган аппараттык колдоону колдонбостон виртуалдаштыруу режими адаптацияланган ядросу бар системалар үчүн колдонулушу мүмкүн (dom0 бул режимде иштейт);
  • толук виртуалдаштыруу (HVM) - бул режимде процессордун ресурстары үчүн аппараттык колдоо колдонулат, ал эми башка бардык жабдуулар QEMU аркылуу эмуляцияланат. Бул ар кандай операциялык системаларды иштетүүнүн эң универсалдуу жолу;
  • аппараттык каражаттарды паравиртуалдаштыруу (PVH - ParaVirtualized Hardware) - аппараттык камсыздоо менен иштөө үчүн конок системасынын өзөгү гипервизордун мүмкүнчүлүктөрүнө ылайыкташтырылган драйверлерди (мисалы, жалпы эстутум) колдонгондо, QEMU эмуляциясынын зарылдыгын жокко чыгарган виртуалдаштыруу режими. жана I/O өндүрүмдүүлүгүн жогорулатуу. Бул режимде 4.11ден баштап Linux ядросу иштей алат.

Windows 7 менен иштөө үчүн QubesOS колдонуу

Qubes 4.0 менен баштап, коопсуздук максатында, паравиртуалдаштыруу режимин колдонуудан баш тартты (анын ичинде толук виртуалдаштырууну колдонуу менен жарым-жартылай жумшартылган Intel архитектурасынын белгилүү алсыздыктарынан улам); PVH режими демейки боюнча колдонулат.

Эмуляцияны (HVM режимин) колдонууда QEMU stubdomain деп аталган обочолонгон VMде ишке киргизилет, ошону менен ишке ашыруудагы мүмкүн болуучу каталарды пайдалануу тобокелдиктерин азайтат (QEMU долбоору көп кодду камтыйт, анын ичинде шайкештик үчүн).
Биздин учурда, бул режим Windows үчүн колдонулушу керек.

Виртуалдык машиналарды тейлөө

Qubes коопсуздук архитектурасында гипервизордун негизги мүмкүнчүлүктөрүнүн бири PCI түзүлүштөрүн конок чөйрөсүнө өткөрүп берүү болуп саналат. Аппараттык камсыздоону четтетүү системанын хост бөлүгүн тышкы чабуулдардан обочолонтууга мүмкүндүк берет. Xen муну PV жана HVM режимдери үчүн колдойт, экинчи учурда ал IOMMU (Intel VT-d) үчүн колдоону талап кылат - virtualized түзмөктөр үчүн hardware memory management.

Бул бир нече системанын виртуалдык машиналарын түзөт:

  • sys-net, ага тармак түзүлүштөрү өткөрүлүп берилген жана башка VMлер үчүн көпүрө катары колдонулат, мисалы, брандмауэр же VPN кардарынын функцияларын ишке ашыргандар;
  • sys-usb, ага USB жана башка перифериялык түзүлүш контроллерлору өткөрүлөт;
  • sys-брандмауэр, ал түзмөктөрдү колдонбойт, бирок туташкан VMлер үчүн брандмауэр катары иштейт.

USB түзмөктөрү менен иштөө үчүн прокси кызматтары колдонулат, алар төмөнкүлөрдү камсыз кылат:

  • HID (адамдын интерфейси түзмөк) классы үчүн, dom0го буйруктарды жөнөтүү;
  • алынуучу медиа үчүн аппараттын көлөмүн башка VMлерге багыттоо (dom0дон башка);
  • түздөн-түз USB түзмөгүнө багыттоо (USBIP жана интеграция куралдарын колдонуу).

Мындай конфигурацияда тармактык стек же туташкан түзмөктөр аркылуу ийгиликтүү чабуул бүтүндөй системанын эмес, иштеп жаткан VM кызматын гана компромисске алып келиши мүмкүн. Жана кызмат VM кайра иштетилгенден кийин, ал баштапкы абалында жүктөлөт.

VM интеграция куралдары

Виртуалдык машинанын иш тактасы менен иштешүүнүн бир нече жолу бар - конок системасына тиркемелерди орнотуу же виртуалдаштыруу куралдарын колдонуу менен видеону эмуляциялоо. Конок тиркемелери ар кандай универсалдуу алыстан жетүү инструменттери (RDP, VNC, Spice ж. Гипервизор конок системасы үчүн I/Oну эмуляциялаганда жана сырттан, мисалы, Spice сыяктуу киргизүү/чыгарууну бириктирген протоколду колдонуу мүмкүнчүлүгүн камсыз кылган аралаш опцияны да колдонсо болот. Ошол эле учурда, алыстан жетүү куралдары, адатта, сүрөттү оптималдаштырат, анткени алар тармак аркылуу иштөөнү камтыйт, бул сүрөттүн сапатына оң таасирин тийгизбейт.

Qubes VM интеграциясы үчүн өзүнүн куралдарын камсыз кылат. Биринчиден, бул графикалык подсистема - ар кандай VM терезелери өздөрүнүн түстүү алкагы менен бир иш тактасында көрсөтүлөт. Жалпысынан интеграция куралдары гипервизордун мүмкүнчүлүктөрүнө негизделген - жалпы эс тутум (Xen гранттык таблица), кабарлоо куралдары (Xen окуя каналы), жалпы сактоо xenstore жана vchan байланыш протоколу. Алардын жардамы менен qrexec жана qubes-rpc негизги компоненттери жана колдонмо кызматтары ишке ашырылат - аудио же USB кайра багыттоо, файлдарды же алмашуу буферинин мазмунун өткөрүп берүү, буйруктарды аткаруу жана тиркемелерди ишке киргизүү. VMде жеткиликтүү кызматтарды чектөөгө мүмкүндүк берген саясаттарды коюуга болот. Төмөндөгү сүрөттө эки VMнин өз ара аракеттенүүсүн инициализациялоо процедурасынын мисалы болуп саналат.

Windows 7 менен иштөө үчүн QubesOS колдонуу

Ошентип, VMдеги иштер тармакты колдонбостон жүргүзүлөт, бул маалыматтын агып кетишин болтурбоо үчүн автономдуу VMлерди толук пайдаланууга мүмкүндүк берет. Мисалы, криптографиялык операцияларды (PGP/SSH) бөлүү ушинтип ишке ашат, жеке ачкычтар обочолонгон VMлерде колдонулуп, алардын чегинен чыкпайт.

Калыптар, тиркеме жана бир жолку VM

Qubesдеги бардык колдонуучу иштери виртуалдык машиналарда аткарылат. Негизги хост системасы аларды көзөмөлдөө жана визуалдаштыруу үчүн колдонулат. ОС шаблонго негизделген виртуалдык машиналардын (TemplateVM) негизги топтому менен бирге орнотулган. Бул калып Fedora же Debian дистрибуциясынын негизинде орнотулган жана конфигурацияланган интеграциялык куралдары, ошондой эле атайын тутум жана колдонуучу бөлүмдөрү бар Linux VM. Программалык камсыздоону орнотуу жана жаңыртуу милдеттүү түрдө санариптик колтамга текшерүүсү (GnuPG) менен конфигурацияланган репозиторийлерден стандарттуу пакет менеджери (dnf же apt) тарабынан ишке ашырылат. Мындай VMлердин максаты алардын негизинде ишке киргизилген тиркеме VMлерине ишенимди камсыз кылуу болуп саналат.

Ишке киргизүүдө VM тиркемеси (AppVM) тиешелүү VM үлгүсүнүн системалык бөлүгүнүн сүрөтүн колдонот жана аяктагандан кийин өзгөртүүлөрдү сактабастан бул сүрөттү жок кылат. Колдонуучу талап кылган маалыматтар үй каталогуна орнотулган ар бир тиркеме VM үчүн уникалдуу колдонуучу бөлүмүндө сакталат.

Windows 7 менен иштөө үчүн QubesOS колдонуу

Бир жолу колдонулуучу VMлерди (бир жолу колдонулуучу VM) колдонуу коопсуздук жагынан пайдалуу болушу мүмкүн. Мындай VM ишке киргизүү учурунда шаблондун негизинде түзүлөт жана бир максатта ишке киргизилет - бир тиркемени аткаруу, ал жабылгандан кийин ишти бүтүрүү. Бир жолу колдонулуучу VMлер мазмуну белгилүү бир колдонмонун кемчиликтерин пайдаланууга алып келиши мүмкүн болгон шектүү файлдарды ачуу үчүн колдонулушу мүмкүн. Бир жолку VM иштетүү мүмкүнчүлүгү файл менеджерине (Nautilus) жана электрондук почта кардарына (Thunderbird) бириктирилген.

Windows VM да колдонуучунун профилин өзүнчө бөлүмгө жылдыруу менен шаблон жана бир жолку VM түзүү үчүн колдонулушу мүмкүн. Биздин версияда мындай шаблон колдонуучу тарабынан административдик тапшырмалар жана тиркемени орнотуу үчүн колдонулат. Шаблондун негизинде бир нече тиркеме VM түзүлөт - тармакка кирүү мүмкүнчүлүгү чектелген (стандарттык sys-брандмауэр мүмкүнчүлүктөрү) жана тармакка такыр кирүү мүмкүнчүлүгү жок (виртуалдык тармак түзүмү түзүлгөн эмес). Калыпка орнотулган бардык өзгөртүүлөр жана тиркемелер бул VMлерде иштөө үчүн жеткиликтүү болот жана кыстарма программалары киргизилген күндө да, алар компромисс үчүн тармакка кирүү мүмкүнчүлүгүнө ээ болбойт.

Windows үчүн күрөшүңүз

Жогоруда сүрөттөлгөн өзгөчөлүктөр Qubes негизи болуп саналат жана бир кыйла туруктуу иштейт; кыйынчылыктар Windows менен башталат. Windowsту интеграциялоо үчүн сиз Xen менен иштөө үчүн драйверлерди, qvideo драйверин жана маалымат алмашуу үчүн утилиталардын топтомун (файл өткөрүп берүү, алмашуу буфери) камтыган Qubes Windows Tools (QWT) конокторунун куралдарын колдонушуңуз керек. Орнотуу жана конфигурациялоо процесси долбоордун веб-сайтында деталдуу түрдө документтештирилген, ошондуктан биз колдонуу тажрыйбабыз менен бөлүшөбүз.

Негизги кыйынчылык - бул иштелип чыккан инструменттердин колдоосунун жоктугу. Негизги Иштеп чыгуучулар (QWT) жеткиликсиз болуп көрүнөт жана Windows интеграциялык долбоору жетектөөчү иштеп чыгуучуну күтүп жатат. Ошондуктан, биринчи кезекте анын ишмердүүлүгүнө баа берүү жана зарыл болсо, өз алдынча колдоо мүмкүнчүлүгү жөнүндө түшүнүктү калыптандыруу керек болчу. Иштеп чыгуу жана мүчүлүштүктөрдү оңдоо эң кыйыны бул графикалык драйвер, ал видео адаптерди жана дисплейди эмуляциялоочу жалпы эстутумда сүрөттү жаратып, бүт иш тактасын же тиркеме терезесин түздөн-түз хост тутумунун терезесинде көрсөтүүгө мүмкүндүк берет. Драйвердин иштешин талдоо учурунда биз кодду Linux чөйрөсүндө чогултуу үчүн ыңгайлаштырдык жана эки Windows конок системасынын ортосундагы мүчүлүштүктөрдү оңдоо схемасын иштеп чыктык. Crossbuild стадиясында биз бир нече өзгөртүүлөрдү киргиздик, алар биз үчүн нерселерди жөнөкөйлөштүрдү, алар негизинен коммуналдык кызматтарды "унчукпай" орнотуу жагынан, ошондой эле VMде узак убакыт бою иштөөдө тажатма деградацияны жок кылдык. Иштин жыйынтыгын өзүнчө бердик репозиторийлер, Ошентип, көпкө эмес шыктандыруучу Жетекчи Qubes Developer.

Конок тутумунун туруктуулугу жагынан эң маанилүү этап - бул Windowsтун ишке кириши, бул жерде сиз тааныш көк экранды көрө аласыз (же аны көрбөй да). Белгиленген каталардын көбү үчүн ар кандай чечүү жолдору бар болчу - Xen блок түзмөгүнүн драйверлерин жок кылуу, VM эс тутумунун балансын өчүрүү, тармак жөндөөлөрүн оңдоо жана өзөктөрдүн санын азайтуу. Биздин конок куралдарыбыз орнотууларды түзөт жана толук жаңыртылган Windows 7 жана Windows 10 (qvideoден башка) иштейт.

Чыныгы чөйрөдөн виртуалдык чөйрөгө өткөндө, алдын ала орнотулган OEM версиялары колдонулса, Windowsту активдештирүү көйгөйү пайда болот. Мындай системалар аппараттын UEFIде көрсөтүлгөн лицензиялардын негизинде активдештирүүнү колдонушат. Активдештирүүнү туура иштетүү үчүн, хост системасынын бүтүндөй ACPI бөлүмдөрүнүн бирин (SLIC таблицасын) конок системасына которуу жана өндүрүүчүнү каттоодон өткөрүү менен калгандарын бир аз оңдоо керек. Xen кошумча таблицалардын ACPI мазмунун ыңгайлаштырууга мүмкүндүк берет, бирок негизгилерин өзгөртпөстөн. Qubes үчүн ыңгайлаштырылган окшош OpenXT долбоорунун патчтары чечүүгө жардам берди. Оңдоолор биз үчүн гана эмес, пайдалуу болуп көрүнгөн жана негизги Qubes репозиторийине жана Libvirt китепканасына которулган.

Windows интеграциялоо куралдарынын айкын кемчиликтери аудио, USB түзмөктөрүн колдоонун жоктугун жана медиа менен иштөөнүн татаалдыгын камтыйт, анткени GPU үчүн аппараттык колдоо жок. Бирок жогоруда айтылгандар VMди кеңсе документтери менен иштөө үчүн колдонууга тоскоолдук кылбайт, ошондой эле конкреттүү корпоративдик тиркемелерди ишке киргизүүгө тоскоол болбойт.

Windows VM үлгүсүн түзгөндөн кийин тармаксыз же чектелген тармак менен иштөө режимине өтүү талабы тиркемелердин VMлеринин тиешелүү конфигурацияларын түзүү менен аткарылган, ал эми алынуучу медианы тандап туташтыруу мүмкүнчүлүгү да стандарттык ОС куралдары менен чечилген - туташканда. , алар VM sys-usb тутумунда жеткиликтүү, ал жерден алар талап кылынган VMге "жөнөтүүгө" болот. Колдонуучунун иш тактасы ушундай көрүнөт.

Windows 7 менен иштөө үчүн QubesOS колдонуу

Системанын акыркы версиясы колдонуучулар тарабынан оң кабыл алынды (мындай комплекстүү чечимге жараша) жана системанын стандарттык куралдары тиркемени VPN аркылуу колдонуучунун мобилдик жумушчу станциясына кеңейтүүгө мүмкүндүк берди.

Ордуна корутундусу

Виртуалдаштыруу жалпысынан колдоосуз калган Windows тутумдарын колдонуу тобокелдиктерин азайтууга мүмкүндүк берет - ал жаңы аппараттык жабдыктар менен шайкеш келүүгө мажбурлабайт, тармак аркылуу же туташкан түзмөктөр аркылуу системага кирүүнү жокко чыгарууга же көзөмөлдөөгө мүмкүндүк берет, ошондой эле бир жолку ишке киргизүү чөйрөсүн ишке ашыруу.

Виртуалдаштыруу аркылуу обочолонуу идеясынын негизинде, Qubes OS коопсуздуктун ушул жана башка механизмдерин колдонууга жардам берет. Сыртынан караганда, көп адамдар Qubes биринчи кезекте атын атагысы келбеген каалоо катары көрүшөт, бирок бул көбүнчө долбоорлорду, инфраструктураларды жана сырларды аларга жетүү үчүн шайкеш кылган инженерлер үчүн да, коопсуздук изилдөөчүлөрү үчүн да пайдалуу система. Тиркемелерди, маалыматтарды бөлүү жана алардын өз ара аракеттенүүсүн формалдаштыруу коркунучтарды талдоо жана коопсуздук тутумун долбоорлоонун алгачкы кадамдары болуп саналат. Бул бөлүү маалыматты түзүүгө жардам берет жана адам факторунан улам каталардын пайда болуу ыктымалдыгын азайтат - шашылыш, чарчоо ж.б.

Учурда иштеп чыгууда негизги басым Linux чөйрөлөрүнүн функционалдуулугун кеңейтүүгө багытталган. 4.1 версиясы чыгарууга даярдалууда, ал Fedora 31дин негизинде түзүлөт жана Xen жана Libvirt негизги компоненттеринин учурдагы версияларын камтыйт. Белгилей кетсек, Qubes жаңы коркунучтар же каталар аныкталса, жаңыртууларды ар дайым дароо чыгарып турган маалыматтык коопсуздук адистери тарабынан түзүлөт.

аягы

Биз иштеп жаткан эксперименталдык мүмкүнчүлүктөрдүн бири бизге графикалык адаптердин мүмкүнчүлүктөрүн колдонууга жана системанын чөйрөсүн кыйла кеңейтүүгө мүмкүндүк берген Intel GVT-g технологиясына негизделген GPUге конок жетүү үчүн колдоо көрсөтүү менен VM түзүүгө мүмкүндүк берет. Жазуу учурунда, бул функция Qubes 4.1 тесттик түзүмдөрү үчүн иштейт жана жеткиликтүү Github.

Source: www.habr.com

Комментарий кошуу