Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
61
Файл в системе Windows 2000/XP включает в себя следующие
понятия.
1. Прежде всего – это запись в MFT, ведь, как было сказано
ранее, все файлы диска упоминаются в MFT. В этом месте хранится вся информация о файле (имя файла, размер, положение на диске отдельных фрагментов, и т.д.), за исключением собственно данных. Если для информации не хватает одной записи MFT, то используют­ся несколько, причем не обязательно подряд расположенных.
2. Опциональный элемент – потоки данных файла. У каждо-
го файла нет как таковых данных, а есть потоки (streams). Один из потоков и носит привычный нам смысл – данные файла. Большин­ство атрибутов файла также являются потоками. Данная абстракция может использоваться для создания довольно удобных вещей – например, файлу можно «прилепить» еще один поток, записав в не­го любые данные – например, информацию об авторе и содержании файла, как это сделано в Windows 2000 (самая правая закладка в свойствах файла, просматриваемых из проводника). Дополнитель­ные потоки не видны стандартными средствами: наблюдаемый раз­мер файла – это лишь размер основного потока, который содержит традиционные данные.
Имя файла в NTFS может содержать любые символы,
включая полый набор национальных алфавитов, так как данные представлены в Unicode – 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла состав­ляет 255 символов.
Файл в NTFS может не иметь данных или размер файла мо-
жет быть небольшим. Тогда осуществляется следующий подход: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT. Файлы, занимающие сотни байт, обычно не имеют своего «физического» воплощения в основной файловой области – все данные такого файла хранятся в одном месте – в MFT.
2.8. Файлы и потоки в файловой системе NTFS
2.9. Каталоги в файловой системе NTFS
Каталог на NTFS представляет собой специфический файл,
хранящий ссылки на другие файлы и каталоги, создавая иерархиче­ское строение данных на диске.
62
Файл каталога поделен на блоки, каждый из которых содер- жит имя файла, базовые атрибуты и ссылку на элемент MFT, кото­рый уже предоставляет полную информацию об элементе каталога.
Внутренняя структура каталога представляет собой бинарное дерево. Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT, операционной си­стеме приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов та­ким образом, чтобы поиск файла осуществлялся более быстрым способом – с помощью получения ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя – выше или ниже? Поиск при этом начинается со сред­него элемента, и каждый ответ сужает зону поиска в среднем в два раза. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента и т.д.
В результате для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее ве­роятно, что файл будет найден на середине поиска), а системе на основе бинарного дерева – всего около 12-ти, т.е. получается суще­ственная экономия при поиске файлов.
В файловой системе NTFS имеется главный каталог диска. Главный каталог диска – это корневой каталог, который ничем не отличается от обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT.
2.10. Журналирование в системе Windows 2000/XP
В системе Windows 2000 может использоваться режим журна­лирования. Сущность журналирования заключается в следующем. Любая современная файловая система основана на таком понятии, как транзакция – действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS не бывает промежуточных (оши­бочных или некорректных) состояний, т.к. квант изменения данных не может быть поделен на до и после сбоя, он либо совершен, либо отменен.
Рассмотрим следующий пример – идет запись данных на диск. Внезапно отключается питание и система перезагружается. На по­мощь приходит механизм системы – журнал транзакций. Дело в
63
том, что система, при появлении команды записать данные, помети­ла в метафайле $LogFile это состояние. Далее при перезагрузке опе­рационной системы этот файл изучается на предмет наличия неза­вершенных транзакций, которые были прерваны аварией и все эти транзакции отменяются. При этом место диска, на котором осу­ществлялась запись, помечается как свободное, а индексы и элемен­ты MFT приводятся в состояние, в котором они были до сбоя, и си­стема в целом остается стабильна.
Практика показала, что система NTFS восстанавливается полностью в корректное состояние даже при сбоях в очень загру­женные дисковой активностью моменты. Однако важно понимать, что система восстановления NTFS гарантирует корректность файло­вой системы, а не данных. Если вы производили запись на диск, и произошла авария, то ваши данные могут и не записаться.
2.11. Дополнительные возможности NTFS
В NTFS поддерживается система Hard Links – это когда один
и тот же файл имеет два имени (несколько указателей файла­каталога или разных каталогов указывают на одну и ту же MFT за­пись). Допустим, один и тот же файл имеет имена 1.txt и 2.txt. Если пользователь сотрет первый файл, то останется второй. Если сотрет второй файл – останется первый, т.е. оба имени, с момента создания, совершенно равноправны. Файл физически стирается лишь тогда, когда будут удалены все его имена.
NTFS поддерживает Symbolic Links – возможность монтиро-
вания виртуальных каталогов. Например, чтобы постоянно не ис­пользовать в работе каталог с длинным именем, таким как, C:\documents_settings\administrator\my_documents, его можно смон­тировать в другой каталог, например в C:\doc, при этом данный ка­талог будет являться виртуальным, то есть содержать просто ссылку на изначально длинный каталог, что очень удобно.
NTFS поддерживает шифрование, т.е. каждый файл или ката-
лог может быть зашифрован (подробнее см. ниже), что не даст воз­можность его прочесть постороннему пользователю, даже если бу­дет произведена новая инсталляция операционной системы поверх имеющейся.
64
2.12. Поддержка технологии RAID в системе Windows 2000/XP
Операционная система Windows 2000 поддерживает техноло-
гию RAID. RAID (Redundant Array of Inexpensive Disks) – это избы­точный массив недорогих дисков. Данная технология заключается в одновременном использовании нескольких дисковых устройств. При этом обеспечивается высокие характеристики надежности или скорости, отсутствующих у накопителей в отдельности. Например, Windows поддерживает на программном уровне три уровня RAID, т.е. три стратегии работы дисковых массивов. Вообще существует 10 уровней RAID – RAID 0,1,2,3,4,5,6,7,10,53). Рассмотрим несколь­ко из них.
RAID 0 – использование параллельных дисков. Простей-
шая реализация RAID 0 из двух дисков. При этом указывается, что каждый первый сектор файла расположен на физическом диске A, а каждый второй – на диске B. Такая жесткая стратегия дает возмож­ность избежать каких-либо дополнительных структур для хранения информации о том, где какие данные находятся. Скорость чтения, как и записи равны и зависят от числа дисков. Например, при двух дисках быстродействие возрастает в два раза.
Для эффективной работы с дисковой системой в режиме RAID 0 необходим многозадачный режим работы контроллера, а жела­тельно даже разных контроллеров, обеспечивающих доступ к раз­ным дискам. Обязательным условием такой работы на интерфейсах IDE являются Bus-Mastering драйвера. Windows 2000 имеет встро­енные драйвера, автоматически включающие этот режим для всех распространенных IDE контроллеров.
Надежность RAID 0 низка, так как выход из строя хотя бы од­ного диска является фатальным сбоем. В целом, вероятность сбоя системы повышается. Чем больше дисков используется, тем больше вероятность того, что хотя бы один из них выйдет из строя и, соот­ветственно, что потеряется какая-то часть данных.
RAID 1 – использование зеркальных дисков. При этом спо- собе запись осуществляется на оба диска сразу, что приводит к за­медлению этого процесса. Однако чтение осуществляется с того диска, который в данный момент свободен, что несколько повышает быстродействие.
Некоторая сложность работы RAID 1 в программном режиме заключается в том, что часто система не может быть до конца уверена
65
в идентичности данных двух дисков. Операция сверки двух физиче­ских дисков после серьезного сбоя может затянуться на часы, поэтому использовать программный RAID 1 следует очень осмотрительно.
RAID 1 достаточно надежен, так как даже полный отказ одно-
го из дисков не приводит к потере данных потому что диски полно­стью зеркальны.
RAID 5 – использование параллельных дисков с четно-
стью. Данная стратегия является в настоящее время наиболее удач-
ной и эффективной схемой работы RAID, состоящих из трех и более дисков. При работе RAID информация дополняется так называемы­ми данными четности, которые размещаются на другом физическом диске, нежели реальные данные, контролируемые этой информаци­ей. Суть четности состоит в следующем. Допустим, имеется 5 бит (1,0,1,1,0). Далее формируется еще один бит, шестой бит – бит чет­ности. Если число единиц в предыдущих пяти бит четно, то он будет равен 1, если нечетно – то 0. Получаем новую последовательность (1,0,1,1,0,<0>). Теперь предположим, что произошел сбой и один бит информации потерян (1,0,Х,1,0,<0>). Следуя правилу о четности, можно легко восстановить потерянный бит.
Чтение данных с исправного диска происходит без использо-
вания блоков четности, т.е. почти в том же режиме, в каком работает
RAID 0.
2.13. Безопасность данных в Windows 2000/XP
При разработке Windows 2000/XP учитывалось то, что она
должна удовлетворять уровню безопасности C2, разработанному оборонными ведомствами США. Базовые принципы уровня без­опасности C2 это:
1. Выделяемая процессам память защищена таким образом,
что прочитать информацию оттуда невозможно даже по­сле того, как она уже освобождена процессом.
2. Только системный администратор имеет физическую воз-
можность управлять безопасностью системы и уровнем доступа отдельных лиц и групп лиц.
3. Должно осуществляться управление доступом к ресурсам.
При этом должно быть возможным разрешать или запре­щать доступ к указанным ресурсам, как отдельным поль­зователям, так и группам пользователей.
66
4. Пользователи должны регистрировать себя в системе и
иметь уникальные идентификаторы. Все действия пользо­вателей, контролируемые системой, должны быть персо­нифицированы.
5. Система должна быть защищена от вмешательства,
например, от модификации системного кода в памяти или системных файлов на диске.
В Windows 2000/XP реализована объектная модель защиты, которая подразумевает, что любой ресурс рассматривается системой как объект, а это означает, что он обладает своими собственными свойствами, которые могут описывать его поведение с точки зрения безопасности, а также включает в себя все функции, которые могут потребоваться для манипулирования этими данными. Возможно­стью прямого доступа к объектам (а значит и к ресурсам) обладает только сама Windows 2000/XP, остальные приложения могут осу­ществлять доступ к ресурсам исключительно при посредничестве операционной системы путем вызова ее функций. Возможности объекта определяются его типом и теми атрибутами, которые были присвоены объекту при его создании.
Краеугольным камнем, на котором базируется вся реализация защиты данных, является пользовательская учетная запись. Учет- ная запись – это совокупность имени пользователя и пароля, кото­рые вместе определяют возможность пользователя обращаться к ре­сурсам системы и однозначно определяет, с какими ресурсами он может работать и каким образом.
Для облегчения администрирования несколько учетных запи­сей можно объединить в одну группу и назначать унифицированные права доступа всем ее членам, а не каждому пользователю в отдель­ности. Такая группа будет называться группой безопасности.
Вся информация об учетных записях и группах хранится в за­щищенной базе данных Security Accounts Manager (SAM). В базе данных SAM каждый пользователь и каждая группа, а также каждый компьютер идентифицируется уникальным идентификатором без­опасности SID (Security Identifier), который каждый раз при созда­нии новой учетной записи автоматически генерируется ОС совер­шенно случайным образом и никогда не используется повторно. При этом символьные обозначения учетных записей ставятся в соответ­ствие SID'у. Это делается только для удобства работы администра­тора. Из вышесказанного вытекает, что, если вы по ошибке удалите
67
какую-либо учетную запись, то восстановить ее будет уже невоз­можно, так как если вы попытаетесь создать новую запись с таким же символьным именем, ОС все равно сгенерирует новый SID, ко­торый, естественно, не будет соответствовать по наполнению предыдущему. Это обстоятельство обязательно следует учитывать при работе с Windows 2000.
Атрибуты защиты каждого объекта (будь то реестр, файл или общий ресурс) находятся в его дескрипторе защиты SD, который предоставляет сведения о владельце объекта (то есть содержит SID владельца) и дискреционный список управления доступом к объекту
(DACL, Discretionary Access Control List).
Дискреционный список управления доступом (часто назы- ваемый просто списком управления доступом) содержит информа­цию о том, какие действия запрещается или разрешается выполнять тем или иным пользователям или группам пользователей по отно­шению к данному объекту. То есть, он представляет собой некий перечень записей управления доступом ACE (Access Control Entry), каждая из которых соответствует некоторому пользователю или группе пользователей (содержит соответствующие SID), которым разрешен или запрещен доступ к данному объекту в форме, опреде­ляемой ACE. Помимо дискреционного списка управления доступом дескриптор SD включает в себя системный список управления до­ступом SACL или System ACL, который необходим для работы си­стемы аудита доступа к ресурсам (системы протоколирования). Си­стема аудита осуществляет слежение за доступом к объектам без­опасности и протоколирует информацию об удачных и неудачных попытках доступа к ним в журнале аудита. Благодаря механизмам аудита администратор может узнать, кто и когда пользовался инте­ресующим его ресурсом системы, или пытался им воспользоваться, если в доступе было отказано.
При загрузке Windows предлагает зарегистрироваться в си­стеме от имени одного из пользователей, для которых имеется учет­ная запись. При этом введенные данные сравниваются с теми, кото­рые хранятся в операционной системе, и на основании результата сравнения принимается решение о регистрации (или отказе в досту­пе). В случае успешной регистрации, пользователю системой WinLogon назначается токен доступа (access token), который в дальнейшем будет присваиваться каждому процессу, который запу­стит пользователь. Токен содержит информацию о самом пользова-
68
теле, группе, в которую он входит, привилегиях и правах доступа, то есть содержит SID пользователя и SID'ы всех групп, в которые он входит. При попытке процесса обратиться к какому-либо объекту производится поиск ACE, соответствующего обратившемуся про­цессу, в дискреционном списке ACL этого объекта. На основе срав­нения токена доступа и ACE принимается решение о разрешении или запрещении доступа процесса, запущенного данным пользова­телем к объекту.
2.14. Шифрующая файловая система EFS
Шифрующая файловая система (EFS – Encrypting File
System) – это тесно интегрированная с NTFS служба, располагаю-
щаяся в ядре Windows 2000. Ее назначение – защита данных, храня­щихся на диске, от несанкционированного доступа путем их шифро­вания. EFS позволяет производить шифрование файлов «на лету», т.е. как шифрование, так и дешифровка прозрачны для пользователя и для программ.
Система EFS использует архитектуру Windows CryptoAPI. Степень криптостойкости у этого метода на удивление высокая, что обеспечивается применением шифрования с комбинированным несимметричным (открытым) ключом, в который, к тому же, вно­сятся псевдослучайные изменения. При первой попытке зашифро­вать некоторый файл пользователю выдается системой сертификат, который содержит всю необходимую информацию по дешифровке и управлению безопасностью. Этот сертификат всегда желательно скопировать на какой-нибудь надежный носитель, поскольку в слу­чае его утраты невозможно будет открыть ни один из зашифрован­ных файлов. Следует заметить, что EFS частично входит в ядро Windows, что позволяет наиболее эффективно обеспечивать сокры­тие данных.
По умолчанию EFS сконфигурирована таким образом, что пользователь может сразу начать использовать шифрование файлов. Причем операция шифрования и обратная операция поддерживают­ся для файлов и каталогов. В том случае, если шифруется каталог, автоматически шифруются все файлы и подкаталоги этого каталога. Необходимо отметить, что если зашифрованный файл перемещается или переименовывается из зашифрованного каталога в незашифро­ванный, то он все равно остается зашифрованным.
69
Операции шифрования/дешифрования можно выполнить дву-
мя различными способами – используя проводник Windows Explorer или консольную утилиту Cipher. Для того чтобы зашифровать ката­лог из Windows Explorer, пользователю нужно просто выбрать один или несколько каталогов и установить флажок шифрования в окне расширенных свойств каталога. Все создаваемые позже файлы и подкаталоги в этом каталоге будут также зашифрованы. Таким обра­зом, зашифровать файл можно, просто скопировав (или перенеся) его в «зашифрованный» каталог. Зашифрованные файлы хранятся на диске в зашифрованном виде. При чтении файла данные автоматиче­ски расшифровываются, а при записи – автоматически шифруются. Пользователь может работать с зашифрованными файлами так же, как и с обычными файлами, то есть открывать и редактировать их.
EFS обеспечивает встроенную поддержку восстановления
данных на тот случай, если потребуется их расшифровать, но, по каким-либо причинам, это не может быть выполнено обычным спо­собом. По умолчанию, EFS автоматически сгенерирует ключ вос­становления, установит сертификат доступа в учетной записи адми­нистратора и сохранит его при первом входе в систему. Таким обра­зом, администратор становится так называемым агентом восстанов­ления, и сможет расшифровать любой файл в системе.
2.15. Служба каталогов Active Directory
Служба каталогов Active Directory (AD) – это внутренний
сервис ОС, который обеспечивает иерархический вид сети, наращи­ваемость и расширяемость, а также функции распределенной без­опасности.
Эта служба легко интегрируется с сетью Интернет и позволяет
использовать простые интуитивно понятные имена объектов. Дан­ная служба пригодна для использования в организациях любого размера и легко масштабируется. Доступ к службе каталогов возмо­жен с помощью традиционного проводника.
В Active Directory концепция пространства имен Интернета объединена с системными службами каталогов, что дает возмож­ность единым образом управлять различными пространствами имен в корпоративных сетях. Active Directory может включать в себя ка­талоги других приложений или сетевых операционных систем, а
70
также управлять ими, что значительно снижает нагрузку на админи­страторов и накладные расходы.
Active Directory дает возможность просмотреть любой объект в виде страницы Web. Расширения Internet Information Server, по­ставляемые совместно со службой каталога, автоматически преобра­зуют запросы к объектам каталога в страницы HTML.
Еще одна особенность Active Directory – это поддержка не­скольких хранилищ, в каждом из которых может находиться до 10 миллионов объектов.
Рассмотрим основные понятия, которые используются при ра­боте с Active Directory.
Контексты имен и разделы. Active Directory состоит из од­ного или нескольких контекстов имен или разделов. Контекст име- ни – это любое смежное поддерево каталога. Контексты имен явля- ются единицами тиражирования. Для любого одиночного сервера всегда есть три контекста имен:
схема; конфигурация (топология тиражирования и относящиеся к нему
метаданные);
один или несколько контекстов имен пользователей (поддеревья,
содержащие действительные объекты каталога).
Домены. Домены являются организационными единицами безопасности в сети. Active Directory состоит из одного или не­скольких доменов. В простом случае рабочая станция является до­меном. Домен может охватывать и несколько физических точек. В каждом домене поддерживается своя политика безопасности; отно­шения домена с другими также индивидуальны.
Домены, объединенные общей схемой, конфигурацией и гло­бальным каталогом, образуют дерево доменов. Несколько доменных деревьев могут быть объединены в лес.
Дерево доменов. Дерево доменов состоит из нескольких до­менов, использующих одну и ту же схему и конфигурацию, и обра­зующих единое пространство имен. Домены в дереве связаны между собой доверительными отношениями. Эти отношения транзитивны, то есть если домен А доверяет домену Б, а домен Б доверяет домену В, то домен А также доверяет домену В.
Лес – это набор несмежных деревьев, не образующих единое пространство имен. В то же время все деревья в лесу используют одну и ту же схему, конфигурацию и глобальный каталог и связаны