Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Habré haqida Qubes operatsion tizimiga bag'ishlangan ko'plab maqolalar mavjud emas va men ko'rganlarim undan foydalanish tajribasini ko'p tasvirlamaydi. Kesish ostida, men buni Qubes-ni Windows muhitidan himoya qilish (qarshi) vositasi sifatida ishlatish misolidan foydalanib tuzataman va shu bilan birga tizimning rus tilida so'zlashuvchi foydalanuvchilari sonini taxmin qilaman.

Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Nega Qubes?

Windows 7-ni texnik qo'llab-quvvatlashning tugashi va foydalanuvchilarning tobora ortib borayotgan tashvishlari ushbu OS ishini quyidagi talablarni hisobga olgan holda tashkil etish zarurligiga olib keldi:

  • foydalanuvchi yangilanishlar va turli xil ilovalarni (shu jumladan Internet orqali) o'rnatish imkoniyati bilan to'liq faollashtirilgan Windows 7 dan foydalanishni ta'minlash;
  • shartlar asosida tarmoq shovqinlarini to'liq yoki tanlab istisno qilishni amalga oshirish (avtonom ishlash va trafikni filtrlash rejimlari);
  • olinadigan media va qurilmalarni tanlab ulash imkoniyatini ta'minlash.

Ushbu cheklovlar to'plami aniq tayyorlangan foydalanuvchini nazarda tutadi, chunki mustaqil boshqaruvga ruxsat beriladi va cheklovlar uning potentsial harakatlarini blokirovka qilish bilan bog'liq emas, balki mumkin bo'lgan xatolar yoki dasturiy ta'minotning halokatli ta'sirini istisno qilish bilan bog'liq. Bular. Modelda ichki huquqbuzar yo'q.

Yechimni izlashda biz o'rnatilgan yoki qo'shimcha Windows vositalaridan foydalangan holda cheklovlarni amalga oshirish g'oyasidan tezda voz kechdik, chunki ma'mur huquqlariga ega foydalanuvchini samarali ravishda cheklash juda qiyin va unga ilovalarni o'rnatish imkoniyatini qoldiradi.

Keyingi yechim virtualizatsiya yordamida izolyatsiya edi. Ish stolini virtualizatsiya qilish uchun taniqli vositalar (masalan, virtual quti) xavfsizlik muammolarini hal qilish uchun juda mos emas va sanab o'tilgan cheklovlar foydalanuvchi tomonidan doimiy ravishda mehmon virtual mashinasining xususiyatlarini o'zgartirish yoki sozlash orqali amalga oshirilishi kerak (bundan keyin deb yuritiladi). VM sifatida), bu xatolar xavfini oshiradi.

Shu bilan birga, biz Qubes-dan foydalanuvchining ish stoli tizimi sifatida foydalanish tajribasiga ega bo'ldik, lekin mehmon Windows bilan ishlashning barqarorligiga shubha qildik. Qubes-ning joriy versiyasini tekshirishga qaror qilindi, chunki belgilangan cheklovlar ushbu tizimning paradigmasiga, ayniqsa virtual mashina shablonlarini amalga oshirish va vizual integratsiyaga juda mos keladi. Keyinchalik, muammoni hal qilish misolidan foydalanib, Qubesning g'oyalari va vositalari haqida qisqacha gapirishga harakat qilaman.

Xen virtualizatsiyasining turlari

Qubes protsessor resurslari, xotira va virtual mashinalarni boshqarish funksiyalarini minimallashtiruvchi Xen gipervisoriga asoslangan. Qurilmalar bilan boshqa barcha ishlar Linux yadrosi asosida dom0 da jamlangan (dom0 uchun Qubes Fedora tarqatilishidan foydalanadi).

Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Xen bir nechta virtualizatsiya turlarini qo'llab-quvvatlaydi (men Intel arxitekturasi uchun misollar keltiraman, garchi Xen boshqalarni qo'llab-quvvatlaydi):

  • paravirtualizatsiya (PV) - konteyner virtualizatsiyasini eslatuvchi apparat ta'minotidan foydalanmasdan virtualizatsiya rejimi moslashtirilgan yadroga ega tizimlar uchun ishlatilishi mumkin (dom0 bu rejimda ishlaydi);
  • to'liq virtualizatsiya (HVM) - bu rejimda protsessor resurslari uchun apparat yordami ishlatiladi va boshqa barcha uskunalar QEMU yordamida emulyatsiya qilinadi. Bu turli xil operatsion tizimlarni ishga tushirishning eng universal usuli;
  • apparatni paravirtualizatsiya qilish (PVH - ParaVirtualized Hardware) - qo'shimcha qurilmalar bilan ishlash uchun mehmon tizimining yadrosi gipervisor imkoniyatlariga moslashtirilgan drayverlarni (masalan, umumiy xotira) ishlatganda, QEMU emulyatsiyasiga bo'lgan ehtiyojni yo'qotadigan virtualizatsiya rejimi. va kiritish-chiqarish samaradorligini oshirish. 4.11 dan boshlab Linux yadrosi bu rejimda ishlashi mumkin.

Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Qubes 4.0 dan boshlab, xavfsizlik nuqtai nazaridan, paravirtualizatsiya rejimidan foydalanishdan voz kechiladi (shu jumladan Intel arxitekturasidagi ma'lum zaifliklar tufayli, ular to'liq virtualizatsiya yordamida qisman yumshatiladi); PVH rejimi sukut bo'yicha ishlatiladi.

Emulyatsiyadan (HVM rejimi) foydalanilganda, QEMU stubdomain deb nomlangan izolyatsiya qilingan VMda ishga tushiriladi va shu bilan amalga oshirishdagi mumkin bo'lgan xatolardan foydalanish xavfini kamaytiradi (QEMU loyihasida juda ko'p kod mavjud, shu jumladan muvofiqlik uchun).
Bizning holatda, bu rejim Windows uchun ishlatilishi kerak.

Virtual mashinalarga xizmat ko'rsatish

Qubes xavfsizlik arxitekturasida gipervisorning asosiy imkoniyatlaridan biri PCI qurilmalarini mehmon muhitiga o'tkazishdir. Uskunani istisno qilish tizimning xost qismini tashqi hujumlardan ajratish imkonini beradi. Xen buni PV va HVM rejimlari uchun qo'llab-quvvatlaydi, ikkinchi holda u IOMMU (Intel VT-d) - virtuallashtirilgan qurilmalar uchun apparat xotirasini boshqarishni qo'llab-quvvatlashni talab qiladi.

Bu bir nechta tizim virtual mashinalarini yaratadi:

  • sys-net, qaysi tarmoq qurilmalari uzatiladi va u boshqa VMlar uchun ko'prik sifatida ishlatiladi, masalan, xavfsizlik devori yoki VPN mijozi funktsiyalarini amalga oshiradiganlar;
  • USB va boshqa periferik qurilmalar boshqaruvchilari uzatiladigan sys-usb;
  • sys-xavfsizlik devori, u qurilmalardan foydalanmaydi, lekin ulangan VMlar uchun xavfsizlik devori sifatida ishlaydi.

USB qurilmalari bilan ishlash uchun proksi-serverlardan foydalaniladi, ular quyidagilar bilan bir qatorda:

  • HID (inson interfeysi qurilmasi) qurilma sinfi uchun dom0 ga buyruqlar yuborish;
  • olinadigan media uchun, qurilma hajmlarini boshqa VM larga yo'naltirish (dom0 dan tashqari);
  • to'g'ridan-to'g'ri USB qurilmasiga yo'naltirish (USBIP va integratsiya vositalaridan foydalangan holda).

Bunday konfiguratsiyada tarmoq stagi yoki ulangan qurilmalar orqali muvaffaqiyatli hujum butun tizimning emas, balki faqat ishlayotgan VM xizmatining buzilishiga olib kelishi mumkin. Va VM xizmatini qayta ishga tushirgandan so'ng, u asl holatida yuklanadi.

VM integratsiya vositalari

Virtual mashinaning ish stoli bilan o'zaro ishlashning bir necha usullari mavjud - mehmonlar tizimiga ilovalarni o'rnatish yoki virtualizatsiya vositalaridan foydalangan holda videoni taqlid qilish. Mehmon ilovalari turli xil universal masofaviy kirish vositalari (RDP, VNC, Spice va boshqalar) bo'lishi mumkin yoki ma'lum bir gipervizorga moslashtirilgan bo'lishi mumkin (bunday vositalar odatda mehmon yordamchi dasturlari deb ataladi). Gipervisor mehmon tizimi uchun kiritish-chiqarishni taqlid qilganda va tashqi tomondan, masalan, Spice kabi kiritish-chiqarishni birlashtirgan protokoldan foydalanish imkoniyatini taqdim etganda aralash variant ham ishlatilishi mumkin. Shu bilan birga, masofaviy kirish vositalari odatda tasvirni optimallashtiradi, chunki ular tarmoq orqali ishlashni o'z ichiga oladi, bu tasvir sifatiga ijobiy ta'sir ko'rsatmaydi.

Qubes VM integratsiyasi uchun o'z vositalarini taqdim etadi. Avvalo, bu grafik quyi tizim - turli VM-larning oynalari o'zlarining rangli ramkalari bilan bitta ish stolida ko'rsatiladi. Umuman olganda, integratsiya vositalari gipervisorning imkoniyatlariga asoslanadi - umumiy xotira (Xen grant jadvali), bildirishnoma vositalari (Xen voqea kanali), umumiy xotira xenstore va vchan aloqa protokoli. Ularning yordami bilan qrexec va qubes-rpc asosiy komponentlari va amaliy xizmatlar amalga oshiriladi - audio yoki USB-ni qayta yo'naltirish, fayllar yoki bufer tarkibini uzatish, buyruqlarni bajarish va ilovalarni ishga tushirish. VMda mavjud xizmatlarni cheklash imkonini beruvchi siyosatlarni o'rnatish mumkin. Quyidagi rasmda ikkita VMning o'zaro ta'sirini ishga tushirish tartibiga misol keltirilgan.

Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Shunday qilib, VMda ish tarmoqdan foydalanmasdan amalga oshiriladi, bu esa ma'lumotlarning chiqib ketishining oldini olish uchun avtonom VMlardan to'liq foydalanish imkonini beradi. Masalan, kriptografik operatsiyalarni ajratish (PGP/SSH) shu tarzda amalga oshiriladi, agar shaxsiy kalitlar izolyatsiya qilingan VMlarda ishlatilsa va ulardan tashqariga chiqmasa.

Shablonlar, ilovalar va bir martalik VMlar

Qubes-dagi barcha foydalanuvchi ishi virtual mashinalarda amalga oshiriladi. Asosiy xost tizimi ularni boshqarish va vizualizatsiya qilish uchun ishlatiladi. OT shablonga asoslangan virtual mashinalarning asosiy to'plami (TemplateVM) bilan birga o'rnatiladi. Ushbu shablon Fedora yoki Debian distributiviga asoslangan Linux VM boʻlib, integratsiya vositalari oʻrnatilgan va sozlangan, tizim va foydalanuvchi boʻlimlari ajratilgan. Dasturiy ta'minotni o'rnatish va yangilash majburiy raqamli imzo tekshiruvi (GnuPG) bilan tuzilgan omborlardan standart paket menejeri (dnf yoki apt) tomonidan amalga oshiriladi. Bunday VM larning maqsadi ular asosida ishga tushirilgan amaliy VM larga ishonchni ta'minlashdan iborat.

Ishga tushganda, VM (AppVM) ilovasi mos keladigan VM shablonining tizim bo'limining oniy tasviridan foydalanadi va tugallangandan so'ng, o'zgarishlarni saqlamasdan, bu oniy rasmni o'chiradi. Foydalanuvchi tomonidan talab qilinadigan ma'lumotlar uy katalogiga o'rnatilgan har bir VM ilovasi uchun noyob foydalanuvchi bo'limida saqlanadi.

Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Bir martali ishlatiladigan VM (bir martalik VM) dan foydalanish xavfsizlik nuqtai nazaridan foydali bo'lishi mumkin. Bunday VM ishga tushirish vaqtida shablon asosida yaratiladi va bitta maqsadda ishga tushiriladi - bitta dasturni bajarish, u yopilgandan keyin ishni yakunlash. Bir martali ishlatiladigan VMlar mazmuni ilovaning muayyan zaifliklaridan foydalanishga olib kelishi mumkin bo'lgan shubhali fayllarni ochish uchun ishlatilishi mumkin. Bir martalik VMni ishga tushirish qobiliyati fayl boshqaruvchisi (Nautilus) va elektron pochta mijoziga (Thunderbird) birlashtirilgan.

Windows VM-dan foydalanuvchi profilini alohida bo'limga ko'chirish orqali shablon va bir martalik VM yaratish uchun ham foydalanish mumkin. Bizning versiyamizda bunday shablon foydalanuvchi tomonidan ma'muriy vazifalar va ilovalarni o'rnatish uchun ishlatiladi. Shablon asosida bir nechta amaliy VM-lar yaratiladi - tarmoqqa kirish cheklangan (standart tizim xavfsizlik devori imkoniyatlari) va tarmoqqa umuman kirish imkoni bo'lmagan (virtual tarmoq qurilmasi yaratilmagan). Shablonga o'rnatilgan barcha o'zgartirishlar va ilovalar ushbu VMlarda ishlash uchun mavjud bo'ladi va xatcho'p dasturlari joriy qilingan taqdirda ham ular murosaga erishish uchun tarmoqqa kirish imkoniga ega bo'lmaydi.

Windows uchun kurash

Yuqorida tavsiflangan xususiyatlar Qubes-ning asosidir va juda barqaror ishlaydi; qiyinchiliklar Windows-dan boshlanadi. Windows-ni integratsiya qilish uchun siz Xen bilan ishlash uchun drayverlarni, qvideo drayveri va ma'lumot almashish uchun yordamchi dasturlar to'plamini (fayllarni uzatish, almashish buferi) o'z ichiga olgan Qubes Windows Tools (QWT) mehmon vositalaridan foydalanishingiz kerak. O'rnatish va sozlash jarayoni loyiha veb-saytida batafsil hujjatlashtirilgan, shuning uchun biz dastur tajribamiz bilan o'rtoqlashamiz.

Asosiy qiyinchilik - ishlab chiqilgan vositalarni qo'llab-quvvatlamaslik. Key Developers (QWT) mavjud emas va Windows integratsiya loyihasi yetakchi ishlab chiquvchini kutmoqda. Shuning uchun, birinchi navbatda, uning ish faoliyatini baholash va agar kerak bo'lsa, uni mustaqil ravishda qo'llab-quvvatlash imkoniyati haqida tushunchani shakllantirish kerak edi. Ishlab chiqish va disk raskadrovka qilish eng qiyini grafik drayverdir, u umumiy xotirada tasvirni yaratish uchun video adapter va displeyni taqlid qiladi, bu sizga butun ish stolini yoki dastur oynasini to'g'ridan-to'g'ri xost tizimi oynasida ko'rsatishga imkon beradi. Drayv ishini tahlil qilish jarayonida biz kodni Linux muhitida yig'ish uchun moslashtirdik va ikkita Windows mehmon tizimi o'rtasida disk raskadrovka sxemasini ishlab chiqdik. O'zaro qurish bosqichida biz bir nechta o'zgarishlarni amalga oshirdik, bu biz uchun narsalarni, asosan, kommunal xizmatlarni "jim" o'rnatish nuqtai nazaridan soddalashtirdi, shuningdek, VMda uzoq vaqt ishlashda zerikarli ish faoliyatini yo'q qildi. Biz ish natijalarini alohida taqdim etdik omborlar, shuning uchun uzoq vaqt emas ilhomlantiruvchi Etakchi Qubes dasturchisi.

Mehmon tizimining barqarorligi nuqtai nazaridan eng muhim bosqich - bu Windows-ning ishga tushirilishi, bu erda siz tanish ko'k ekranni ko'rishingiz mumkin (yoki hatto uni ko'rmaysiz). Aniqlangan xatolarning aksariyati uchun turli xil vaqtinchalik echimlar mavjud edi - Xen blokli qurilma drayverlarini yo'q qilish, VM xotira balansini o'chirish, tarmoq sozlamalarini tuzatish va yadrolar sonini kamaytirish. Mehmon vositalarimiz toʻliq yangilangan Windows 7 va Windows 10 da (qvideodan tashqari) oʻrnatish va ishlaydi.

Haqiqiy muhitdan virtual muhitga o'tishda, agar oldindan o'rnatilgan OEM versiyalari ishlatilsa, Windows-ni faollashtirish bilan bog'liq muammo paydo bo'ladi. Bunday tizimlar qurilmaning UEFI-da ko'rsatilgan litsenziyalar asosida faollashtirishdan foydalanadi. Faollashtirishni to'g'ri qayta ishlash uchun xost tizimining barcha ACPI bo'limlaridan birini (SLIC jadvali) mehmon tizimiga tarjima qilish va ishlab chiqaruvchini ro'yxatdan o'tkazgan holda qolganlarini biroz tahrirlash kerak. Xen qo'shimcha jadvallarning ACPI tarkibini sozlash imkonini beradi, lekin asosiylarini o'zgartirmasdan. Qubes uchun moslashtirilgan shunga o'xshash OpenXT loyihasining yamog'i yechimga yordam berdi. Tuzatishlar nafaqat biz uchun foydali bo'lib tuyuldi va ular Qubes asosiy omboriga va Libvirt kutubxonasiga tarjima qilindi.

Windows integratsiya vositalarining aniq kamchiliklari audio, USB qurilmalarini qo'llab-quvvatlamaslik va media bilan ishlashning murakkabligini o'z ichiga oladi, chunki GPU uchun apparat yordami yo'q. Ammo yuqorida aytilganlar ofis hujjatlari bilan ishlash uchun VM dan foydalanishga to'sqinlik qilmaydi va muayyan korporativ ilovalarni ishga tushirishga to'sqinlik qilmaydi.

Windows VM shablonini yaratgandan so'ng tarmoqsiz yoki cheklangan tarmoq bilan ishlash rejimiga o'tish talabi amaliy VM-larning tegishli konfiguratsiyasini yaratish orqali bajarildi va olinadigan mediani tanlab ulash imkoniyati ham standart OT vositalari bilan hal qilindi - ulanganda. , ular VM sys-usb tizimida mavjud bo'lib, ular kerakli VM ga "yo'naltirilishi" mumkin. Foydalanuvchining ish stoli shunday ko'rinadi.

Windows 7 bilan ishlash uchun QubesOS dan foydalanish

Tizimning yakuniy versiyasi foydalanuvchilar tomonidan ijobiy qabul qilindi (bunday keng qamrovli yechim imkon qadar) va tizimning standart vositalari dasturni VPN orqali kirish bilan foydalanuvchining mobil ish stantsiyasiga kengaytirish imkonini berdi.

Xulosa o'rniga

Umuman olganda, virtualizatsiya qo'llab-quvvatlanmasdan qolgan Windows tizimlaridan foydalanish xavfini kamaytirishga imkon beradi - bu yangi jihozlar bilan moslikni majburlamaydi, tizimga tarmoq yoki ulangan qurilmalar orqali kirishni istisno qilish yoki nazorat qilish imkonini beradi. bir martalik ishga tushirish muhitini amalga oshirish.

Virtualizatsiya orqali izolyatsiya qilish g'oyasiga asoslanib, Qubes OS sizga ushbu va boshqa xavfsizlik mexanizmlaridan foydalanishga yordam beradi. Tashqaridan qaraganda, ko‘pchilik Qubesni birinchi navbatda anonimlik istagi sifatida ko‘radi, biroq bu ko‘pincha loyihalar, infratuzilmalar va ularga kirish sirlari bilan shug‘ullanuvchi muhandislar uchun ham, xavfsizlik tadqiqotchilari uchun ham foydali tizimdir. Ilovalarni, ma'lumotlarni ajratish va ularning o'zaro ta'sirini rasmiylashtirish tahdidlarni tahlil qilish va xavfsizlik tizimini loyihalashning dastlabki bosqichlari hisoblanadi. Bunday ajratish ma'lumotni tuzishga yordam beradi va inson omili - shoshqaloqlik, charchoq va boshqalar tufayli xatolar ehtimolini kamaytiradi.

Hozirgi vaqtda rivojlanishdagi asosiy e'tibor Linux muhitlarining funksionalligini kengaytirishga qaratilgan. Fedora 4.1-ga asoslangan va Xen va Libvirt asosiy komponentlarining joriy versiyalarini o'z ichiga olgan 31 versiyasi chiqarishga tayyorlanmoqda. Shuni ta'kidlash kerakki, Qubes axborot xavfsizligi bo'yicha mutaxassislar tomonidan yaratilgan bo'lib, ular har doim yangi tahdidlar yoki xatolar aniqlansa, yangilanishlarni darhol chiqaradilar.

So'zdan keyin

Biz ishlab chiqayotgan eksperimental imkoniyatlardan biri Intel GVT-g texnologiyasi asosida GPUga mehmonlar kirishini qo‘llab-quvvatlovchi VM larni yaratish imkonini beradi, bu bizga grafik adapter imkoniyatlaridan foydalanish va tizim ko‘lamini sezilarli darajada kengaytirish imkonini beradi. Yozish vaqtida ushbu funksiya Qubes 4.1 test tuzilmalari uchun ishlaydi va mavjud Github.

Manba: www.habr.com

a Izoh qo'shish