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 эмуляциясының қажеттілігін жойған кезде аппараттық қолдауды пайдаланатын виртуалдандыру режимі. және енгізу/шығару өнімділігін арттыру. Бұл режимде 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) қолдауын қажет етеді - виртуалдандырылған құрылғылар үшін аппараттық жадты басқару.

Бұл бірнеше жүйелік виртуалды машиналарды жасайды:

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

USB құрылғыларымен жұмыс істеу үшін прокси қызметтері пайдаланылады, олар басқа нәрселермен қатар:

  • HID (адам интерфейсі құрылғысы) құрылғы класы үшін dom0-ге командаларды жіберу;
  • алынбалы тасушы үшін құрылғы көлемдерін басқа VM-ге қайта бағыттау (dom0-дан басқа);
  • тікелей USB құрылғысына қайта бағыттау (USBIP және біріктіру құралдарын пайдалану).

Мұндай конфигурацияда желілік стек немесе қосылған құрылғылар арқылы сәтті шабуыл бүкіл жүйені емес, тек іске қосылған VM сервисінің бұзылуына әкелуі мүмкін. Ал VM қызметін қайта іске қосқаннан кейін ол бастапқы күйінде жүктеледі.

VM біріктіру құралдары

Виртуалды машинаның жұмыс үстелімен өзара әрекеттесудің бірнеше жолы бар - қонақ жүйесінде қолданбаларды орнату немесе виртуалдандыру құралдарын пайдаланып бейнені эмуляциялау. Қонақ қолданбалары қашықтан қол жеткізудің әртүрлі әмбебап құралдары болуы мүмкін (RDP, VNC, Spice және т. Гипервизор қонақ жүйесі үшін енгізу/шығаруды эмуляциялағанда және мысалы, 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 қолданбасы (AppVM) сәйкес VM үлгісінің жүйелік бөлігінің суретін пайдаланады және аяқталғаннан кейін өзгерістерді сақтамай бұл суретті жояды. Пайдаланушы талап ететін деректер үй каталогында орнатылған әрбір VM қолданбасы үшін бірегей пайдаланушы бөлімінде сақталады.

Windows 7 жүйесімен жұмыс істеу үшін QubesOS пайдалану

Бір рет қолданылатын 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 қонақ жүйесі арасындағы жөндеу схемасын әзірледік. Айқас құру кезеңінде біз негізінен утилиталарды «үнсіз» орнату тұрғысынан жеңілдететін бірнеше өзгерістер жасадық, сонымен қатар VM-де ұзақ уақыт жұмыс істегенде өнімділіктің тітіркендіргіш нашарлауын жойдық. Біз жұмыстың нәтижелерін бөлек ұсындық репозиторийлер, осылайша ұзақ емес шабыттандыратын Жетекші Qubes әзірлеушісі.

Қонақ жүйесінің тұрақтылығы тұрғысынан ең маңызды кезең - 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.

Ақпарат көзі: www.habr.com

пікір қалдыру