Слайд 2
Краткое описание
Разработана для быстрого выполнения стандартных файловых операций
типа чтения, записи и поиска.
Поддерживает улучшенные операции восстановления файловой
системы на очень больших жестких дисках.
Включает возможности безопасности, требуемые для файловых серверов и высококачественных персональных компьютеров в корпоративной среде.
Слайд 3
Понятия и термины NTFS
Структура NTFS начинается с тома
(volume). Том соответствует логическому разделу на диске и создается,
когда Вы форматируете диск или часть его для NTFS.
NTFS обрабатывает каждый том независимо от других.
На одном диске может находиться один или несколько томов.
Слайд 4
Типы томов
Простой том (simple)
Составной (набор) том (spanned) –
том, использующий более одного раздела для формирования одного протяженного.
Можно использовать разделы с разных дисков для создания набора томов, большего по объему, чем любой имеющийся на компьютере физический диск.
Зеркальный том (mirrored) содержит копии своих данных на двух разделах. В случае зеркала запись данных производится на оба раздела, а считывание происходит только с одного. Зеркальный том устойчив к сбою одного диска, в этом случае работает оставшаяся половина.
Чередующийся набор томов (stripped) – том, состоящий из нескольких разделов, по которым равномерными блоками распределены данные. NT использует блоки данных по 64 Кбайт. Первый блок данных размером в 64 Кбайт хранится на первом разделе, вторые 64 Кбайт на втором и т.д. по кругу, возвращаясь к первому разделу. Чередующиеся наборы томов могут повысить производительность системы, если использовать разделы, размещенные на разных дисках, поскольку операции чтения-записи могут выполняться параллельно.
Чередующийся набор томов с четностью (RAID-5 volume) – это чередующийся набор с дополнительным блоком данных размером в 64 Кбайт для разделов, образующих чередующийся набор. Дополнительный блок содержит информацию о четности, которую система NT может использовать при восстановлении данных, расположенных на одном из разделов чередующегося набора, в случае выхода из строя диска, где был расположен раздел.
Слайд 5
Внутреннее имя тома
В разделе HKEY_LOCAL_ MACHINE\SYSTEM\MountedDevices системного реестра
хранится информация о базовых дисках.
Внутреннее имя имеет форму \??\Volume{XX-XX-XX-XX},
где X — числа, образующие глобальный уникальный ID (GUID), присвоенный тому операционной системой.
Системная утилита mountvol
Слайд 6
Развитие NTFS
NTFS была разработана для семейства OC MS
Windows NT
В ОС Windows 2000-2003 реализовано много новых возможностей,
например, динамические диски, которым будет посвящена отдельная тема.
Слайд 7
Размер кластера для NTFS
Пользователь может определить размер кластера
при форматировании тома NTFS /a:, т.е.
format d: /a:1024
/fs:ntfs
Однако NTFS-сжатие не поддерживается для кластеров, размер которых больше 4 КБ.
Слайд 8
NTFS и архитектура Windows 2000
Слайд 9
Физическая структура NTFS
NTFS поддерживает размеры кластеров -
от 512 байт до 64 Кбайт
Слайд 11
Метафайлы
Первые 16 файлов NTFS (метафайлы) носят служебный
характер.
Метафайлы находятся корневом каталоге NTFS диска - они
начинаются с символа имени "$"
Для метафайлов указан реальный размер - можно узнать, например, сколько ОС тратит на каталогизацию всего диска.
Слайд 17
Непосредственное хранение файлов
Небольшие файлы и каталоги (меньше 1
Кбайт), типа файла, показанного на слайде, могут полностью содержаться
внутри записи MFT.
Слайд 18
Нерезидентное хранение файлов
Запись MFT для файла среднего размера
Слайд 20
Разреженные файлы (sparse files)
Другой тип сжатия известен как разреженные файлы.
Если у вас есть файлы, которые содержат множество нулей
(попросту говоря в файле есть "пустые области"), то NTFS позволяет сохранять пространство диска, давая таким файлам определение sparse (разреженный).
Так вот при сохранении таких файлов система просто не выделяет место для пустых областей файла - в результате чего и достигается уменьшение размера файла (aka сжатие). При обращении системы к частям, отмеченным как пустые, NTFS просто возвращает нулевые значения. При просмотре свойств файла система сообщит о зарезервированном для него размере, хотя фактический объем может занимать в сотни тысяч раз меньший объем.
Разреженные файлы применяются, в частности, в журнале изменений NTFS.
Слайд 21
Разреженные файлы (sparse files)
Разреженные файлы конвертируются с помощью
следующей команды: fsutil sparse.
Слайд 22
Многопоточные файлы
При необходимости в одном файле, записанном на
диске NTFS, можно хранить несколько потоков информации. Это позволяет,
в частности, снабжать файлы документов дополнительной информацией, хранить в одном файле несколько версий документов (например, на разных языках), хранить в отдельных потоках одного файла программный код и данные и т.п.
При создании файла основные данные следует записать в неименованный поток. Затем необходимо создать внутри того же файла именованный поток, предназначенный для данных образа. Теперь один файл будет содержать два потока.
Слайд 23
Многопоточные файлы
Проведем следующий эксперимент. На машине Windows 2003
откроем окно командной строки. Перейдем в раздел NTFS (например,
в папку, содержащую системные шрифты) и введем следующую команду (не делайте лишних пробелов!): С:\WINDOWS\Fonts>dir > New_Stream.TXT:New_Stream
В результате выполнения этой команды система создаст файл New_Stream.TXT. Он будет содержать два потока: неименованный, в котором находится 0 байт, и именованный (с именем New_Stream), где будет находиться результат выполнения команды dir. Доступ к именованному потоку можно получить, обратившись к нему по имени через двоеточие после имени файла. В именах потоков, как и в именах файлов, имеет значение регистр символов.
Для вывода содержимого именованного потока воспользуемся:
C:\WINDOWS\Fonts>more < New_Stream.TXT:New_Stream
Слайд 24
Каталоги NTFS
Каталог на NTFS представляет собой специфический файл,
хранящий ссылки на другие файлы и каталоги, создавая иерархическое
строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное B+ дерево ( форма двоичного дерева, в каждом узле которого хранится несколько элементов), элементы которого сортируются по имени.
Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом - с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя - выше или ниже? Мы начинаем с такого вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы, скажем, просто отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом - сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента.
Вывод - для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева - всего около 10-ти (2^10 = 1024). Log2(N)
Слайд 27
Хранение каталогов
Небольшие записи каталогов находятся полностью внутри структуры
MFT так же, как записи файла (копии атрибута File_Name
файлов и подкаталогов). Для хранения используется атрибут $Index_Root (корневой индекс), который всегда резидентный !
В том случае, когда атрибуты файла (или каталога) не умещаются в MFT и требуется выделение дополнительного пространства:
для хранения описания файлов выделяются нерезидентные индексные буферы (4 Кбайт), каждый из которых имеет виртуальный номер кластера (virtual clusters numbers, VCN);
корневой индекс хранит корень дерева B+ и ссылки (VCN) на индексные буферы.
соответствие между VCN и LCN хранится в атрибуте каталога $Index_Allocation. Примечание: Логические номера кластеров (LCN), представляют последовательность кластеров всего тома
Слайд 28
Пример хранения каталогов
а) запись MFT для небольшого каталога
(резидентное хранение)
б) запись MFT для “большого” каталога (нерезидентное хранение)
Слайд 29
Запись MFT для небольшого каталога
Запись MFT для небольшого
каталога содержит несколько каталоговых записей, каждая из которых описывает
файл или каталог.
Фиксированная запись содержит индекс записи MFT файла, длину имени файла, а также другие разнообразные поля и флаги.
Поиск файла в каталоге по имени состоит в последовательном переборе всех имен файлов.
Слайд 31
Нерезидентное хранение каталогов
На рисунке показана запись MFT каталога,
в трех узлах которой содержится девять элементов, по три
в каждом узле.
Корень B+ дерева находится в атрибуте index root (корень индекса). В записи MFT каталога девять элементов не умещается, поэтому некоторые элементы приходится хранить в другом месте. Для этого NTFS выделяет два буфера размещения индексов (index allocation) для хранения двух записей (как правило, корень индекса и буферы размещения индексов мо-гут хранить элементы для более чем трех файлов, в зависимости от длины имен).
Размер записи MFT — 1 Кбайт, а размер буферов размещения индексов — 4 Кбайт.
Красные стрелки указывают, что элементы NTFS хранятся в алфавитном порядке.
Слайд 32
Нерезидентное хранение каталогов
Слайд 33
Нерезидентное хранение каталогов
Если запустить программу, которая открывает файл
e.bak в показанном на рисунке каталоге, то NTFS читает
атрибут индексного корня, содержащий элементы для d.new, h.txt и i.doc, и сравнивает строку e.bak с именем первого элемента, d.new. NTFS делает вывод, что алфавитный номер e.bak больше, чем d.new, и переходит к следующему элементу — h.txt. Повторив операцию сравнения, NTFS выясняет, что алфавитный номер e.bak меньше, чем h.txt. Затем NTFS отыскивает в записи каталога h.txt номер виртуального кластера (virtual cluster number, VCN) индексного буфера, содержащего элементы каталога, алфавитные номера которых меньше, чем h.txt, но больше, чем d.new. VCN представляет собой порядковый номер кластера в файле или каталоге. На основании информации о размещении кластеров NTFS преобразует VCN в логический номер кластера (Logical Cluster Number, LCN), т. е. номер кластера относительно начала тома. Если элемент каталога для h.txt не содержит VCN индексного буфера, NTFS делает вывод, что каталог h.txt не содержит файла e.bak и сообщает о неудачном завершении поиска.
Получив VCN начального кластера индексного буфера, NTFS читает буфер размещения индексов и просматривает его в поисках совпадений. На рисунке первый же элемент индексного буфера совпадает с критерием поиска, и NTFS читает номер записи MFT e.bak из элемента каталога e.bak. В элементах каталога хранится и другая информация: в частности, временные отметки (например, время создания и последнего изменения), размер и атрибуты. NTFS хранит эту информацию и в записи MFT файла, но, благодаря дублированию информации в элементе каталога, читать запись MFT файла при составлении списков каталогов и выполнении простых файловых запросов не требуется.
Слайд 35
Защита целостности данных
NTFS является восстанавливаемой ФС и поддерживает
следующие технологии защиты целостности данных:
Горячая фиксация - позволяет файловой
системе при возникновении ошибки из-за плохого кластера записать информацию в другой кластер и отметить сбойный в качестве плохого.
Механизм транзакций - каждая операция ввода-вывода, которая изменяет файл на разделе NTFS, рассматривается файловой системой как транзакция и может выполняться только как неделимый блок.
Система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных.
Слайд 36
Горячая фиксация
а) MFT-запись файла с плохим кластером;
б) исправленная
MFT-запись файла;
Слайд 37
Механизм транзакций
Восстанавливаемость ФС в NTFS обеспечивается при помощи
техники обработки транзакций, называемой протоколированием (logging).
В процессе протоколирования,
прежде чем выполнить над содержимым диска какую-либо подоперацию транзакции, изменяющей важные структуры файловой системы, NTFS записывает ее в файл журнала транзакций.
Слайд 38
Механизм транзакций
В состав средств протоколирования NTFS входят следующие
компоненты:
журнал транзакций (log file) – это системный файл, создаваемый
командой Format.
сервис журнала операций (log file service, LFS) – набор системных процедур, которые NTFS использует для доступа к журналу транзакций. (log file).
диспетчер кэша (cache manager) – это системный компонент Windows, поддерживающий кэширование для NTFS и драйверов других ФС.
Слайд 39
Кэширование в Windows
Все ФС Windows NT осуществляют доступ
к кэшированным файлам, отображая последние в виртуальную память выполняя
чтение и запись в нее.
В этих целях диспетчер кэша обеспечивает, ФС специализированный интерфейс к диспетчеру виртуальный памяти Windows NT. Если программа пытается обратиться к части файла, которая не загружен кэш, — так называемый промах кэша (cache miss), — диспетчер виртуальной памяти вызывает NTFS для обращения к драйверу диска и получения содержимого файла с диска.
Диспетчер кэша оптимизирует дисковый ввод-вывод при помощи средства отложенной записи (lazy writer) — набора системных потоков управления, вызывающих диспетчер виртуальной памяти для сброса содержимого кэша на диск в фоновом режиме (асинхронная запись на диск).
Слайд 40
NTFS никогда не выполняет чтение-запись транзакций в журнал
напрямую. LSN обеспечивает сервисы, которые NTFS вызывают для открытия
файла журнала, помещения в журнал записей, считывания записей журнала в прямом и в обратном порядке, сброса записей журнала и т.д.
Система обеспечивает восстановление тома следующим образом:
1. Сначала NTFS вызывает LFS для записи в (кэшированный) файл журнала любых транзакций, модифицирующих структуру тома.
2. NTFS модифицирует том (также в кэше).
3. Диспетчер кэша вызывает LFS для уведомления о необходимости сбросить журнал транзакций на диск (этот сброс реализуется LFS при помощи обратного вызова диспетчера кэша с указанием страниц памяти, подлежащих выводу на диск).
4-5. Сбросив на диск журнал транзакций, диспетчер кэша записывает на диск изменения тома (сами транзакции).
Слайд 41
Журнал транзакций
(а) Сервис журнала транзакций
(б) Журнал транзакций
1. Протоколирование
транзакции
5. Вызов диспетчера ВП для доступа к спроецированному файлу
3.
Сброс журнала транзакций на диск ?
4. Чт/Зп/Сброс на диск журнала транзакций
2. Запись обновлений тома
Слайд 42
Вызывающая программа – NTFS-драйвер, передает LFS указатель на
открытый файловый объект, который будет использоваться как журнал транзакций.
LFS либо инициализирует новый журнал, либо вызывает диспетчер кэша Windows NT для доступа к существующему журналу через кэш (а).
LFS делит файл журнала на две части: область рестарта (restart area) и «бесконечную» область протоколирования (logging area) (б).
NTFS вызывает LFS для чтения и записи области рестарта. В этой области NTFS хранит информацию контекста, такую как позиция в области протоколирования, откуда она будет начинать чтение при восстановлении после сбоя системы. На тот случай, что область рестарта будет разрушена или станет по каким-либо причинам недоступной, LFS создает ее копию. Остальная часть журнала транзакций — это область протоколирования, в которой находятся записи транзакций, обеспечивающие NTFS восстановление после сбоя. LFS создает иллюзию бесконечности журнала транзакций путем ее циклического повторного использования (в то же время гарантируя, что нужная информация не будет затерта). Для идентификации записей, помещенный журнал, LFS использует номера логической последовательности (logical sequence number, LSN).
Слайд 43
Взаимодействие NTFS со связанными компонентами
Протоколирование транзакции
Вызов диспетчера ВП
для доступа к спроецированному файлу
Сброс журнала транзакций на диск
Запись
в кэш
Загрузка данных с диска в память
Чт/Зп обновлений тома
Слайд 44
Взаимодействие NTFS со связанными компонентами
Слайд 45
Записи модификации
установка файловой информации
переименование файла
изменение прав доступа к
файлу
создание файла
удаление файла
расширение файла
урезание файла
Слайд 46
Структура записи модификации
Информация для повтора (redo info)
как вновь применить к тóму одну подоперацию полностью запротоколированной
транзакции, если сбой системы произошел до того, как транзакция была переписана из кэша на диск.
Информация для отмены (undo info)
как устранить изменения, вызванные одной подоперацией транзакции, которая в момент сбоя была запротоколирована лишь частично.
Слайд 47
Завершение транзакции
После протоколирования транзакции NTFS выполняет ее
подоперации непосредственно над томом – в кэше.
По окончании
обновления кэша NTFS помещает в журнал еще одну запись – подтверждение транзакции (committing a transaction). После того как транзакция подтверждена, NTFS гарантирует, что все вызванные ею модификации будут отражены на томе, даже если после подтверждения произойдет сбой ОС.
Слайд 48
Запись контрольной точки
Периодически (5 сек.) NTFS помещает в
журнал транзакций записи контрольной точки:
Запись контрольной точки помогает NTFS
определить, какая обработка необходима для восстановления тома, если сбой произошел “сразу” после помещения этой записи в журнал.
LSN контрольной точки записывается в область рестарта.
Слайд 49
Таблицы восстановления
Таблица транзакций (transaction table) предназначена для отслеживания
транзакций, которые были начаты, но еще не подтверждены. Их
надо удалить в процессе восстановления.
В таблицу измененных страниц (dirty page table) записывается информация о том, какие страницы кэша содержат изменения структуры файловой системы, еще не записанные на диск. Эти данные в процессе восстановления должны быть сброшены на диск.
Слайд 50
Процесс восстановления
При восстановлении тома NTFS загружает журнал транзакций
в оперативную память и выполняет три прохода:
анализ;
повтор
транзакций;
отмена транзакций.
Слайд 51
Фаза анализа
просмотр журнала транзакций в прямом направлении, начиная
с последней операции контрольной точки;
поиск записей модификации и актуализация
таблиц восстановления для последней контрольной точки;
определение самой старой записи модификации, которая регистрирует невыполнение диском операции. LSN этой записи является началом для фазы повтора транзакции.
Слайд 52
Фаза повтора транзакции
сканирование журнала транзакций в прямом направлении,
начиная с LSN самой старой записи, которая была обнаружена
на проходе анализа;
поиск записей "обновление страницы", содержащие модификации тома, которые были запротоколированы до сбоя системы, но не сброшены из кэша на диск;
повторение найденных обновлений в кэш.
Слайд 53
Фаза отмены транзакции
откат всех транзакций, не подтвержденных к
моменту сбоя системы, с протоколированием в журнале транзакций;
сброс на
диск изменений кэша;
запись пустой области рестарта.
Слайд 54
Безопасность в NTFS
Защита файлов NTFS на объектном уровне
– Security Reference Monitor определяет, имеет ли пользователь необходимые
права для вызова какого-либо из этих методов.
Шифрование файлов с помощью специального драйвера EFS (Encrypting File System).
Слайд 55
Назначение прав доступа для файлов и папок
Стандартные разрешения:
Full
Control (Полный доступ)
Modify (Изменить)
Read & Execute (Чтение и выполнение)
Read
(Чтение)
Write (Запись)
Специальные разрешения:
Traverse Folder/Execute File (Обзор папок/ Выполнение файлов)
List Folder/Read Data (Содержание папок/ Чтение данных)
Read Attributes (Чтение атрибутов)
Read Extended Attributes (Чтение дополнительных атрибутов)
Create Files/Write Data (Создание файлов/Запись данных)
Create Folders/Append Data (Создание папок/ Дозапись данных)
Write Attributes (Запись атрибутов)
Write Extended Attributes (Запись дополнительных атрибутов)
Delete (Удаление)
Read Permissions (Чтение разрешений)
Change Permissions (Смена разрешений)
Take Ownership (Смена владельца)
Слайд 56
Специальные разрешения для файлов и каталогов
Слайд 57
Специальные разрешения для файлов и каталогов
Слайд 58
Область действия разрешений
This folder only (Только для этой
папки);
This folder, subfolders and files (Для этой папки,
ее подпапок и файлов);
This folder and subfolders (Для этой папки и ее подпапок);
This folder and files (Для этой папки и ее файлов);
Subfolders and files only (Только для подпапок и файлов);
Subfolders only (Только для подпапок);
Files only (Только для файлов).
Слайд 59
Шифрующая файловая система
Шифрование файлов - полезная возможность для
людей, которые беспокоятся за свои секреты – каждый файл
или каталог может также быть зашифрован, что не даст возможность прочесть его другой инсталляцией NT.
Шифрующая файловая система (Encrypting File System – EFS) применяется для защиты файлов, хранящихся в томах NTFS. Ее необходимость вызвана следующими соображениями. Если доступ к разделу NTFS осуществляется не с помощью средств ОС Windows 2000-2003, а напрямую, на физическом уровне, то средства разграничения доступа и защиты данных от несанкционированного доступа, обеспечиваемые ОС не действуют и данные пользователя могут оказаться беззащитными. Такой доступ можно легко организовать, загрузившись с дискеты и используя специальные утилиты. Если же злоумышленник может извлечь жесткий диск и подключить его к другому компьютеру, то его задача еще более упрощается – он может свободно овладеть конфиденциальной информацией, которая хранится на жестком диске.
Единственный способ защиты от физического чтения данных это шифрование файлов. Система EFS была разработана, чтобы обеспечить надежный и простой доступ пользователя к зашифрованным файлам, исключив при этом возможность несанкционированного доступа к ним (даже на физическом уровне) посторонних лиц. Шифрующая файловая система может быть особенно выгодна мобильным пользователям, которые сталкиваются с повышенным риском кражи и потери компьютера.
Слайд 60
Шифрующая файловая система
Применяется для защиты файлов, хранящихся в
томах NTFS:
надежный и простой доступ пользователя к зашифрованным файлам
на
физическом уровне исключение возможности несанкционированного доступа к файлам от посторонних лиц
Слайд 61
Архитектура EFS
EFS располагается в ядре Windows 2000-2003
Драйвер EFS
Библиотека
реального времени EFS
Служба EFS
Набор CryptoAPI для Win32
Слайд 62
Архитектура EFS
Драйвер EFS. Драйвер EFS является надстройкой над
файловой системой NTFS. Он обменивается данными со службой EFS
— запрашивает ключи шифрования, наборы DDF (Data Decryption Field) и DRF (Data Recovery Field), — а также с другими службами управления ключами. Полученную информацию драйвер EFS передает библиотеке реального времени файловой системы EFS (File System Run Time Library, FSRTL), которая прозрачно для операционной системы выполняет различные операции, характерные для файловой системы (чтение, запись, открытие файла, присоединение информации).
Библиотека реального времени файловой системы EFS. FSRTL — это модуль, находящийся внутри драйвера EFS, реализующий вызовы NTFS, выполняющие такие операции, как чтение, запись и открытие зашифрованных файлов и каталогов, а также операции, связанные с шифрованием, дешифрованием и восстановлением файлов при их чтении или записи на диск. Хотя драйверы EFS и FSRTL реализованы в виде одного компонента, они никогда не обмениваются данными напрямую. Для передачи сообщений друг другу они используют механизм вызовов (callouts) NTFS, предназначенный для управления файлами. Это гарантирует, что вся работа с файлами происходит при непосредственном участии NTFS. С помощью механизма управления файлами операции записи значений атрибутов EFS (DDF и DRF) реализованы как обычная модификация атрибутов файла. Кроме того, передача ключа шифрования файла РЕК (см. ниже), полученного службой EFS, в FSRTL выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем контекст файла используется для автоматического выполнения операций шифрования и дешифрования при записи и чтении информации файла.
Служба EFS. Служба EFS (EFS Service) является частью системы безопасности операционной системы. Для обмена данными с драйвером EFS она использует порт связи LPC, существующий между локальным администратором безопасности (Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор API для Win32.
Набор API для Win32. Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного дешифрования). Эти API поддерживаются стандартным системным модулем DLL — advapi32.dll.
Слайд 63
Технологии шифрования EFS
EFS использует архитектуру Windows CryptoAPI,
использующую технологию шифрования с открытым ключом.
Для шифрования каждого
файла случайным образом генерируется ключ шифрования файла.
Для шифрования файла по умолчанию используется симметричный алгоритм DESX с длиной ключа 56 бит. Windows XP и Windows Server 2003 позволяют переключить алгоритм на TripleDES.
Ключи шифрования EFS хранятся в резидентном пуле памяти, что исключает несанкционированный доступ к ним через файл подкачки.
Слайд 64
Шифрование с симметричным ключом
Шифрование с симметричным ключом представляет
данные в недоступном для третьих лиц виде, используя единый
секретный ключ для шифрования и дешифрования.
Область назначения – групповое шифрование больших объемов данных
Достоинства – скорость и безопасность
Недостатки – обмен ключами
Слайд 65
Шифрование с симметричным ключом
Среди симметричных алгоритмов можно выделить
следующие: DES (Data Encryption Standard), DES 2, различные вариации
TripleDES.
Алгоритм TripleDES имеет различные конфигурации, немного отличающиеся по принципу работы:
DES-EEE3 – тройное шифрование с различными ключами.
DES-EDE3 – шифрует, дешифрует и ещё раз шифрует с различными ключами.
DES-EEE2 – тройное шифрование, но одинаковые ключи только при первой и третьей итерациях.
DES-EDE2 – шифрование, дешифрование и ещё раз шифрование с одинаковыми ключами при первой и третьей итерациях.
Слайд 66
Возможности EFS
шифрование файлов и папок
шифрование удаленных файлов
восстановление данных
в EFS
работа с зашифрованными файлами
резервное копирование зашифрованных файлов
усовершенствованная система
EFS в
Windows Server 2003
Слайд 68
Шифрование файлов и папок
cipher [/Е | D] [t/S:каталог]
[/A] [/I] [/F] [/Q] [/Н] [/К] [путь [...]]
Слайд 70
Дополнительные возможности NTFS
Hard Link – несколько имен для
одного
файла
Точки соединения NTFS (junction point)
Слайд 71
Создание Hard Link
fsutil hardlink create
файл>
Пример: fsutil hardlink create c:\foo.txt c:\bar.txt
Слайд 72
Точки подсоединения
Другим новшеством в Windows 2000 стало монтирование
устройств. Утилита Disk Administrator Windows NT позволяла назначить тому
букву латинского алфавита. Этот довольно простой метод дает возможность обратиться к любому дисковому устройству из стандартного меню открытия файла. Естественным ограничением на количество локальных и подключенных сетевых устройств было число 26, соответствующее числу букв латинского алфавита.
Подмонтирование возможно только к пустым папкам на NTFS-томах, а точки монтирования вы можете создать или из оснастки «Управление дисками», или из командной строки при помощи команды mountvol. Для того, чтобы отличить подмонтированные накопители от обычных папок, Explorer показывает их иконками соответствующих устройств. Для чего это может понадобиться? Во-первых, можно таким образом преодолеть ограничение на количество доступных логических дисков (ранее их не могло быть больше 26 - по числу букв латинского алфавита), повысить ёмкость существующих томов не используя динамические и… создавать отказоустойчивые папки на обычных томах.
Например, при монтировании нового основного раздела к папке D:\My Work Stuff все последующие обращения к этой папке будут автоматически переадресованы на соответствующий новый основной раздел, даже если он расположен на другом физическом диске, чем устройство D:. Если новый том является отказоустойчивым, то и папка D:\My Work Stuff считается отказоустойчивой, даже если само устройство D: этим качеством не обладает.
Слайд 73
Утилита Mountvol
С помощью утилиты mountvol.exe можно:
Отобразить корневую папку
локального тома в некоторую папку NTFS 5.0 (другими словами,
подключить том). Вывести на экран информацию о целевой папке точки соединения NTFS, использованной при подключении тома. Просмотреть список доступных для использования томов файловой системы. Уничтожить точки подключения томов, созданных с помощью mountvol.
Применяя утилиту mountvol, можно избежать использования большого количества имен устройств, поскольку обращение к необходимому тому происходит через корневую папку. Утилита mountvol создает неизменные связи с корневыми папками локального тома файловой системы. Она применяет в работе новую технологию, гарантирующую, что при изменениях в параметрах оборудования целевая папка не изменяется.
Синтаксис вызова утилиты mountvol;
mountvol [устройство:]путь Имя_тома
где:
[устройство:]путь — определяет существующую папку NTFS 5.0, являющуюся точкой подключения тома; имя_тома — определяет имя подключаемого тома.
Параметры утилиты mountvol:
/о — уничтожение существующей точки подключения у указанной папки.
/l — отображение списка томов, подключенных к данной папке.
Слайд 74
Фрагментация файлов в NTFS
NTFS полностью не предотвращает фрагментацию
NTFS
снижает возможность возникновения фрагментации (например, в многозадачном режиме)
NTFS снижает
отрицательное влияние фрагментации на быстродействие
Слайд 75
Дефрагментация NTFS
defrag [-a] [-f] [-v] [-?]
том
Буква диска, или точка подключения (например, d: или d:\vol\mpoint)
-a Только анализ
-f Дефрагментация даже при ограниченном месте на диске
-v Подробные результаты
-? Вывод справки
Слайд 76
Развитие NTFS
Версия NTFS, поставляемая с Windows NT,
ограничивает число разделов 26-ю (диски от A до Z).
Кроме того, изменение раздела всегда требует перезагрузки. К тому же, информация о томах NTFS хранится в реестре, что усложняет использование диска с другой системой.
Проблема была решена в Windows 2000 с помощью Logical Disk Manager (LDM), который больше не требует присвоения букв дискам. Эта система NTFS способна также сохранять информацию о системе на жёстком диске, что решает проблему замены дисков.
Улучшения NTFS в Windows XP незначительны по сравнению с Windows 2000. Была улучшена пропускная способность данных, и вместо фиксированного размера кластера по 512 байт можно устанавливать другие значения. Также были улучшены и административные функции, к примеру, индексация папок и ограничение непредвиденных расходов памяти.
Слайд 77
Получение справочной информации об NTFS
fsutil fsinfo
---- Поддерживаемые команды
FSINFO----
drives Отображение всех драйверов
drivetype
Отображение типа привода для устройств
volumeinfo Отображение информации о томе
ntfsinfo Отображение информации о NTFS
statistics Отображение статистики файловой системы
Слайд 78
C:\Documents and Settings\avtimofeev>fsutil fsinfo ntfsinfo C:
Серийный номер тома
NTFS: 0x405c3fc95c3fb90c
Версия:
3.1
Число секторов: 0x0000000002711636
Всего кластеров: 0x00000000004e22c6
Свободных кластеров: 0x00000000001de2db
Всего зарезервировано: 0x0000000000000000
Байт на сектор: 512
Байт на кластер: 4096
Байт на сегмент FileRecord: 1024
Кластеров на сегмент FileRecord: 0
Допустимая длина данных MFT: 0x0000000006148400
Начальный LCN таблицы MFT: 0x00000000000c0000
Начальный LCN таблицы MFT2: 0x0000000000271163
Начало зоны таблицы MFT: 0x00000000002265c0
Конец зоны таблицы MFT: 0x0000000000271180
Слайд 79
Оптимизация NTFS
Отключите обновление сведений о последнем доступе
к файлу
fsutil behavior set disablelastaccess 1
Зарезервируйте необходимое пространство
для MFT
fsutil behavior set mftzone <значение>
Отключите создание коротких имен файлов 8.3
fsutil behavior set disable8dot3 1
Слайд 81
Дополнительная инф-ция
Проект Linux-NTFS. Включает модуль ядра, а также
набор утилит для различных операций с файловыми системами NTFS
(проверка целостности, восстановление удалённых файлов, изменение размера и др.). Именной этот драйвер включается в ядро Linux ещё с версии 2.2 (с тех пор он был практически полностью переписан). Модулем ядра поддерживается практически только чтение (запись — лишь в существующие файлы без изменения их размера), но недавно в рамках проекта утилита ntfsmount, использующая FUSE и позволяющая монтировать NTFS-разделы на запись. Это первый полностью свободный продукт, имеющий такую возможность.
http://www.linux-ntfs.org
Слайд 82
Файловые системы
Базовые (обычные) и динамические диски в NTFS
Слайд 83
Базовые и динамические диски
В Windows 2000 введены понятия
базового и динамического дисков. Базовые диски построены с использованием
схемы работы с разделами DOS. Другими словами, базовые диски являются унаследованными от Windows NT. На обычных дисках могут располагаться простые тома, например основные разделы диска, дополнительные разделы и логические устройства. При модернизации Windows 2000 с предыдущих версий Windows NT в число обычных дисков попадут все тома с защитой от сбоев, такие, как тома с дублированием и дисковые массивы с чередованием и четностью. На обычных дисках нельзя создать новые многодисковые тома.
Динамические диски представляют собой новый тип дисков в Windows 2000, которые позволяют использовать многодисковые тома в Windows 2000.
Слайд 84
Базовые диски против динамических
Различие между базовым и динамическим
дисками проявляется при обращении с томами, состоящими из нескольких
разделов.
Для базовых дисков вся информация о настройках сложных типов томов хранится в реестре (уязвимость и недостаточная надежность).
Для динамических дисков информация о настройках сохраняется на диске. Такой способ хранения привязывает динамический диск к устройству хранения, на котором он определен.
Используя динамическое хранение, вы можете управлять дисками и томами без перезагрузки операционной системы.
Слайд 85
Динамические диски
Windows 2000 рассматривает все диски как
базовые, до тех пор пока вручную не будет создан
динамический диск или базовый диск (при наличии на нем достаточного объема свободного пространства) не будет конвертирован в динамический.
Слайд 86
Организация базовых и динамических дисков
Слайд 87
Logical Disk Manager
Подсистема логического менеджера дисков Logical Disk
Manager (LDM), состоящая из компонентов пользовательского режима и драйверов
устройств, ответственна за динамические диски. LDM был лицензирован Microsoft у компании VERITAS Software, которая первоначально разработала эту технологию для UNIX.
Совместно с Microsoft компания VERITAS перенесла LDM в Windows 2000, чтобы реализовать в ней новые возможности управления разделами. Механизмы управления разделами в стиле DOS и в стиле LDM различаются прежде всего тем, что LDM управляет одной унифицированной базой, хранящей информацию обо всех динамических дисках системы, включая настройку расширенных разделов.
Слайд 88
Структура динамического диска
База данных LDM размещается в зарезервированной
области размером 1 Мбайт в конце каждого динамического диска.
Соответственно, для выполнения конвертации в конце каждого базового диска должно быть свободное пространство.
Кроме того менеджер дисков создает и обычную DOS-таблицу разделов, чтобы унаследованные утилиты управления дисками, в случае системы с многовариантной загрузкой ошибочно не посчитали динамический диск неразбитым на разделы.
Таблица разделов нужна также для того, чтобы программа загрузки Windows 2000 могла находить системный и загрузочный тома, даже если они расположены на динамических дисках.
Если диск содержит системный или загрузочный тома, разделы указывают на расположение этих томов. В противном случае один раздел начинается на первом цилиндре диска (при 63 секторах на диске) и продолжается до начала базы данных LDM. В этой области разделов и создаются разделы LDM, информация о которых хранится в базе данных диска.
Слайд 89
Структура базы данных LDM
База данных LDM состоит из
четырех областей:
сектора заголовка, называемого в LDM личным заголовком
(Private Header);
таблицы содержимого;
записей базы данных;
журнала транзакций.
В целях защиты от сбоев LDM сохраняет копию Private Header в последнем секторе диска.
Слайд 90
Структура базы данных LDM
Таблица содержимого базы занимает 16
секторов и содержит информацию о расположении данных базы.
Область
записей начинается сразу после этой таблицы, с сектора, выделенного под заголовок базы.
В данном секторе хранится информация об области записей: число записей, имя и GUID дисковой группы, к которой относится база, и порядковый номер, используемый LDM для каждой следующей записи базы данных.
Вслед за заголовком базы размещены сектора, содержащие записи фиксированной длины размером 128 байт, в которых хранится информация о разделах дисковой группы и томах.
Слайд 91
Записи базы данных
Запись базы данных может быть одного
из четырех типов: раздел, диск, компонент и том.
LDM
использует указанные типы записей и трехуровневую систему описания томов, сопоставляя записи базы данных с внутренними идентификаторами объектов.
Слайд 92
Описание томов
Для описания простого тома LDM нужно три
записи: запись о разделе, запись типа компонент и запись
о томе.
На рисунке представлено содержимое простой базы LDM, которая определяет один 200-мегабайтный том на одном разделе. Запись о разделе описывает область на диске, выделенную системой для тома, запись типа компонент соединяет записи о разделе и томе, а запись о томе содержит GUID, используемый внутри Windows 2000 для идентификации тома.
Более сложные тома требуют более трех записей. Например, чередующийся набор имеет как минимум две записи о разделах, запись типа компонент и запись о томе.
Слайд 93
Журнал транзакций
Последняя область базы LDM – зона журнала
транзакций, состоящая из нескольких секторов для хранения резервной копии
информации о структуре базы в процессе ее изменения.
Данная область может помочь при разрушении LDM или сбое в питании, поскольку с помощью этого журнала базу можно вернуть в рабочее состояние.
Слайд 95
Поиск данных файла
NTFS способна обеспечить быстрый поиск фрагментов,
поскольку вся информация хранится в нескольких компактных записях. Если
файл очень сильно фрагментирован – NTFS придется использовать много записей, которые могут храниться в разных местах.
FAT32, из-за большой области самой таблицы размещения будет испытывать огромные трудности, если фрагменты файла разбросаны по всему диску. Для доступа к фрагменту файла в системе FAT16 и FAT32 приходится обращаться к соответствующей ячейке таблицы FAT.
В системе FAT16, где максимальный размер области FAT составляет 128 Кбайт, это не составит проблемы – вся область FAT просто хранится в памяти, или же считывается с диска целиком за один проход и буферизируется. FAT32 же, напротив, имеет типичный размер области FAT порядка сотен килобайт, а на больших дисках – даже несколько мегабайт.
Слайд 96
Поиск свободного места
Для определения того, свободен ли данный
кластер или нет, системы на основе FAT должны просмотреть
одну запись FAT, соответствующую этому кластеру. Для поиска свободного места на диске может потребоваться просмотреть почти всего FAT – это 128 Кбайт (максимум) для FAT16 и до нескольких мегабайт (!) – в FAT32. Для того, чтобы не превращать поиск свободного места в катастрофу (для FAT32), ОС приходится идти на различные ухищрения.
NTFS имеет битовую карту свободного места, одному кластеру соответствует 1 бит. Для поиска свободного места на диске приходится оценивать объемы в десятки раз меньшие, чем в системах FAT и FAT32.
Слайд 97
Работа с каталогами и файлами
FAT16 и FAT32 имеют
очень компактные каталоги, размер каждой записи которых предельно мал.
Работа с каталогами FAT производится достаточно быстро, так как в подавляющем числе случаев каталог не фрагментирован и находится на диске в одном месте. Единственная проблема – высокая трудоемкость поиска файлов в больших каталогах. Система хранения данных – линейный массив – не позволяет организовать эффективный поиск файлов в таком каталоге.
NTFS использует гораздо более эффективный способ адресации – бинарное дерево. Сам каталог NTFS представляет собой гораздо менее компактную структуру, чем каталог FAT – это связано с гораздо большим (в несколько раз) размером одной записи каталога. Это обстоятельство приводит к тому, что каталоги на томе NTFS могут быть сильно фрагментированы. Размер типичного каталога в FAT укладывается в один кластер, тогда как сотня файлов (и даже меньше) в каталоге на NTFS уже приводит к размеру файла каталога, превышающему типичный размер одного кластера. Это, в свою очередь, может привести к фрагментации файла каталога, и уменьшить положительный эффект от более эффективной организации самих данных.