Обеспечение безопасности в Windows NT
Виктор Кулагин, Сергей Матвеев, Александр Осадчук
Проблема компьютерной безопасности не нова. Каждый, кто использует компьютерные сети, нуждается в средствах обеспечения безопасности. Статистика показывает, что в большинстве случаев несанкционированного проникновения в систему можно избежать, если системный администратор уделяет должное внимание средствам защиты. Эффективность обеспечения безопасности компьютерных систем всегда зависит от качества настройки программно-аппаратных средств. Операционная система Windows NT имеет богатый набор средств защиты. Однако установленные по умолчанию значения параметров защиты не всегда удовлетворяют предъявляемым требованиям. Рассмотрим основные средства и методы обеспечения безопасности, входящие в состав Windows NT 4.0 и 5.0.
Физическая защита
К физическим средствам защиты относится:
- обеспечение безопасности помещений, где размещены серверы сети;
- ограничение посторонним лицам физического доступа к серверам, концентраторам, коммутаторам, сетевым кабелям и другому оборудованию;
- использование средств защиты от сбоев электросети.
Параметр | Notification Packages |
Тип | REG_MULTI_SZ |
Значение | PASSFILT |
Если этот параметр уже существует и содержит величину FPNWCLNT (File Personal NetWare Client), то допишите новую строку под FPNWCLNT. Если же вам мало наборов фильтра, то создайте свою библиотеку, используя статью Q151082 в Microsoft KnowledgeBase, где приведен пример написания модуля фильтра.
Защита файлов и каталогов (папок)
Операционная система Windows NT 4.0 поддерживает файловые системы FAT (File Allocation Table) и NTFS (New Technology File System). Напомним, что первая поддерживается такими известными операционными системами, как MS-DOS, Windows 3.X, Windows 95/98 и OS/2, вторая — только Windows NT. У FAT и NTFS различные характеристики производительности, разный спектр предоставляемых возможностей и т.д. Основное отличие файловой системы NTFS от других (FAT, VFAT (Virtual File Allocation Table), HPFS) состоит в том, что только она одна удовлетворяет стандарту безопасности C2, в частности, NTFS обеспечивает защиту файлов и каталогов при локальном доступе.
Защиту ресурсов с использованием FAT можно организовать с помощью прав доступа: Чтение, Запись, Полный.
Таким образом, можно рекомендовать создавать дисковые разделы NTFS вместо FAT. Если все же необходимо использовать раздел FAT, то его надо сделать отдельным разделом для приложений MS-DOS и не размещать в нем системные файлы Windows NT.
Поскольку файлы и каталоги в Windows NT являются объектами, контроль безопасности осуществляется на объектном уровне. Дескриптор безопасности любого объекта в разделе NTFS содержит два списка контроля доступа (ACL) — дискреционный (discretionary ACL (DACL)) и системный (system ACL (SACL)).
В операционной системе Windows NT управление доступом к файлам и каталогам NTFS возлагается не на администратора, а на владельца ресурса и контролируется системой безопасности с помощью маски доступа (access mask), содержащейся в записях списка контроля доступа ACL.
Маска доступа включает стандартные (Synchronize, Write_Owner, Write_Dac, Read_Control, Delete), специфические (Read (Write) _Data, Append_Data, Read(Write )_Attributes, Read(Write)_ExtendedAttributes, Execute) и родовые (Generic_Read(Write), Generic_Execute) права доступа. Все эти права входят в дискреционный список контроля доступа (DACL). Вдобавок маска доступа содержит бит, который соответствует праву Access_System_Security. Это право контролирует доступ к системному списку контроля доступа (SACL).
В списке DACL определяется, каким пользователям и группам разрешен или запрещен доступ к данному ресурсу. Именно этим списком может управлять владелец объекта.
Список SACL задает определенный владельцем тип доступа, что заставляет систему генерировать записи проверки в системном протоколе событий. Только системный администратор управляет этим списком.
На самом же деле для администрирования используются не отдельные права доступа, а разрешения (permissions) NTFS. Разрешения подразделяются на:
индивидуальные — набор прав, позволяющий предоставлять пользователю доступ того или иного типа (табл. 1.1);
стандартные — наборы индивидуальных разрешений для выполнения над файлами или каталогами действий определенного уровня (табл. 1.2);
специальные — комбинация индивидуальных разрешений, не совпадающие ни с одним стандартным набором (табл. 1.3).
По умолчанию при инсталляции Windows NT и файловой системы NTFS устанавливаются довольно «свободные» разрешения, позволяющие обычным пользователям получать доступ к ряду системных файлов и каталогам. Например:
Каталоги %systemroot% и %systemroot%\system32 имеют по умолчанию разрешение Change для группы Everyone. Если после установки Windows NT FAT впоследствии был преобразован в NTFS, то данное разрешение для этой группы устанавливается на все файлы и подкаталоги каталога %systemroot%. Защита данных каталогов заключается в грамотной установке разрешений. В табл. 2 приведены значения разрешений для каталогов. Вместо группы Everyone необходимо создать группу Users и использовать именно ее.
Существует несколько файлов операционной системы, расположенных в корневой директории системного раздела, которые также необходимо защитить, назначив следующие разрешения (табл. 3).
Имейте в виду, что такие разрешения затруднят пользователям установку программного обеспечения. Также будет невозможна запись в .ini файлы в системном каталоге.
Количество пользователей с правами администратора рекомендуется свести к минимуму. Учетную запись Guest лучше вообще удалить, хотя она при установке (по умолчанию) и так отключена, а вместо этой учетной записи создать для каждого пользователя свою временную учётную запись с соответствующими разрешениями и правами.
Защита реестра
Системный реестр (registry) Windows NT — это база данных, содержащая информацию о конфигурации и значениях параметров всех компонентов системы (устройствах, операционной системе и приложениях). Основные кусты реестра находятся в ветви HKEY_LOCAL_MACHINE и называются SAM, SECURITY, SOFTWARE и SYSTEM. Куст SAM, как мы уже знаем, — это база данных Менеджера учетных записей, SECURITY хранит информацию, используемую локальным Менеджером безопасности (LSA). В кусте SOFTWARE находятся параметры и настройки программного обеспечения, а в SYSTEM содержатся данные о конфигурации, необходимые для загрузки операционной системы (драйверы, устройства и службы).
Доступ пользователей к полям реестра следует разграничить. Это можно осуществить с помощью утилиты Regedt32.
Установленные в системе по умолчанию разрешения на доступ к разделам реестра нельзя модифицировать рядовым пользователям. Поскольку некоторые разделы реестра доступны членам группы Everyone, после установки Windows NT необходимо изменить разрешения в разделе (табл. 4).
Для доступа к разделу
HK EY_LOCAL_MACHINE\Software\Microsoft\Windows NT\ CurrentVersion\PerfLib можно вообще удалить группу Everyone, а вместо нее добавить группу INTERACTIVE с правом Read.
Для ограничения удаленного доступа к системному реестру Windows NT используется запись в разделе H KEY_LOCAL_MACHINE\System\CurrentcontrolSet\Control\SecurePipeServers\winreg. По умолчанию право удаленного доступа к реестру имеют члены группы Administrators. В Workstation этот раздел отсутствует, и его необходимо создать. Право удаленного доступа к реестру получают только пользователи и группы, указанные в списке прав доступа к указанному разделу. К некоторым разделам реестра необходимо предоставить доступ по сети другим пользователям или группам; для этого эти разделы можно указать в параметрах Machine и Users подраздела HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro\SecurePipeServers\winreg\AllowedPaths.
Безопасность сервера SMB
Доступ к файлам и принтерам по сети в операционной системе Windows NT обеспечивает сервер SMB (Server Message Block), называемый просто сервером или LAN Manager сервером. SMB осуществляет проверку подлинности клиента, пытающегося получить доступ к информации по сети. Существует два режима работы системы контроля: проверка на уровне ресурса (Share Level) и проверка на уровне пользователя (User Level). Windows NT не поддерживает доступ на уровне ресурса.
При проверке на уровне пользователя сервер выполняет идентификацию пользователя на основе базы учетных записей. Протокол SMB обеспечивает защиту в начальный момент сеанса, затем все данные пользователя передаются по сети в открытом виде. Если вы хотите обеспечить конфиденциальность информации, необходимо использовать программные или аппаратные средства шифрования транспортного канала (например, PPTP, входящего в Windows NT).
Сеансы протокола SMB можно подделать или перехватить. Шлюз может перехватить сеанс SMB и получить такой же доступ к файловой системе, как и легальный пользователь, инициирующий сеанс. Но шлюзы редко используются в локальных сетях. А если такую попытку предпримет компьютер в сети Ethernet или Token Ring, в которой находится клиент или сервер SMB, то это вряд ли удастся, поскольку перехватывать пакеты достаточно трудно.
Возможность передачи по сети пароля пользователя в открытом виде делает систему уязвимой. После установки Service Pack 3 в операционной системе автоматически отключает возможность передачи пароля в открытом виде, но существуют SMB-серверы, не принимающие шифрованный пароль (например, Lan Manager для UNIX). Чтобы включить передачу «открытого» пароля, необходимо установить в реестре в разделе
Параметр | EnablePlainTextPassword |
Тип | REG_DWORD |
Значение | 1 |
Следует отметить, что корпорация Microsoft модифицировала протокол SMB, который назван SMB Signing. При этом клиент и сервер проверяют подлинность каждого сообщения, поступающего по протоколу SMB. Для этого в каждое сообщение SMB помещается электронная подпись, удостоверяющая знание пароля пользователя клиентом или сервером, пославшим это сообщение. Таким образом, электронная подпись удостоверяет, что команда SMB, во-первых, создана стороной, владеющей паролем пользователя; во-вторых, создана в рамках именно этого сеанса; и, в-третьих, сообщение, передаваемое между сервером и клиентом, — подлинник.
Для включения проверки электронных подписей в сообщения SMB необходимо установить Service Pack 3 и произвести установку параметров в реестре сервера и клиента, для сервера — в разделе HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\LanManServer\Parametrs
Параметр | EnableSecuritySignature |
Тип | REG_DWORD |
Значение | 1 |
Если значение равно 0 (по умолчанию), то поддержка SMB Signing на сервере выключена. В отличие от сервера у клиента значение EnableSecuritySignature по умолчанию уже равно 1.
При инициализации сервера образуются папки административного назначения (Administrative shares), которые обеспечивают доступ к корневому каталогу тома. Доступ к этим ресурсам по умолчанию разрешен только членам групп Administrators, Backup Operators, Server Operators и Power Users. Если вы хотите отменить доступ к ним, то необходимо в реестре в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parametrs
Параметр | AutoShareServer |
Тип | REG_DWORD |
Установить значение | 0 |
или, используя утилиту System Policy Editor, снять флажки с параметров Create Hidden Drive Shares в разделе Windows NT Network\Sharing.
Необходимо ограничить права анонимного пользователя. Инсталляция Service Pack 3 закрывает доступ к реестру системы для анонимного пользователя.
Безопасность сервера IIS
Microsoft Internet Information Server (IIS) был создан для унификации работы всех служб Internet . Он представляет собой высокоинтегрированный пакет серверных служб поддержки HTTP, FTP и Gopher.
Защита IIS основана на средствах обеспечения безопасности Windows NT. В их число входят:
- учетные записи пользователей. Для предотвращения несанкционированного доступа к узлу IIS следует контролировать учетные записи пользователей. К основным методам защиты также относятся: применение формуляра «Гость из Internet», регистрация по имени и паролю пользователя (по схеме аутентификации Windows NT) и выбор сложных для угадывания паролей;
- установка NTFS;
- права доступа. Основным механизмом доступа через сервер IIS является анонимный доступ. Из механизмов проверки подлинности лишь Windows NT Challenge-Response, используемый сервером HTTP, можно считать относительно защищенным. Поэтому не применяйте для аутентификации базовую схему, так как имя пользователя и пароль при этом передаются по сети открытым способом;
- уменьшение числа протоколов и отключение службы Server. Уменьшив число протоколов, которыми пользуются сетевые адаптеры, вы заметно усилите защиту. Чтобы пользователи не смогли просматривать разделяемые ресурсы IIS, отключите службу Server. Отключение этой службы затруднит злоумышленникам поиск слабых мест в вашей системе;
- защита информации в FTP. FTP всегда использует защиту на уровне пользователя. Это значит, что для доступа к серверу FTP пользователь должен пройти процедуру регистрации. Сервис FTP сервера IIS для идентификации пользователей, желающих получить доступ, может использовать базу данных пользовательских бюджетов Windows NT Server. Однако при этой процедуре FTP передает всю информацию только открытым текстом, что создает опасность перехвата пользовательских имен и паролей.
Проблема раскрытия паролей устраняется при таких конфигурациях сервера FTP, когда он разрешает анонимный доступ. При анонимном входе пользователь должен ввести в качестве пользовательского имени anonymous и свой почтовый (e-mail) адрес — в качестве пароля. Анонимные пользователи получают доступ к тем же файлам, доступ к которым разрешен бюджету lVSR_computemame.
Кроме того, к сервису FTP сервера IIS Windows NT можно разрешить исключительно анонимный доступ. Такой вариант хорош тем, что при нем отсутствует возможность рассекречивания паролей в общей сети. Анонимный доступ к FTP разрешен по умолчанию;
- контроль доступа по IP-адресу. Существует дополнительная возможность контроля доступа к серверу IIS — разрешение или запрещение доступа с конкретных IP-адресов (рис. 5). Например, можно запретить доступ к своему серверу с определенного IP-адреса; точно так же можно сделать сервер недоступным для целых сетей. С другой стороны, можно разрешить доступ к серверу только определенным узлам;
- схемы шифрования. Чтобы обеспечить безопасность пакетов во время их пересылки по сети, приходится применять различные схемы шифрования. Необходимость в такой защите вызвана тем, что при пересылке пакетов по сети не исключен перехват кадров. Большинство схем шифрования работает внутри прикладного и транспортного уровня модели OSI. Некоторые схемы могут работать и на более низких уровнях. Используются такие протоколы, как: SSL, PCT, SET, PPTP, PGP.
Ветвь | HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa |
Имя | AuditBaseObjects |
Тип | REG_DWORDЗначение 1 |
Аудит привилегий. Среди возможных прав пользователя существуют некоторые привилегии, которые в системе не проверяются даже тогда, когда аудит на использовании привилегии включен. Эти привилегии приведены в табл. 6.
Для включения аудита данных привилегий необходимо, используя редактор реестра, добавить следующий параметр:
Ветвь | HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Control\Lsa: |
Имя | FullPrivilegeAuditing |
Тип | REG_BINARY |
Значение | 1 |