Сервісний центр VPSGroup ремонт комп'ютерної техніки, заправка картриджів, ремонт оргтехніки, Київ, Виставковий центр, Васильківська, 55

Unified Write Filter в Windows 10.

Захист даних є вкрай важливим завданням і сьогодні мова піде про уніфікованому фільтрі записи (Unified Write Filter, UWF), який дозволить захистити ваші дані практично від будь-яких небажаних змін.

принцип роботи UWF полягає в тому, в тому, що він перехоплює всі операції запису на файлову систему і до реєстру і перенаправляє їх в ізольоване віртуальний простір (оверлей), в якому вони зберігаються до найближчої перезавантаження.Після перезавантаження вміст оверлею очищається, всі зроблені зміни зникають і система повертається до вихідного стану, в якому перебувала на момент включення фільтра.

В операційних системах Windows фільтр UWF (або EWF) використовується досить давно, однак раніше він був доступний тільки в редакціях Embedded, призначених для вбудованих систем (банкомати, POS-термінали і т.п.). На даний момент фільтр входить до складу операційних систем Windows 10 редакцій Enterprise (включаючи LTSB) і Education.

Установка фільтра

Фільтр UWF встановлюється як додатковий компонент операційної системи. Встановити його можна як з Панелі управління, так і за допомогою PowerShell.

Для установки з графічної оснащення натискаємо Win + R і виконуємо команду appwiz.cpl.



у вікні вибираємо «Turn Windows features on or off» і в розділі «Device Lockdown» відзначаємо компонент «Unified Write Filter».



Для установки за допомогою PowerShell відкриваємо консоль від імені адміністратора і виконуємо команду:

Enable-WindowsOptionalFeature -Online -FeatureName "Client-UnifiedWriteFilter" -All



Незалежно від обраного способу після установки необхідно перезавантажити систему.

Включення і настройка фільтра

Для управління UWF призначена спеціальна утиліта командного рядка uwfmgr.exe. Вивести довідку по ній можна командою uwfmgr, запущеної без додаткових параметрів. Як видно з довідки, всі команди згруповані за розділами, кожен з яких відповідає за управління частиною функціоналу.Наприклад розділ filter відповідає за глобальні настройки UWF, розділ overlay - за налаштування оверлея, і т.д. Втім про все по порядку.



Після установки компонента фільтр не активний, і в першу чергу його необхідно увімкнути. Робиться це за допомогою такої команди:

uwfmgr filter enable

Потім необхідно перезавантажити комп'ютер і фільтр готовий до роботи.



Потрібно знати, що при активації фільтра UWF в системі автоматично виробляються певні дії, спрямовані на оптимізацію його роботи:

• Відключаються файли підкачки;
• Відключається відновлення системи;
• Відключається служба SuperFetch;
• Відключається служба індексації файлів;
• Відключається режим швидкого запуску (Fast start-up);
• Зупиняється дефрагментація дисків;
• У BCD для настройки bootstatuspolicy встановлюється значення ignoreallfailures, що означає відключення режиму автоматичного відновлення при перезавантаженні.

Після включення деякі настройки можна повернути назад, звичайно з урахуванням особливостей UWF. Наприклад можна включити файл підкачки, попередньо перенісши його на незахищений розділ диска. А ось швидкий запуск UWF не підтримує і включати його не можна.

Наступне, що необхідно зробити після включення - це налаштувати віртуальний оверлей, в якому буде зберігати дані фільтр.Вивести поточні настройки оверлею можна командою:

uwfmgr overlay get-config

Налаштування наступні:

• Type - тип накладення. Визначає, де будуть зберігатися дані - в оперативній пам'яті (RAM) або на диску (DISK);
• Maximum size - максимальний розмір оверлею;
• Warning Threshold - обсяг даних в оверлее, при досягненні якого буде видано попередження;
• Critical Threshold - обсяг даних в оверлее, при досягненні якого буде видано повідомлення про помилку;
• Freespace Passthrough - дозволяє писати дані в будь-який вільний місце на диску, що не перенаправляючи їх в спеціально відведений для цього файл.Цей параметр використовується тільки при дисковому типі оверлею.

Що цікаво, виводиться два набору параметрів, поточний і той, який буде застосований після перезавантаження.



Приступимо до налаштування. Тип оверлею за замовчуванням RAM, його і залишимо. Задамо максимальний розмір оверлею в 4Гб:

uwfmgr overlay set-size 4096

Критичний розмір зробимо таким же:

uwfmgr overlay set-criticalthreshold 4096

а для попередження задамо розмір в 3 Гб:

uwfmgr overlay set-warningthreshold 3072



Тепер можна включати захист.Як об'єкт захисту не можна вказувати окремі файли \ папки, тільки весь диск цілком. Включимо захист для диска С командою:

uwfmgr volume protect C:



Після включення захисту перезавантажуємо комп'ютер. Потім відкриваємо командний консоль і перевіряємо стан захисту обраного диска:

uwfmgr volume get-config C:

Як бачите, стан диска Protected, т.е. диск C знаходиться під захистом фільтра.



Перевірка роботи фільтра

Ми зробили базову настройку UWF, тепер можна протестувати його роботу. Для цього створимо самий звичайний текстовий файл з ім'ям TestUWF і збережемо його на диску С, в папці Documents.



Перевіримо, що файл успішно збережений і перезавантажити комп'ютер.



Після перезавантаження зайдемо в папку Documents і переконаємося, що файлу там немає. Це і є результат роботи фільтру.



Збереження змін

Як видно з попереднього прикладу, фільтр запобігає будь-яким зміни на захищається диску. Тому, якщо вам необхідно зберегти створений файл, то зміни можна підтвердити (commit) командою, наприклад:

uwfmgr file commit C: \ Documents \ TestUWF.txt



Після цього систему можна сміливо перезавантажувати, файл нікуди не дінеться. Більш того, тепер його так просто не видалити, адже після перезавантаження він знову з'явиться на своєму місці. Видалення файлу можливо тільки через UWF, командою:

uwfmgr file commit-delete C: \ Documents \ TestUWF.txt

Ця команда остаточно видалить файл як з диска, так і з оверлею.



Так само можна зберегти зміни тільки для одного конкретного файлу. Якщо вказати директорію або розділ диска, то буде видана помилка.



Те ж саме можна зробити і зі змінами в реєстрі.Наприклад так ми збережемо створений параметр TestUWF:

uwfmgr registry commit HKLM \ SOFTWARE \ TestUWF TestUWF

а так видалимо його:

uwfmgr registry commit-delete HKLM \ SOFTWARE \ TestUWF TestUWF



Винятки

Кожен раз підтверджувати зміни досить утомливо, крім того можна забути це зробити і втратити результати своєї роботи.На цей випадок фільтр надає можливість вивести окремі файли і папки з під захисту, додавши їх в виключення (exclusions). Однак тут є обмеження, так в виключення не можна додавати такі системні об'єкти:

• \ Windows;
• \ Windows \ System32;
• \ Windows \ System32 \ Drivers;
• \ Windows \ System32 \ config \ DEFAULT;
• \ Windows \ System32 \ config \ SAM;
• \ Windows \ System32 \ config \ SECURITY;
• \ Windows \ System32 \ config \ SOFTWARE;
• \ Windows \ System32 \ config \ SYSTEM;
• \ Users \\ NTUSER.DAT;
• Корінь диска (напр. C: або D :);
• Файли підкачки (pagefile.sys).

Все інше можна додати в виключення. Для прикладу додамо в виключення фільтра папку C: \ UWF_Exclusion командою:

uwfmgr file add-exclusion C: \ UWF_Exclusion



Перевірити поточні виключення фільтра можна такою командою:

uwfmgr file get-exclusions



Видалити виключення можна такою командою:

uwfmgr file remove-exclusion C: \ UWF_Exclusion



Примітка.Зверніть увагу, що для застосування змін в настройках фільтра практично завжди потрібно рестарт.

В виключення можна додавати і вміст реєстру, але не всі, а тільки що знаходяться в наступних розділах:

• HKEY_LOCAL_MACHINE \ BCD
• HKEY_LOCAL_MACHINE \ SYSTEM
• HKEY_LOCAL_MACHINE \ SOFTWARE
• HKEY_LOCAL_MACHINE \ SAM
• HKEY_LOCAL_MACHINE \ SECURITY
• HKEY_LOCAL_MACHINE \ COMPONENTS

Для прикладу спробуємо додати в виключення розділ реєстру HKCU \ System \ CurrentControlSet \ Policies:

uwfmgr registry add-exclusion HKCU \ System \ CurrentControlSet \ Policies

І отримаємо помилку.А ось розділ HKLM \ System \ CurrentControlSet \ Policies додасться без проблем, оскільки він знаходиться в потрібному місці.



Перегляд винятків реєстру проводиться командою:

uwfmgr registry get-exclusions

Ну а для видалення винятків скористаємося такою командою:

uwfmgr registry remove-exclusion HKLM \ System \ CurrentControlSet \ Policies



стандартні виключення

Існують стандартні, рекомендовані Microsoft набори винятків фільтра, необхідні для роботи важливих (або не дуже) компонентів системи.

Windows Defender

• C: \ Program Files \ Windows Defender;
• C: \ ProgramData \ Microsoft \ Windows Defender;
• C: \ Windows \ WindowsUpdate.log;
• C: \ Windows \ Temp \ MpCmdRun.log;
• HKLM \ SOFTWARE \ Microsoft \ Windows Defender;

Background Intelligent Transfer Service (BITS)

•% ALLUSERSPROFILE% \ Microsoft \ Network \ Downloader;
• HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ BITS \ StateIndex;

Мережа

Для можливості коректного додавання комп'ютера в провідні та безпровідні мережі також необхідно додати виключення.

Для бездротових мереж:

• HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ Wireless \ GPTWirelessPolicy;
• C: \ Windows \ wlansvc \ Policies;
• HKLM \ SOFTWARE \ Microsoft \ wlansvc;
• C: \ ProgramData \ Microsoft \ wlansvc \ Profiles \ Interfaces \ {} \ {}. xml;
• HKLM \ SYSTEM \ CurrentControlSet \ services \ wlansvc ;
• HKLM \ SYSTEM \ CurrentControlSet \ services \ WwanSvc.

Для дротових мереж:

• HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ WiredL2 \ GP_Policy;
• C: \ Windows \ dot2svc \ Policies;
• HKLM \ SOFTWARE \ Microsoft \ dot3svc;
• C: \ ProgramData \ Microsoft \ dot3svc \ Profiles \ Interfaces \ {} \ {}.xml;
• HKLM \ SYSTEM \ CurrentControlSet \ services \ dot3svc.

Daylight saving time (DST)

DST - механізм автоматичного перемикання на літній \ зимовий час. У Росії на даний момент неактуальний, але про всяк випадок.

• HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Time Zones;
• HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation.

Customer Experience Improvement Program (CEIP)

CEIP - програма поліпшення якості обслуговування.Якщо ви раптом випадково