14 лет назад 17 августа 2004 в 4:07 70

В прошлом году, когда Microsoft с гордостью представляла свое последнее детище – Windows 2003, – чаще всего звучали слова о том, что новая ОС отличается повышенной надежностью. А надежность, как известно, подразумевает безопасность и устойчивость.

С устойчивостью и у Windows 2000 все было хорошо, а вот с безопасностью, к сожалению, не очень. Поэтому при создании серверной версии Windows XP (не стоит забывать, что на этапе своего рождения Windows Server 2003 называлась не иначе как Windows XP Server) над безопасностью решили основательно поработать. В течение февраля и марта 2002 года все силы разработчиков Microsoft (а это почти 8,5 тыс. человек) были брошены на обследование каждого потенциально уязвимого участка кода новой ОС.

Одним из результатов этих исследований, получивших название Windows Security Push, явилась книга Майкла Ховарда и Дэвида Леблана “Защищенный код”, в которой описаны как типовые, так и достаточно редкие ошибки, приводящие к уязвимости кода. Следует сказать, что чтение этой книги, а также посещение семинаров по безопасности, проводимых Ховардом и Лебланом, на какое-то время стали обязательными для сотрудников Microsoft.

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

Помимо этого в ходе кампании Windows Security Push корпорация собрала статистические данные относительно того, как различные механизмы безопасности используются конечными пользователями: как системный администратор управляет паролями, какие в системе запущены службы и как они сконфигурированы и т. д. Было выяснено, что значительная часть проблем безопасности Windows 2000 Server вызвана неправильным администрированием встроенных в ОС служб.

Поэтому в Windows 2003 Server большинство из них по умолчанию отключены, а системы управления переработаны. В некотором смысле Microsoft говорит своим покупателям: “Если вам что-то нужно, научитесь вначале этим пользоваться. Если вы включаете какую-то службу, делайте это осознанно и позаботьтесь о том, чтобы она была правильно сконфигурирована”.

Таким образом, Windows 2000 вполне можно рассматривать, как своего рода бета-версию Windows 2003, а всех ее счастливых обладателей – бета-тестерами. Об эффективности такого подхода и, в частности, об успехе кампании Windows Security Push косвенно может говорить тот факт, что, хотя с момента официального выхода Windows Server 2003 прошло больше года, за это время для нее еще не появилось ни одного сервис-пака, которые выходят обычно сразу же, как только в ОС находят достаточное количество критичных ошибок. При этом за три с половиной года существования Windows 2000 появилось четыре внушительных пакета обновлений…

ЖЕЛЕЗО, КОТОРОЕ МЫ ВЫБИРАЕМ
Системные требования у Windows 2003 вполне лояльные. Можно с уверенностью сказать, что работать она будет не только на мощных серверах, но и на большинстве современных домашних ПК. Кстати, именно поэтому, а также по причине более высокой надежности, многие продвинутые пользователи устанавливают эту ОС себе на домашний компьютер. Для сравнения требований к аппаратному обеспечению различных версий Windows 2003 и 2000 мы приводим данные с сайта Microsoft (www.microsoft.com/rus/windows2000/upgrade/upgraderegs и www.microsoft.com/rus/windowsserver2003/sysreqs/default.mspx, соответственно, для Windows 2000 и 2003):

Сравнение системных требований для различных версий Windows 2003 и Windows 2000
Название ОС Частота процессора Объем оперативной памяти Мно¬го¬про¬цес¬сор¬ность Место на диске для установки
минимум рекомендовано минимум рекомендовано максимум
Windows Server 2003 RC2 Standard Edition 133 МГц 550 МГц 128 Мб 256 Мб 4 Гб 1-4 1,5 Гб
Windows Server 2003 RC2 Enterprise Edition 133 МГц //(x86-компьютеры), //733 МГц //(Itanium- компьютеры) 733 МГц 128 Мб 256 Мб 32 Гб //(x86-компьютеры), //64 Гб //(Itanium- компьютеры) 1-8 1,5 Гб //(x86-компьютеры), //2,0 Гб //(Itanium- компьютеры)
Windows Server 2003 RC2 Datacenter Edition 400 МГц //(x86- компьютеры), //733 МГц //(Itanium- компьютеры) 733 МГц 512 Мб 1 Мб 64 Гб //(x86-компьютеры), //512 Гб //(Itanium- компьютеры) 8-32 1,5 Гб //(x86-компьютеры), //2,0 Гб //(Itanium- компьютеры)
Windows Server 2003 RC2 Web Edition 133 МГц 550 МГц 128 Мб 256 Мб 2 Гб 1-2 1,5 Гб
Windows 2000 Professional 133 Мгц – 32 Мб 64 Мб 4 Гб 1-2 1 Гб
Windows 2000 Server 133 Мгц – 128 Мб 256 Мб 4 Гб 1-4 1 Гб
Windows 2000 Advanced Server 133 Мгц – 128 Мб 256 Мб 8 Гб 1-8 1 Гб

Как видно, минимальные требования остались практически теми же, а вот возможности масштабирования заметно увеличились. Особенно это касается максимального объема оперативной памяти и количества процессоров. Но нужно отметить, что указанные 512 Гб оперативной памяти смогут использовать только счастливые обладатели серверов на базе Itanium, поскольку для 32-разрядной архитектуры предусмотренный максимум – 64 Гб (что, с другой стороны, тоже немало).

Поддержки 64-разрядной архитектуры в Windows 2000 не наблюдалось, и ее появление – это серьезный шаг на пути завоевания Microsoft рынка серверов. Такие системы становятся все более и более популярными, они стали попадаться даже на рабочих местах рядовых пользователей. 64-битные версии Windows 2003 и Windows XP, работающие с Itanium, продаются уже сегодня, а вскоре ожидается вариант Windows XP и Windows Server 2003 for 64-Bit Extended Systems – для Opteron и будущих 64-разрядных версий Xeon (эти архитектуры несовместимы с Itanium).

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

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

В частности, была переработана часть операционной системы, которая отвечает за одновременный доступ нескольких потоков к реестру – повысилась эффективность кэшируемости часто запрашиваемых значений, а также подсистема ввода-вывода. Включена в Windows 2003 и поддержка недавно появившихся технологий, вроде методов борьбы с неоднородным по времени доступом к памяти (Non-Uniform Memory Access, NUMA).

Кое-какие нововведения перешли в новую Windows от ее младшей сестренки, Windows XP – например, удаленный доступ к Рабочему столу и драйверная модель. Последнее означает, что, как и Windows XP, Windows 2003 поддерживает возможность отката драйверов (Device Driving Rollback) – а это практически полностью ликвидирует один из самых главных источников нестабильности Windows 2000 – последствия установки “плохого” драйвера устройства. При установке и первоначальном конфигурировании существенную помощь может оказать новая утилита проверки совместимости с оборудованием, которую можно запустить перед инсталляцией.

Вообще, в части взаимодействия с “железом” система практически идентична Windows XP – изменение параметров и добавление драйверов в большинстве случаев не требует перезагрузки, также без нее обходится и изменение большинства параметров, например, параметров сетевых подключений (лишь на время отключается само соединение).

МОЯ WINDOWS МЕНЯ БЕРЕЖЕТ (КОНЦЕПЦИЯ SD3)
Лейтмотив Windows 2003 – это безопасность. Ведь безопасность ОС – это то, что сегодня волнует потребителя больше всего, и именно ей Microsoft уделяет наибольшее внимание. Вот список наиболее заметных нововведений в сфере безопасности:

– новые настройки службы Active Directory, а также утилита Active Directory Migration Tool (ADMT) v 2.0, упрощающая миграцию пользовательских профилей;
– интеграция технологии .NET с исполнением приложений в среде CLR (Common Language Runtime);
– усовершенствование служб Internet Information Services (IIS) 6.0 по сравнению с IIS 5.0;
– новые механизмы автоматической загрузки и установки патчей с помощью Microsoft Software Update Service (SUS);
– улучшение протокола Kerberos, смарт-карт и биометрических средств аутентификации;
– теневое копирование томов (это, правда, больше относится к надежности, чем безопасности);
– службы проверки подлинности в интернете (IAS);
– встроенный брандмауэр (Internet Connection Firewall, ICF);
– новые возможности службы Microsoft Passport.

Все нововведения в Windows 2003 подчиняются новой концепции Microsoft – SD3, основные положения которой довольно просты. SD3 – это безопасность на стадии разработки проекта, в конфигурации по умолчанию и при развертывании (Secure by design, by default and in deployment).

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

По умолчанию отключены службы IIS. Еще около 20 служб не отключены, но настроены так, чтобы обеспечивать максимальную безопасность. Кроме сетевых служб отключены многие “функции домашнего компьютера”, например, темы Рабочего стола или ускорение 3D, графическое приветствие, тени и всплывающие меню, запрет отображения скрытых файлов. Хотя вам никто не мешает все это включить. За счет такого аскетизма система грузится гораздо быстрее, да и ломается реже.

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

Помочь администратору быстро настроить ОС призван мастер настройки сервера (Configure Your Server wizards). В отличие от аналогичного мастера в Windows 2000 он является легким в использовании средством, позволяющим определить назначение сервера, в том числе присвоить ему функции файлового сервера, сервера печати, сервера удаленного доступа и т. д. Очевидно, что разработчики Windows 2003 продолжили движение в сторону упрощения работы пользователя с системой.

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

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

Соответствующие IT-специалисты занимаются исключительно тем, что доводят наиболее свежие обновления, связанные с безопасностью ОС, до конечных потребителей, то есть рядовых пользователей и следят за тем, чтобы те их устанавливали. Чтобы подробнее узнать о том, как это делается, можно зайти на www.microsoft.com/technet/itsolutions/MSIT/Security/SMS03SPM.mspx. Мы же только отметим, что в большой организации с несколькими тысячами рабочих станций проблема установки обновлений действительно стоит остро, и необходимость каких-то изменений явно назрела.

Чтобы ускорить процесс устранения обнаруженных ошибок, в Microsoft разработали несколько механизмов. В Windows 2003 автоматическое развертывание важнейших обновлений обеспечивается с помощью службы автоматического обновления программ (Microsoft Software Update Service, SUS). Раньше для решения подобных задач применялась программа Windows Update, но она предназначалась лишь для частных пользователей и небольших организаций, так как ни механизмов управления использованием полосы пропускания, ни средств, обеспечивающих тестирование и санкционирование применения новых исправлений, в ней предусмотрено не было.

SUS, в отличие от Windows Update, – это довольно гибкая система, позволяющая администратору следить за тем, какие программы необходимо развертывать, когда осуществлять этот процесс и какие компьютеры в него включать.

К сожалению, SUS – это не панацея: она позволяет устанавливать программы коррекции только для самой операционной системы, IIS и Internet Explorer, поэтому исправить с ее помощью ошибки, например, в Office невозможно. Другой недостаток SUS состоит в том, что она работает только в связке с IIS. Во время установки SUS запускает мастер блокировки безопасности (IIS Lockdown Tool, IIS LT), которое обеспечивает защиту служб IIS на сервере SUS. Таким образом, даже если хакеру удастся взломать сервер SUS, доступ к клиентам этого сервера ему будет закрыт.

Широкие возможности предоставляет Microsoft Systems Management Server (SMS) 2003. С помощью этой утилиты администратор сможет автоматически собирать информацию о компьютерах в сети и их настройках, а также удаленно разворачивать необходимые приложения.

IIS 6.0. ЧТО НОВОГО?
При проведении большинства успешных атак на серверы под управлением Windows 2000 использовались уязвимости в службах IIS 5.0. Именно поэтому Microsoft уделила столько внимания и сил обеспечению безопасности новой версии IIS. И действительно, судя по отзывам администраторов Windows 2003 в различных форумах и чатах, новый IIS стал гораздо более стабильным, безопасным, и что удивительно, работать при этом стал быстрее. Что же сделала Microsoft, чтобы добиться такого результата?

Во-первых, в IIS 6.0, в отличие от более ранних версий, каждое веб-приложение выполняется в своем собственном рабочем процессе (если администратором, конечно, не задан режим совместимости с IIS 5.0), при этом рабочие процессы приложений запускаются отдельно от основного процесса WWW-службы – этим обеспечивается стабильность, так как зависание одного процесса не приводит к остановке всех остальных.

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

В то же время, часть поддержки протокола HTTP перенесена в режим ядра (она реализована в качестве драйвера http.sys, также известного под названиями listener или “HTTP-оператор”). Функции драйвера http.sys заключаются в перенаправлении веб-запросов от пользователей к процессам, функционирующим в пользовательском режиме, и ответов от процессов – к пользователям. Это увеличивает производительность.

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

Кроме того, службы IIS 6.0 по умолчанию отключены, а новое средство IIS Security Lockdown позволяет включить или заблокировать определенные функциональные возможности сервера в зависимости от потребностей администратора.

ПЛАТФОРМА .NET
В Windows 2003 среда .NET Framework является важной частью операционной системы, так как с ней связана работа многих других компонентов ОС. Поэтому теперь у вас просто нет выбора: платформа .NET всегда будет незримо присутствовать в системе. Кстати, среди всех новшеств, относящихся к Windows 2003, сама Microsoft, похоже, больше всего гордится именно технологией .NET.

Если сформулировать основную идею .NET, причем постараться сделать это всего в двух-трех словах, то получится что-то вроде “виртуальная машина” или “промежуточный язык Microsoft” (Microsoft Intermediate Language, MSIL). По замыслу Microsoft, в недалеком будущем большинство программ будет храниться на компьютере не в виде готового к исполнению машинного кода, а в виде PE-файла (Portable Executable File), содержащего текст программы на MSIL.

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

Использование .NET Framework приводит к решению сразу двух задач: во-первых, она обеспечивает лучшую переносимость приложений и, во-вторых, следит за безопасностью. Если какая-нибудь из выполняющихся программ была плохо написана, что может вызвать крах всей системы, или, наоборот, специально пытается взломать защиту, среда выполнения обязана завершить ее.

Права доступа и безопасность приложений, выполняющихся внутри .NET Framework, в широких пределах может настраивать администратор, но система может это делать и автоматически, в зависимости от степени ее доверия к коду программы. Если, к примеру, программа была установлена на компьютер с лицензионного CD – степень доверия одна, а если она была выкачана из интернета – то другая. Кстати, если подлинность поставляемого через интернет ПО была проверена с помощью службы Microsoft Passport, то степень доверия может быть очень даже высокой.

Естественно, выполнение приложений внутри виртуальной машины имеет ряд преимуществ, однако стоит признать, что первоначально эта идея принадлежала вовсе не Microsoft. Наиболее известный пример реализации виртуальной машины – весьма популярная Java Virtual Machine фирмы Sun. Кроме того, не стоит забывать, что ничто не дается даром. Всевозможные ухищрения с организацией “компьютера в компьютере” существенно уменьшают скорость выполнения программ – такова расплата за возрастающую безопасность.

НОВЫЙ PASSPORT
Система Microsoft Passport предназначена для обеспечения авторизованного доступа к разнообразным ресурсам сети после однократной регистрации. И хотя система Passport была разработана почти пять лет назад, широкого распространения она пока не получила. Такое положение дел определяется двумя факторами, сдерживающими ее распространение.

Первый – объективный: это недостаточный уровень безопасности системы Passport в Windows 2000. Windows XP поставляется с новой версией Passport – Passport 2.0, в которой часть задач по управлению процедурой аутентификации средствами Passport возлагается уже не на браузер, а на операционную систему. К дополнительным преимуществам новой версии Passport можно отнести и то, что она предоставляет пользователю возможность легко изменять содержимое своего профиля и решать, какие данные предоставлять веб-сайтам, а какие – нет.

А вот второй фактор – скорее субъективного характера. Дело в том, что вся информация о пользователе и регистрационные данные хранятся на серверах Microsoft. Из этого следует, что они, во-первых, могут банально потеряться (ведь Microsoft не говорит, как именно она их хранит), во-вторых, могут быть украдены (вспомним истории с утечкой исходников Windows) и, наконец, в-третьих, данные могут быть временно недоступны из-за перегрузки серверов.

Сознавая эти недостатки, Microsoft планирует в ближайшее время провести программу развертывания региональных серверов Microsoft Passport.

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

Но и это еще не все, служба Active Directory в Windows 2003 позволяет устанавливать соответствие между идентификаторами Passport (Passport User IDs, PUID) и стандартными идентификаторами Windows (Security ID, SID). Следовательно, при работе с пользователями, которые удостоверяют свои полномочия с помощью учетных данных Passport, администратор может применять стандартные политики безопасности Windows, базирующиеся на учетных записях (SID).

Если технология Passport получит значительное распространение (а это будет зависеть, в первую очередь, от политики Microsoft), она сможет оказать огромное влияние на интернет, поскольку необходимость улучшения безопасности при работе в сети очевидна.

Большая часть всех нововведений в Windows 2003 так или иначе доступна и в более ранних ОС Microsoft, но там их нужно было устанавливать отдельно. Хотя глобальных изменений нет, сделано множество мелких улучшений, в том числе повышающих удобство работы. Можно сказать, что система стала более “спаянной”. Если слухи окажутся верными (www.microsoft.com/presspass/exec/Jim/05-04winhec2004.asp) и Microsoft продолжит использовать в своих ОС существующее ядро, весьма возможно, что Longhorn будет еще более управляемой, предсказуемой и надежной системой.

Прочие нововведения

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

– Появилась служба мгновенных снимков состояния томов (Volume Shadow Copy Service), с помощью которой можно производить архивацию “на лету”; она может выполняться по расписанию или вручную.
– По сравнению с Windows 2000 еще больше расширены сетевые возможности. Разработчики не только добавили новые протоколы и улучшили старые, что так или иначе связано с повышением безопасности (PPPoE, IPSec, SOAP, WSDL), но и встроили в ОС брандмауэр, который оградит вашу сеть от нежелательных проникновений из интернета. Служба QoS (Quality of Service) по умолчанию отключена.
– Несколько изменены службы терминалов. Теперь доступ к терминальному серверу ограничен и возможен только для администраторов и членов и группы Remote Desktop Users.
– При установке некоторых компонентов системы (например, SharePoint Portal Server) автоматически ставится MS SQL Server 2000 (Desktop Edition), необходимый для работы этих приложений.
– Active Directory (AD) продолжает эволюционировать, становясь все более и более сложным: на смену смешанному (mixed) и основному (native) режиму доменов пришли функциональные уровни, которые определяют возможности доменов и леса, появились новые групповые политики.

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

Огромное количество изменений было внесено в модули, службы и программы, существовавшие еще в Windows 2000. Кроме того, были добавлены совершенно новые модули – например, службы E-mail Services, позволяющие использовать Windows 2003 для организации простой, но полнофункциональной системы обмена электронной почтой, и модуль балансировки сетевой нагрузки (Network Load Balancing, NLB).