Реферат: Анализ системы безопасности 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 2000AdvancedServerразработчикифирмы Microsoft постаралисьучесть каксуществующийопыт использованиясистемы безопасностиWindows NT 4.0, так и реализоватьновые наборымеханизмови протоколовбезопаснойработы с информацией.Windows NT 4.0 выбрана неслучайно: онапозиционируетсякак ОС дляпредприятий, обладает встроеннымивозможностямиразграничениядоступа к ресурсами за 6 лет эксплуатациихорошо зарекомендоваласвои существующиеи потенциальныевозможностибезопасности.Но если заглянутьв Windows 2000 AdvancedServer, то, очевидно, что, несмотряна большоеколичествомеханизмовбезопасности, внесенных вновую ОС изWindows NT 4.0, все онипретерпелисущественныеизменения всторону увеличенияудобства, надежностии функциональности.
Несмотряна то что, судяпо пользовательскомуинтерфейсу,Windows2000 AdvancedServerбольше похожана Windows98, на самом делеона являетсяпреемникомWindowsNTи даже называласьWindowsNT5 на первом этапеработы надбета-версией.Хотя 2000 и базируетсяна WindowsNT, операционнаясистема былакардинальноусовершенствованаи обновлена, был также полностьюпересмотренинтерфейсадминистрирования.NT4 отличаласьот NT3.51 главным образомконцепциейпользовательскогоинтерфейсав виде рабочегостола, большинствосредств администрированияостались темиже. В Windows2000 AdvancedServerизменилсякаждый инструментадминистрирования.Все средстваадминистрированиябыли унифицированыпутем преобразованияв «оснастки»(snap-in)псевдоиерархическогосредства управленияMicrosoftManagementConsole(консоль управленияMicrosoft,MMC).
СистемаWindows2000 AdvancedServerкомпании Microsoftобеспечиваетвозможностьбезопасногодоступа к ресурсамсистемы. Еслидля вас, самымважным ресурсом, подлежащимзащите, являютсяфайлы, можнонастроитьсистему так, чтобы иметьвозможностьконтролироватьто, как другиепользователичитают, записывают, создают и изменяютфайлы и папкина вашем компьютере.
Это возможнотолько прииспользованиисистемы NTFS.Система быласоздана дляWindowsNT, предшественникаWindows2000 AdvancedServer, и являетсяодной из трехсистем, которыеможно использоватьна жесткомдиске компьютера.
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.Системы семействаWindowsNT.
При разработке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, EventViewer, Performance Monitor, DHCP Manager, WINS Manager, NetworkClient Administrator, License Manager и Migration Tool forNetWare не претерпелисущественныхизменений.Remote Access Administrator также неизменился, онбыл перенесениз отдельнойпапки в менюAdministrative Tools. Редакторсистемнойполитики SystemPolicy Editor, совместимыйкак с Windows NT, так ис Windows 95, заменилредактор профилейпользователейUser Profile Editor, знакомыйпо версиямWindows NT Server 3.x. В версию4.0 вошли четыредополнения: административныепрограммы-мастераAdministrative Wizards, System Policy Editor, а такжерасширенноесредство Windows NTDiagnostics и программаNetwork Monitor (программамониторингаработы сети, ранее поставлявшаясятолько в составепродукта MicrosoftSystems Management Server).
Кроме того, в состав Windows NT 4.0вошла Web-ориентированнаяутилита администрирования, открывающаядоступ к средствамадминистрированияWindows NT из любогоWeb-броузера.
Windows2000 — следующеевоплощениеWindowsNT, которую Microsoftсоздала дляоказаниянепосредственнойконкуренцииOS/2, NetWareи UNIXна рынках файловыхсерверов инебольшихсерверов приложений.В процессесоздания бета-версииWindows2000 называласьWindowsNT5, однако Microsoftизменила имяна Windows2000, чтобы уменьшитьпутаницу средиклиентов послетого, как онизакончат работус продуктамиоснованногона MS-DOSтрека разработокWindows9х.
Для тогочтобы в условияхжесткой конкуренцииWindows2000 достигла успехакак сетеваяоперационнаясистема, Microsoftспроектировалаподдержкунекоторыхважных вычислительныхтехнологий.Это следующиеключевые технологии:
• многопроцессорнаяобработка;
• многопоточность;
• поддержкабольших приложений;
• платформонезависимость;
• всеобъемлющаябезопасность;
• обратнаясовместимость.
Многиефункции Windows2000, такие какбезопасностьдисков и возможностисетевоговзаимодействия, в действительностиявляются функциямислужб и драйверов, работающихповерх этойбазовой архитектуры.
--PAGE_BREAK--
3.АнализбезопасностиWindows 2000Advanced Server.
3.1. ТеорияБезопасности
КогдаWindowsNTвпервые появиласьв 1993 г., под безопасностьюподразумевалисьмеры предохраненияважной информациина сервереот просмотране имеющимина то правпользователямии, возможно, использованиебезопасностиобратноговызова дляпользователейудаленногодоступа дляконтроля завходящимителефоннымиподключениямик системе. WindowsNTсчиталасьбезопасной, потому что онаиспользовалаоднонаправленныехэш-значенияпаролей дляаутентификациипользователейи наследуемыетокены безопасностидля безопасностимежпроцессноговзаимодействия.
Интернетполностьюизменил картину.WindowsNT4 была выпущенав 1996 г. вместе сновым и недоработаннымстеком TCP/IP, какраз когда Интернетнабирал обороты, и операционнаясистема оказаласьнеподготовленнойк хакерскиматакам черезИнтернет, которыепродолжалисьв течение всехчетырех летее жизни послевыпуска. Microsoftвыпускала всеновые заплаткии пакеты обновления, пытаясь залататьновые бреши, обнаруживаемыев службах, протоколахи драйверахWindowsNT.
Многиеиз дыр былиобразованыновыми компонентамипо выбору WindowsNT, такими какInternetInformationServerи FrontPageServerExtensions.Большую частьпроблемы составлялосамо предоставлениеслужбы Интернета.
Безопасность(security)— это совокупностьмер, принимаемыхдля предотвращениялюбого родапотерь. Система, обладающаяфундаментальнойбезопасностью,— это такаясистема, в которойникакой пользовательне обладаетдоступом к чемубы то ни было.К сожалению, такие полностьюбезопасныесистемы бесполезны, поэтому необходимопринять определенныйриск в областибезопасности, для того чтобыобеспечитьвозможностьпользованиясистемой. Цельуправлениябезопасностью— минимизироватьриск, возникающийпри обеспечениинеобходимогоуровня удобстваиспользования(usability)системы.
Всясовременнаякомпьютернаябезопасностьосновываетсяна фундаментальнойконцепцииличности (identity)пользователя.Для получениядоступа к системелюди идентифицируютсебя тем способом, которомудоверяет система.Этот процессназываетсявходомв систему (loggingon).После того какпользовательвошел в систему, его доступ кданным и программамможет однозначноконтролироватьсяна основе еголичности.
Чтобыподдерживатьнадежностьсистемы, доступк системе никогдане должен бытьразрешен безпрохожденияпроцедуры входав систему. Дажев системах, открытых дляпубличногоанонимногодоступа, должныприменятьсяучетные записи(account)для контроляза тем, какиеанонимныепользователиобладают доступом.Нельзя контролироватьбезопасность, если не имеющимна то правапользователямне может бытьзапрещен доступ.
В системах, основанныхна идентификации, каждый пользовательдолжен иметьуникальнуюучетную записьи ни одна учетнаязапись никогдане может бытьиспользованаболее чем однимлицом.
Windows2000 AdvancedServer(в дальнейшем- Windows2000) используетряд механизмовдля обеспечениябезопасностилокальногокомпьютераот злоумышленныхпрограмм, идентификациипользователейи обеспечениябезопасностипередачи данныхпо сети. ОсновныемеханизмыбезопасностиWindows2000 перечисленыниже. В их числе:
• тотальныйконтроль задоступомпредотвращаетподключениененадежныхкомпьютеровк безопаснымсистемам припомощи фильтрациипакетов и трансляциисетевых адресов, гарантируячто разрешенныесеансы пользователейне могут бытьсфальсифицированы, украдены илимистифицированы, при помощиKerberosи IPSec, и предотвращаетнарушениепрограммойадресногопространствадругой программыпри помощизащиты памяти;
• определениеличности пользователяпри помощиметодов аутентификации, таких как Kerberos,MessageDigestAuthentication, смарт-карты, аутентификацияRADIUSили протоколыаутентификациитретьих фирм, например те, в которых реализованыбиометрическиеспособы;
• запретили разрешениедоступа наоснове личностипользователя, при помощисписков контролядоступа дляобъектов суправляемойбезопасностью, таких как принтеры, службы и хранимыена NTFSфайлы и каталоги; посредствомшифрованияфайлов припомощи EncryptingFileSystem(шифрованнойфайловой системы,EFS); путем ограничениядоступа квозможностямоперационнойсистемы, которыемогут бытьиспользованынеправильно, при помощигрупповойполитики ипутем авторизацииудаленныхпользователей, подключенныхчерез Интернетили удаленноесоединение, при помощиполитики RRAS;
• записьдеятельностипользователяпосредствомжурналов аудитаособенно значимойинформациии журналовсоединенийдля публичныхслужб, такихкак Webи FTP;
• закрытаяпередача данныхмежду компьютерами, с использованиемIPSec,PPTPили L2TPдля шифрованияпотока данныхмежду компьютерами.РРТР и L2TPпозволяютпользователяминициироватьбезопасныепотоки передачиданных, в товремя как IPSecиспользуетсядля того, чтобыпозволить двумкомпьютерамбезопаснопередаватьданные черезпубличный каналпередачи данныхнезависимоот личностипользователя;
• минимизацияриска неправильнойконфигурациипутем группировкипохожих механизмовбезопасностив политики ипоследующегопримененияэтих политикк группам похожихпользователейили компьютеров.Средства управлениягрупповымиполитиками, политикамиRRASи политикамиIPSecв Windows2000 позволяютадминистраторамосуществлятьсквозные измененияв больших частяхсистемы безопасности, не заботясьоб отдельныхошибках.
Управлениебезопасностьюдолжно осуществлятьсяс учетом всейсистемы сети.Включениеиндивидуальныхсредств обеспечениябезопасностине дает полнойбезопасности, потому чтосуществуетнеисчислимоеколичествоспособов обойтииндивидуальныесредствабезопасности.
Windows2000 в своем состояниипо умолчаниюсконфигурированакак удобная, а не безопаснаясистема. Жесткиедиски создаютсяпо умолчаниюс полным доступомдля всех, никакихгрупповыхполитик поумолчаниюне установлено, и большая частьмежкомпьютерныхвзаимодействийнебезопасна.По умолчаниюникакие файлыне шифруются, и не включеныникакие фильтрыпакетов.
Для созданиябезопаснойсистемы необходимоустановитьвсе важныесредства обеспечениябезопасностии затем ослаблятьэти установкидля обеспечениядоступа имеющимна это правопользователями повышенияпроизводительности.
Несмотряна большоепродвижениев области целостногоуправления, в Windows2000, еще многоеможно сделатьдля обеспечениябезопасностиконфигурациипо умолчанию.Тем не менее, инструментальныесредства легконайти и онипрекрасноработают вместе, предоставляяуправляемыйинтерфейс длянастройкихарактеристикбезопасности.
3.1.1.Криптография.
Криптография(cryptography)— это наука окодах и шифрах.Windows2000 используетповсеместноприменяющуюсякриптографиюдля засекречиваниявсего, начинаяот хранимыхфайлов и потоковпередачи данныхдо паролейпользователейи аутентификациидомена.
Криптографияи шифрованиеиграют важнуюроль в безопасностиWindows2000.
Все новыевозможностиобеспечениябезопасностиWindows2000 основаны накриптографии.В отличие отэтого, в первомвыпуске WindowsNTкриптографияиспользоваласьтолько дляхэшированияпаролей. В течениепериода использованияWindowsNT4 в операционнуюсистему былидобавленыразнообразныеэлементы крипографии, но они не обрабатывалисьсогласованнои безопасно.Windows2000 меняет такоеположениедел, используяActiveDirectoryкак контейнерпрактическидля всей конфигурации, связанной сбезопасностью, и примененияполитик.
Windows2000 используетшифрование(encryption)в трех жизненноважных целях:
• для подтвержденияидентичностипринципалабезопасности;
• для подтверждениядостоверностисодержимогосообщения илифайла;
• чтобы скрытьсодержимоехранилища илипотока данных.
Шифр(cipher)— это алгоритмшифрования, он защищаетсообщение, переупорядочиваяего или осуществляяизменения вкодировании, но не в смысловомзначении сообщения.Код(code)— это согласованныйспособ сохранениятайны сообщениймежду двумяили болееличностями.Ключ(key)— это небольшаяпорция информации, которая необходимадля расшифровкисообщения, обычно в видезначения, используемогов шифре длязашифровкисообщения. Ключдолжен держатьсяв секрете, длятого чтобысообщениеоставалосьзакрытым.
3.1.2. Алгоритмышифрования
Одиниз алгоритмов, который былразработанв секрете, нопотом сталдоступен дляобщественногоиспользования, так же как идля государственного(но только дляинформации«UnclassifiedbutSensitive», несекретной, но важной), —это алгоритмDataEncryptionStandard(стандарт)шифрованияданных), илиDES.Этосимметричныйалгоритм, чтозначит, чтоодин и тот жеключ используетсяи для шифрования, и для расшифровки; он был предназначендля использования56-разрядно-Зго ключа. DESшироко используетсяв коммерческомпрограммномобеспечениии в устройствахсвязи, поддерживающихшифрование.
RSA(названный поименам своихсоздателей,Rivest,Shamirи Adleman)— это алгоритм, который не былразработанправительственнымагентством.Его создателивоспользовалисьвычислительно-затратнойпроблемойразложенияна простыечисла для созданияасимметричного(asymmetric)алгоритма, илиалгоритмаоткрытогоключа (publickey), который можетбыть использовани для шифрования, и для цифровыхподписей. RSAс тех пор сталочень популярнойальтернативойDES.RSAиспользуетсярядом компанийпо производствупрограммногообеспечения, чьи продуктыдолжны осуществлятьбезопасныесоединениячерез небезопасныйИнтернет (такие, как web-браузеры), в числе которыхMicrosoft,Digital,Sun,Netscapeи IBM.
Эти шифрыне единственновозможные дляиспользованияв компьютерахи сетях. Правительстваразных странСША и бывшегоСССР активноразрабатываликоды и шифры, много частныхлиц (особенноза последнеедесятилетие)внесли вкладв развитиекриптографии.GOST(ГОСТ) был разработанв бывшем СССР,FEALбыл разработанNTTв Японии, LOKIбыл разработанв Австралиии IDEA— в Европе.Большинствоэтих шифровиспользуютзапатентованныеалгоритмы, которые должныбыть лицензированыдля коммерческогоиспользования, но не все (например,Blowfish).Каждый шифробладаетдостоинствамии недостатками.
Все этишифрыобладаютоднимслабымместом: еслиизвестеншифр, которыйиспользовалсядлязашифровкисообщения, нонеизвестенключ, можноиспользоватьрядатакдлятого, чтобыпопытатьсядекодироватьсообщение, втомчислеиметод«грубойсилы», пытаясьперепробоватьвсевозможныеключи.
Назначениешифров, в конечномитоге, — скрыватьинформацию.Противоположностьюсокрытия информацииявляются попыткираскрыть, чтоже было засекречено, и прогресс вобласти взлома(breaking)кодов (илирасшифровкикодов без ключа)идет в ногу сразработкамив области созданиякодов. Деятельностьпо осуществлениюпопыток взломакодов называетсякриптоанализом(cryptanalysis), а люди, которыевзламываюткоды, называютсякриптоаналитиками(cryptanalyst).На системыбезопасностиможет бытьпроизведенряд криптоаналитическихатак различныхтипов.
Атакапереборомключей. Переборпространстваключей (keyspacesearch) подразумеваетпроверку всехвозможныхключей, которыемогли использоватьсядля зашифровкисообщения.
Известныйисходный текст.Для многихшифров криптоаналитикможет сократитьчисло перебираемыхвозможныхключей, еслиуже известенисходный текстзашифрованногосообщения.
Линейныйи дифференциальныйкриптоанализ.Криптоаналитикможет такжеискать математическиесовпаденияво всех собранныхзашифрованныхтекстах, которыебыли зашифрованыпри помощиодного ключа.
Существуетодин шифр —одноразоваяподстановка(one-timepad)— который нельзяразгадать, еслинет ключа, дажеимея в распоряжениивсе оставшеесявремя существованиявселенной ивсе теоретическивозможныевычислительныевозможности.К сожалению, требованияэтого шифраделают егонепригоднымк использованию, за исключениемопределенныхвидов коммуникаций, не требующихвысокой пропускнойспособности.
3.1.3.Симметрическиефункции
Еслиодин и тот жеключ может бытьиспользовандля зашифровкиили расшифровкисообщения, тотакой шифриспользуетсимметрическуюфункцию (symmetricfunction).Один ключ долженбыть и у отправителя, и у получателя.Ряд симметричныхшифров используетсяи в программном, и в аппаратномобеспечении.Получитьпредставлениео возможныхшифрах можно, сравнив следующиетри.
• DES.IBMи американскоеУправлениенациональнойбезопасности(NationalSecurityAgency,NSA)объединилиусилия дляразработкиэтого шифра.Он устойчивк дифференциальномукриптоанализу, но поддаетсялинейномукриптоанализу.Длина ключасоставляеттолько 56 бит, что сильнооблегчаетвозможностьпопробоватьвсе возможныеключи методомгрубой силыдля зашифрованного, текста. DESшироко применяетсяв программноми аппаратномобеспечениишифрования.Это стандартANSI.Windows2000 peaлизуети 40-битный DES, и 168-битный DES1(triple-DES(тройной DES)— DESс тремя непрерывнымиключами).
• IDEA.Этотшифр обладаетключом длиной128 бит — значительнобольше, чемиспользуетDES.В то время какобладающаясерьезноймотивациейи финансированиеморганизацияили большаякоманда хакеровможет взломатьзакодированноеDES-сообщение, большое пространствоключей делаетнеосуществимойатаку на IDEAпо методу грубойсилы. IDEAбыл разработанкак шифр, неуязвимыйдля линейногои дифференциальногокриптоанализа.IDEAзапатентованв Европе и США.
Blowfish.Этотшифр можетиспользоватьключ длинойот 32 до 448 бит, позволяя выбратьстепень секретностисообщения.
3.1.4.Однонаправленныефункции
При наборепароля длявхода в Windows2000, он шифруетсяи сравниваетсяс хранимымзашифрованнымзначениемпароля. Парольсохраняетсяпри помощиоднонаправленнойфункции (one-wayfunction), также называемойхэш(hash),trap-door,digestилиfingerprint1.
Хэш-функциитакже могутприменятьсядля другихцелей. Например, можно использоватьхэш-функцию, чтобы создать«отпечаткипальцев» файлов(создать цифровыеотпечаткипальцев, илихэш-значение, которое будетуникально дляданного файла).Хэш-функцияможет даватьрезультат, который будетгораздо меньше, чем входнойтекст, хэшированиезанимающегомного мегабайтовдокументатекстовогопроцессора, например, можетдать 128-разрядноечисло. Хэш-значениетакже уникальнодля файла, которыйего породил; практическиневозможносоздать другойфайл, которыйпроизвел быто же хэш-значение.
Однаизособенностейхэш-функций(особеннодающихкороткиехэш-значения)—этото, чтовсехэш-значенияравновероятны.Следовательно, практическиневозможносоздать другойфайл хэш-значениедля которогосовпадетсимеющимся.
Некоторымхэш-функциямтребуется ключ, другим — нет.Хэш-функцияс ключом можетвычислятьсятолько кем-либо(или чем-либо), имеющим этотключ.
3.1.5. Шифрованиес открытымключом
В то времякак симметричныешифры используютодин ключ длязашифровкии расшифровкисообщений, шифрованиес открытымключом (publickeyencryption), или шифр с открытымключом (publickeycipher), используетдля расшифровкиключ, отличныйот использованногопри шифровании.Это сравнительноновая разработкав криптографии, и она решаетмногие давнишниепроблемы системкриптографии, такие как способпередачи секретныхключей в первыйраз.
Проблемасимметричныхшифров состоитв следующем: и отправитель, и получательдолжен иметьодин и тот жеключ для того, чтобы обмениватьсязашифрованнымисообщениямичерез небезопасныйканал передачиданных. Еслидве сторонырешат обмениватьсязакрытымисообщениямиили если междудвумя устройствамив компьютернойсети или двумяпрограммамидолжен бытьустановленбезопасныйканал, две стороныкоммуникациидолжны принятьрешение обобщем ключе.Каждая стороналегко можетвыбрать ключ, но у этой стороныне будет никакогоспособа отправитьэтот ключ другойстороне, неподвергаясьриску перехватаключа по дороге.
Прииспользованиишифра с открытымключом одинключ (открытыйключ, publickey)используетсядля шифрованиясообщения, адругой ключ(закрытый ключ,privatekey)— это единственныйключ, которыйможет расшифроватьсообщение. Ктоугодно, имеяключ, можетзашифроватьсообщение, расшифроватькоторое можеттолько конкретныйпользователь.Безопасныешифры с открытымключом страдаютот одной проблемы— они медленны, гораздо медленнее, чем симметричныешифры. Работахорошего шифрас открытымключом можетотнять в 1000 разбольше временидля зашифровкиодного и тогоже количестваданных, чем ухорошегосимметричногошифра.
Хотясистемы открытого/закрытогоключа гораздомедленнеесимметричныхсистем, оничетко решаютпроблему, откоторой страдалисимметричныекриптосистемы.Когда двумлюдям (илиустройствам)нужно установитьбезопасныйканал для передачиданных, одиниз них можетпросто взятьсекретный ключи зашифроватьэтот секретныйключ при помощиоткрытого ключадругой стороны.Зашифрованныйключ затемотправляетсядругому участникукоммуникации, и даже еслиэтот ключ будетперехвачен, только другойучастник сможетрасшифроватьсекретный ключпри помощисвоего закрытогоключа. Коммуникациямежду двумясторонами затемможет продолжатьсяс использованиемсимметричногошифра и этогосекретногоключа. Система, которая используеткак симметричноешифрование, так и шифрованиес открытымключом, называетсягибриднойкриптосистемой(hybridcryptosystem).
продолжение
--PAGE_BREAK--
3.2. Применениешифрования
Шифрованиеможно использоватьдля защитыследующих типовданных в сети:
• закрытаяпередача данных;
• безопасноехранение файлов;
• аутентификацияпользователяили компьютера;
• безопасныйобмен паролями.
Следуетшифровать любыеданные, содержащиезначимую иличастную информацию, проходящиечерез небезопасныеканалы передачиданных, такиекак радио, телефоннаясеть или Интернет.Используйтешифрованиефайловой системыдля защитызначимых данных, когда возможностиоперационнойсистемы недействуют(когда был удаленжесткий дискили замененаоперационнаясистема).
3.2.1. Безопасноехранение файлов
Шифрованиеможет бытьиспользованодля защитыданных в устройствехранения, напримерданных на жесткомдиске. Во всехреализацияхUNIXи WindowsNTсуществуетмного сложныхсредств обеспечениябезопасности.Лучший подходк безопасности— предоставитьшифрованиеи расшифровкуфайлов операционнойсистеме. Windows2000 поставляетсяс EncryptingFileSystem(шифрованнаяфайловая система,EFS), которая будетшифровать всефайлы на вашемжестком диске, даже временныефайлы, созданныеиспользуемымивами приложениями.
Для тогочтобы использоватьEFSсекретно, необходимопредоставитькриптографическийключ при запускекомпьютераили использоватьее со смарт-картой, иначе же можносчитать файлына жесткомдиске обычными, незашифрованнымифайлами. Этоне защититфайлы от доступаво время работыоперационнойсистемы — длячего существуютсредства обеспечениябезопасностиоперационнойсистемы, — ноэто сохранитданные в безопасности, даже если кто-нибудьукрадет жесткийдиск.
3.2.2.Аутентификацияпользователяили компьютера
Помимосохранениясекретности(либо при передаче, либо при хранении), шифрованиеможно использоватьпочти в противоположныхцелях — дляпроверкиидентичности.Шифрованиеможет провестиаутентификациювходящих всистему компьютерапользователей, гарантировать, что загружаемоеиз Интернетапрограммноеобеспечениеприходит изнадежногоисточника ичто лицо, отправившеесообщение, в действительностито, за котороеоно себя выдает.
При входев операционнуюсистему Microsoft, например Windows95, WindowsNTили Windows2000, операционнаясистема несравниваетвведенныйпароль с хранимымпаролем. Вместоэтого она шифруетпароль припомощи однонаправленнойкриптографическойфункции и затемсравниваетрезультат схранящимсярезультатом.Другие операционныесистемы, такиекак UNIXи OS/2, работаютточно так же.
Храня толькокриптографическоехэш-значениепароля пользователя, операционнаясистема затрудняетхакерам возможностьполучения всехпаролей системыпри получении
3.2.3. Цифровыеподписи
Обычношифрованиес открытымключом используетсядля передачисекретныхсообщений, зашифрованныхпри помощиоткрытогоключа, и последующейрасшифровкиих при помощизакрытогоключа.
Посколькуназначениецифровой подписисостоит не втом, чтобы утаитьинформацию, а в том, чтобыподтвердитьее, закрытыеключи зачастуюиспользуютсядля шифрованияхэш-значенияпервоначальногодокумента, изашифрованноехэш-значениеприсоединяетсяк документуили отправляетсявместе с ним.Этот процессзанимает гораздоменьше вычислительноговремени пригенерации илипроверкехэш-значения, чем шифрованиевсего документа, и при этомгарантирует, что документподписал владелецзакрытогоключа.
Электроннаяпочта Интернетапроектироваласьбез учетабезопасности.Сообщения незащищены отнелегальногопросмотра напромежуточныххостах Интернета, и нет гарантии, что сообщениев действительностипришло от тоголица, котороеуказано в полеFromэлектроннойпочты. Сообщениягрупп новостейИнтернетастрадают оттой же проблемы: невозможнов действительностисказать, откого на самомделе пришлосообщение.Можно зашифроватьтело сообщения, чтобы справитьсяс первой проблемой, а цифровыеподписи справляютсясо второй.
Цифровыеподписи полезны, потому чтопроверитьподпись можеткаждый, а создатьее может тольколицо с закрытымключом. Разницамежду цифровойподписью исертификатомв том, что можнопроверитьподлинностьсертификатав центре сертификации.
3.2.4. Безопасныйобмен паролями
Большинствосетевых операционныхсистем (в томчисле Windows2000 и все современныеверсии UNIX)защищают имяпользователяи пароль привходе в системупосредствомих шифрованияперед отправкойв сеть дляаутентификации.
Чтобыодни и те жезашифрованныеданные непередавалиськаждый раз, клиент такжеможет включитькакую-то дополнительнуюинформацию, например времяотправки запросана вход в систему.При таком способесетевые идентификационныеданные никогдане будут отправлятьсячерез локальнуюсеть или телефонныелинии в незащищенномвиде. Тем неменее Windows2000 принимаетнезашифрованныепароли от старыхсетевых клиентовLANManager.
Некаждыйпротоколаутентификациизашифровываетимяпользователяипароль, этогонеделаетSLIPTelnetиFTP.СлужбуTelnetвWindows2000 можносконфигурироватьдляработытолькосхэш-значениямиWindowsNT, анеспаролямиввидепростоготекста.РРРможетшифровать, еслииудаленныйклиент, исерверсконфигурированытакимобразом.WindowsNTпоумолчаниютребуетшифрованнойаутентификации.Windows2000 используетбезопаснуюсистемуаутентификацииKerberos, основаннуюнасекретныхключах.
3.3.Стеганография
Стеганография(steganography)— это процесссокрытиязашифрованныхфайлов в такомместе, в которомвряд ли кто-либосможет ихобнаружить.
Зашифрованныефайлы выглядяткак случайныечисла, поэтомувсе, что такжевыглядит какслучайныечисла, можетспрятатьзашифрованноесообщение.Например, вмногоцветныхграфическихизображенияхбит нижнихразрядов вкаждом пикселеизображенияне сильно влияетна качествовсего изображения.Можно спрятатьзашифрованноесообщение вграфическийфайл, заменяямладшие битыбитами своегосообщения.Младшие битызвуковых файловс высокой точностьювоспроизведения— еще одно хорошееместо длязашифрованныхданных. Можнодаже тайнообмениватьсяс кем-либозашифрованнымисообщениями, отправляяграфическиеи звуковыефайлы с такойспрятаннойв них информацией.
3.4. Пароли
Пароли— это секретныеключи. Они могутприменятьсядля аутентификациипользователей, шифрованияданных и обеспечениябезопасностикоммуникационныхпотоков. Kerberosиспользуетпароли каксекретные ключидля подтвержденияидентификационныхданных клиентав KerberosKeyDistributionCenter.
Из-за необходимостислучайностив секретныхключах выступающиев качествесекретныхключей паролитакже должныбыть секретными
Самыйраспространенныйспособ раскрытьпароль — этовыбрать легкоугадываемыйпароль, такойкак пустойпароль, самослово пароль(password), жаргонныеслова или именабогов, детейили домашнихживотных. Длявзлома черезИнтернет пароля, в качествекоторого взятолюбое известноеслово, потребуетсяпримерно двачаса времени.
Использованиепо-настоящемуслучайныхпаролей даетгораздо лучшиерезультаты.Случайный выборпароля толькоиз 14 символовнабора стандартнойASCII-клавиатурыдает множествоболее чем из1025 паролей.
Существуетчетыре уровняпаролей:
• низкокачественныйпубличныйпароль
• публичныйпароль среднегокачества —короткий, нополностьюслучайныйпароль длинаэтого паролясемь символов, что дает 40-битныйдиапазонуникальности;
• высококачественныйпароль — парольдля частныхсетей где клиентуможет бытьпричинен серьезныйущерб в случаеего утери -парольдлиной 12 символов, что дает 70-битныйдиапазонуникальности;
• чрезвычайновысококачественныйпароль —пароль дляшифрованияфайлов и хранениясекретныхданных на личныхкомпьютерах; длина 14 символов, что дает 84-битныйдиапазонуникальности.
4.ЛокальнаябезопасностьWindows 2000AdvancedServer
БезопасностьWindows2000 основана нааутентификациипользователей.Проходя процедурувхода в систему(обеспечиваемуюпроцессомWinLogon), пользовательидентифицируетсебя компьютеру, после чего емупредоставляетсядоступ к открытыми запрещаетсядоступ к закрытымдля вас ресурсам.
В Windows2000 также реализованыучетные записигрупп. Когдаучетная записьпользователявходит в учетнуюзапись группы, установленныедля учетнойзаписи группыразрешениядействуют такжеи для учетнойзаписи пользователя.
Учетныезаписи пользователейи групп действуюттолько на томкомпьютерепод управлениемWindows2000, на которомони создаются.Эти учетныезаписи локальныдля компьютера.Единственнымисключениемиз этого правилаявляются компьютеры, входящие вдомен и поэтомупринимающиеучетные записи, созданные вActiveDirectoryна контроллередомена. На каждомкомпьютерепод управлениемWindows2000 существуетсвой собственныйсписок локальныхучетных записейпользователейи групп. Когдапроцессу WinLogon(который регистрируетпользователяв системе иустанавливаетего вычислительнуюсреду) требуетсяобратитьсяк базе данныхбезопасности, он взаимодействуетс SecurityAccountsManager(диспетчеручетных записейбезопасности,SAM), компонентомоперационнойсистемы Windows2000, который управляетинформациейо локальныхучетных записях.Если информацияхранится локальнона компьютерепод управлениемWindows2000, SAMобратитсяк базе данных(хранимой вреестре) и передастинформациюпроцессу WinLogon.Если информацияхранится нелокально SAMзапросит контроллердомена и вернетподтвержденнуюинформациюо регистрации(идентификаторбезопасности,securityidentifier)процессу WinLogon.
Независимоот источникааутентификации, доступ разрешентолько к локальномукомпьютерупосредствомLocalSecurityAuthority(локальныесредствабезопасности,LSA)компьютера.При обращаениик другим компьютерамв сети, LSAлокальногокомпьютерапередаетидентификационныеданные пользователяLSА другого компьютера, реализуя входв систему каждогокомпьютера, с которым онконтактирует.Чтобы получитьдоступ к другомукомпьютеру, этот компьютердолжен принятьидентификационныеданные, предоставленныекомпьютеромпользователя.
4.1.Идентификаторыбезопасности
Принципалыбезопасности, такие какпользователии компьютеры, представленыв системеидентификаторамибезопасности(securityidentifier,SID).SIDуникальноидентифицируетпринципалабезопасностидля всех компьютеровдомена. Присоздании учетнойзаписи припомощи оснасткиLocalUsersandGroups(Локальныепользователии группы), всегдасоздается новыйSID, даже еслииспользуетсятакие же имяучетной записии пароль, какв удаленнойучетной записи.SIDбудет оставатьсяс учетной записьюв течение всеговремени еесуществования.Можно поменятьлюбой другойатрибут учетнойзаписи, включаяимя пользователяи пароль, но вобычных обстоятельствахнельзя изменитьSID, поскольку приэтом создаетсяновая учетнаязапись.
Групповыеучетные записитакже имеютSID, уникальныйидентификатор, создающийсяпри созданиигруппы. ДляидентификаторовSID, групп действуютте же правила, что и для SIDучетных записей.
ПроцессWinLogon(часть процессаLocalSecurityAuthority)проверяет имяпользователяи пароль (илисмарт-картупри соответствующейконфигурации), чтобы определить, можно ли разрешитьдоступ к компьютеру.Если указанныйв диалоговомокне входа всистему доменявляется именемлокальногокомпьютера,LSAпроверит учетнуюзапись в соответствиис локальнымSAM, хранимым вреестре. В иномслучае LSAустановит связьс контроллеромдомена и воспользуетсядля проверкиподлинностиданных пользователяаутентификациейKerberos(в случае Windows2000) или NLTM(в случае всехостальныхверсий Windows, включая Windows2000 в режиме MixedMode), в зависимостиот операционнойсистемы клиента.
Еслиимя учетнойзаписи и парольправильны, процесс WinLogoncoздасттокен доступа.Токендоступа (AcessToken)образуетсяиз SIDучетнойзаписи пользователя,SIDгрупп, к которымпринадлежит, учетная запись, и LocallyUniqueIdentifier(локально уникальный; идентификатор,LUID), который определяетправа пользователяи конкретныйсеанс входав систему.
ТокендоступасоздаетсяприкаждомвашемвходевWindows2000.
Существуютособые идентификаторыSID.SystemSIDзарезервировандля системныхслужб, содержащиеSystemSIDтокены доступамогут, обходитьвсе ограничениябезопасности, основанныена учетныхзаписях. SIDдает системнымслужбам разрешениена осуществлениетех; действий, которые обычнаяучетная записьпользователя(даже учетнаязапись Administrator(Администратор))делать не может.Службы операционнойсистемы запускаютсяядром Windows2000, а не процессомWinLogon, и эти службыполучают SystemSIDот ядра присвоем запуске.
4.2. Доступк ресурсам
Потоки(thread, отдельные ветвивыполненияпроцесса) должныпредоставлятьтокен доступапри каждойпопытке доступак ресурсу. Потокиполучают токеныдоступа отродительскихпроцессов присвоем создании.Пользовательскоеприложение, например, обычнополучает свойтокен доступаот процессаWinLogon.Процесс WinLogonзапускаетсяот возбужденногопользователемпрерывания(прерыванияклавиатурыCtrl+Alt+Del)и может создатьновый токендоступа, запрашиваяили локальныйдиспетчеручетных записейбезопасности (SAM), или DirectoryServicesAgent(агент службкаталога, DSA)на контроллередомена ActiveDirectory.
При помощиэтого методакаждый поток, запущенныйпосле входапользователяв систему, будетиметь токендоступа, представляющийпользователя.Посколькупотоки пользовательскогорежима должнывсегда предоставлятьэтот токен длядоступа к ресурсам, в обычныхобстоятельствахне существуетспособа обойтибезопасностьресурсов Windows2000.
ОсновубезопасностиWindows2000 образуетперемещаемыйвходвсистему(mandatorylogon).Вотличиеотдругихсетевыхсистем, пользовательничегонеможетсделатьвWindows2000, непредоставивимяучетнойзаписипользователяипароль.Хотяможновыбратьавтоматическийвходвсистемусидентификационнымиданными, предоставляемымиреестром, входвсистемуприпомощиучетнойзаписипользователявсеравнопроисходит.
Windows2000 требуетнажатияCtrl+ALT+Delдлявходавсистему, иэтооднаизпричин, покоторымWindows2000 считаетсябезопаснойсистемой.ПосколькукомпьютеробрабатываетнажатиеCtrl+ALT+Delкакаппаратноепрерывание, фактическинесуществуетспособа, припомощикоторогоопытныйпрограммистмогбызаставитьэтукомбинациюклавишделатьчто-либоеще, непереписываяоперационнуюсистему.
Посколькутокен доступапередаетсяновому потокуво время егосоздания, топосле входапользователяв систему вдальнейшемнет необходимостиобращатьсядля аутентификациик локальнойбазе данныхSAMили к ActiveDirectoryна контроллередомена.
Прилокальном входепользователяв систему Windows2000 проходит черезследующиеэтапы.
1. Пользовательнажимает Ctrl+A1t+Del, что вызываетаппаратноепрерывание, активизирующеепроцесс WinLogon.
2. ПроцессWinLogonпредставляетпользователюприглашениеко входу в системус полями дляимени учетнойзаписи и пароля.
3. ПроцессWinLogonотправляетимя учетнойзаписи и зашифрованныйпароль локальнымсредствамбезопасности(LSA).Если учетнаязапись локальнадля этого компьютераWindows2000, LSAзапрашиваетдиспетчеручетных записейбезопасности(SAM)локальногокомпьютераWindows2000; в другом случаеLSAзапрашиваетконтроллердомена тогодомена, в которыйвходит компьютер.
4. Еслипользовательпредставилдопустимыеимя пользователяи пароль, LSAсоздает токендоступа, содержащийSIDучетной записипользователяи идентификаторыSIDдля групп, вкоторые входитпользователь.Токен доступатакже получаетLUID, который будетописан далеев этой главев разделе «Праваили разрешения».Токен доступазатем передаетсяобратно процессуWinLogon.
5. ПроцессWinLogonпередает токендоступа подсистемеWin32 вместе с запросомна созданиепроцесса входав систему дляпользователя.
6. Процессвхода в системуустанавливаетокружениепользователя, включая запускWindowsExplorerи отображениефона и значковрабочего стола.
4.3. Объектыи Разрешения
Windows2000 поддерживаетбезопасностьдля различныхтипов объектов, включая (но неограничиваясьими) каталоги, файлы, принтеры, процессы исетевые общиепапки. Каждыйобъект предоставляетфункции, определяющиедействия, которыемогут бытьвыполнены дляэтого объекта, например: открыть, закрыть, читать, записывать, удалять, запускать, останавливать, печатать и т.д.
Информациябезопасностидля объектасодержитсяв дескрипторебезопасности(securitydescriptor)объекта. Дескрипторбезопасностисостоит изчетырех частей: владелец, группа,DiscretionaryAccessControlList(список разграничительногоконтроля доступа,DASL)и SystemAcessControlList(системныйсписок контролядоступа, SACL).Windows2000 используетэти части дескрипторабезопасностив следующихцелях:
• владелец—эта часть содержитSIDучетной записипользователя-владельцаобъекта. Владелецобъекта всегдаможет изменитьнастройкиDACL(разрешения)объекта;
• группа— эта частьиспользуетсяподсистемойPOSIXWindows2000. Файлы и каталогив операционныхсистемах UNIXмогут принадлежатьгрупповойучетной записи, так же как иотдельнойучетной записипользователя.Эта часть содержитSIDгруппы этогообъекта в целяхсовместимостис POSIX, а также дляидентификацииосновной группыдля учетныхзаписей пользователя;
• DiscretionaryAccessControlList— DACLсодержит списокучетных записейпользователяи учетных записейгрупп, обладающихразрешениемна доступ кслужбам объекта.В DACLсуществуетстолько записейконтроля доступа, сколько существуетучетных записейпользователейили групп, длякоторых доступк объекту былзадан специально;
• SystemAcessControlList— SACLтакже содержитзаписи управлениядоступом (АСЕ,accesscontrolentry), но эти записиАСЕ используютсядля аудита, ане для разрешенияили запрещениядоступа кфункциям объекта.SACLсодержит столькозаписей АСЕ, сколько существуетучетных записейпользователейили групп, длякоторых специальнопроводитсяаудит.
Каждаязапись управлениядоступом в DACLили SACLсостоит изидентификаторабезопасности, сопровождаемогомаской доступа.Маскадоступа (accessmask)в DACLопределяетте функцииобъекта, длядоступа к которыму SIDесть разрешение.Специальныйтип записиконтроля доступа, называемыйзапрещающейзаписью АСЕ(denyАСЕ), указывает, что весь доступк объекту будетзапрещен дляучетной записи, определеннойидентификаторомSID.ЗапрещающаяАСЕ перекрываетвсе остальныезаписи АСЕ.РазрешениеNoAccess(нет доступа)в Windows2000 реализованопри помощизапрещающейзаписи АСЕ.
Доступразрешен, еслитокен доступасодержит любойSID, совпадающийс разрешениемв DACL.Например, еслиотдельнойучетной записиразрешен доступна чтение иучетная записьпользователяявляется членомгрупповойучетной записи, которой разрешендоступ на запись, тогда токендоступа дляэтого вошедшегов системупользователябудет содержатьоба SID, и DACLразрешит доступк объекту и начтение, и назапись. Запрещающиезаписи управлениядоступом всеравно перекрываютсуммарноедействие всехостальныхразрешений.
Записиуправлениядоступом в SACLобразуютсятем же способом, что и записив DACL(они составляютсяиз SIDи маски доступа), но маска доступав этом случаеопределяетте функцииобъекта, длякоторых будетпроводитьсяаудит у этойучетной записи.
Не укаждого объектаесть спискиDACLили SACL.Файловая системаFAT, например, незаписываетинформациюбезопасности, поэтому уобъектов файлови каталогов, хранимых натоме FAT, нет списковDACLи SACL.Когда DACLотсутствует, любая учетнаязапись пользователяобладает доступомко всем функциямобъекта. Этоне равнозначноситуации, когдасписок DACLобъекта пуст.В этом случаени одна учетнаязапись не будетиметь доступак объекту. Когдау объекта отсутствуетSACL, аудит объектаневозможен.
Процессыне обращаютсянапрямую ктаким объектам, как файлы, каталогиили принтеры.Операционнаясистема Windows2000 (а именно еечасть Win32) обращаетсяк объектам отлица процессов.Основная цельэтого — сделатьпрограммыпроще. Программане обязаназнать, какнепосредственноманипулироватькаждым типомобъекта, онапросто проситоб этом операционнуюсистему. Ещеодним важнымпреимуществом, особенно сточки зрениябезопасности, является то, что, посколькуоперационнаясистема выполняетвсе действиядля процессов, она можетпринудительноотслеживатьбезопасностьобъектов.
Когдапроцесс проситподсистемуWin32 выполнитьдействие надобъектом (например, прочитатьфайл), подсистемаWin32 сверяетсяс SecurityReferenceMonitor(монитор проверкибезопасности), чтобы удостовериться, что процессобладает разрешениемна осуществлениедействия надобъектом. SecurityReferenceMonitorсравниваеттокен доступапроцесса сосписком DACLобъектов, сверяякаждый SIDв токене доступас идентификаторамиSIDв списке DACLЕсли существуетзапись управлениядоступом (АСЕ)с совпадающимSID, которая содержитмаску доступа, разрешающуюдействие, и нетАСЕ с совпадающимSID, содержащейзапрещающуюмаску для действиянад объектом, то SecurityReferenceMonitorразрешаетподсистемеWin32 выполнитьдействие.
SecurityReferenceMonitorтакже проверяет, осуществляетсяли аудит доступак объекту итребуется лизапись в журналсобытий SecurityLog(Безопасность)Windows2000. Аудит проверяетсяточно так же, как и проверкаразрешений,— путем сравнениякаждого SIDв токене доступас SIDкаждой записиуправлениядоступом. Приобнаружениисовпадениямонитор проверяет, принадлежитли выполняемоедействие (илифункция) кперечисленнымв маске доступа.Если да и еслирезультатпроверки безопасностипо списку SACLсовпадает спроводимымаудитом (произошелотказ в доступеи проводитсяаудит отказав доступе, илидоступ былуспешен и проводитсяаудит успешногодоступа, илипроизошли обаэтих события), то в этом случаесобытие аудитазаписываетсяв журнал событий.
Некоторыедействия применяютсяне к конкретномуобъекту, а кгруппе объектовили ко всейоперационнойсистеме. Завершениеработы с операционнойсистемой, например, повлияет навсе объектыв системе.Пользовательдолжен обладатьправамипользователя(userrights)для осуществлениятаких действий.
СредстваLocalSecurityAuthorityвключают локальноуникальныйидентификатор(LUID)при созданиитокена доступа.LUIDописывает, какое из правпользователяимеет конкретнаяучетная запись.LocalSecurityAuthorityсоздают LUIDна основе информациио безопасностив базе данныхдиспетчерабезопасностиучетных записей(для учетнойзаписи локальногокомпьютера)или ActiveDirectory(для учетнойзаписи домена).LUIDявляется объединениемправ этой конкретнойучетной записипользователяи прав всехгрупп, в которыевходит этаучетная запись.
Праваимеют большийприоритет, чемразрешения(permissions).Вот почемуучетная записьадминистратораможет статьвладельцемфайла, чей владелецудалил всеразрешенияна доступ;Administrator(Администратор)обладает правомTakeOwnershipofFilesorOtherObjects(смена владельцафайлов илидругих объектов).Операционнаясистема Windows2000 вначале проверяетправа пользователяи затем (еслинет правапользователя, специальноразрешающегодействие) сверяетзаписи АСЕ, хранимые вDACL, с идентификаторамиSIDв токене доступа.
Учетныезаписи пользователяобладают правомна чтение изапись дляобъекта, длякоторого ониявляются владельцем, даже в случаеналичия у тогозапрещающейзаписи АСЕ.Учетная записьпользователяможет такжеизменять разрешениядля принадлежащегоей объекта.
продолжение
--PAGE_BREAK--
5.Файловаясистема NTFS
Файловаясистема NTFS— главный бастионбезопасностиWindows2000. Безопасныйкомпьютер подуправлениемWindows2000 работает наплатформе NTFS, образующейоснову дляпостояннойбезопасности.
LSAдает гарантию, что выполняющиесяпрограммы немогут нарушитьадресное пространствопамяти другдруга и что всеобращения кядру должнымобразом авторизованы.Но что можетпомешать программезаменить программныефайлы LSAэквивалентнойслужбой, котораябудет работатьневерно? Ответомна этот вопросявляется NTFS, и этот примерподчеркивает, почему безопаснаяфайловая система— обязательноетребованиедля безопаснойоперационнойсистемы. Неимея возможностидоверять файловойсистеме, хранящейсистемныефайлы, нельзядоверять системе, работа которойреализуетсяпосредствомисполненияэтих файлов.
Рассмотримслучай проникновениявируса на компьютерс Windows95. Пользовательвыполняетпрограмму, содержащуювирус. Вирусопределяет, какая программазапустилатекущую программу, и заражает ее, таким образомраспространяясебя далее наодин уровень.При следующемзапуске этойпрограммы вируссделает то жесамое, а такжезаразит каждуюпрограмму, порожденнуюэтой программой.Через несколькоциклов вирусраспространитсядо ключевыхпрограмм операционнойсистемы, такимобразом заражаякаждый выполняемыйв ней файл.Рассмотримтеперь случай, когда пользовательвыполняетзараженнуювирусом программув Windows2000. Эта программапытается записатьсвой вирусныйзаголовок вexplorer.exe, но блокируетсясредствамибезопасностифайловой системыNTFS, потому что упользователянетразрешенийна запись вexplorer.exe.Благодаря NTFSэтот тип вирусовмоментальноостанавливаетсяWindows2000. При попаданиив систему некоторымвирусам удаетсявыжить в пользовательскомрежиме (например, макровирусамWordили червямOutlook), но эти вирусывсе равно немогут заразитьсаму операционнуюсистему — еслитолько вирусне был запущенс учетной записью, обладающейадминистративнымдоступом ккомпьютеру.
NTFSработает, сравниваятокен доступапользователясо спискомконтроля доступа(ACL), связанным скаждым запрашиваемымфайлом, передтем, как разрешитьпользователюдоступ к этомуфайлу. Этотпростой механизмне дает несанкционированнымпользователямизменятьоперационнуюсистему илиеще что-нибудь, к чему у нихнет специальногодоступа.
По умолчаниюWindows2000 находитсяв состоянии, предоставляющемполный доступгруппе «все»(everyone)для корня всехдисков, вследствиечего все разрешения, наследуемыесоздаваемымитам файлами, также доступныдля всех. Дляполучениякакой-либореальной пользыот безопасностифайловой системыNTFSдля приложенийи хранимыхпользователямифайлов необходимоудалить разрешение, предоставляющееполный доступдля всех, и заменитьего разрешениямис соответствующимуровнем безопасностидля каждойпапки на компьютере.
Управлениеразрешениямифайловой системыNTFSосуществляетсяпросто и работаетаналогичнотому; как разрешенияустанавливалисьв предыдущихверсиях WindowsNT.
В Windows2000 наследованиеобрабатываетсяпо-другому, чемв WindowsNT.В WindowsNTунаследованныеразрешениябыли простотакими же, каку родительскихобъектов, имогли бытьнемедленноизменены. ВWindows2000, если объектнаследуетразрешенияот содержащейобъект папки, необходимо снять флажокAllowInheritablePermissions(Переноситьнаследуемыеот родительскогообъекта разрешенияна этот объект), для того чтобысоздать копиюнаследуемыхразрешенийи затем изменитьсуществующиеразрешения.Можно создаватьновые записиАСЕ, не перекрываяустановкубезопасности.
5.1. Шифрованнаяфайловая система
Шифрованнаяфайловая система(EncryptingFileSystem)— это драйверфайловой системы, обеспечивающийвозможностьзашифровыватьи расшифровыватьфайлы на лету.Использоватьслужбу оченьлегко: пользователиустанавливаютатрибут шифрованиядля файла иликаталога. СлужбаEFSгенерируетсертификатшифрованияв фоновом процессеи используетего для шифрованиязаданных файлов.Когда эти файлызапрашиваютсядрайверомфайловой системыNTFS, служба EFSавтоматическирасшифровываетфайл для предоставленияего драйверу.
Шифрованиефайлов выглядиткак действительнозамечательнаявозможность, но текущая егореализацияв Windows2000 обладает такимидефектами, чтоEFSв большинствеслучаев бесполезна, за исключением, может быть, портативныхкомпьютеров.Основная проблемаEFSв том, что онаработает толькодля отдельныхпользователей, что делает еепригоднойтолько дляклиентскихкомпьютеров.Сертификатышифрованиядля файловсоздаются наоснове личностипользователя, поэтому зашифрованныефайлы могутбыть использованытолько тойучетной записью, которая ихсоздавала.Сертификатышифрованияне могут бытьназначеныгрупповымобъектам, поэтомушифрованиене может защититьобщие файлы, хранимые насервере. Этаархитектурапотребуетобмена закрытымиключами посети, поэтомудля такогообмена долженбыть установлензашифрованныйканал.EFSне позволитсовместноеиспользованиезашифрованныхфайлов, потомучто она расшифровываетих перед тем, как предоставитьих по запросу.Это также непредусмотрено.Если бы сертификатышифрованияпринадлежалигруппе, зашифрованныйфайл мог быбыть предоставленпо сети клиентув своем зашифрованномсостоянии иклиентскийкомпьютер смогбы воспользоватьсясвоим участиемв группе, обладаясертификатомдля расшифровкифайла. Kerberosможет создаватьключи сеансадля шифрованиясертификатов, чтобы сохранитьих в безопасностиво время передачичленам группы.Общие файлымогут бытьдостаточнобезопасными, чтобы использоватьих через Интернетбез закрытоготуннеля.
Болеетого, потерясертификаташифрования— ахиллесовапята шифрования— не будет такойуж проблемой.До тех пор, покасертификатвсе еще существуету какого-либоиз членов группы, этот пользовательвсе еще будетобладать копиейсертификатадля расшифровкифайлов. Так, как она реализованасегодня, EFSвсегда создаетключ для агентавосстановления(по умолчаниюэто локальныйадминистратор), независимоот того, хочетпользовательили нет, чтобыагент восстановлениямог расшифроватьфайл.
EFS(так же, какрепликацияфайлов) — ещеодин примерслужбы, котораябыла бы по-настоящемузамечательной, если бы Microsoftреализоваласе надлежащимобразом. В томвиде, в какомона существуетсейчас, онасделана ровнонастолько, чтобы Microsoftмогла утверждатьо наличии у неешифрованияфайловой системы.
Помимотого факта, чтоEFSработает толькодля отдельныхпользователей, она обладаетрядом другихпроблем:
сертификаты шифрования по умолчанию хранятся в реестре локального компьютера, где их можно восстановить и использовать для расшифровки файлов на компьютере. Для того чтобы EFS функционировала корректно как безопасная служба шифрования, сертификаты должны быть удалены с локального компьютера на физически безопасный сервер сертификатов или экспортированы на съемный носитель, который не оставляется вместе с компьютером.
Единственныйспособ обеспечитьбезопасностьлокальныхсертификатовEFS— это использоватьаутентификациюпри помощисмарт-картыили -воспользоватьсяSysKey, хэш-значения, используемогодля шифрованиялокальнойбазы данныхучетных записейSAM, которая содержитсертификатрасшифровкиEFS, на гибкий дискили использоватьего в качествепароля во времяначальнойзагрузки — иэтот парольили гибкий дискдолжны бытьдоступны длявсех, кому требуетсязагружатькомпьютер;
операции перемещения путем перетаскивания мышью в шифрованную папку не приведут к автоматическому шифрованию файла, потому что операции перемещения не изменяют атрибутов файла. Операции «вырезать и вставить» изменяют, потому что вы явно удаляете старый файл и создаете новый.
зашифрованные файлы будут расшифрованы, если они будут перемещены на тома с отличной от NTFS файловой системой, не поддерживающей шифрование.
зашифрованные файлы не могут быть сделаны общими путем помещения в общую папку. Это ограничение предназначено для сохранения файлов в зашифрованном виде, общие файлы отправляются по сети в простом текстовом формате и кто угодно может их расшифровать, имея в наличии сетевой анализатор.
многие программы (большинство программ MicrosoftOffice) во время редактирования файлов создают временные файлы либо в локальном, либо во временном каталоге. Шифрование для временных файлов следует обычным правилам: если файл создается в папке, у которой установлен флаг шифрования, временный файл будет зашифрован. В ином случае он не будет зашифрован и нарушит секретность шифрования
печать образует еще одно направление случайной расшифровки: когда печатается зашифрованный документ, файл расшифровывается исходным приложением и отправляется в виде простого текста диспетчеру очереди печати. Если диспетчер печати сконфигурирован так, чтобы буферизовать документы (как в большинстве случаев), печатаемые данные будут записываться в файл, который может быть после удаления восстановлен для доступа к вашим зашифрованным данным.
Не рекомендуетсяиспользоватьEFSкроме как наоднопользовательскихкомпьютерах, которые нельзяпо-другомуфизическизащитить. Еепростотаиспользованияявляется лишьвидимостьюбезопасности, а не настоящейбезопасностьюEFSимеет смыслприменять длякомпьютеров, подверженныхкражам, такихкак портативныекомпьютеры, которые сконфигурированыс шифрованиемкаталога буферапечати, временныхпапок и каталогаMyDocuments(Мои документы).
6.СетеваябезопасностьWindows 2000 Advanced Server
СетеваябезопасностьWindows2000 основана нанесколькихосновных службах:
• Active Directory;
• Group Policy;
• Kerberos;
• ShareSecurity;
• IPSec.
Каждаяиз этих службработает вместес остальными, образуя единоецелое: IPSecопределяетсягрупповымиполитиками, которые хранятсяв ActiveDirectoryи могут бытьсконфигурированыдля использованияKerberosдля автоматическогообмена закрытымиключами. ShareSecurityосновываетсяна идентификационныхданных пользователя, подтвержденныхKerberosна основехэшированныхпаролей, хранимыхв ActiveDirectory.Управлениеполитикойбезопасностичерез ActiveDirectoryпозволяетадминистраторамсоздаватьполитики, которыемогут бытьавтоматическиприменены ковсей организации.
ActiveDirectoryне являетсяслужбой безопасности, но практическивсе встроенныев Windows2000 механизмыбезопасностиполагаютсяна ActiveDirectoryкак на механизмхранения информациибезопасности, такой как иерархиядоменов, доверительныеотношения, ключи криптографии, сертификаты, политики иосновные учетныезаписи безопасности.
ВсемеханизмыбезопасностиWindows2000 интегрированыс ActiveDirectory.
ХотяActiveDirectoryне являетсяслужбой безопасности, ее можно сделатьбезопасной: контейнерыи объекты ActiveDirectoryимеют спискиконтроля доступа(ACL), так же как файлыNTFS.Разрешенияв ActiveDirectoryможно применятьво многом аналогичноNTFS.В отличие отразрешенийфайловой системыNTFS, можно устанавливатьразрешениядля полей внутриконкретныхобъектов так, чтобыразличныепользователигрупп безопасностибыли ответственныза части данныхобъекта.
6.1.АутентификацияKerberosи безопасностьдомена
АутентификацияKerberosбыла разработанаМассачусетскимтехнологическиминститутом(MassachusettsInstituteofTechology,MIT)для реализациимежкомпьютернойдоверительнойсистемы, способнойпроверятьподлинностьпринципаловбезопасности(таких, какпользовательили компьютер)через открытуюнебезопаснуюсеть. Kerberosне зависит отаутентификации, осуществляемойучаствующимикомпьютерами, или сохранностиданных припередаче посети. По этойпричине Kerberosидеальна дляаутентификациичерез Интернетили в большихсетях.
Kerberosдействует какнадежная службааутентификациитретьей фирмы, используя общиесекретныеключи… В Windows2000 общий секретныйключ генерируетсяпри входе компьютерав домен. Посколькуобе сторонысеанса Kerberosдоверяют KDC, они доверяютдруг другу. Напрактике этодоверие реализованокак безопасныйобмен зашифрованнымиключами, которыеподтверждаютучастникамвзаимодействияидентификационныеданные другойстороны.
АутентификацияKerberosработает следующимобразом.
1. Клиентзапрашиваетвозможный наборидентификационныхданных дляданного серверау KDC, отправляязапрос в простомтекстовомформате, содержащийимя клиента(идентификатор).
2. KDCищет секретныеключи, как клиента, так и серверав своей базеданных (ActiveDirectory)и создает билет(ticket), содержащийслучайный ключсеанса, текущеевремя KDC, заданное политикойвремя окончания, и, в зависимостиот параметров, любую другуюинформацию, хранимую в базеданных. В случаеWindows2000 в билете содержатсяидентификаторыSID.
3. Билетзашифровываетсяс использованиемсекретногоключа клиента.
4. Создаетсявторой билет, называемыйбилетом сеанса(sessionticket), содержащийключ сеансаи необязательныеданные аутентификации, которые зашифровываютсяс использованиемсекретногоключа сервера.
5. Соединенныебилеты передаютсяобратно клиенту.Серверу аутентификациинет необходимостиявным образомпроверятьподлинностьклиента, потомучто толькообладающийполномочиямиклиент можетрасшифроватьбилет.
6. Послетого как клиентполучил в своераспоряжениедопустимыйбилет и ключсеанса длясервера, онинициируетвзаимодействиенепосредственнос сервером. Дляэтого клиентконструируетудостоверение(authenticator), состоящее изтекущего времени, имени клиента, по желанию —зависящую отприложенияконтрольнуюсумму и случайнымобразом сгенерированныйначальный номерпоследовательностии/или подключсеанса, используемыедля извлеченияуникальногоидентификаторасеанса длятребуемойслужбы. Удостоверениядействуюттолько дляодной попыткии не могутприменятьсяповторно илииспользоватьсяв атаках воспроизведения, потому что онизависят оттекущего времени.Удостоверениешифруется припомощи ключасеанса и передаетсявместе с билетомсеанса серверу, у которогозапрашиваетсяслужба.
7. Когда серверполучает билетот клиента, онрасшифровываетбилет сеансапри помощиобщего секретногоключа сервера(если существуетболее одногоключа, нужныйключ указываетсяв части билетав простой текстовойформе).
8. Затемсервер извлекаетиз билета ключсеанса и используетего для расшифровкиудостоверения.Способностьсервера расшифроватьбилет подтверждает, что он был зашифрованпри помощисекретногоключа сервера, известноготолько KDCи самому серверу, таким образом, подлинностьклиента подтверждается.Удостоверениеиспользуетсядля гарантиитого, что взаимодействиенедавнее и неявляется атакойна основе повторногозапроса.
Билетымогут повторноиспользоватьсяв течение периода, определяемогополитикойбезопасностидомена, но непревышающеговосьми часов.Клиенты кэшируютсвои билетысеанса вбезопасномместе, расположенномв оперативнойпамяти, и уничтожаютих по истечениюсрока действия.
Kerberosсокращаетпредоставлениебилетов, вовремя первогоконтакта склиентом предоставляябилет сеансасамому себетак же, как изапрашиваемомусерверу. КОСотвечает наэтот первоначальныйзапрос — сначалапредоставляябилет сеансадля последующихзапросов обилетах, называемыйTicket-GrantingTicket(билетна предоставлениебилетов, TGT), и затем — билетсеанса длязапрашиваемогосервера. TGTустраняетпотребностьв дальнейшемпроводимомActiveDirectoryпоиске клиента, осуществляяпредварительнуюаутентификациюпоследующихзапросов обилетах точнотаким же способом, каким Kerberosосуществляетаутентификациювсех остальныхзапросов. Каки любой билетсеанса, билетTGTдействителендо истечениясрока действия, который зависитот политикибезопасностидомена.
Kerberosтехническиделится на двеслужбы: службуTGT(единственнуюслужбу, котораядействительноосуществляетаутентификациюв ActiveDirectory)и службу предоставлениябилетов, выдающуюбилеты сеансовпо получениидопустимогоTGT.
6.1.2.Доверительныеотношения междудоменами
Kerberosработает черезграницы домена(домены в терминологииKerberosназываютсясферами(realm), эти терминыэквивалентны).
Имя домена, к которомупринадлежитпринципалбезопасности, является частьюимени принципалабезопасности.Членство водном деревеActiveDirectoryавтоматическисоздаст междоменныеключи Kerberosмежду родительскимдоменоми егодочернимидоменами.
Обмен междоменнымиключами регистрируетконтроллерыдомена одногодомена в качествепринципаловбезопасностив доверенномдомене. Этапростая концепциядает возможностьлюбому принципалубезопасностив домене получитьбилет сеансав чужом КОС.
1. Когда принципалбезопасностив одном доменехочет обратитьсяк принципалубезопасностив соседнемдомене (одиниз доменовродительский, другой дочерний), он отправляетзапрос о билетесеанса своемулокальномуКОС.
2. КОСопределяет, что серверназначенияне находитсяв локальномдомене, и отвечаетклиенту, отправляяему билетнаправления(referralticket), который являетсябилетом сеанса, зашифрованныйпри помощимеждоменногоключа.
3. Клиентиспользуетбилет направлениядля запросабилета сеансанепосредственноу чужого KDC.
4. ЧужойKDCрасшифровываетбилет направления, потому чтообладаетмеждоменнымключом, подтверждающим, что доверенныйконтроллердомена доверяетклиенту (иначеон не предоставилбы ключ направления).
5. ЧужойKDCпредоставляетбилет сеанса, допустимыйдля чужогосервера назначения.
Для болееудаленныхдоменов этотпроцесс простоповторяется.Для доступак принципалубезопасностив домене, расположенномна расстояниидвух узлов виерархии доменовActiveDirectory, клиент запрашиваетбилет сеансадля сервераназначенияв своем KDC, который в ответпересылаетему билет направленияк следующемудомену в пути.Затем клиентзапрашиваетбилет сеанса, используятолько чтополученныйбилет назначения.Этот серверпросто ответитбилетом назначения, допустимымдля следующегосервера в цепочке.Этот процессбудет продолжатьсядо тех пор, покане будет достигнутлокальныйдомен для принципалабезопасностиназначения.В этот моментключ сеанса(технически— TGTи ключ сеанса)предоставляетсязапрашивающемуклиенту, которыйзатем сможетпройти аутентификациюнепосредственноу принципалабезопасностиназначения.
Последняяважная концепцияв аутентификацииKerberos— делегированиеаутентификации.Делегированиеаутентификации(delegationofauthentication)— это механизм, посредствомкоторого принципалбезопасностидает возможностьдругому принципалубезопасности, с которым унего установленсеанс, запрашиватьаутентификациюот своего имениу третьегопринципалабезопасности.Этот механизмважен в многозвенныхприложениях, таких как web-узелс поддержкойбазы данных.При помощиделегированияаутентификацииклиент—web-браузерможет пройтиаутентификациюу web-cepвераи затем предоставитьweb-серверуспециальныйбилет TGT, который серверсможет использоватьдля запросабилетов сеансовот своего имени,web-серверсможет затемиспользоватьпередаваемыеweb-клиентомидентификационныеданные дляаутентификациина сервере базданных.
продолжение
--PAGE_BREAK--
6.1.3. Групповыеполитики
Групповаяполитика (GroupPolicy)— это основноймеханизм Windows2000 при управленииконфигурациейклиентскихрабочих станцийдля контроляза безопасностьюи для администрирования.Политики(policy)— это, в общемслучае, простонаборы измененийв установкахкомпьютерапо умолчанию.Политики обычноорганизуютсятак, чтобы отдельныеполитики содержалиизменения, реализующиеконкретнуюцель — например, отключениеили включениешифрованияфайловой системыили контрольза программами, которые разрешенозапускатьпользователю.
Групповыеполитики (GroupPolicies)применяютсяк элементамконтейнераActiveDirectory(таким, как доменили OrganizationalUnit(Подразделение)).Группы безопасностимогут бытьиспользованыдля фильтрациигрупповыхполитик, нополитики нельзяприменять кгруппам безопасности.Групповаяполитика Windows2000 не являетсятолько механизмомбезопасности— ее основноепредназначениесостоит в управленииизменениямии конфигурацией,— но она позволяетадминистраторамсоздаватьдополнительныесистемы безопасности, ограничиваясвободу действийпользователей.Групповыеполитики можноприменять дляуправленияследующимиэлементамиполитик компьютера(computerpolicy):
настройки реестра, связанные с конфигурацией и управлением безопасности;
установка программного обеспечения;
сценарии, выполняющиеся при загрузке-завершении работы и входе-выходе из системы;
запуск служб;
разрешения реестра;
разрешения NTFS;
политики открытого ключа;
политики IPSec;
настройки системы, сети и компонентов Windows.
Групповыеполитики можноприменять дляуправленияследующимиэлементамиполитикпользователя(userpolicy):
установка программного обеспечения;
настройки InternetExplorer;
сценарии входа-выхода в систему;
настройки безопасности;
Remote Installation Service (службаудаленнойустановки);
перенаправление папок;
компоненты Windows;
настройки стартового меню, панели задач, рабочего стола и ControlPanel (Панель управления);
сетевые настройки;
настройки системы.
Объектыгрупповойполитики (GroupPolicyObjects)по существуявляютсянастраиваемымифайлами реестра(и файлами поддержки, такими, какпакеты .msiи сценарии), определяемыминастройкамиполитики, которые загружаютсяи применяютсяк входящим вдомен клиентскимкомпьютерампри начальнойзагрузке компьютера(конфигурациякомпьютера)и при входепользователяв систему(конфигурацияпользователя).Объекты групповойполитики и всефайлы поддержки, требуемые длягрупповойполитики, хранятсяна контроллерахдомена в общейпапке SysVol.К одному компьютерумогут применятьсянесколькогрупповыхполитик, приэтом каждаяполитика будетперезаписыватьнастройкипредыдущейполитики всоответствиисо сценарием«действуетпоследняяпримененная»— если толькоопределеннаяполитика несконфигурированатак, чтобы еенельзя былоперезаписать.
Каждыйобъект групповойполитики состоитиз двух частей: конфигурациикомпьютераи конфигурациипользователя.Можно сконфигурироватьнастройки ипользователя, и компьютерав одном объектегрупповойполитики, а вокне свойствполитики можноотключить частьобъекта, относящуюсяк пользователюили компьютеру.
Политикикомпьютераприменяютсяво время начальнойстадии работысистемы передвходом пользователяв систему (и вовремя периодическихвосстановлений).Политики компьютерарегулируютоперационнуюсистему, приложения(включая WindowsExplorer)и сценарии, выполняющиесяпри загрузке-завершенииработы. В случаеконфликтаполитики компьютераобычно имеютпреимуществанад политикамипользователя.
Политикипользователяприменяютсяпосле того, какпользовательвошел в систему, но перед тем, как ему будетразрешеноработать накомпьютере, а также во времяцикла периодическихобновлений.Политикипользователярегулируютповедениеоперационнойсистемы, настройкирабочего стола, настройкиприложений, перенаправлениепапок и пользовательскиесценарии входа-выходав систему.
Групповыеполитики называютсягрупповымиполитикамипотому, что ониприменяютсяк группампользователей, а именно к членамконтейнеровActiveDirectory, таких как доменыили контейнерыOU.Групповыеполитики иерархичныпо своей природе: многие политикимогутбыть примененык одному компьютеруили пользователю, они применяютсяв порядке иерархии.Кроме того, последующиеполитики могутперекрытьнастройкипредыдущихполитик. Этоозначает, чтоотдельныеэлементы политикиможно детализироватьпри переходеот применяемыхк большим группам, таким как домены, политик широкогодействия, кузконаправленнымполитикам, применяемымк меньшим группам, таким как контейнерыOU.
Групповыеполитикиконфигурируютсяна следующихуровнях в следующемпорядке.
Локальныйкомпьютер.Групповаяполитика применяетсяпервой, поэтомуона может бытьперекрытаполитикойдомена. У каждогокомпьютерасуществуетодна применяемаяк нему локальнаягрупповаяполитика. Нелокальныегрупповыеполитики загружаютсяиз ActiveDirectoryв зависимостиот месторасположенияпользователяи компьютерав ActiveDirectory.
Офис.Эти групповыеполитики уникальнытем, что ониуправляютсяиз оснасткиActiveDirectorySitesandServices(Сайты и службы).Политики офисовприменяютсяк офисам, поэтомуих следуетприменять длявопросов, связанныхс физическимрасположениемпользователейи компьютеров, а не с участиемв безопасностидомена.
Домен.Групповыеполитики применяютсяко всем пользователями компьютерамв домене, и именноздесь следуетреализовыватьглобальныеполитики организации.
КонтейнерOU(OrganizationalUnit).Групповыеполитики применяютсяк входящим вних пользователями компьютерам.Групповые политики применяютсясверху вниз(родитель, затемпотомок) иерархииOU.
Группабезопасности.Группыбезопасностифункционируютпо-другому, чемнастоящиеконтейнерыдоменов. В этомслучае неопределяютсягрупповыеполитики, применяемыек группе безопасности, а фильтруются(разрешаютсяили запрещаются)применяемыек пользователюгрупповыеполитики наоснове вхожденияпользователяв группы безопасности.
Групповыеполитики применяютсятолько целиком, нельзя указать, чтобы применяласьтолько частьполитики.
Однагрупповаяполитика можетбыть примененаболее чем кодному контейнерув ActiveDirectory, потому чтогрупповыеполитики нехранятся вActiveDirectoryместе их применения.Хранится толькоссылка на объектгрупповойполитики, самиобъекты насамом делехранятся вреплицируемойобщей папкеSysVolна контроллерахдомена в домене.
Групповаяполитика доменауправляетсячерез оснасткуActiveDirectorySitesandServicesдля групповыхполитик офисовили оснасткуActiveDirectoryUsersandComputers(Пользователии компьютеры)для всех остальныхнелокальныхгрупповыхполитик.
Однаполитика можетбыть примененак несколькимконтейнерамActiveDirectory, хотя нет необходимостиявно применятьполитику кдетямконтейнера, к которому ужепримененаполитика, потомучто политикабудет уже примененак принципалубезопасности.
6.4. Безопасностьобщих папок
Общиепапки (shares)— это каталогиили тома нарабочей станцииили сервере, к которым имеютдоступ другиекомпьютерыв сети. Доступк общим папкамможет быть либооткрытым, либоконтролироватьсяразрешениями.Общие папкииспользуютбезопасностьуровня общихпапок (share-levelsecurity), которая управляетразрешениямиобщих папок, но не конкретныхобъектов внутрипапки. Безопасностьуровня файловпреобладаетнад безопасностьюуровня общихпапок, но можетприменятьсятолько на томахNTFS.
Хотя припомощи общихпапок можноустановитьприемлемуюбезопасностьв маленькойсети, техникабезопасностиобщих папокв действительностиплохо масштабируетсядля обеспечениябезопасностибольших сетейи окружений.
Основнаяпричина дляустановки сети— это совместноеиспользованиефайлов. Любойкаталог налюбой рабочейстанции илисервере в сетиможет бытьопределен какобщий каталог.Хотя общиепапки не обладаюттем же уровнембезопасности, как каталогиNTFSна выделенномсервере, Windows2000 предоставляетпростой наборвозможностейбезопасностидля общих каталогов.
Доступк общим папкам.На сервереможет бытьсконфигурированонесколько общихпапок — томацеликом, каталогина более глубокихуровнях, — всеони видятсяпользователямкак единыйсписок подименем сервера.Пользователимогут получитьдоступ к папкес именем серверачерез значокMyNetworkPlaces(Мое сетевоеокружение) изатем открытьее, чтобы отобразитьсписок общихпапок.
Общиепапки по умолчанию.В SharedFolderManager(диспетчеробщих папок), несколько общихпапок с именами, заканчивающимисязнаком доллара: С$, ADMIN$и т. п. Это административныеобщие папки(administrativeshares)— общие папки, автоматическиконфигурируемыеWindows2000 и доступныетолько дляадминистраторови самой операционнойсистемы. Этиобщие папкииспользуютсядля удаленногоадминистрированияи взаимодействиямежду системами.
Административныеобщие папкипредставляютопределенныйриск с точкизрения безопасности.Хакер, получившийдоступ к учетнойзаписи Administratorна одной рабочейстанции в рабочейгруппе, сможетполучить доступк системнымдискам другихрабочих станций, легко получаядоступ уровняадминистраторако всей рабочейгруппе.
Можно повыситьбезопасность, отключивавтоматическиеадминистративныеобщие папки, созданные длякорневых каталоговдисков жесткогодиска (С$, 0$ и т.д.).
Безопасностьуровня общихпапок аналогичнабезопасностифайловой системы, но далеко нетак разнообразна(или безопасна), потому чтозаписи управлениядоступом общихпапок могутприменятьсятолько к общейпапке как кединому целому.Безопасностьнельзя настроитьвнутри общейпапки.
У безопасностиуровня общихпапок есть односущественноепреимущество: она работаетс любым общимкаталогом, находится лион на томе NTFSили FAT.Безопасностьуровня общихпапок — единственныйспособ обеспечитьбезопасностькаталогов FAT.Однако установленныеразрешениядля общей папкивлияют толькона удаленныхпользователей.Пользователи, локально вошедшиев системукомпьютера, имеют доступко всем папкамна томе FAT, независимоот того, общиеони или нет.Безопасностьуровня общихпапок такжене применимак пользователям, вошедшим всистему локально, или клиентамTerminalServices(службы терминала).
Разрешенияобщих папок.Для общих папоквозможны следующиеразрешения, каждое из которыхможет бытьразрешено илизапрещено:
• Read(Чтение) — позволяетпользователямпросматриватьсодержимоекаталога, открыватьи читать файлыи запускатьпрограммы;
• Change(Изменение) —разрешает все, что и разрешениеRead(Чтение). Плюск этому пользователимогут создавать, удалять и изменятьфайлы;
• FullControl(Полный доступ)— разрешаетвсе, что и разрешенияRead(Чтение) и Change(Изменение).Плюс к этомупользователимогут изменятьразрешенияи менять владельцафайлов.
6.5. Шифрованиесетевого уровня
Виртуальныечастные сети(virtualprivatenetwork,VPN)это высокозатратныйспособ расширитьлокальную сетьчерез Интернетдо удаленныхсетей и удаленныхклиентскихкомпьютеров.Сети VPNиспользуютИнтернет дляпередачи трафикалокальной сетииз одной частнойсети в другую, инкапсулируятрафик локальнойсети в IP-пакеты.Зашифрованныепакеты не могутбыть прочитаныпромежуточнымикомпьютерамиИнтернета имогут содержатьлюбой видвзаимодействийлокальной сети, включая доступк файлам и принтерам, электроннуюпочту локальнойсети, вызовыудаленныхпроцедур иклиент-серверныйдоступ к базамданных.
Виртуальныечастные сетимежду локальнымисетями можноустанавливатьпри помощикомпьютеров-серверов, брандмауэровили маршрутизаторов.Доступ клиентовк VPNможет осуществлятьсяпри помощипрограммногообеспеченияVPNна клиентскихкомпьютерахили путем удаленноготелефонногоподключенияк поставщикамуслуг Интернета(ISP), поддерживающимпротокол VPN.При второмметоде, однако,ISPстановитсявашим партнеромв безопасностисети.
Однитолько системыVPNне обеспечиваютдостаточнойзащиты сетитакже потребуетсябрандмауэри другие службыбезопасностиИнтернета дляобеспечениябезопасностисети. Проблемыс безопасностьюв особенностисвойственныпротоколу РРТР
ИспользованиеИнтернета длясвязи локальныхсетей и предоставленияудаленнымкомпьютерамдоступа к локальнойсети влечетза собой проблемыбезопасности, производительности, надежностии управляемости.Клиенты и серверылокальной сетидолжны бытьзащищены отИнтернета припомощи трансляциисетевых адресов, осуществляемойбрандмауэром, и/или прокси-серверамитак, чтобы (видеале) злоумышленникив сети не моглидаже узнатьоб их существовании, что сильноснижает ихподверженностьиндивидуальныматакам. Длятого чтобызатруднитьхакерам возможностьзахвата закрытойинформациифирмы, большинствобрандмауэровконфигурируютсятак, чтобы непропускатьтипичные служебныепротоколылокальной сети, такие как SMB,NetBIOS,NetWareCoreProtocolили NFS.
SMBработает особеннохорошо в чистомвиде черезИнтернет. Имеявысокоскоростнойканал, можнопросто использоватьсовместноеиспользованиефайлов черезИнтернет безбрандмауэровили сконфигурироватьваш брандмауэрдля передачитрафика 8MB иKerberosили NetBIOSи разрешитьудаленныйдоступ к службамфайлов и печати.Это позволитхакерам предпринятьпопытку получитьдоступ к вашимданным, простопредоставивдопустимоеимя учетнойзаписи и парольили проведяатаку на протоколи воспользовавшисьего ошибкой.
6.5.1.ТехнологииVPN
Виртуальныечастные сети(VPN)решают проблемупрямого доступак серверамчерез Интернетпри помощиобъединенияследующихфундаментальныхкомпонентовбезопасности:
• IP-инкапсуляция;
• защищеннаяаутентификация;
• шифрованиевложенныхданных.
ПротоколSecureSocketLayerосуществляетшифрованиевложенныхданных беззащищеннойаутентификацииудаленногопользователя,aKerberosосуществляетзащищеннуюаутентификациюбез шифрованиявложенныхданных.
IP-инкапсуляция.В идеале, компьютерыв каждой локальнойсети не должныничего подозреватьо том, что вовзаимодействиис компьютерамииз других локальныхсетей естьчто-то особенное.Компьютеры, не входящиев вашу виртуальнуюсеть, не должныиметь возможностьподслушиватьтрафик междулокальнымисетями иливставлять вкоммуникационныйпоток своисобственныеданные.
IP-пакетможет содержатьлюбой вид информации: файлы программ, данные электронныхтаблиц, звуковыеданные или дажедругие IP-пакеты.Когда IP-пакетсодержит другойIP-пакет, это называетсяIP-инкапсуляцией(IPencapsulation),IPповерх IP(IPonIP)или IP/IP.Можноинкапсулироватьодин IP-пакетв другой несколькимиспособами;Microsoftделает этодвумя различными, но связаннымиспособами, определеннымив протоколахPoint-to-PointTunnelingProtocol(РРТР) и Layer2 TunnelingProtocol(L2TP).Microsoftтакже поддерживаетIPSec, которому необязательноиспользоватьинкапсуляцию.
IP-инкапсуляцияможет заставитьдве удаленныедруг от другасети выглядетьдля компьютеровсети соседними, отделеннымидруг от другатолько одниммаршрутизатором, хотя на самомделе они будутразделенымногими шлюзамии маршрутизаторамиИнтернета, которые могутдаже не использоватьодного адресногопространства, потому что обевнутренниесети применяюттрансляциюадресов.
Конечнаяточка туннеля, будь это маршрутизатор, устройствоVPN, или сервер, накотором работаетпротоколтуннелирования, извлечет внутреннийпакет, расшифруетего и затемотправит вложенныйпакет по егопути назначенияво внутреннейсети в соответствиисо своими правиламимаршрутизации.
Передачаданных в соединенныхпо протоколуРРТР локальныхсетях начинаетсяи заканчиваетсяточно так же, как это происходитв локальныхсетях, соединенныхчерез маршрутизатор.IP-пакетам, однако, приходитсяпроходить болеедальний путь, поэтому в серединепроделываетсябольшая работа.С точки зрениядвух клиентскихкомпьютеровв сети не имеетзначения, какимобразом пакетбыл полученодной IP-подсетьюот другой. Длявовлеченныхв соединениесетевых клиентскихкомпьютеровмаршрутизаторозначает тоже самое, чтои два RRAS-сервераи РРТР-соединение.
Защищеннаяаутентификация.Защищеннаяаутентификация(cryptographicauthentication)используетсядля безопасногоподтвержденияличности удаленногопользователя, для того чтобысистема смоглаопределитьсоответствующийэтому пользователюуровень безопасности.Сети VPNприменяютзащищеннуюаутентификациюдля того, чтобыопределить, может ли пользовательучаствоватьв зашифрованномтуннеле илинет, а такжемогут применятьее для обменасекретнымиили открытымиключами, используемымидля шифрованиявложенныхданных.
Существуетмного различныхвидов защищеннойаутентификациив двух общихкатегориях.
• Шифрованиес секретнымключом. Такженазываетсяшифрованиемс общим секретнымключом (sharedsecretencryption)или симметричнымшифрованием(symmetricencryption), полагаетсяна секретноезначение, известноеобеим сторонам.
• Шифрованиес открытымключом. Полагаетсяна обмен однонаправленнымиключами (unidirectionalkeys)- ключами, припомощи которыхможно толькозашифроватьданные. Оконечныесистемы туннелямогут обмениватьсяпарами открытыхключей дляобразованиядвунаправленногоканала, илиполучательпри передачес открытымключом можетзашифроватьобщий секретныйключ и переслатьего отправителюдля использованияв будущихкоммуникациях(потому чтошифрованиес секретнымключом быстрее, чем шифрованиес открытымключом).
Если хакерперехватитоткрытый ключ(или ключ длязашифровки), он сможет толькозашифроватьданные и передатьих получателю, но не сможетрасшифроватьсодержаниеперехваченныхданных.
Шифрованиевложенныхданных.Шифрованиевложенныхданных (datapayloadencryption)используетсядля сокрытиясодержанияинкапсулированныхданных пришифрованииинкапсулированныхIP-пакетови данных, ивнутренняяструктурачастных сетейсохраняетсяв секрете. Шифрованиевложенныхданных можетосуществлятьсяпри помощиодного изкриптографическихметодов обеспечениябезопасности, которые различаютсяв зависимостиот вашего решенияVPN.
продолжение
--PAGE_BREAK--
6.5.2.IPSec
IPSec(InternetProtocolSecurity)это системастандартовIETFдля безопасныхIP-коммуникаций, полагающаясяна шифрованиедля обеспеченияподлинностии закрытостиIP-коммуникаций.IPSecобеспечиваетмеханизм, посредствомкоторого можнореализоватьследующее:
• проверятьподлинностьотдельныхIP-пакетови гарантировать, что они не былиизменены;
• шифроватьвложенныеданные отдельныхIP-пакетовмежду двумяоконечнымисистемами;
• инкапсулироватьTCPили UDPсокет междудвумя оконечнымисистемами(хостами) внутризащищенногоIP-канала(туннеля), установленногомежду промежуточнымисистемами(маршрутизаторами)для обеспеченияфункционированиявиртуальнойчастной сети.
IPSecреализует этитри функциипри помощи двухнезависимыхмеханизмов: протоколAuthenticationHeaders'(АН) дляаутентификациии протоколEncapsulationSecurityPayload(ESP)дляшифрованиячасти данныхIP-пакета.Эти два механизмамогут применятьсявместе или поотдельности.
МеханизмАН работает, вычисляя контрольнуюсумму всейинформациизаголовкаTCP/IP и зашифровываяконтрольнуюсумму при помощисекретногоключа получателя.Получательрасшифровываетконтрольнуюсумму при помощисвоего секретногоключа и затемсверяет заголовокс расшифрованнойконтрольнойсуммой. Есливычисленнаяконтрольнаясумма отличаетсяот контрольнойсуммы заголовка, то в этом случаелибо не удаласьрасшифровкаиз-за неправильногоключа, либозаголовок былизменен припередаче. Влюбом случаепакет отбрасывается.
IPSecможет действоватьв одном из двухрежимов: транспортномрежиме (transportmode), который работаетв точности какобычный IP, за исключениемтого, что проводитсяаутентификациязаголовков(АН) и содержимоешифруется(ESP), или в туннельномрежиме (tunnelmode), в котором IP-пакетыцеликом инкапсулируютсявнутрь пакетовАН или ESPдля обеспечениябезопасноготуннеля. Транспортныйрежим используетсядля обеспечениябезопасногоили аутентичноговзаимодействиячерез открытыеобласти IPмежду соединеннымичерез Интернетхостами в любыхцелях, в то времякак туннельныйрежим используетсядля созданиябезопасныхканалов передачиданных междумаршрутизаторамиили другимиконечнымиточками сетив целях связываниядвух частныхсетей.
Туннельныйрежим.Приобычном маршрутизируемомсоединениихост передаетIP-пакетсвоему шлюзупо умолчанию, который продвигаетпакет до техпор, пока он недостигнет шлюзапо умолчаниюполучателя, который затемпередает егоконечномухосту. Все компьютерыв соединениидолжны бытьв одном открытомадресномпространстве.
В IPповерх IP, или IP/IP, шлюз по умолчанию(или другоймаршрутизаторпо пути следования)получает пакети замечает, чтоего маршрутдля этого пакетазадает туннельIP/IP, поэтому онустанавливаетTCP/IP-соединениес удаленнымшлюзом. Припомощи этогосоединенияшлюз передаетвесь IP-трафикхоста-инициаторавнутри этогосоединения, вместо тогочтобы продвигатьего.
IPSecреализует иIP/IP, и IPSec/IP.IP/IPобеспечиваетнезашифрованныйвиртуальныйтуннель междудвумя оконечнымисистемами aIPSec/IPприменяет ESPдля шифрованиявложенныхданных несущегоIP, таким образомзашифровываявесь инкапсулированныйIP-пакет
InternetKeyExchange.IPSecиспользуеткриптографиюоткрытого ключадля шифрованияданных междуоконечнымисистемами. Длятого чтобыустановитьIPSec-соединениес хостом-получателем, передающийхост должензнать открытыйключ этогохоста. Техническиотправительможет простозапросить ухоста открытыйключ, но это еобеспечитаутентификации— любой хостможет запроситьключ иполучитьего. Таким образомработает SSL, подлинностькомпьютер; неимеет значения, и SSLполагаетсяна какой-либодругой протоколдля аутентификациипользователяпосле установкитуннеля.
IPSecиспользуетконцепциюSecurityAssociation(безопаснаяассоциация,SA)для созданияименованныхкомбинацийключей и политики, используемыхдля защитыинформациидля определеннойфункции. Политикаможет указыватьопределенногопользователя,IP-адресхоста илисетевой адрес, аутентификациякоторых должнабыть проведена, или задаватьмаршрут, гдеможно было быполучить такуюинформацию.
InternetKeyExchange(IKE)устраняетнеобходимостьвручную вводитьключи в системы.IKEиспользуетбезопасностьс секретнымключом дляподтверждениясвоих полномочийдля созданияIPSec-соединенияи для секретногообмена открытымиключами. ПротоколIKEтакже способенсогласовыватьсовместимыйнабор протоколовшифрованияс чужим хостом, так что администраторамне нужно знать, какие именнопротоколышифрованияподдерживаютсяна хосте другойстороны. Послеобмена открытымиключами исогласованияпротоколовшифрованиябезопасныеассоциацииавтоматическисоздаются наобоих хостахи может бытьустановленообычноеIPSec-взаимодействие.С использованиемIKEв каждый компьютер, которому требуетсявзаимодействиечерез IPSec, должен бытьвведен толькоодин секретныйключ. Этот ключможет бытьиспользовандля созданиясоединенияIPSecс любым другимIPSec-хостом, обладающимэтим же секретнымключом
ВWindows2000 можносконфигурироватьполитикиIPSecдляиспользованияKerberosдляавтоматическогообменасекретнымиключамидляIKEЭтоустраняетпотребностьвручномвводеключейипозволяетреализоватьполностьюавтоматическоебезопасноешифрованиемеждучленамиоднойActiveDirectoryвсетяхWindows2000
ИнициаторIKEначинает IKE-запрос, отправляяудаленномухосту запросна соединениев виде простоготекста. Удаленныйхост генерируетслучайноечисло, сохраняетего копию иотправляеткопию обратноинициатору.Инициаторшифрует свойсекретный ключс использованиемслучайногочисла и отправляетего удаленномухосту. Удаленныйхост расшифровываетсекретный ключ, используя своесохраненноеслучайноечисло, и сравниваетзакрытый ключсо своим секретнымключом (илисписком ключей, называемомсвязкойключей (keyring)).Если секретныйключ не совпадаетни с одним ключомиз списка, удаленныйхост разорветсоединение.Если совпадет, удаленныйхост зашифруетсвой открытыйключ при помощисекретногоключа и отправитего обратноинициатору.Инициатор затемвоспользуетсяоткрытым ключомдля установкисеанса IPSecс удаленнымхостом.
/>/>/>/>
Инициирование процедуры обмена ключами (IКЕ)
/>
Случайный ключ
/>/>
Зашифрованный секретный ключ
/>
Шифрованный открытый ключ
/>
Рис.6.5.2.1.ПримерработыInternet Key Exchange.
РеализацияMicrosoftIPSecне завершенаполностью, потому чтостандарты IPSecвсе еще появляются.Практическимследствиемэтого являетсято, что реализацияIPSecв Windows2000 по умолчаниюнесовместимас реализациямибольшинствапоставщиковбрандмауэров
6.5.3.L2TP
Layer2 TunnelingProtocolявляется расширениемпротоколаPoint-to-PointProtocol(протоколточка-точка, РРР) и позволяетразделитьконечную точкуканала передачиданных и точкудоступа к сети.В традиционномРРР пользователь(обычно удаленныйпользователь)устанавливаетРРР-соединениес серверомудаленногодоступа. Этотсервер отвечаетна соединениеканальногоуровня (звонокчерез модем)и также работаеткак точка доступак сети, извлекаяданные, инкапсулированныев РРР-сообщение, и передаваяих в сеть назначения.Инкапсулированныеданные могутбыть кадромAppleTalk,IP-пакетом,IPX-пакетом, пакетом NetBIOSили любым другимпакетом сетевогоуровня.
ВWindows2000 этаслужбаназываетсяRRAS.
L2TPотделяет ответына звонки имаршрутизируемыйдоступ по сетиПри работе попротоколу L2TPзвонящая сторонаможет дозваниватьсяк модемномупулу (или DSLAccessModule, или чему-либоеще) и эти устройствамогут простоинкапсулироватьполученныепакеты L2TPв пакеты FrameRelay,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может работатьповерх любоготранспортапакетов, включаяFrameRelayи ATM.РРТР не используетIPSecдля шифрованияпакетов, вместоэтого он используетхэшированныйпароль пользователяWindows2000 для созданиязакрытого ключамежду клиентоми удаленнымсервером, который(в версии с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.Внешний видокна программы
Выводы
Безопасность— это комплексмер, принимаемыхдля предотвращенияпотери илираскрытияинформациив сети. Посколькуневозможноабсолютноустранитьвероятностьпотери в пригодныхк работе системах, определеннаястепень рисканеизбежна, ибезопасностьсистемы должнаосновыватьсяна фундаментепредоставлениядоступа тольконадежным принципаламбезопасности(пользователямили компьютерам).
Для управлениябезопасностьюлюбая системадолжна:
• контролироватьдоступ;
• идентифицироватьпользователей;
• ограничиватьили разрешатьдоступ;
• записыватьдеятельностьпользователей;
• осуществлятьзакрытоевзаимодействиемежду системами;
• минимизироватьриск неправильнойконфигурации.
Шифрование, процесс сокрытиясообщения припомощи математическогоалгоритма(шифра), и секретноезначение (ключ), известноетолько легитимнымсторонам, образуютоснову всейсовременнойкомпьютернойбезопасности.Шифрованиеможет бытьиспользованодля подтвержденияидентификационныхданных пользователяили компьютера, для проверкидопустимостиданных или длясокрытия содержимогоданных прихранении илив коммуникационномпотоке.
БезопасностьWindows2000 основываетсяна аутентификациипользователей.Входя в системуWindows2000, пользователиподтверждаютсвою личностьдля того, чтобыполучить доступк файлам, программами общим даннымна серверах.Windows2000 используетпроникающуюмодель безопасности, в которойидентификационныеданные пользователяпроверяютсяпри всех действиях, выполняемыхпользователемна компьютере, вместо тогочтобы предоставлятьширокий доступк компьютерупосле того, какпроизошелуспешный входв систему.
Для тогочтобы операционнаясистема быланадежной, онадолжна бытьспособнойгарантировать, что не подвергаласьнесанкционированнымизменениями что информацияможет хранитьсяв безопасностиот пользователей.Windows2000 используетразрешенияфайловойсистемыNTFSдля управлениядоступом кфайлам, включаяфайлы, обеспечивающиезагрузку Windows2000. Разрешениямогут бытьпредоставленыпользователями группампользователейдля каждойфункции файловойсистемы. Файлытакже могутбыть зашифрованына диске длягарантии того, что к ним небудет получендоступ, дажекогда компьютервыключен.
СетеваябезопасностьWindows2000 управляетсяпри помощиActiveDirectory, используемойв качестверепозитарияхэшированныхпаролей Kerberos, групповыхполитик и политикIPSec.ActiveDirectoryопределяеттакже взаимоотношениямежду принципаламибезопасности.
Windows2000 используетKerberosдля проверкиидентификационныхданных пользователяпо сети. Kerberosявляется надежнойсистемой безопасноститретьей фирмы.Поскольку обеконечные точкиво взаимодействиидоверяют идоверяемысервером Kerberos, они доверяютдруг другу.Серверы Kerberosмогут доверятьдругим серверамKerberos, поэтому могутбыть созданытранзитивныедоверительныеотношения, дающие возможностьконечным точкамиз разделенныхбольшим расстояниемсетей устанавливатьсеансы взаимодействияс проверкойподлинности.Kerberosинтегрированс ActiveDirectory(все контроллерыдомена являютсяцентрами KerberosKeyDistributionCenter(центрамираспределенияключей Kerberos)), и вхождениев одно дереводомена автоматическисоздает транзитивныедвусторонниедоверительныеотношения.
Групповыеполитики применяютсядля установкитребованийбезопасностии конфигурациикомпьютерови учетных записейпользователейв домене, офисеили контейнереOU.Можно применятьгрупповыеполитики дляуправленияпрактическивсеми элементамибезопасностикомпьютерови пользователей.Групповыеполитики управляютсяиз оснасткиActiveDirectoryUsersandComputers(Пользователии компьютеры)или через оснасткуActiveDirectorySitesandServices(Сайты И службы).
IPSecявляется стандартомИнтернета дляобеспеченияаутентичностиIP-пакетови для шифрованияданных, вложенныхв IP-пакеты.IPSecработает сомногими различнымиалгоритмамибезопасностии может работатьв обычномтранспортномрежиме илитуннельномрежиме дляэмуляции закрытогоканала в открытойсети, такой какИнтернет.
Безопасностьв эру Интернетаозначает активнуюблокировкусеансов отнеизвестныхкомпьютеров, авторизациюпользователейна основесертификатовпубличныхключей шифрования, аудита использованияфайлов и каталогов, шифрованиепередачи данныхи предотвращениенепреднамереннойактивизациивирусов и троянскихконей легитимнымипользователями.
Вынесяуроки из плохоподготовленнойWindowsNT4,Windows2000 предоставляетсложный наборсредств аутентификациипользователей, шифрованияданных, обеспечениябезопасныхсоединений, блокировкинесанкционированногодоступа и целостногоуправлениябезопасностью.При помощинабора службпо умолчаниюWindows2000 можно сделатьболее безопасной, чем любую другуюоперационнуюсистему длямассового рынка— в том числевсе версии UNIXили Linux,— и ею гораздопроще управлятьи использоватьв безопасномсостоянии.
Windows2000 не может, темне менее, предусмотретьвсе, потому чтоMicrosoftи поставщикипрограммногообеспечениятретьих фирмпока еще воглаву угластавят простотуиспользования, а не безопасностьв потребительскихпродуктах, таких как InternetExplorer,Outlookи Office.Во всех этихпрограммахсуществуютсерьезныеизъяны в безопасностииз-за их встроенныхсценарныхпроцессоров, требующих отадминистраторовсетей неустаннойбдительности.Windows2000 также можетпомочь в исправленииэтих проблем, но пока 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
.modelflat, stdcall
optioncasemap :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
WndProcPROTO :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?
wsaWSADATA >
hStatic dd ?
hFont dd ?
hInstance dd ?
buffer db 24 dup (?)
buffer2 db 128 dup (?)
.code
start:
invokeGetModuleHandle, NULL
movhInstance, eax
invokeWSAStartup,101h,addr wsa
.ifeax == NULL
invokeDialogBoxParam,hInstance,ADDR dlgname,0,ADDR WndProc,0
invokeExitProcess,0
.endif
invokeMessageBox,NULL,offset wsaError,offset szTitle,MB_OK + MB_ICONSTOP
invoke ExitProcess,1
WndProcproc hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
.ifuMsg == WM_INITDIALOG
invokeLoadIcon,hInstance,101
invokeSendMessage,hWin,WM_SETICON,TRUE,eax
invokeGetDlgItem,hWin,2000
movhStatic,eax
invokegethostname,offset buffer,sizeof buffer
invokewsprintf,addr buffer2,addr szName,addr buffer
invoke SetDlgItemText,hWin,3000,addr buffer2
invokegethostbyname,addr buffer
moveax,[eax+12]
moveax,[eax]
moveax,[eax]
invoke inet_ntoa,eax
invoke SetDlgItemText,hWin,2000,eax
invoke WSACleanup
xor eax,eax
ret
.elseifuMsg == WM_CTLCOLORSTATIC
moveax,lParam
.ifeax == hStatic
invokeCreateFont,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
movhFont,eax
invokeSelectObject, wParam, hFont
invokeGetSysColor, COLOR_MENU
invokeSetBkColor, wParam, eax
invokeSetTextColor,wParam,Blue
invokeGetStockObject, HOLLOW_BRUSH
ret
.endif
.elseifuMsg == WM_CLOSE
invokeDeleteObject,hFont
invokeEndDialog,hWin,0
xoreax,eax
ret
.endif
xoreax,eax
ret
WndProcendp
end start
ПриложениеБ
Файл сборки
makefile
NAME=ip
$(NAME).exe:$(NAME).obj $(NAME).res
\masm32\bin\Link/SUBSYSTEM: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"
WINSOCKDIALOG DISCARDABLE 0, 0, 135, 25
STYLEWS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION«Ip Dialog»
FONT8, «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»