Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования

Тема курсового проекта: «Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования»

Основные разделы курсового проекта:

    Сетевые операционные системы.

    Философия и архитектура Microsoft Windows 2000 с точки зрения безопасности.

    Разработка программы определяющей сетевое имя и ip-адрес компьютера (рабочей станции).

Рекомендованная литература:

    В. Олифер Н. Олифер. Сетевые операционные системы – С. Петербург.: Питер., - 2003.

    Мэтью Штребе. Windows 2000: проблемы и решения. Специальный справочник – С.Петербург.: Питер., -2002.

    Криста Андерсон. Администрирование дисков в Windows 2000.-Журнал "Windows 2000 Magazine", -03/2000//по материалам сайта http: www.citforum.ru

    Марк Джозеф Эдвард, Дэвид Лебланк. Где NT хранит пароли. - Журнал "Windows 2000 Magazine", -02/1999 //по материалам сайта http: www.citforum.ru

Дата выдачи задания

«____»_____________2004 года

Руководитель курсового проекта

Вступление

При создании системы безопасности новой ОС Windows 2000 Advanced Server разработчики фирмы Microsoft постарались учесть как существующий опыт использования системы безопасности Windows NT 4.0, так и реализовать новые наборы механизмов и протоколов безопасной работы с информацией. Windows NT 4.0 выбрана не случайно: она позиционируется как ОС для предприятий, обладает встроенными возможностями разграничения доступа к ресурсам и за 6 лет эксплуатации хорошо зарекомендовала свои существующие и потенциальные возможности безопасности. Но если заглянуть в Windows 2000 Advanced Server, то, очевидно, что, несмотря на большое количество механизмов безопасности, внесенных в новую ОС из Windows NT 4.0, все они претерпели существенные изменения в сторону увеличения удобства, надежности и функциональности.

Несмотря на то что, судя по пользовательскому интерфейсу, Win­dows 2000 Advanced Server больше похожа на Windows 98, на самом деле она является преемником Windows NT и даже называлась Windows NT 5 на первом этапе работы над бета-версией. Хотя 2000 и базируется на Windows NT, операционная система была кардинально усовершенствована и обнов­лена, был также полностью пересмотрен интерфейс администрирова­ния. NT 4 отличалась от NT 3.51 главным образом концепцией пользо­вательского интерфейса в виде рабочего стола, большинство средств администрирования остались теми же. В Windows 2000 Advanced Server из­менился каждый инструмент администрирования. Все средства адми­нистрирования были унифицированы путем преобразования в «оснаст­ки» (snap-in) псевдоиерархического средства управления Microsoft Management Console (консоль управления Microsoft, MMC).

Система Windows 2000 Advanced Server компании Microsoft обеспечивает возможность безопасного доступа к ресурсам системы. Если для вас, самым важным ресурсом, подлежащим защите, являются файлы, можно настроить систему так, чтобы иметь возможность контролировать то, как другие пользователи читают, записывают, создают и изменяют файлы и папки на вашем компьютере.

Это возможно только при использовании системы NTFS. Система была создана для Windows NT, предшественника Windows 2000 Advanced Server, и является одной из трех систем, которые можно использовать на жестком диске компьютера.

1. Структура сетевой операционной системы

Сетевая операционная система составляет основу любой вычислительной сети. Каждый компьютер в сети в значительной степени автономен, поэтому под сетевой операционной системой в широком смысле понимается совокупность операционных систем отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам - протоколам. В узком смысле сетевая ОС - это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.

Рис. 1.1. Структура сетевой ОС

В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1.1):

    Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами в мультипроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС.

    Средства предоставления собственных ресурсов и услуг в общее пользование - серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам.

    Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.

    Коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений.

В зависимости от функций, возлагаемых на конкретный компьютер, в его операционной системе может отсутствовать либо клиентская, либо серверная части.

Рис. 1.2. Взаимодействие компонентов операционной системы

при взаимодействии компьютеров

На рисунке 1.2 показано взаимодействие сетевых компонентов. Здесь компьютер 1 выполняет роль "чистого" клиента, а компьютер 2 - роль "чистого" сервера, соответственно на первой машине отсутствует серверная часть, а на второй - клиентская. На рисунке отдельно показан компонент клиентской части - редиректор. Именно редиректор перехватывает все запросы, поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу данного компьютера, то он переадресовывается соответствующей подсистеме локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть. При этом клиентская часть преобразует запрос из локальной формы в сетевой формат и передает его транспортной подсистеме, которая отвечает за доставку сообщений указанному серверу. Серверная часть операционной системы компьютера 2 принимает запрос, преобразует его и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, выдавшему запрос. Клиентская часть преобразует результат в соответствующий формат и адресует его тому приложению, которое выдало запрос.

На практике сложилось несколько подходов к построению сетевых операционных систем (рисунок 1.3).

Рис. 1.3. Варианты построения сетевых ОС

Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Примером такого подхода является использование на каждой машине сети операционной системы MS DOS (у которой начиная с ее третьей версии появились такие встроенные функции, как блокировка файлов и записей, необходимые для совместного доступа к файлам).



1.1. Одноранговые сетевые ОС и ОС с выделенными серверами

В зависимости от того, как распределены функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и двухранговые (рисунок 1.1.1.). Последние чаще называют сетями с выделенными серверами.

(а) Рис. 1.1.1. (а) - Одноранговая сеть

Рис. 1.1.1. (б) - Двухранговая сеть

Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другой машины, является клиентом. Компьютер, работающий в сети, может выполнять функции либо клиента, либо сервера, либо совмещать обе эти функции.

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

В сети с выделенным сервером все компьютеры в общем случае могут выполнять одновременно роли и сервера, и клиента, эта сеть функционально не симметрична: аппаратно и программно в ней реализованы два типа компьютеров - одни, в большей степени ориентированные на выполнение серверных функций и работающие под управлением специализированных серверных ОС, а другие - в основном выполняющие клиентские функции и работающие под управлением соответствующего этому назначению варианта ОС. Функциональная несимметричность, как правило, вызывает и несимметричность аппаратуры - для выделенных серверов используются более мощные компьютеры с большими объемами оперативной и внешней памяти. Таким образом, функциональная несимметричность в сетях с выделенным сервером сопровождается несимметричностью операционных систем (специализация ОС) и аппаратной несимметричностью (специализация компьютеров).

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности.

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

Сетевые операционные системы имеют разные свойства в зависимости от того, предназначены они для сетей масштаба рабочей группы (отдела), для сетей масштаба кампуса или для сетей масштаба предприятия.

1.2. Серверные системы: история создания, основные версии.

Серверные системы должны позволять первоначальный запуск в небольшой конфигурации и обеспечивать возможность расширения по мере роста потребностей. Электронная торговля по Интернету требует активного и быстрого увеличения размеров систем. Поставщикам услуг, объединяющим обработку приложений в большие узлы, также требуется динамичный рост систем. Масштаб таких узлов увеличивается как путем «роста вверх» (заменой серверов на более мощные), так и путем «роста вширь» (добавлением дополнительных серверов).

Совокупность всех серверов, приложений и данных некоторого вычислительного узла называется также фермой. Фермы имеют множество функционально специализированных служб, каждая со своими собственными приложениями и данными (например, служба каталогов, безопасности, HTTP, почты, баз данных и т. п.). Ферма функционирует как подразделение — имеет единый обслуживающий персонал, единое управление, помещения и сеть.

Для обеспечения отказоустойчивости аппаратное и программное обеспечение, а также данные фермы дублируются на одной или нескольких физически удаленных фермах. Такой набор ферм называют геоплексом. Геоплекс может иметь конфигурацию активный-активный, в которой все фермы несут часть нагрузки, или активный-пассивный, при которой одна или несколько ферм находятся в готовом резерве.

Начало работ по созданию Windows NT приходится на конец 1988 года.

Сначала Windows NT развивалась как облегченный вариант OS/2 (OS/2 Lite), который за счет усечения некоторых функций мог бы работать на менее мощных машинах. Однако со временем, увидев как успешно принимается потребителями Windows 3.0, Microsoft переориентировалась и стала разрабатывать улучшенный вариант Windows 3.1. Новая стратегия Microsoft состояла в создании единого семейства базирующихся на Windows операционных систем, которые охватывали бы множество типов компьютеров, от самых маленьких ноутбуков до самых больших мультипроцессорных рабочих станций.

Windows NT, как было названо следующее поколение Windows-систем, относится к самому высокому уровню в иерархии семейства Windows. Эта операционная система, первоначально поддерживавшая привычный графический интерфейс (GUI) пользователя Windows, явилась первой полностью 32-разрядной ОС фирмы Microsoft. Win32 API - программный интерфейс для разработки новых приложений - сделал доступными для приложений улучшенные свойства ОС, такие как многонитевые процессы, средства синхронизации, безопасности, ввода-вывода, управление объектами.

Первые ОС семейства NT - Windows NT 3.1 и Windows NT Advanced Server 3.1 появились в июле 1993 года. В августе 1996 года вышла очередная версия Windows NT 4.0. Сначала предполагалось, что эта очередная версия Windows NT получит номер 3.52, однако ей был присвоен номер 4.0, который раньше упоминался в компьютерной прессе в связи с другой ожидаемой версией Windows NT, имеющей кодовое название Cairo. Новшества, внесенные в Windows NT Server 4.0, были связаны с улучшением интерфейса пользователя, расширением поддержки Internet, появлением новых и модернизацией существующих инструментов администрирования и повышением производительности системы.

2. Системы семейства Windows NT.

При разработке Windows NT 4.0 Microsoft решила пожертвовать стабильностью ради производительности. С этой целью были внесены изменения в архитектуру: библиотеки менеджера окон и GDI, а также драйверы графических адаптеров были перенесены из пользовательского режима в режим ядра.

В Windows NT 4.0 было внесено много существенных изменений, среди которых наиболее значительными являются следующие:

    реализация интерфейса в стиле Windows 95;

    ориентировка в сторону Internet и intranet;

    архитектурные изменения, позволившие резко повысить производительность графических операций;

    модификация средств взаимодействия с NetWare - Gateway и клиент NCP поддерживают теперь NDS;

    поддержка многопротокольной маршрутизации;

    появление в Windows NT 4.0 эмулятора Intel'овских процессоров для RISC-платформ.

Помимо внешних изменений, модернизация графического интерфейса не сильно отразилась на методах управления сетью. Базовый инструментарий администратора Windows NT Server остался прежним. Программы User Manager for Domains, Server Manager, Disk Administrator, Event Viewer, Performance Monitor, DHCP Manager, WINS Manager, Network Client Administrator, License Manager и Migration Tool for NetWare не претерпели существенных изменений. Remote Access Administrator также не изменился, он был перенесен из отдельной папки в меню Administrative Tools. Редактор системной политики System Policy Editor, совместимый как с Windows NT, так и с Windows 95, заменил редактор профилей пользователей User Profile Editor, знакомый по версиям Windows NT Server 3.x. В версию 4.0 вошли четыре дополнения: административные программы-мастера Administrative Wizards, System Policy Editor, а также расширенное средство Windows NT Diagnostics и программа Network Monitor (программа мониторинга работы сети, ранее поставлявшаяся только в составе продукта Microsoft Systems Management Server).

Кроме того, в состав Windows NT 4.0 вошла Web-ориентированная утилита администрирования, открывающая доступ к средствам администрирования Windows NT из любого Web-броузера.

Windows 2000 — следующее воплощение Windows NT, которую Microsoft создала для оказания непосредственной конкуренции OS/2, NetWare и UNIX на рынках файловых серверов и небольших серверов при­ложений. В процессе создания бета-версии Windows 2000 называлась Windows NT 5, однако Microsoft изменила имя на Windows 2000, что­бы уменьшить путаницу среди клиентов после того, как они закончат работу с продуктами основанного на MS-DOS трека разработок Windows 9х.

Для того чтобы в условиях жесткой конкуренции Windows 2000 достигла успеха как сетевая операционная система, Microsoft спроектировала поддержку некоторых важных вычислительных технологий. Это следующие ключевые технологии:

• многопроцессорная обработка;

• многопоточность;

• поддержка больших приложений;

• платформонезависимость;

• всеобъемлющая безопасность;

• обратная совместимость.

Многие функции Windows 2000, такие как безопасность дисков и возможности сетевого взаимодействия, в действительности являются функциями служб и драйверов, работающих поверх этой базовой ар­хитектуры.

3. Анализ безопасности Windows 2000 Advanced Server.

3.1. Теория Безопасности

Когда Windows NT впервые появилась в 1993 г., под безопасностью подразумевались меры предохранения важной информации на серве­ре от просмотра не имеющими на то прав пользователями и, возмож­но, использование безопасности обратного вызова для пользователей удаленного доступа для контроля за входящими телефонными под­ключениями к системе. Windows NT считалась безопасной, потому что она использовала однонаправленные хэш-значения паролей для аутен­тификации пользователей и наследуемые токены безопасности для безопасности межпроцессного взаимодействия.

Интернет полностью изменил картину. Windows NT 4 была выпуще­на в 1996 г. вместе с новым и недоработанным стеком TCP/IP, как раз когда Интернет набирал обороты, и операционная система оказалась неподготовленной к хакерским атакам через Интернет, которые продол­жались в течение всех четырех лет ее жизни после выпуска. Microsoft выпускала все новые заплатки и пакеты обновления, пытаясь залатать новые бреши, обнаруживаемые в службах, протоколах и драйверах Windows NT.

Многие из дыр были образованы новыми компонентами по выбору Windows NT, такими как Internet Information Server и FrontPage Server Extensions. Большую часть проблемы составляло само предоставление службы Интернета.

Безопасность (security) — это совокупность мер, принимаемых для предотвращения любого рода потерь. Система, обладающая фундамен­тальной безопасностью, — это такая система, в которой никакой пользо­ватель не обладает доступом к чему бы то ни было. К сожалению, та­кие полностью безопасные системы бесполезны, поэтому необходимо принять определенный риск в области безопасности, для того чтобы обеспечить возможность пользования системой. Цель управления безопасностью — минимизировать риск, возникающий при обеспечении необходимого уровня удобства использования (usability) системы.

Вся современная компьютерная безопасность основывается на фунда­ментальной концепции личности (identity) пользователя. Для получе­ния доступа к системе люди идентифицируют себя тем способом, ко­торому доверяет система. Этот процесс называется входом в систему (logging on). После того как пользователь вошел в систему, его доступ к данным и программам может однозначно контролироваться на осно­ве его личности.

Чтобы поддерживать надежность системы, доступ к системе никогда не должен быть разрешен без прохождения процедуры входа в систему. Даже в системах, открытых для публичного анонимного доступа, должны применяться учетные записи (account) для контроля за тем, какие анонимные пользователи обладают доступом. Нельзя контролировать безопасность, если не имеющим на то права пользо­вателям не может быть запрещен доступ.

В системах, основанных на идентификации, каждый пользователь долж­ен иметь уникальную учетную запись и ни одна учетная запись ни­когда не может быть использована более чем одним лицом.

Windows 2000 Advanced Server (в дальнейшем - Windows 2000) использует ряд механизмов для обеспечения безопасно­сти локального компьютера от злоумышленных программ, идентифи­кации пользователей и обеспечения безопасности передачи данных по сети. Основные механизмы безопасности Windows 2000 перечислены ниже. В их числе:

• тотальный контроль за доступом предотвращает подключение не­надежных компьютеров к безопасным системам при помощи фильт­рации пакетов и трансляции сетевых адресов, гарантируя что разре­шенные сеансы пользователей не могут быть сфальсифицированы, украдены или мистифицированы, при помощи Kerberos и IPSec, и предотвращает нарушение программой адресного пространства дру­гой программы при помощи защиты памяти;

• определение личности пользователя при помощи методов аутен­тификации, таких как Kerberos, Message Digest Authentication, смарт-карты, аутентификация RADIUS или протоколы аутенти­фикации третьих фирм, например те, в которых реализованы био­метрические способы;

• запрет или разрешение доступа на основе личности пользователя, при помощи списков контроля доступа для объектов с управляемой безопасностью, таких как принтеры, службы и хранимые на NTFS файлы и каталоги; посредством шифрования файлов при помощи Encrypting File System (шифрованной файловой системы, EFS); путем ограничения доступа к возможностям операционной системы, кото­рые могут быть использованы неправильно, при помощи групповой политики и путем авторизации удаленных пользователей, под­ключенных через Интернет или удаленное соединение, при помо­щи политики RRAS;

• запись деятельности пользователя посредством журналов аудита особенно значимой информации и журналов соединений для пуб­личных служб, таких как Web и FTP;

• закрытая передача данных между компьютерами, с использовани­ем IPSec, PPTP или L2TP для шифрования потока данных между компьютерами. РРТР и L2TP позволяют пользователям иниции­ровать безопасные потоки передачи данных, в то время как IPSec используется для того, чтобы позволить двум компьютерам безо­пасно передавать данные через публичный канал передачи данных независимо от личности пользователя;

• минимизация риска неправильной конфигурации путем группи­ровки похожих механизмов безопасности в политики и последую­щего применения этих политик к группам похожих пользователей или компьютеров. Средства управления групповыми политиками, политиками RRAS и политиками IPSec в Windows 2000 позволяют администраторам осуществлять сквозные изменения в больших частях системы безопасности, не заботясь об отдельных ошибках.

Управление безопасностью должно осуществляться с учетом всей си­стемы сети. Включение индивидуальных средств обеспечения безопасно­сти не дает полной безопасности, потому что существует неисчислимое количество способов обойти индивидуальные средства безопасности.

Windows 2000 в своем состоянии по умолчанию сконфигурирована как удобная, а не безопасная система. Жесткие диски создаются по умолча­нию с полным доступом для всех, никаких групповых политик по умол­чанию не установлено, и большая часть межкомпьютерных взаимодей­ствий небезопасна. По умолчанию никакие файлы не шифруются, и не включены никакие фильтры пакетов.

Для создания безопасной системы необходимо установить все важные средства обеспечения безопасности и затем ослаблять эти установки для обеспечения доступа имеющим на это право пользователям и по­вышения производительности.

Несмотря на большое продвижение в области целостно­го управления, в Windows 2000, еще многое можно сделать для обеспечения безопасности конфигурации по умолчанию. Тем не менее, инструментальные средства легко найти и они прекрас­но работают вместе, предоставляя управляемый интерфейс для на­стройки характеристик безопасности.

3.1.1. Криптография.

Криптография (cryptography) — это наука о кодах и шифрах. Win­dows 2000 использует повсеместно применяющуюся криптографию для засекречивания всего, начиная от хранимых файлов и потоков пе­редачи данных до паролей пользователей и аутентификации домена.

Криптография и шифрование играют важную роль в безопасности Windows 2000.

Все новые возможности обеспечения безопасности Windows 2000 основаны на криптографии. В отличие от этого, в первом выпуске Windows NT криптография использовалась только для хэширова­ния паролей. В течение периода использования Windows NT 4 в опе­рационную систему были добавлены разнообразные элементы крипографии, но они не обрабатывались согласованно и безопасно. Windows 2000 меняет такое положе­ние дел, используя Active Directory как контейнер практически для всей конфигурации, связанной с безопасностью, и применения по­литик.

Windows 2000 использует шифрование (encryption) в трех жизненно важных целях:

• для подтверждения идентичности принципала безопасности;

• для подтверждения достоверности содержимого сообщения или файла;

• чтобы скрыть содержимое хранилища или потока данных.

Шифр (cipher) — это алгоритм шифрования, он защищает сообщение, переупорядочивая его или осуществляя изменения в кодировании, но не в смысловом значении сообщения. Код (code) — это согласованный способ сохранения тайны сообщений между двумя или более лично­стями. Ключ (key) — это небольшая порция информации, которая необходима для расшифровки сообщения, обычно в виде значения, ис­пользуемого в шифре для зашифровки сообщения. Ключ должен дер­жаться в секрете, для того чтобы сообщение оставалось закрытым.

3.1.2. Алгоритмы шифрования

Один из алгоритмов, который был разработан в секрете, но потом стал до­ступен для общественного использования, так же как и для государствен­ного (но только для информации «Unclassified but Sensitive», несекретной, но важной), — это алгоритм Data Encryption Standard (стандарт) шифрования данных), или DES. Это симметричный алгоритм, что значит, что один и тот же ключ используется и для шифрования, и для расшифровки; он был предназначен для использования 56-разрядно-З го ключа. DES широко используется в коммерческом программном обеспечении и в устройствах связи, поддерживающих шифрование.

RSA (названный по именам своих создателей, Rivest, Shamir и Adleman) — это алгоритм, который не был разработан правительственным агентством. Его создатели воспользовались вычислительно-затратной проблемой разложения на простые числа для создания асимметрично­го (asymmetric) алгоритма, или алгоритма открытого ключа (public key), который может быть использован и для шифрования, и для ци­фровых подписей. RSA с тех пор стал очень популярной альтернативой DES. RSA используется рядом компаний по производству программ­ного обеспечения, чьи продукты должны осуществлять безопасные соединения через небезопасный Интернет (такие, как web-браузеры), в числе которых Microsoft, Digital, Sun, Netscape и IBM.

Эти шифры не единственно возможные для использова­ния в компьютерах и сетях. Правительства разных стран США и бывшего СССР активно раз­рабатывали коды и шифры, много частных лиц (особенно за последнее десятилетие) внесли вклад в развитие криптографии. GOST (ГОСТ) был разработан в бывшем СССР, FEAL был разработан NTT в Японии, LOKI был разработан в Австралии и IDEA — в Европе. Большинство этих шифров используют запатентованные алгоритмы, которые дол­жны быть лицензированы для коммерческого использования, но не все (например, Blowfish). Каждый шифр обладает достоинствами и недо­статками.

Все эти шифры обладают одним слабым местом: если известен шифр, который использовался для зашифровки сообщения, но не известен ключ, можно использовать ряд атак для того, чтобы попытаться декодировать сообщение, в том числе и метод «грубой силы», пытаясь перепробовать все возможные ключи.

Назначение шифров, в конечном итоге, — скрывать информацию. Противоположностью сокрытия информации являются попытки раскрыть, что же было засекречено, и прогресс в области взлома (breaking) кодов (или расшифровки кодов без ключа) идет в ногу с разработками в области создания кодов. Дея­тельность по осуществлению попыток взлома кодов называется крипто­анализом (cryptanalysis), а люди, которые взламывают коды, называют­ся криптоаналитиками (cryptanalyst). На системы безопасности может быть произведен ряд криптоаналитических атак различных типов.

Атака перебором ключей. Перебор пространства ключей (keyspace search) подразумевает проверку всех возможных ключей, которые могли использоваться для зашифровки сообщения.

Известный исходный текст. Для многих шифров криптоаналитик может сократить число перебираемых возможных ключей, если уже известен исходный текст зашифрованного сообщения.

Линейный и дифференциальный криптоанализ. Криптоаналитик может также искать математические совпадения во всех собранных зашифрованных текстах, которые были зашифрованы при помощи одного ключа.

Существует один шифр — одноразовая подстановка (one-time pad) — который нельзя разгадать, если нет ключа, даже имея в распоря­жении все оставшееся время существования вселенной и все теорети­чески возможные вычислительные возможности. К сожале­нию, требования этого шифра делают его непригодным к использова­нию, за исключением определенных видов коммуникаций, не требую­щих высокой пропускной способности.

3.1.3. Симметрические функции

Если один и тот же ключ может быть использован для зашифровки или расшифровки сообщения, то такой шифр использует симметрическую функцию (symmetric function). Один ключ должен быть и у отправи­теля, и у получателя. Ряд симметричных шифров используется и в программном, и в аппаратном обеспечении. Получить представление о возможных шифрах можно, сравнив следующие три.

DES. IBM и американское Управление национальной безопасности (National Security Agency, NSA) объединили усилия для разработки этого шифра. Он устойчив к дифференциальному криптоанали­зу, но поддается линейному криптоанализу. Длина ключа составля­ет только 56 бит, что сильно облегчает возможность попробовать все возможные ключи методом грубой силы для зашифрованного, текста. DES широко применяется в программном и аппаратном обеспечении шифрования. Это стандарт ANSI. Windows 2000 peaлизует и 40-битный DES, и 168-битный DES1 (triple-DES (тройной DES) — DES с тремя непрерывными ключами).

IDEA. Этот шифр обладает ключом длиной 128 бит — значитель­но больше, чем использует DES. В то время как обладающая серь­езной мотивацией и финансированием организация или большая команда хакеров может взломать закодированное DES-сообщение, большое пространство ключей делает неосуществимой атаку на IDEA по методу грубой силы. IDEA был разработан как шифр, неуязвимый для линейного и дифференциального криптоанализа. IDEA запатентован в Европе и США.

Blowfish. Этот шифр может использовать ключ длиной от 32 до 448 бит, позволяя выбрать степень секретности сообщения.

3.1.4. Однонаправленные функции

При наборе пароля для входа в Windows 2000, он шифруется и сравнивается с хранимым зашифрованным значением паро­ля. Пароль сохраняется при помощи однонаправленной функции (one-way function), также называемой хэш (hash), trap-door, digest или fingerprint1.

Хэш-функции также могут применяться для других целей. Например, можно использовать хэш-функцию, чтобы создать «отпечатки пальцев» файлов (создать цифровые отпечатки пальцев, или хэш-значение, которое будет уникально для данного файла). Хэш-функция может давать результат, который будет гораздо меньше, чем входной текст, хэширование занимающего много мегабайтов документа текстового процессора, например, может дать 128-разрядное число. Хэш-значение также уникально для файла, который его породил; практически невоз­можно создать другой файл, который произвел бы то же хэш-значение.

Одна из особенностей хэш-функций (особенно дающих короткие хэш-значения) это то, что все хэш-значения равновероятны. Следовательно, практически невозможно создать другой файл хэш-значение для которого совпадет с имеющимся.

Некоторым хэш-функциям требуется ключ, другим — нет. Хэш-функция с ключом может вычисляться только кем-либо (или чем-либо), имеющим этот ключ.

3.1.5. Шифрование с открытым ключом

В то время как симметричные шифры используют один ключ для заши­фровки и расшифровки сообщений, шифрование с открытым ключом (public key encryption), или шифр с открытым ключом (public key cipher), использует для рас­шифровки ключ, отличный от использованного при шифровании. Это сравнительно новая разработка в криптографии, и она решает многие давнишние проблемы систем криптографии, такие как способ передачи секретных ключей в первый раз.

Проблема симметричных шифров состоит в следующем: и отправи­тель, и получатель должен иметь один и тот же ключ для того, чтобы обмениваться зашифрованными сообщениями через небезопасный канал передачи данных. Если две стороны решат обмениваться зак­рытыми сообщениями или если между двумя устройствами в компью­терной сети или двумя программами должен быть установлен безопас­ный канал, две стороны коммуникации должны принять решение об общем ключе. Каждая сторона легко может выбрать ключ, но у этой стороны не будет никакого способа отправить этот ключ другой сто­роне, не подвергаясь риску перехвата ключа по дороге.

При использовании шифра с открытым ключом один ключ (открытый ключ, public key) используется для шифрования сообщения, а другой ключ (закрытый ключ, private key) — это единственный ключ, который может расшифровать сообщение. Кто угодно, имея ключ, может зашифровать сообщение, расшифровать которое может только конкретный пользователь. Безопасные шифры с открытым ключом страдают от одной пробле­мы — они медленны, гораздо медленнее, чем симметричные шифры. Работа хорошего шифра с открытым ключом может отнять в 1000 раз больше времени для зашифровки одного и того же количества данных, чем у хорошего симметричного шифра.

Хотя системы открытого/закрытого ключа гораздо медленнее сим­метричных систем, они четко решают проблему, от которой страдали симметричные криптосистемы. Когда двум людям (или устройствам) нужно установить безопасный канал для передачи данных, один из них может просто взять секретный ключ и зашифровать этот секретный ключ при помощи открытого ключа другой стороны. Зашифрованный ключ затем отправляется другому участнику коммуникации, и даже если этот ключ будет перехвачен, только другой участник сможет расшифровать секретный ключ при помощи своего закрытого клю­ча. Коммуникация между двумя сторонами затем может продолжать­ся с использованием симметричного шифра и этого секретного ключа. Система, которая использует как симметричное шифрование, так и шифрование с открытым ключом, называется гибридной криптосисте­мой (hybrid cryptosystem).

3.2. Применение шифрования

Шифрование можно использовать для защиты следующих типов дан­ных в сети:

• закрытая передача данных;

• безопасное хранение файлов;

• аутентификация пользователя или компьютера;

• безопасный обмен паролями.

Следует шифровать любые данные, содержащие значимую или част­ную информацию, проходящие через небезопасные каналы передачи данных, такие как радио, телефонная сеть или Интернет. Используй­те шифрование файловой системы для защиты значимых данных, ког­да возможности операционной системы не действуют (когда был уда­лен жесткий диск или заменена операционная система).

3.2.1. Безопасное хранение файлов

Шифрование может быть использовано для защиты данных в устрой­стве хранения, например данных на жестком диске. Во всех реализа­циях UNIX и Windows NT существует много сложных средств обеспе­чения безопасности. Лучший подход к безопасности — предоставить шифрование и рас­шифровку файлов операционной системе. Windows 2000 поставляет­ся с Encrypting File System (шифрованная файловая система, EFS), которая будет шифровать все файлы на вашем жестком диске, даже временные файлы, созданные используемыми вами приложениями.

Для того чтобы использовать EFS секретно, необходимо предоставить криптографический ключ при запуске компьютера или использовать ее со смарт-картой, иначе же можно считать файлы на жестком диске обычными, незашифрованными файлами. Это не защитит файлы от доступа во время работы операционной системы — для чего существуют средства обеспечения безопасности операционной систе­мы, — но это сохранит данные в безопасности, даже если кто-нибудь украдет жесткий диск.

3.2.2. Аутентификация пользователя или компьютера

Помимо сохранения секретности (либо при передаче, либо при хране­нии), шифрование можно использовать почти в противоположных целях — для проверки идентичности. Шифрование может провести аутентификацию входящих в систему компьютера пользователей, гарантировать, что загружаемое из Интернета программное обеспечение приходит из надежного источника и что лицо, отправившее сообще­ние, в действительности то, за которое оно себя выдает.

При входе в операционную систему Microsoft, например Windows 95, Windows NT или Windows 2000, операционная система не сравнивает введенный пароль с хранимым паролем. Вместо этого она шифрует пароль при помощи однонаправленной криптографической функ­ции и затем сравнивает результат с хранящимся результатом. Другие операционные системы, такие как UNIX и OS/2, работают точно так же.

Храня только криптографическое хэш-значение пароля пользователя, операционная система затрудняет хакерам возможность получения всех паролей системы при получении

3.2.3. Цифровые подписи

Обычно шифрование с открытым ключом используется для передачи секретных сообщений, зашифрованных при помощи открытого клю­ча, и последующей расшифровки их при помощи закрытого ключа.

Поскольку назначение цифровой подписи состоит не в том, чтобы утаить информацию, а в том, чтобы подтвердить ее, закрытые ключи зача­стую используются для шифрования хэш-значения первоначального документа, и зашифрованное хэш-значение присоединяется к доку­менту или отправляется вместе с ним. Этот процесс занимает гораздо меньше вычислительного времени при генерации или проверке хэш-значения, чем шифрование всего документа, и при этом гарантирует, что документ подписал владелец закрытого ключа.

Электронная почта Интернета проектировалась без учета безопасно­сти. Сообщения не защищены от нелегального просмотра на промежуточ­ных хостах Интернета, и нет гарантии, что сообщение в действитель­ности пришло от того лица, которое указано в поле From электронной почты. Сообщения групп новостей Интернета страдают от той же про­блемы: невозможно в действительности сказать, от кого на самом деле пришло сообщение. Можно зашифровать тело сообщения, чтобы спра­виться с первой проблемой, а цифровые подписи справляются со второй.

Цифровые подписи полезны, потому что проверить подпись может каждый, а создать ее может только лицо с закрытым ключом. Разница между цифровой подписью и сертификатом в том, что можно прове­рить подлинность сертификата в центре сертификации.

3.2.4. Безопасный обмен паролями

Большинство сетевых операционных систем (в том числе Windows 2000 и все современные версии UNIX) защищают имя пользователя и пароль при входе в систему посредством их шифрования перед отправ­кой в сеть для аутентификации.

Чтобы одни и те же зашифрованные данные не передавались каждый раз, клиент также может включить какую-то дополнительную ин­формацию, например время отправки запроса на вход в систему. При таком способе сетевые идентификационные данные никогда не будут отправляться через локальную сеть или телефонные линии в незащищенном виде. Тем не менее Windows 2000 принимает неза­шифрованные пароли от старых сетевых клиентов LAN Manager.

Не каждый протокол аутентификации зашифровывает имя пользователя и па­роль, этого не делает SLIP Telnet и FTP. Службу Telnet в Windows 2000 можно сконфигурировать для работы только с хэш-значениями Windows NT, а не с паролями в виде простого текста. РРР может шифровать, если и удаленный клиент, и сервер сконфигурированы таким образом. Win­dows NT по умолчанию требует шифрованной аутентификации. Windows 2000 использует безопасную систему аутентификации Kerberos, основанную на секретных ключах.

3.3. Стеганография

Стеганография (steganography) — это процесс сокрытия за­шифрованных файлов в таком месте, в котором вряд ли кто-либо смо­жет их обнаружить.

Зашифрованные файлы выглядят как случайные числа, поэтому все, что также выглядит как случайные числа, может спрятать зашифрованное сообщение. Например, в многоцветных графических изображе­ниях бит нижних разрядов в каждом пикселе изображения не сильно влияет на качество всего изображения. Можно спрятать зашифрован­ное сообщение в графический файл, заменяя младшие биты битами своего сообщения. Младшие биты звуковых файлов с высокой точно­стью воспроизведения — еще одно хорошее место для зашифрованных данных. Можно даже тайно обмениваться с кем-либо зашифрованны­ми сообщениями, отправляя графические и звуковые файлы с такой спрятанной в них информацией.

3.4. Пароли

Пароли — это секретные ключи. Они могут применяться для аутенти­фикации пользователей, шифрования данных и обеспечения безопас­ности коммуникационных потоков. Kerberos использует пароли как секретные ключи для подтверждения идентификационных данных клиента в Kerberos Key Distribution Center.

Из-за необходимости случайности в секретных ключах выступающие в качестве секретных ключей пароли также должны быть секретными

Самый распространенный способ раскрыть пароль — это выбрать легко угадываемый пароль, такой как пустой пароль, само слово пароль (password), жаргон­ные слова или имена богов, детей или домашних животных. Для взлома через Интернет пароля, в качестве кото­рого взято любое известное слово, потребуется примерно два часа времени.

Использование по-настоящему случайных паролей дает гораздо луч­шие результаты. Случайный выбор пароля только из 14 символов на­бора стандартной ASCII-клавиатуры дает множество более чем из 1025 паролей.

Существует четыре уровня паролей:

• низкокачественный публичный пароль

• публичный пароль среднего качества — короткий, но полностью случайный пароль длина этого пароля семь символов, что дает 40-битный диапазон уникальности;

• высококачественный пароль — пароль для частных сетей где клиенту может быть причинен серьезный ущерб в случае его утери -пароль длиной 12 символов, что дает 70-битный диапазон уникальности;

• чрезвычайно высококачественный пароль — пароль для шифрования файлов и хранения секретных данных на личных компьютерах; длина 14 символов, что дает 84-битный диапазон уникальности.

4. Локальная безопасность Windows 2000 Advanced Server

Безопасность Windows 2000 основана на аутентификации пользовате­лей. Проходя процедуру входа в систему (обеспечиваемую процес­сом WinLogon), пользователь идентифицирует себя компьютеру, после чего ему предоставляется доступ к открытым и запрещается доступ к закрытым для вас ресурсам.

В Windows 2000 также реализованы учетные записи групп. Когда учет­ная запись пользователя входит в учетную запись группы, установлен­ные для учетной записи группы разрешения действуют также и для учетной записи пользователя.

Учетные записи пользователей и групп действуют только на том компь­ютере под управлением Windows 2000, на котором они создаются. Эти учетные записи локальны для компьютера. Единственным исключени­ем из этого правила являются компьютеры, входящие в домен и по­этому принимающие учетные записи, созданные в Active Directory на контроллере домена. На каждом компьютере под управлением Windows 2000 существует свой собственный список локальных учетных записей пользователей и групп. Когда процессу WinLogon (который регистрирует пользователя в систе­ме и устанавливает его вычислительную среду) требуется обратиться к базе данных безопасности, он взаимодействует с Security Accounts Manager (диспетчер учетных записей безопасности, SAM), компонен­том операционной системы Windows 2000, который управляет инфор­мацией о локальных учетных записях. Если информация хранится локально на компьютере под управлением Windows 2000, SAM обра­тится к базе данных (хранимой в реестре) и передаст информацию процессу WinLogon. Если информация хранится не локально SAM запросит контрол­лер домена и вернет подтвержденную информацию о регистрации (идентификатор безопасности, security identifier) процессу WinLogon.

Независимо от источника аутентификации, доступ разрешен только к локальному компьютеру посредством Local Security Authority (локаль­ные средства безопасности, LSA) компьютера. При обращаении к другим компьютерам в сети, LSA локального компьютера передает идентификационные данные пользователя LS А другого компьютера, реализуя вход в систему каждого компьютера, с которым он контактирует. Чтобы получить доступ к другому компьютеру, этот компьютер должен принять идентификационные данные, предоставленные компьютером пользователя.

4.1. Идентификаторы безопасности

Принципалы безопасности, такие как пользователи и компьютеры, представлены в системе идентификаторами безопасности (security identifier, SID). SID уникально идентифицирует принципала безопас­ности для всех компьютеров домена. При создании учетной записи при помощи оснастки Local Users and Groups (Локальные пользователи и группы), всегда создается новый SID, даже если используется такие же имя учетной записи и пароль, как в удаленной учетной запи­си. SID будет оставаться с учетной записью в течение всего времени ее существования. Можно поменять любой другой атрибут учетной записи, включая имя пользователя и пароль, но в обычных обстоятельствах нельзя изменить SID, поскольку при этом создается новая учетная запись.

Групповые учетные записи также имеют SID, уникальный идентификатор, создающийся при создании группы. Для идентификаторов SID, групп действуют те же правила, что и для SID учетных записей.

Процесс WinLogon (часть процесса Local Security Authority) проверяет имя пользователя и пароль (или смарт-карту при соответствующей конфигурации), чтобы определить, можно ли разрешить доступ к компьютеру. Если указанный в диалоговом окне входа в систему домен является именем локального компьютера, LSA проверит учетную запись в соответствии с локальным SAM, хранимым в реестре. В ином случае LSA установит связь с контроллером домена и воспользуется для проверки подлинности данных пользователя аутентификацией Kerberos (в случае Windows 2000) или NLTM (в случае всех остальных версий Windows, включая Windows 2000 в режиме Mixed Mode), в зависимости от операционной системы клиента.

Если имя учетной записи и пароль правильны, процесс WinLogon coздаст токен доступа. Токен доступа (Acess Token) образуется из SIDучетной записи пользователя, SID групп, к которым принадлежит, учетная запись, и Locally Unique Identifier (локально уникальный; идентификатор, LUID), который определяет права пользователя и конкретный сеанс входа в систему.

Токен доступа создается при каждом вашем входе в Windows 2000.

Существуют особые идентификаторы SID. System SID зарезервирован для системных служб, содержащие System SID токены доступа могут, обходить все ограничения безопасности, основанные на учетных записях. SID дает системным службам разрешение на осуществление тех; действий, которые обычная учетная запись пользователя (даже учетная запись Administrator (Администратор)) делать не может. Службы операционной системы запускаются ядром Windows 2000, а не процессом WinLogon, и эти службы получают System SID от ядра при своем запуске.

4.2. Доступ к ресурсам

Потоки (thread, отдельные ветви выполнения процесса) должны пре­доставлять токен доступа при каждой попытке доступа к ресурсу. Потоки получают токены доступа от родительских процессов при своем создании. Пользовательское приложение, например, обычно получает свой токен доступа от процесса WinLogon. Процесс WinLogon запускается от возбужденного пользователем прерывания (прерыва­ния клавиатуры Ctrl+Alt+Del) и может создать новый токен доступа, запрашивая или локальный диспетчер учетных записей безопасности (SAM), или Directory Services Agent (агент служб каталога, DSA) на контроллере домена Active Directory.

При помощи этого метода каждый поток, запущенный после входа пользователя в систему, будет иметь токен доступа, представляющий пользователя. Поскольку потоки пользовательского режима должны всегда предоставлять этот токен для доступа к ресурсам, в обычных обстоятельствах не существует способа обойти безопасность ресурсов Windows 2000.

Основу безопасности Windows 2000 образует перемещаемый вход в систему (mandatory logon). В отличие от других сетевых систем, пользователь ничего не может сделать в Windows 2000, не предоставив имя учетной записи пользователя и пароль. Хотя можно выбрать автоматический вход в систему с идентификационными данными, предоставляемыми реестром, вход в систему при помощи учетной записи пользователя все равно происходит.

Windows 2000 требует нажатия Ctrl+ALT+Del для входа в систему, и это одна из причин, по которым Windows 2000 считается безопасной системой. Поскольку компьютер обрабатывает нажатие Ctrl+ALT+Del как аппаратное прерывание, фактически не существует способа, при помощи которого опытный программист мог бы заставить эту комбинацию клавиш делать что-либо еще, не переписывая операционную систему.

Поскольку токен доступа передается новому потоку во время его со­здания, то после входа пользователя в систему в дальнейшем нет необ­ходимости обращаться для аутентификации к локальной базе данных SAM или к Active Directory на контроллере домена.

При локальном входе пользователя в систему Windows 2000 проходит через следующие этапы.

1. Пользователь нажимает Ctrl +A1t+Del, что вызывает аппаратное пре­рывание, активизирующее процесс WinLogon.

2. Процесс WinLogon представляет пользователю приглашение ко входу в систему с полями для имени учетной записи и пароля.

3. Процесс WinLogon отправляет имя учетной записи и зашифро­ванный пароль локальным средствам безопасности (LSA). Если учетная запись локальна для этого компьютера Windows 2000, LSA запрашивает диспетчер учетных записей безопасности (SAM) локального компьютера Windows 2000; в другом случае LSA за­прашивает контроллер домена того домена, в который входит ком­пьютер.

4. Если пользователь представил допустимые имя пользователя и па­роль, LSA создает токен доступа, содержащий SID учетной записи пользователя и идентификаторы SID для групп, в которые входит пользователь. Токен доступа также получает LUID, который бу­дет описан далее в этой главе в разделе «Права или разрешения». Токен доступа затем передается обратно процессу WinLogon.

5. Процесс WinLogon передает токен доступа подсистеме Win32 вместе с запросом на создание процесса входа в систему для пользователя.

6. Процесс входа в систему устанавливает окружение пользователя, включая запуск Windows Explorer и отображение фона и значков рабочего стола.

4.3. Объекты и Разрешения

Windows 2000 поддерживает безопасность для различных типов объек­тов, включая (но не ограничиваясь ими) каталоги, файлы, принтеры, процессы и сетевые общие папки. Каждый объект предоставляет функ­ции, определяющие действия, которые могут быть выполнены для этого объекта, например: открыть, закрыть, читать, записывать, уда­лять, запускать, останавливать, печатать и т. д.

Информация безопасности для объекта содержится в дескрипторе без­опасности (security descriptor) объекта. Дескриптор безопасности со­стоит из четырех частей: владелец, группа, Discretionary Access Control List (список разграничительного контроля доступа, DASL) и System Acess Control List (системный список контроля доступа, SACL). Win­dows 2000 использует эти части дескриптора безопасности в следую­щих целях:

• владелец — эта часть содержит SID учетной записи пользователя-владельца объекта. Владелец объекта всегда может изменить на­стройки DACL (разрешения) объекта;

• группа — эта часть используется подсистемой POSIX Windows 2000. Файлы и каталоги в операционных системах UNIX могут принад­лежать групповой учетной записи, так же как и отдельной учетной записи пользователя. Эта часть содержит SID группы этого объек­та в целях совместимости с POSIX, а также для идентификации основной группы для учетных записей пользователя;

Discretionary Access Control ListDACL содержит список учет­ных записей пользователя и учетных записей групп, обладающих разрешением на доступ к службам объекта. В DACL существует столько записей контроля доступа, сколько существует учетных записей пользователей или групп, для которых доступ к объекту был задан специально;

System Acess Control ListSACL также содержит записи управ­ления доступом (АСЕ, access control entry), но эти записи АСЕ ис­пользуются для аудита, а не для разрешения или запрещения до­ступа к функциям объекта. SACL содержит столько записей АСЕ, сколько существует учетных записей пользователей или групп, для которых специально проводится аудит.

Каждая запись управления доступом в DACL или SACL состоит из идентификатора безопасности, сопровождаемого маской доступа. Маска доступа (access mask) в DACL определяет те функции объекта, для доступа к которым у SID есть разрешение. Специальный тип за­писи контроля доступа, называемый запрещающей записью АСЕ (deny АСЕ), указывает, что весь доступ к объекту будет запрещен для учет­ной записи, определенной идентификатором SID. Запрещающая АСЕ перекрывает все остальные записи АСЕ. Разрешение No Access (нет доступа) в Windows 2000 реализовано при помощи запрещающей за­писи АСЕ.

Доступ разрешен, если токен доступа содержит любой SID, совпадаю­щий с разрешением в DACL. Например, если отдельной учетной запи­си разрешен доступ на чтение и учетная запись пользователя являет­ся членом групповой учетной записи, которой разрешен доступ на запись, тогда токен доступа для этого вошедшего в систему пользова­теля будет содержать оба SID, и DACL разрешит доступ к объекту и на чтение, и на запись. Запрещающие записи управления доступом все равно перекрывают суммарное действие всех остальных разрешений.

Записи управления доступом в SACL образуются тем же способом, что и записи в DACL (они составляются из SID и маски доступа), но мас­ка доступа в этом случае определяет те функции объекта, для которых будет проводиться аудит у этой учетной записи.

Не у каждого объекта есть списки DACL или SACL. Файловая систе­ма FAT, например, не записывает информацию безопасности, поэто­му у объектов файлов и каталогов, хранимых на томе FAT, нет спис­ков DACL и SACL. Когда DACL отсутствует, любая учетная запись пользователя обладает доступом ко всем функциям объекта. Это не равнозначно ситуации, когда список DACL объекта пуст. В этом слу­чае ни одна учетная запись не будет иметь доступа к объекту. Когда у объекта отсутствует SACL, аудит объекта невозможен.

Процессы не обращаются напрямую к таким объектам, как файлы, ка­талоги или принтеры. Операционная система Windows 2000 (а имен­но ее часть Win32) обращается к объектам от лица процессов. Основ­ная цель этого — сделать программы проще. Программа не обязана знать, как непосредственно манипулировать каждым типом объекта, она просто просит об этом операционную систему. Еще одним важным преимуществом, особенно с точки зрения безопасности, является то, что, поскольку операционная система выполняет все действия для про­цессов, она может принудительно отслеживать безопасность объектов.

Когда процесс просит подсистему Win32 выполнить действие над объектом (например, прочитать файл), подсистема Win32 сверяется с Security Reference Monitor (монитор проверки безопасности), чтобы удостовериться, что процесс обладает разрешением на осуществление действия над объектом. Security Reference Monitor сравнивает токен доступа процесса со списком DACL объектов, сверяя каждый SID в токене доступа с идентификаторами SID в списке DACL Если существу­ет запись управления доступом (АСЕ) с совпадающим SID, которая содержит маску доступа, разрешающую действие, и нет АСЕ с совпа­дающим SID, содержащей запрещающую маску для действия над объектом, то Security Reference Monitor разрешает подсистеме Win32 выполнить действие.

Security Reference Monitor также проверяет, осуществляется ли аудит доступа к объекту и требуется ли запись в журнал событий Security Log (Безопасность) Windows 2000. Аудит проверяется точно так же, как и проверка разрешений, — путем сравнения каждого SID в токене досту­па с SID каждой записи управления доступом. При обнаружении со­впадения монитор проверяет, принадлежит ли выполняемое действие (или функция) к перечисленным в маске доступа. Если да и если ре­зультат проверки безопасности по списку SACL совпадает с проводи­мым аудитом (произошел отказ в доступе и проводится аудит отказа в доступе, или доступ был успешен и проводится аудит успешного до­ступа, или произошли оба этих события), то в этом случае событие аудита записывается в журнал событий.

Некоторые действия применяются не к конкретному объекту, а к груп­пе объектов или ко всей операционной системе. Завершение работы с операционной системой, например, повлияет на все объекты в систе­ме. Пользователь должен обладать правами пользователя (user rights) для осуществления таких действий.

Средства Local Security Authority включают локально уникальный идентификатор (LUID) при созда­нии токена доступа. LUID описывает, какое из прав пользователя име­ет конкретная учетная запись. Local Security Authority создают LUID на основе информации о безопасности в базе данных диспетчера без­опасности учетных записей (для учетной записи локального компьюте­ра) или Active Directory (для учетной записи домена). LUID является объединением прав этой конкретной учетной записи пользователя и прав всех групп, в которые входит эта учетная запись.

Права имеют больший приоритет, чем разрешения (permissions). Вот почему учетная запись администратора может стать владельцем файла, чей владелец удалил все разрешения на доступ; Administrator (Админист­ратор) обладает правом Take Ownership of Files or Other Objects (сме­на владельца файлов или других объектов). Операционная система Win­dows 2000 вначале проверяет права пользователя и затем (если нет права пользователя, специально разрешающего действие) сверяет записи АСЕ, хранимые в DACL, с идентификаторами SID в токене доступа.

Учетные записи пользователя обладают правом на чтение и запись для объекта, для которого они являются владельцем, даже в случае нали­чия у того запрещающей записи АСЕ. Учетная запись пользователя может также изменять разрешения для принадлежащего ей объекта.

5.Файловая система NTFS

Файловая система NTFS — главный бастион безопасности Windows 2000. Безопасный компьютер под управлением Windows 2000 работает на платформе NTFS, образующей основу для постоянной безопасности.

LSA дает гарантию, что выполняющиеся программы не могут нару­шить адресное пространство памяти друг друга и что все обращения к ядру должным образом авторизованы. Но что может помешать про­грамме заменить программные файлы LSA эквивалентной службой, которая будет работать неверно? Ответом на этот вопрос является NTFS, и этот пример подчеркивает, почему безопасная файловая сис­тема — обязательное требование для безопасной операционной систе­мы. Не имея возможности доверять файловой системе, хранящей сис­темные файлы, нельзя доверять системе, работа которой реализуется посредством исполнения этих файлов.

Рассмотрим случай проникновения вируса на компьютер с Windows 95. Пользователь выполняет программу, содержащую вирус. Вирус опре­деляет, какая программа запустила текущую программу, и заражает ее, таким образом распространяя себя далее на один уровень. При следую­щем запуске этой программы вирус сделает то же самое, а также заразит каждую программу, порожденную этой программой. Через несколько циклов вирус распространится до ключевых программ операционной системы, таким образом заражая каждый выполняемый в ней файл. Рассмотрим теперь случай, когда пользователь выполняет зараженную вирусом программу в Windows 2000. Эта программа пытается записать свой вирусный заголовок в explorer.exe, но блокируется средствами без­опасности файловой системы NTFS, потому что у пользователя нет разрешений на запись в explorer.exe. Благодаря NTFS этот тип вирусов моментально останавливается Windows 2000. При попадании в систему некоторым вирусам удается выжить в пользовательском режиме (на­пример, макровирусам Word или червям Outlook), но эти вирусы все равно не могут заразить саму операционную систему — если только ви­рус не был запущен с учетной записью, обладающей административным доступом к компьютеру.

NTFS работает, сравнивая токен доступа пользователя со списком кон­троля доступа (ACL), связанным с каждым запрашиваемым файлом, перед тем, как разрешить пользователю доступ к этому файлу. Этот простой механизм не дает несанкционированным пользователям изме­нять операционную систему или еще что-нибудь, к чему у них нет спе­циального доступа.

По умолчанию Windows 2000 находится в состоянии, предоставляющем полный доступ группе «все» (everyone) для корня всех дисков, вследствие чего все разрешения, наследуемые создаваемы­ми там файлами, также доступны для всех. Для получения какой-либо реальной пользы от безопасности файловой системы NTFS для при­ложений и хранимых пользователями файлов необходимо удалить разрешение, предоставляющее полный доступ для всех, и заменить его разрешениями с соответствующим уровнем безопасности для каждой папки на компьютере.

Управление разрешениями файловой системы NTFS осуществляется просто и работает аналогично тому; как разрешения устанавливались в предыдущих версиях Windows NT.

В Windows 2000 наследование обрабатывается по-другому, чем в Win­dows NT. В Windows NT унаследованные разрешения были просто таки­ми же, как у родительских объектов, и могли быть немедленно измене­ны. В Windows 2000, если объект наследует разрешения от содержащей объект папки, необходимо снять флажок Allow Inheritable Permissions (Переносить наследуемые от родительского объекта разрешения на этот объект), для того чтобы создать копию наследуемых разрешений и затем изменить существующие разрешения. Можно создавать новые записи АСЕ, не перекрывая установку безопасности.

5.1. Шифрованная файловая система

Шифрованная файловая система (Encrypting File System) — это драйвер файловой системы, обеспечивающий возможность зашифровывать и расшифровывать файлы на лету. Использовать службу очень легко: пользователи устанавливают атрибут шифрования для файла или ката­лога. Служба EFS генерирует сертификат шифрования в фоновом про­цессе и использует его для шифрования заданных файлов. Когда эти файлы запрашиваются драйвером файловой системы NTFS, служба EFS автоматически расшифровывает файл для предоставления его драйверу.

Шифрование файлов выглядит как действительно замечательная воз­можность, но текущая его реализация в Windows 2000 обладает таки­ми дефектами, что EFS в большинстве случаев бесполезна, за исклю­чением, может быть, портативных компьютеров. Основная проблема EFS в том, что она работает только для отдельных пользователей, что делает ее пригодной только для клиентских компь­ютеров. Сертификаты шифрования для файлов создаются на основе личности пользователя, поэтому зашифрованные файлы могут быть использованы только той учетной записью, которая их создавала. Сер­тификаты шифрования не могут быть назначены групповым объектам, поэтому шифрование не может защитить общие файлы, хранимые на сервере. Эта архитектура потребует обмена закрытыми ключами по сети, поэтому для такого обмена должен быть установлен зашифрован­ный канал. EFS не позволит совместное использование зашифрованных файлов, потому что она расшифровывает их перед тем, как предоставить их по запросу. Это также не предусмотрено. Если бы сертификаты ши­фрования принадлежали группе, зашифрованный файл мог бы быть предоставлен по сети клиенту в своем зашифрованном состоянии и клиентский компьютер смог бы воспользоваться своим участием в группе, обладая сертификатом для расшифровки файла. Kerberos может создавать ключи сеанса для шифрования сертификатов, чтобы сохранить их в безопасности во время передачи членам группы. Общие файлы могут быть достаточно безопасными, чтобы использовать их через Интернет без закрытого туннеля.

Более того, потеря сертификата шифрования — ахиллесова пята ши­фрования — не будет такой уж проблемой. До тех пор, пока сертификат все еще существует у какого-либо из членов группы, этот пользователь все еще будет обладать копией сертификата для расшифровки файлов. Так, как она реализована сегодня, EFS всегда создает ключ для агента восстановления (по умолчанию это локальный администратор), неза­висимо от того, хочет пользователь или нет, чтобы агент восстановле­ния мог расшифровать файл.

EFS (так же, как репликация файлов) — еще один пример служ­бы, которая была бы по-настоящему замечательной, если бы Microsoft реализовала се надлежащим образом. В том виде, в каком она существу­ет сейчас, она сделана ровно настолько, чтобы Microsoft могла утверж­дать о наличии у нее шифрования файловой системы.

Помимо того факта, что EFS работает только для отдельных пользо­вателей, она обладает рядом других проблем:

    сертификаты шифрования по умолчанию хранятся в реестре ло­кального компьютера, где их можно восстановить и использовать для расшифровки файлов на компьютере. Для того чтобы EFS функционировала корректно как безопасная служба шифрования, сертификаты должны быть удалены с локального компьютера на физически безопасный сервер сертификатов или экспортированы на съемный носитель, который не оставляется вместе с компьюте­ром.

Единственный способ обеспечить безопасность локальных сертифика­тов EFS — это использовать аутентификацию при помощи смарт-карты или -воспользоваться SysKey, хэш-значения, используемого для шифрования ло­кальной базы данных учетных записей SAM, которая содержит сер­тификат расшифровки EFS, на гибкий диск или использовать его в качестве пароля во время начальной загрузки — и этот пароль или гибкий диск должны быть доступны для всех, кому требуется за­гружать компьютер;

    операции перемещения путем перетаскивания мышью в шифро­ванную папку не приведут к автоматическому шифрованию фай­ла, потому что операции перемещения не изменяют атрибутов фай­ла. Операции «вырезать и вставить» изменяют, потому что вы явно удаляете старый файл и создаете новый.

    зашифрованные файлы будут расшифрованы, если они будут пере­мещены на тома с отличной от NTFS файловой системой, не под­держивающей шифрование.

    зашифрованные файлы не могут быть сделаны общими путем по­мещения в общую папку. Это ограничение предназначено для со­хранения файлов в зашифрованном виде, общие файлы отправля­ются по сети в простом текстовом формате и кто угодно может их расшифровать, имея в наличии сетевой анализатор.

    многие программы (большинство программ Microsoft Office) во время редактирования файлов создают временные файлы либо в локальном, либо во временном каталоге. Шифрование для времен­ных файлов следует обычным правилам: если файл создается в пап­ке, у которой установлен флаг шифрования, временный файл будет зашифрован. В ином случае он не будет зашифрован и нарушит секретность шифрования

    печать образует еще одно направление случайной расшифровки: когда печатается зашифрованный документ, файл расшифровы­вается исходным приложением и отправляется в виде простого тек­ста диспетчеру очереди печати. Если диспетчер печати сконфигу­рирован так, чтобы буферизовать документы (как в большинстве случаев), печатаемые данные будут записываться в файл, который может быть после удаления восстановлен для доступа к вашим зашифрованным данным.

Не рекомендуется использовать EFS кроме как на однопользователь­ских компьютерах, которые нельзя по-другому физически защитить. Ее простота использования является лишь видимостью безопасности, а не настоящей безопасностьюEFS имеет смысл применять для компьютеров, подвер­женных кражам, таких как портативные компьютеры, которые скон­фигурированы с шифрованием каталога буфера печати, временных папок и каталога My Documents (Мои документы).

6. Сетевая безопасность Windows 2000 Advanced Server

Сетевая безопасность Windows 2000 основана на нескольких основных службах:

• Active Directory;

• Group Policy;

• Kerberos;

Share Security;

IPSec.

Каждая из этих служб работает вместе с остальными, образуя единое целое: IPSec определяется групповыми политиками, которые хранят­ся в Active Directory и могут быть сконфигурированы для использова­ния Kerberos для автоматического обмена закрытыми ключами. Share Security основывается на идентификационных данных пользователя, подтвержденных Kerberos на основе хэшированных паролей, храни­мых в Active Directory. Управление политикой безопасности через Active Directory позволяет администраторам создавать политики, ко­торые могут быть автоматически применены ко всей организации.

Active Directory не является службой безопасности, но практически все встроенные в Windows 2000 механизмы безопасности полагаются на Active Directory как на механизм хранения информации безопасно­сти, такой как иерархия доменов, доверительные отношения, ключи криптографии, сертификаты, политики и основные учетные записи бе­зопасности.

Все механизмы безопасности Windows 2000 интегрированы с Active Directory.

Хотя Active Directory не является службой безопасности, ее можно сделать безопасной: контейнеры и объекты Active Directory имеют списки контроля доступа (ACL), так же как файлы NTFS. Разрешения в Active Directory можно применять во многом аналогично NTFS. В отличие от разрешений файловой системы NTFS, можно устанавли­вать разрешения для полей внутри конкретных объектов так, чтобы различные пользователи групп безопасности были ответственны за части данных объекта.

6.1. Аутентификация Kerberos и безопасность домена

Аутентификация Kerberos была разработана Массачусетским техно­логическим институтом (Massachusetts Institute of Techology, MIT) для реализации межкомпьютерной доверительной системы, способ­ной проверять подлинность принципалов безопасности (таких, как пользователь или компьютер) через открытую небезопасную сеть. Kerberos не зависит от аутентификации, осуществляемой участвую­щими компьютерами, или сохранности данных при передаче по сети. По этой причине Kerberos идеальна для аутентификации через Интер­нет или в больших сетях.

Kerberos действует как надежная служба аутентификации третьей фирмы, используя общие секретные ключи.. В Windows 2000 общий секретный ключ генерируется при входе компьютера в домен. По­скольку обе стороны сеанса Kerberos доверяют KDC, они доверяют друг другу. На практике это доверие реализовано как безопасный об­мен зашифрованными ключами, которые подтверждают участникам взаимодействия идентификационные данные другой стороны.

Аутентификация Kerberos работает следующим образом.

1. Клиент запрашивает возможный набор идентификационных дан­ных для данного сервера у KDC, отправляя запрос в простом тек­стовом формате, содержащий имя клиента (идентификатор).

2. KDC ищет секретные ключи, как клиента, так и сервера в своей базе данных (Active Directory) и создает билет (ticket), содержащий случайный ключ сеанса, текущее время KDC, заданное политикой время окончания, и, в зависимости от параметров, любую другую информацию, хранимую в базе данных. В случае Windows 2000 в билете содержатся идентификаторы SID.

3. Билет зашифровывается с использованием секретного ключа кли­ента.

4. Создается второй билет, называемый билетом сеанса (session ticket), содержащий ключ сеанса и необязательные данные аутентифика­ции, которые зашифровываются с использованием секретного клю­ча сервера.

5. Соединенные билеты передаются обратно клиенту. Серверу аутентификации нет необходимости явным образом про­верять подлинность клиента, потому что только обладающий пол­номочиями клиент может расшифровать билет.

6. После того как клиент получил в свое распоряжение допустимый билет и ключ сеанса для сервера, он инициирует взаимодействие непосредственно с сервером. Для этого клиент конструирует удо­стоверение (authenticator), состоящее из текущего времени, имени клиента, по желанию — зависящую от приложения контрольную сумму и случайным образом сгенерированный начальный номер последовательности и/или подключ сеанса, используемые для извле­чения уникального идентификатора сеанса для требуемой службы. Удостоверения действуют только для одной попытки и не могут применяться повторно или использоваться в атаках воспроизведе­ния, потому что они зависят от текущего времени. Удостоверение шифруется при помощи ключа сеанса и передается вместе с биле­том сеанса серверу, у которого запрашивается служба.

7. Когда сервер получает билет от клиента, он расшифровывает билет сеанса при помощи общего секретного ключа сервера (если суще­ствует более одного ключа, нужный ключ указывается в части би­лета в простой текстовой форме).

8. Затем сервер извлекает из билета ключ сеанса и использует его для расшифровки удостоверения. Способность сервера расшифровать билет подтверждает, что он был зашифрован при помощи секрет­ного ключа сервера, известного только KDC и самому серверу, та­ким образом, подлинность клиента подтверждается. Удостоверение используется для гарантии того, что взаимодействие недавнее и не является атакой на основе повторного запроса.

Билеты могут повторно использоваться в течение периода, определя­емого политикой безопасности домена, но не превышающего восьми часов. Клиенты кэшируют свои билеты сеанса в безопасном месте, расположенном в оперативной памяти, и уничтожа­ют их по истечению срока действия.

Kerberos сокращает предоставление билетов, во время первого конта­кта с клиентом предоставляя билет сеанса самому себе так же, как и за­прашиваемому серверу. КОС отвечает на этот первоначальный запрос — сначала предоставляя билет сеанса для последующих запросов о билетах, называемый Ticket-Granting Ticket (билет на предоставление билетов, TGT), и затем — билет сеанса для запрашиваемого сервера. TGT устра­няет потребность в дальнейшем проводимом Active Directory поиске клиента, осуществляя предварительную аутентификацию последую­щих запросов о билетах точно таким же способом, каким Kerberos осуществляет аутентификацию всех остальных запросов. Как и лю­бой билет сеанса, билет TGT действителен до истечения срока дей­ствия, который зависит от политики безопасности домена.

Kerberos технически делится на две службы: службу TGT (единствен­ную службу, которая действительно осуществляет аутентификацию в Active Directory) и службу предоставления билетов, выдающую биле­ты сеансов по получении допустимого TGT.

6.1.2. Доверительные отношения между доменами

Kerberos работает через границы домена (домены в терминологии Kerberos называются сферами (realm), эти термины эквивалентны).

Имя домена, к которому принадлежит принципал безопасности, являет­ся частью имени принципала безопасности. Членство в одном дереве Active Directory автоматически создаст междоменные ключи Kerberos между родительским доменоми его дочерними доменами.

Обмен междоменными ключами регистрирует контроллеры домена одного домена в качестве принципалов безопасности в доверенном домене. Эта простая концепция дает возможность любому принципа­лу безопасности в домене получить билет сеанса в чужом КОС.

1. Когда принципал безопасности в одном домене хочет обратиться к принципалу безопасности в соседнем домене (один из доменов ро­дительский, другой дочерний), он отправляет запрос о билете сеан­са своему локальному КОС.

2. КОС определяет, что сервер назначения не находится в локаль­ном домене, и отвечает клиенту, отправляя ему билет направления (referral ticket), который является билетом сеанса, зашифрованный при помощи междоменного ключа.

3. Клиент использует билет направления для запроса билета сеанса непосредственно у чужого KDC.

4. Чужой KDC расшифровывает билет направления, потому что об­ладает междоменным ключом, подтверждающим, что доверенный контроллер домена доверяет клиенту (иначе он не предоставил бы ключ направления).

5. Чужой KDC предоставляет билет сеанса, допустимый для чужого сервера назначения.

Для более удаленных доменов этот процесс просто повторяется. Для доступа к принципалу безопасности в домене, расположенном на рас­стоянии двух узлов в иерархии доменов Active Directory, клиент за­прашивает билет сеанса для сервера назначения в своем KDC, который в ответ пересылает ему билет направления к следующему домену в пути. Затем клиент запрашивает билет сеанса, используя только что полученный билет назначения. Этот сервер просто ответит билетом назначения, допустимым для следующего сервера в цепочке. Этот про­цесс будет продолжаться до тех пор, пока не будет достигнут локаль­ный домен для принципала безопасности назначения. В этот момент ключ сеанса (технически — TGT и ключ сеанса) предоставляется запра­шивающему клиенту, который затем сможет пройти аутентификацию непосредственно у принципала безопасности назначения.

Последняя важная концепция в аутентификации Kerberos — делегиро­вание аутентификации. Делегирование аутентификации (delegation of authentication) — это механизм, посредством которого принципал безопасности дает возможность другому принципалу безопасности, с которым у него установлен сеанс, запрашивать аутенти­фикацию от своего имени у третьего принципала безопасности. Этот механизм важен в многозвенных приложениях, таких как web-узел с поддержкой базы данных. При помощи делегирования аутентифика­ции клиент—web-браузер может пройти аутентификацию у web-cepвера и затем предоставить web-серверу специальный билет TGT, ко­торый сервер сможет использовать для запроса билетов сеансов от своего имени, web-сервер сможет затем использовать передаваемые web-клиентом идентификационные данные для аутентификации на сервере баз данных.

6.1.3. Групповые политики

Групповая политика (Group Policy) — это основной механизм Win­dows 2000 при управлении конфигурацией клиентских рабочих стан­ций для контроля за безопасностью и для администрирования. Полити­ки (policy) — это, в общем случае, просто наборы изменений в установках компьютера по умолчанию. Политики обычно организуются так, чтобы отдельные политики содержали изменения, реализующие конкретную цель — например, отключение или включение шифрования файловой системы или контроль за программами, которые разрешено запускать пользователю.

Групповые политики (Group Policies) применяются к элементам кон­тейнера Active Directory (таким, как домен или Organizational Unit (Подразделение)). Группы безопасности могут быть использованы для фильтрации групповых политик, но политики нельзя применять к группам безопасности. Групповая политика Windows 2000 не являет­ся только механизмом безопасности — ее основное предназначение состоит в управлении изменениями и конфигурацией, — но она позво­ляет администраторам создавать дополнительные системы безопасно­сти, ограничивая свободу действий пользователей. Групповые политики можно применять для управления следующими элементами политик компьютера (computer policy):

    настройки реестра, связанные с конфигурацией и управлением без­опасности;

    установка программного обеспечения;

    сценарии, выполняющиеся при загрузке-завершении работы и вхо­де-выходе из системы;

    запуск служб;

    разрешения реестра;

    разрешения NTFS;

    политики открытого ключа;

    политики IPSec;

    настройки системы, сети и компонентов Windows.

Групповые политики можно применять для управления следующими элементами политик пользователя (user policy):

    установка программного обеспечения;

    настройки Internet Explorer;

    сценарии входа-выхода в систему;

    настройки безопасности;

    Remote Installation Service (служба удаленной установки);

    перенаправление папок;

    компоненты Windows;

    настройки стартового меню, панели задач, рабочего стола и Control Panel (Панель управления);

    сетевые настройки;

    настройки системы.

Объекты групповой политики (Group Policy Objects) по существу яв­ляются настраиваемыми файлами реестра (и файлами поддержки, та­кими, как пакеты .msi и сценарии), определяемыми настройками по­литики, которые загружаются и применяются к входящим в домен клиентским компьютерам при начальной загрузке компьютера (кон­фигурация компьютера) и при входе пользователя в систему (конфи­гурация пользователя). Объекты групповой политики и все файлы поддержки, требуемые для групповой политики, хранятся на контрол­лерах домена в общей папке SysVol. К одному компьютеру могут при­меняться несколько групповых политик, при этом каждая политика будет перезаписывать настройки предыдущей политики в соответ­ствии со сценарием «действует последняя примененная» — если толь­ко определенная политика не сконфигурирована так, чтобы ее нельзя было перезаписать.

Каждый объект групповой политики состоит из двух частей: конфи­гурации компьютера и конфигурации пользователя. Можно сконфи­гурировать настройки и пользователя, и компьютера в одном объекте групповой политики, а в окне свойств политики можно отключить часть объекта, относящуюся к пользователю или компьютеру.

Политики компьютера применяются во время начальной стадии рабо­ты системы перед входом пользователя в систему (и во время периоди­ческих восстановлений). Политики компьютера регулируют операци­онную систему, приложения (включая Windows Explorer) и сценарии, выполняющиеся при загрузке-завершении работы. В случае конфликта политики компьютера обычно имеют пре­имущества над политиками пользователя.

Политики пользователя применяются после того, как пользователь вошел в систему, но перед тем, как ему будет разрешено работать на компьютере, а также во время цикла периодических обновлений. По­литики пользователя регулируют поведение операционной системы, настройки рабочего стола, настройки приложений, перенаправление папок и пользовательские сценарии входа-выхода в систему.

Групповые политики называются групповыми политиками потому, что они применяются к группам пользователей, а именно к членам контейнеров Active Directory, таких как домены или контейнеры OU. Групповые политики иерархичны по своей природе: многие политики могут быть применены к одному компьютеру или пользователю, они применяются в порядке иерархии. Кроме того, последующие политики могут перекрыть настройки предыдущих политик. Это означает, что отдельные элементы политики можно детализировать при переходе от применяемых к большим группам, таким как домены, политик широкого действия, к узконаправленным политикам, применяемым к меньшим группам, таким как контейнеры OU.

Групповые политики конфигурируются на следующих уровнях в сле­дующем порядке.

Локальный компьютер. Групповая политика применяется первой, поэтому она может быть перекрыта политикой домена. У каждого компьютера существует одна применяемая к нему локальная груп­повая политика. Нелокальные групповые политики загружаются из Active Directory в зависимости от месторасположения пользовате­ля и компьютера в Active Directory.

Офис. Эти групповые политики уникальны тем, что они управля­ются из оснастки Active Directory Sites and Services (Сайты и служ­бы). Политики офисов применяются к офисам, поэтому их следует применять для вопросов, связанных с физическим расположением пользователей и компьютеров, а не с участием в безопасности домена.

Домен. Групповые политики применяются ко всем пользователям и компьютерам в домене, и именно здесь следует реализовывать глобальные политики организации.

Контейнер OU (Organizational Unit). Групповые политики применяются к входящим в них пользователям и компьютерам. Групповые политики применяются сверху вниз (родитель, затем потомок) иерархии OU.

Группа безопасности. Группы безопасности функционируют по-другому, чем настоящие контейнеры доменов. В этом случае не определяются групповые политики, применяемые к группе безопасности, а фильтруются (разрешаются или запрещаются) применяемые к пользователю групповые политики на основе вхождения пользо­вателя в группы безопасности.

Групповые политики применяются только целиком, нельзя указать, чтобы применялась только часть политики.

Одна групповая политика может быть применена более чем к одному контейнеру в Active Directory, потому что групповые политики не хра­нятся в Active Directory месте их применения. Хранится только ссылка на объект групповой политики, сами объекты на самом деле хранятся в реплицируемой общей папке SysVol на контроллерах домена в домене.

Групповая политика домена управляется через оснастку Active Di­rectory Sites and Services для групповых политик офисов или оснастку Active Directory Users and Computers (Пользователи и компьютеры) для всех остальных нелокальных групповых политик.

Одна политика может быть применена к нескольким контейнерам Active Directory, хотя нет необходимости явно применять политику к детям контейнера, к которому уже применена политика, потому что политика будет уже применена к принципалу безопасности.

6.4. Безопасность общих папок

Общие папки (shares) — это каталоги или тома на рабочей станции или сервере, к которым имеют доступ другие компьютеры в сети. Доступ к общим папкам может быть либо открытым, либо контролироваться разрешениями. Общие папки используют безопасность уровня общих папок (share-level security), которая управляет разрешениями общих папок, но не конкретных объектов внутри папки. Безопасность уровня файлов преобладает над безопасностью уровня общих папок, но может применяться только на томах NTFS.

Хотя при помощи общих папок можно установить приемлемую без­опасность в маленькой сети, техника безопасности общих папок в дей­ствительности плохо масштабируется для обеспечения безопасности больших сетей и окружений.

Основная причина для установки сети — это совместное использова­ние файлов. Любой каталог на любой рабочей станции или сервере в сети может быть определен как общий каталог. Хотя общие папки не обладают тем же уровнем безопасности, как каталоги NTFS на выде­ленном сервере, Windows 2000 предоставляет простой набор возмож­ностей безопасности для общих каталогов.

Доступ к общим папкам. На сервере может быть сконфигуриро­вано несколько общих папок — тома целиком, каталоги на более глу­боких уровнях, — все они видятся пользователям как единый список под именем сервера. Пользователи могут получить доступ к папке с именем сервера через значок My Network Places (Мое сетевое окружение) и затем открыть ее, чтобы отобразить список общих папок.

Общие папки по умолчанию. В Shared Folder Manager (диспетчер общих папок), несколько общих папок с именами, заканчивающимися знаком доллара: С$, ADMIN$ и т. п. Это административные общие папки (administrative shares) — общие папки, автоматически конфигурируемые Windows 2000 и доступные только для администраторов и самой операционной системы. Эти об­щие папки используются для удаленного администрирования и вза­имодействия между системами.

Административные общие папки представляют определенный риск с точки зрения безопасности. Хакер, получивший доступ к учетной записи Administrator на одной рабочей станции в рабочей группе, сможет получить доступ к системным дискам других рабочих станций, легко получая доступ уровня администратора ко всей рабочей группе.

Можно повысить безопасность, отключив автоматические административные общие папки, созданные для корневых каталогов дисков жесткого диска (С$, 0$ и т. д.).

Безопасность уровня общих папок аналогична безопасности файловой системы, но далеко не так разнообразна (или безопасна), потому что записи управ­ления доступом общих папок могут применяться только к общей пап­ке как к единому целому. Безопасность нельзя настроить внутри общей папки.

У безопасности уровня общих папок есть одно существенное преиму­щество: она работает с любым общим каталогом, находится ли он на томе NTFS или FAT. Безопасность уровня общих папок — единствен­ный способ обеспечить безопасность каталогов FAT. Однако установ­ленные разрешения для общей папки влияют только на удаленных пользователей. Пользователи, локально вошедшие в систему компью­тера, имеют доступ ко всем папкам на томе FAT, независимо от того, общие они или нет. Безопасность уровня общих папок также не приме­нима к пользователям, вошедшим в систему локально, или клиентам Terminal Services (службы терминала).

Разрешения общих папок. Для общих папок возможны следующие разрешения, каждое из которых может быть разрешено или запрещено:

Read (Чтение) — позволяет пользователям просматривать со­держимое каталога, открывать и читать файлы и запускать про­граммы;

Change (Изменение) — разрешает все, что и разрешение Read (Чтение). Плюс к этому пользователи могут создавать, удалять и изменять файлы;

Full Control (Полный доступ) — разрешает все, что и разрешения Read (Чтение) и Change (Изменение). Плюс к этому пользователи могут изменять разрешения и менять владельца файлов.

6.5. Шифрование сетевого уровня

Виртуальные частные сети (virtual private network, VPN) это высокозатратный способ расширить локальную сеть через Интернет до удаленных сетей и удаленных клиентских компьютеров. Сети VPN используют Интернет для передачи трафика локальной сети из одной частной сети в другую, инкапсулируя трафик локальной сети в IP-па­кеты. Зашифрованные пакеты не могут быть прочитаны промежуточ­ными компьютерами Интернета и могут содержать любой вид вза­имодействий локальной сети, включая доступ к файлам и принтерам, электронную почту локальной сети, вызовы удаленных процедур и клиент-серверный доступ к базам данных.

Виртуальные частные сети между локальными сетями можно уста­навливать при помощи компьютеров-серверов, брандмауэров или маршрутизаторов. Доступ клиентов к VPN может осуществляться при помощи программного обеспечения VPN на клиентских компьюте­рах или путем удаленного телефонного подключения к поставщикам услуг Интернета (ISP), поддерживающим протокол VPN. При втором методе, однако, ISP становится вашим партнером в безопасности сети.

Одни только системы VPN не обеспечивают достаточной защиты сети также потребуется брандмауэр и другие службы безопасности Интернета для обеспечения безопасности сети. Проблемы с безопасностью в особенности свойственны протоколу РРТР

Использование Интернета для связи локальных сетей и предостав­ления удаленным компьютерам доступа к локальной сети влечет за собой проблемы безопасности, производительности, надежности и управляемости. Клиенты и серверы локальной сети должны быть защищены от Интернета при помощи трансляции сетевых адресов, осуществляемой брандмауэром, и/или прокси-серверами так, чтобы (в идеале) злоумышленники в сети не могли даже узнать об их существовании, что сильно снижает их подверженность индивидуальным атакам. Для того чтобы затруднить хакерам возможность захвата закрытой информации фирмы, большинство брандмауэров конфигурируются так, чтобы не пропускать типичные служебные протоколы локальной сети, такие как SMB, NetBIOS, NetWare Core Protocol или NFS.

SMB работает особенно хорошо в чистом виде через Интернет. Имея высокоскоростной канал, можно просто использовать совместное использование файлов через Интернет без брандмауэров или сконфигу­рировать ваш брандмауэр для передачи трафика 8MB и Kerberos или NetBIOS и разрешить удаленный доступ к службам файлов и печати. Это позволит хакерам предпринять попытку получить доступ к вашим данным, просто предоставив допустимое имя учетной записи и пароль или проведя атаку на протокол и воспользо­вавшись его ошибкой.

6.5.1. Технологии VPN

Виртуальные частные сети (VPN) решают проблему прямого доступа к серверам через Интернет при помощи объединения следующих фун­даментальных компонентов безопасности:

IP-инкапсуляция;

• защищенная аутентификация;

• шифрование вложенных данных.

Протокол Secure Socket Layer осуществляет шифрование вложенных данных без защищенной аутентификации удаленного пользователя, a Kerberos осуществляет защищенную аутентификацию без шифрования вложенных данных.

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

IP-пакет может содержать любой вид информации: файлы программ, данные электронных таблиц, звуковые данные или даже другие IP-пакеты. Когда IP-пакет содержит другой IP-пакет, это называется IP-инкапсуляцией (IP encapsulation), IP поверх IP (IP on IP) или IP/IP. Можно инкапсулировать один IP-пакет в другой несколькими спосо­бами; Microsoft делает это двумя различными, но связанными спосо­бами, определенными в протоколах Point-to-Point Tunneling Protocol (РРТР) и Layer 2 Tunneling Protocol (L2TP). Microsoft также поддер­живает IPSec, которому не обязательно использовать инкапсуляцию.

IP-инкапсуля­ция может заставить две удаленные друг от друга сети выглядеть для компьютеров сети соседними, отделенными друг от друга только одним маршрутизатором, хотя на самом деле они будут разделены многими шлюзами и маршрутизаторами Интернета, которые могут даже не ис­пользовать одного адресного пространства, потому что обе внутренние сети применяют трансляцию адресов.

Конечная точка туннеля, будь это маршрутизатор, устройство VPN, или сервер, на котором работает протокол туннелирования, извлечет внутренний пакет, расшифрует его и затем отправит вложенный пакет по его пути назначения во внутренней сети в соответствии со своими правилами маршрутизации.

Передача данных в соединенных по протоколу РРТР локальных сетях начинается и заканчивается точно так же, как это происходит в локаль­ных сетях, соединенных через маршрутизатор. IP-пакетам, однако, при­ходится проходить более дальний путь, поэтому в середине проделы­вается большая работа. С точки зрения двух клиентских компь­ютеров в сети не имеет значения, каким образом пакет был получен одной IP-подсетью от другой. Для вовлеченных в соединение сетевых клиентских компьютеров маршрутизатор означает то же самое, что и два RRAS-сервера и РРТР-соединение.

Защищенная аутентификация. Защищенная аутентификация (cryptographic authentication) используется для безопасного подтверждения личности удаленного пользователя, для того чтобы система смогла опре­делить соответствующий этому пользователю уровень безопасности. Сети VPN применяют защищенную аутентификацию для того, чтобы определить, может ли пользователь участвовать в зашифрованном тун­неле или нет, а также могут применять ее для обмена секретными или от­крытыми ключами, используемыми для шифрования вложенных данных.

Существует много различных видов защищенной аутентификации в двух общих категориях.

• Шифрование с секретным ключом. Также называется шифрованием с общим секретным ключом (shared secret encryption) или симмет­ричным шифрованием (symmetric encryption), полагается на секрет­ное значение, известное обеим сторонам.

• Шифрование с открытым ключом. Полагается на обмен однона­правленными ключами (unidirectional keys) - ключами, при помощи которых можно только зашифровать данные. Оконечные системы туннеля могут обмениваться парами открытых ключей для образования двунаправленного канала, или получатель при передаче с открытым ключом может зашифро­вать общий секретный ключ и переслать его отправителю для исполь­зования в будущих коммуникациях (потому что шифрование с се­кретным ключом быстрее, чем шифрование с открытым ключом).

Если хакер перехватит открытый ключ (или ключ для зашифровки), он сможет только зашифровать данные и передать их получателю, но не сможет расшифровать содержание перехваченных данных.

Шифрование вложенных данных. Шифрование вложенных данных (data payload encryption) используется для сокрытия содержания инкапсу­лированных данных при шифровании инкапсулированных IP-пакетов и данных, и внутренняя структура частных сетей сохраняется в секрете. Шифрование вложенных данных может осуществляться при помощи одного из криптографических методов обеспечения безопасности, кото­рые различаются в зависимости от вашего решения VPN.

6.5.2. IPSec

IPSec (Internet Protocol Security) это система стандартов IETF для без­опасных IP-коммуникаций, полагающаяся на шифрование для обеспе­чения подлинности и закрытости IP-коммуникаций. IPSec обеспечи­вает механизм, посредством которого можно реализовать следующее:

• проверять подлинность отдельных IP-пакетов и гарантировать, что они не были изменены;

• шифровать вложенные данные отдельных IP-пакетов между дву­мя оконечными системами;

• инкапсулировать TCP или UDP сокет между двумя оконечными системами (хостами) внутри защищенного IP-канала (туннеля), уста­новленного между промежуточными системами (маршрутизатора­ми) для обеспечения функционирования виртуальной частной сети.

IPSec реализует эти три функции при помощи двух независимых ме­ханизмов: протокол Authentication Headers '(АН) для аутентификации и протокол Encapsulation Security Payload (ESP) для шифрования час­ти данных IP-пакета. Эти два механизма могут применяться вместе или по отдельности.

Механизм АН работает, вычисляя контрольную сумму всей инфор­мации заголовка TCP/IP и зашифровывая контрольную сумму при помощи секретного ключа получателя. Получатель расшифровывает контрольную сумму при помощи своего секретного ключа и затем све­ряет заголовок с расшифрованной контрольной суммой. Если вычис­ленная контрольная сумма отличается от контрольной суммы заголов­ка, то в этом случае либо не удалась расшифровка из-за неправильного ключа, либо заголовок был изменен при передаче. В любом случае пакет отбрасывается.

IPSec может действовать в одном из двух режимов: транспортном ре­жиме (transport mode), который работает в точности как обычный IP, за исключением того, что проводится аутентификация заголовков (АН) и содержимое шифруется (ESP), или в туннельном режиме (tunnel mode), в котором IP-пакеты целиком инкапсулируются внутрь пакетов АН или ESP для обеспечения безопасного туннеля. Транспорт­ный режим используется для обеспечения безопасного или аутентич­ного взаимодействия через открытые области IP между соединенны­ми через Интернет хостами в любых целях, в то время как туннельный режим используется для создания безопасных каналов передачи дан­ных между маршрутизаторами или другими конечными точками сети в целях связывания двух частных сетей.

Туннельный режим. При обычном маршрутизируемом соединении хост передает IP-пакет своему шлюзу по умолчанию, который продвигает пакет до тех пор, пока он не достигнет шлюза по умолчанию получателя, который затем передает его конечному хосту. Все компьютеры в соеди­нении должны быть в одном открытом адресном пространстве.

В IP поверх IP, или IP/IP, шлюз по умолчанию (или другой маршру­тизатор по пути следования) получает пакет и замечает, что его марш­рут для этого пакета задает туннель IP/IP, поэтому он устанавливает TCP/IP-соединение с удаленным шлюзом. При помощи этого соеди­нения шлюз передает весь IP-трафик хоста-инициатора внутри этого соединения, вместо того чтобы продвигать его.

IPSec реализует и IP/IP, и IPSec/IP. IP/IP обеспечивает незашифро­ванный виртуальный туннель между двумя оконечными системами a IPSec/IP применяет ESP для шифрования вложенных данных несуще­го IP, таким образом зашифровывая весь инкапсулированный IP-пакет

Internet Key Exchange. IPSec использует криптографию открытого ключа для шифрования данных между оконечными системами. Для того чтобы установить IPSec-соединение с хостом-получателем, пере­дающий хост должен знать открытый ключ этого хоста. Технически отправитель может просто запросить у хоста открытый ключ, но это е обеспечит аутентификации — любой хост может запросить ключ и получить его. Таким образом работает SSL, подлинность компьютер; не имеет значения, и SSL полагается на какой-либо другой протокол для аутентификации пользователя после установки туннеля.

IPSec использует концепцию Security Association (безопасная ассоциа­ция, SA) для создания именованных комбинаций ключей и политики, используемых для защиты информации для определенной функции. Политика может указывать определенного пользователя, IP-адрес хо­ста или сетевой адрес, аутентификация которых должна быть прове­дена, или задавать маршрут, где можно было бы получить такую ин­формацию.

Internet Key Exchange (IKE) устраняет необходимость вручную вводить ключи в системы. IKE использует безопасность с секретным ключом для подтверждения своих полномочий для создания IPSec-соединения и для секретного обмена открытыми ключами. Протокол IKE также способен согласовывать совместимый набор протоколов шифрования с чужим хостом, так что администраторам не нужно знать, какие имен­но протоколы шифрования поддерживаются на хосте другой стороны. После обмена открытыми ключами и согласования протоколов шиф­рования безопасные ассоциации автоматически создаются на обоих хостах и может быть установлено обычное IPSec-взаимодействие. С использованием IKE в каждый компьютер, которому требуется взаи­модействие через IPSec, должен быть введен только один секретный ключ. Этот ключ может быть использован для создания соединения IPSec с любым другим IPSec-хостом, обладающим этим же секретным ключом

В Windows 2000 можно сконфигурировать политики IPSec для использова­ния Kerberos для автоматического обмена секретными ключами для IKE Это устраняет потребность в ручном вводе ключей и позволяет реализовать полностью автоматическое безопасное шифрование между членами одной Active Directory в сетях Windows 2000

Инициатор IKE начинает IKE-запрос, отправляя удаленному хосту запрос на соединение в виде простого текста. Удаленный хост гене­рирует случайное число, сохраняет его копию и отправляет копию об­ратно инициатору. Инициатор шифрует свой секретный ключ с использованием случайного числа и отправляет его удаленному хосту. Удаленный хост расшифровывает секретный ключ, используя свое сохраненное случайное число, и сравнивает закрытый ключ со своим секретным ключом (или списком ключей, называемом связкой ключей (keyring)). Если секретный ключ не совпадает ни с одним ключом из списка, удаленный хост разорвет соединение. Если совпадет, уда­ленный хост зашифрует свой открытый ключ при помощи секретного ключа и отправит его обратно инициатору. Инициатор затем восполь­зуется открытым ключом для установки сеанса IPSec с удаленным хо­стом.


Инициирование процедуры обмена ключами (IКЕ)



Случайный ключ



Зашифрованный секретный ключ



Шифрованный открытый ключ



Рис. 6.5.2.1. Пример работы Internet Key Exchange.

Реализация Microsoft IPSec не завершена полностью, потому что стандарты IPSec все еще появляются. Практическим следствием этого является то, что реали­зация IPSec в Windows 2000 по умолчанию несовместима с реализаци­ями большинства поставщиков брандмауэров

6.5.3. L2TP

Layer 2 Tunneling Protocol является расширением протокола Point-to-Point Protocol (протокол точка-точка, РРР) и позволяет разде­лить конечную точку канала передачи данных и точку доступа к сети. В традиционном РРР пользователь (обычно удаленный пользователь) устанавливает РРР-соединение с сервером удаленного доступа. Этот сервер отвечает на соединение канального уровня (звонок через модем) и также работает как точка доступа к сети, извлекая данные, инкап­сулированные в РРР-сообщение, и передавая их в сеть назначения. Инкапсулированные данные могут быть кадром AppleTalk, IP-пакетом, IPX-пакетом, пакетом NetBIOS или любым другим пакетом сетевого уровня.

В Windows 2000 эта служба называется RRAS.

L2TP отделяет ответы на звонки и маршрутизируемый доступ по сети При работе по протоколу L2TP звонящая сторона может дозвани­ваться к модемному пулу (или DSL Access Module, или чему-либо еще) и эти устройства могут просто инкапсулировать полученные пакеты L2TP в пакеты Frame Relay, ATM или TCP/IP для дальнейшей пере­дачи серверу удаленного доступа. По достижении сервера удаленного доступа содержимое пакетов L2TP извлекается и вложенные данные передаются в локальную сеть.

L2TP предназначен для того, чтобы дать возможность поставщикам услуг Интернета использовать менее дорогостоящее оборудование, раз­деляя функции сервера удаленного доступа на аппаратную функцик (физический прием данных через соединение) и программную функцию (получение инкапсулированных данных РР-Р), что может быть реали­зовано на разных компьютерах. Это дает ряд важных преимуществ:

• пользователи могут дозваниваться до локального модемного пула который будет передавать L2TP находящемуся на большом расстоянии серверу удаленного доступа, таким образом избегая затрат на звонки на большое расстояние при удаленном доступе с прямым дозвоном;

• вложенные данные в L2TP могут быть зашифрованы при помощи IPSec для обеспечения удаленного доступа с защищенной аутентификацией;

• многоканальные сеансы L2TP могут физически обрабатываться различными приемниками и корректно связываться с единствен­ным сервером удаленного доступа. В нынешней реализации многоканальных РРР-соединений все каналы должны быть соединены одним и тем же сервером удаленного доступа.

L2TP может использовать IPSec для шифрования кадров РРР, такт образом предоставляя удаленным пользователям возможность без опасного РРР-сеанса. L2TP специально разрабатывался для предоставления удаленному пользователю возможностей аутентификации и подключения к удаленным сетям. Поскольку L2TP является расши­рением РРР, любой протокол сетевого уровня (например, IPX, NetBEUI или AppleTalk) может быть встроен внутрь L2TP. В противоположность этому, оба протокола РРТР и IPSec предназначены для использования в IP-сетях и не работают с другими протоколами. Применение РРР также обеспечивает поддержку всех стандартных протоколов аутенти­фикации пользователя, включая CHAP, MS-CHAP и ЕАР.

L2TP использует в качестве своего транспорта UDP, а не TCP/IP, потому что встроенный протокол РРР может обеспечить необходи­мую гарантию надежности для потока L2TP работает через порт 1701 UDP.

6.5.4. РРТР

РРТР был первой попыткой Microsoft предоставить безопасный уда­ленный доступ пользователям сети. По существу, РРТР создает за­шифрованный сеанс РРР между хостами TCP/IP. В отличие от L2TP, РРТР действует только поверх TCP/IP; L2TP может работать поверх любого транспорта пакетов, включая Frame Relay и ATM. РРТР не использует IPSec для шифрования пакетов, вместо этого он использу­ет хэшированный пароль пользователя Windows 2000 для создания закрытого ключа между клиентом и удаленным сервером, который (в версии с 128-битным шифрованием) задействует случайное число для повышения устойчивости шифрования.

7. Разработка программы определяющей имя компьютера и

его ip-адрес.

      Постановка задачи и определение основных

целей программы.

Поставлена задача составить программу которая могла бы получать имя компьютера (рабочей станции), определять его ip-адрес в сети и выводить эти данные на экран. Программа должна работать в среде Win32, использовать минимум ресурсов, быть достаточно компактной и написанной на языке высшего уровня.

      Принцип работы программы.

Для написания программы был использован язык программирования макро Ассемблер (MASM).

Использовались следующие библиотеки: wsock32.lib, user32.lib, kernel32.lib, gdi32.lib.

При запуске программы (exe файла) она обращается через АР-функции к динамическим библиотекам Windows и получает из них необходимые данные, далее через АР-функции выводит полученные данные (имя и ip-адрес рабочей станции) на экран в стандартном для Windows окне, окно фиксированного размера.

Программа скомпилирована с включением makefile (файла сборки). makefile считает что в директория masm32 находится на том же накопителе и – в стандартной instalation позиции. Так же имеется файл используемых программой ресурсов.


Рис. 7.2.1. Внешний вид окна программы

Выводы

Безопасность — это комплекс мер, принимаемых для предотвращения потери или раскрытия информации в сети. Поскольку невозможно абсолютно устранить вероятность потери в пригодных к работе систе­мах, определенная степень риска неизбежна, и безопасность си­стемы должна основываться на фундаменте предоставления доступа только надежным принципалам безопасности (пользователям или компьютерам).

Для управления безопасностью любая система должна:

• контролировать доступ;

• идентифицировать пользователей;

• ограничивать или разрешать доступ;

• записывать деятельность пользователей;

• осуществлять закрытое взаимодействие между системами;

• минимизировать риск неправильной конфигурации.

Шифрование, процесс сокрытия сообщения при помощи математиче­ского алгоритма (шифра), и секретное значение (ключ), известное только легитимным сторонам, образуют основу всей современной компьютерной безопасности. Шифрование может быть использова­но для подтверждения идентификационных данных пользователя или компьютера, для проверки допустимости данных или для сокрытия со­держимого данных при хранении или в коммуникационном потоке.

Безопасность Windows 2000 основывается на аутентификации пользователей. Входя в систему Windows 2000, пользователи подтверждают свою личность для того, чтобы получить доступ к файлам, программам и общим данным на серверах. Windows 2000 использует проникаю­щую модель безопасности, в которой идентификационные данные пользователя проверяются при всех действиях, выполняемых пользо­вателем на компьютере, вместо того чтобы предоставлять широкий доступ к компьютеру после того, как произошел успешный вход в систему.

Для того чтобы операционная система была надежной, она должна быть способной гарантировать, что не подвергалась несанкциониро­ванным изменениям и что информация может храниться в безопасно­сти от пользователей. Windows 2000 использует разрешения файловой системы NTFS для управления доступом к файлам, включая файлы, обеспечивающие загрузку Windows 2000. Разрешения могут быть пре­доставлены пользователям и группам пользователей для каждой функ­ции файловой системы. Файлы также могут быть зашифрованы на диске для гарантии того, что к ним не будет получен доступ, даже когда компьютер выключен.

Сетевая безопасность Windows 2000 управляется при помощи Active Directory, используемой в качестве репозитария хэшированных паро­лей Kerberos, групповых политик и политик IPSec. Active Directory определяет также взаимоотношения между принципалами безопас­ности.

Windows 2000 использует Kerberos для проверки идентификационных данных пользователя по сети. Kerberos является надежной системой безопасности третьей фирмы. Поскольку обе конечные точки во вза­имодействии доверяют и доверяемы сервером Kerberos, они доверяют друг другу. Серверы Kerberos могут доверять другим серверам Kerberos, поэтому могут быть созданы транзитивные доверительные отношения, дающие возможность конечным точкам из разделенных большим рас­стоянием сетей устанавливать сеансы взаимодействия с проверкой подлинности. Kerberos интегрирован с Active Directory (все контрол­леры домена являются центрами Kerberos Key Distribution Center (центрами распределения ключей Kerberos)), и вхождение в одно дере­во домена автоматически создает транзитивные двусторонние довери­тельные отношения.

Групповые политики применяются для установки требований безопас­ности и конфигурации компьютеров и учетных записей пользователей в домене, офисе или контейнере OU. Можно применять групповые политики для управления практически всеми элементами безопасно­сти компьютеров и пользователей. Групповые политики управляются из оснастки Active Directory Users and Computers (Пользователи и ком­пьютеры) или через оснастку Active Directory Sites and Services (Сайты И службы).

IPSec является стандартом Интернета для обеспечения аутентично­сти IP-пакетов и для шифрования данных, вложенных в IP-пакеты. IPSec работает со многими различными алгоритмами безопасности и может работать в обычном транспортном режиме или туннельном режиме для эмуляции закрытого канала в открытой сети, такой как Интернет.

Безопасность в эру Интернета означает активную блокировку сеансов от неизвестных компьютеров, авторизацию пользователей на основе сертификатов публичных ключей шифрования, аудита использования файлов и каталогов, шифрование передачи данных и предотвращение непреднамеренной активизации вирусов и троянских коней легитимными пользователями.

Вынеся уроки из плохо подготовленной Windows NT4, Windows 2000 предоставляет сложный набор средств аутентификации пользовате­лей, шифрования данных, обеспечения безопасных соединений, бло­кировки несанкционированного доступа и целостного управления безопасностью. При помощи набора служб по умолчанию Windows 2000 можно сделать более безопасной, чем любую другую операционную систему для массового рынка — в том числе все версии UNIX или Linux, — и ею гораздо проще управлять и использовать в безопасном состоянии.

Windows 2000 не может, тем не менее, предусмотреть все, потому что Microsoft и поставщики программного обеспечения третьих фирм пока еще во главу угла ставят простоту использования, а не безопасность в потребительских продуктах, таких как Internet Explorer, Outlook и Office. Во всех этих программах существуют серьезные изъяны в без­опасности из-за их встроенных сценарных процессоров, требующих от администраторов сетей неустанной бдительности. Windows 2000 так­же может помочь в исправлении этих проблем, но пока Microsoft в сво­их продуктах для конечных пользователей не станет уделять основное внимание безопасности, единственным способом предотвратить про­блемы безопасности в вашей сети, вызванные этими программами, —это вообще их не использовать.

Список литературы:

    В. Олифер Н. Олифер. Сетевые операционные системы – С. Петербург.: Питер., - 2003.

    Марк Джозеф Эдвард, Дэвид Лебланк. Где NT хранит пароли. - Журнал "Windows 2000 Magazine", -02/1999

    Мэтью Штребе. Windows 2000: проблемы и решения. Специальный справочник – С.Петербург.: Питер., -2002.

    Андреев А. Г. и др. Microsoft Windows 2000: Server и Professional. Русские версии. – BHV, -2001.

    Грег Тодд. Windows 2000 Datacenter Server //по материалам сайта http: www.citforum.ru

    Криста Андерсон. Администрирование дисков в Windows 2000.-Журнал "Windows 2000 Magazine", -03/2000 //по материалам сайта http: www.citforum.ru

    Джеффри Р. Шапиро. Windows 2000 Server. Библия пользователя – Вильямс, - 2001.

    Гарри М. Брелсфорд. Секреты Windows 2000 Server – Вильямс, -2000.

    Гусева. Сети и межсетевые коммуникации. Windows 2000 - Диалог Мифи, - 2002.

Приложение А

Исходный текст программы

.386

.model flat, stdcall

option casemap :none

include /masm32/include/windows.inc

include /masm32/include/user32.inc

include /masm32/include/kernel32.inc

include /masm32/include/wsock32.inc

include /masm32/include/gdi32.inc

includelib /masm32/lib/wsock32.lib

includelib /masm32/lib/user32.lib

includelib /masm32/lib/kernel32.lib

includelib /masm32/lib/gdi32.lib

WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD

.data

dlgname db "WINSOCK",0

szTitle db "Ip Dialog",0

wsaError db "Error initializing winsock!",13,10

szName db "Computer Name: %s",0

szFont db "MS Sans Serif",0

.data?

wsa WSADATA <?>

hStatic dd ?

hFont dd ?

hInstance dd ?

buffer db 24 dup (?)

buffer2 db 128 dup (?)

.code

start:

invoke GetModuleHandle, NULL

mov hInstance, eax

invoke WSAStartup,101h,addr wsa

.if eax == NULL

invoke DialogBoxParam,hInstance,ADDR dlgname,0,ADDR WndProc,0

invoke ExitProcess,0

.endif

invoke MessageBox,NULL,offset wsaError,offset szTitle,MB_OK + MB_ICONSTOP

invoke ExitProcess,1

WndProc proc hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD

.if uMsg == WM_INITDIALOG

invoke LoadIcon,hInstance,101

invoke SendMessage,hWin,WM_SETICON,TRUE,eax

invoke GetDlgItem,hWin,2000

mov hStatic,eax

invoke gethostname,offset buffer,sizeof buffer

invoke wsprintf,addr buffer2,addr szName,addr buffer

invoke SetDlgItemText,hWin,3000,addr buffer2

invoke gethostbyname,addr buffer

mov eax,[eax+12]

mov eax,[eax]

mov eax,[eax]

invoke inet_ntoa,eax

invoke SetDlgItemText,hWin,2000,eax

invoke WSACleanup

xor eax,eax

ret

.elseif uMsg == WM_CTLCOLORSTATIC

mov eax,lParam

.if eax == hStatic

invoke CreateFont,16,16,0,0,400,0,0,0,OEM_CHARSET,\

OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,\

DEFAULT_QUALITY,DEFAULT_PITCH or FF_SWISS,\

ADDR szFont

mov hFont,eax

invoke SelectObject, wParam, hFont

invoke GetSysColor, COLOR_MENU

invoke SetBkColor, wParam, eax

invoke SetTextColor,wParam,Blue

invoke GetStockObject, HOLLOW_BRUSH

ret

.endif

.elseif uMsg == WM_CLOSE

invoke DeleteObject,hFont

invoke EndDialog,hWin,0

xor eax,eax

ret

.endif

xor eax,eax

ret

WndProc endp

end start

Приложение Б

Файл сборки

makefile

NAME=ip

$(NAME).exe: $(NAME).obj $(NAME).res

\masm32\bin\Link /sub>SYSTEM:WINDOWS /LIBPATH:\masm32\lib $(NAME).obj $(NAME).res

$(NAME).res: $(NAME).rc

\masm32\bin\rc $(NAME).rc

$(NAME).obj: $(NAME).asm

\masm32\bin\ml /c /coff /Cp $(NAME).asm

Приложение В

Файл используемых ресурсов

ip.rs

#include "\masm32\include\resource.h"

WINSOCK DIALOG DISCARDABLE 0, 0, 135, 25

STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU

CAPTION "Ip Dialog"

FONT 8, "MS Sans Serif"

BEGIN

GROUPBOX "&Main",3000,0,0,135,25

CTEXT "Static",2000,4,9,127,12,SS_CENTERIMAGE | SS_SUNKEN

END

101 ICON DISCARDABLE "ico101.ico"