Методы и средства защиты информации. Криптография
Оглавление
1. Основные технологии обеспечения безопасности в ОС Windows технологии NT. Раскрыть администрирование защиты. 3
Физическая защита 3
Администрирование учетных записей 3
Защита файлов и каталогов (папок) 6
Защита реестра 12
Безопасность сервера SMB 15
Безопасность сервера IIS 17
Аудит 19
Службы безопасности Windows NT 5.0 24
2.Практическая задача. 27
Приложение А Диск с программой 28
Приложение В Листинг программы 29
Литература 38
Основные технологии обеспечения безопасности в ОС Windows технологии NT. Раскрыть администрирование защиты.
Проблема компьютерной безопасности
не нова. Каждый, кто использует компьютерные
сети, нуждается в средствах
Физическая защита
К физическим средствам защиты относится:
- обеспечение безопасности помещений, где размещены серверы сети;
- ограничение посторонним лицам физического доступа к серверам, концентраторам, коммутаторам, сетевым кабелям и другому оборудованию;
- использование средств защиты от сбоев электросети.
Администрирование учетных записей
В функции Менеджера учетных записей входит поддержка механизма идентификации и проверки подлинности пользователей при входе в систему. Все необходимые настройки хранятся в базе данных Менеджера учетных записей. К ним относится:
- учетные записи пользователей;
- учетные записи групп;
- учетные записи компьютеров домена;
- учетные записи доменов.
База данных Менеджера учетных записей представляет собой куст системного реестра, находящегося в ветви HKEY_LOCAL_MACHINE, и называется SAM ( рис.1). Как и все остальные кусты, он хранится в отдельном файле в каталоге %Systemroot%\System32\Con fig, который также носит название SAM. В этом каталоге обычно находятся минимум два файла SAM: один без расширения – сама база учетных записей; второй имеет расширение .log – журнал транзакций базы.
|
Наиболее интересным является раздел учетных записей пользователей: в них хранится информация об именах и паролях. Следует заметить, что пароли не хранятся в текстовом виде. Они защищены процедурой хеширования. Это не значит, что, не зная пароля в текстовом виде, злоумышленник не проникнет в систему. При сетевом подключении не обязательно знать текст пароля, достаточно хешированного пароля. Поэтому достаточно получить копию базы данных SAM и извлечь из нее хешированный пароль.
При установке системы Windows NT доступ
к файлу %Systemroot%\System32\Config\
Поэтому для защиты информации, хранящейся в базе данных SAM, необходимо следующее:
- исключить загрузку серверов в DOS-режиме ( все разделы установить под NTFS, отключить загрузку с флоппи- и компакт-дисков, желательно установить на BIOS пароль ( хотя эта мера уже давно устарела, поскольку некоторые версии BIOS имеют “дырки” для запуска компьютера без пароля, все-таки злоумышленник потеряет на этом время для входа в систему);
- ограничить количество пользователей с правами Backup Operators и Server Operators;
- после установки или обновления удалить файл Sam.sav;
- отменить кэширование информации о безопасности на компьютерах домена (имена и пароли последних десяти пользователей, регистрировавшихся ранее на данном компьютере, сохраняются в его локальном реестре). Используя утилиту Regedt32, добавить в реестр в раздел
- HKEY_LOCAL_MACHINE\Microsoft|
Windows NT\CurrentVersion\WinLogon: - Параметр CachedLogonsCount
- Тип REG_SZ
- Значение 0
Один из популярных методов проникновения в систему — подбор пароля. Для борьбы с этим обычно устанавливают блокировку учетной записи пользователя (Account Lockout) после определенного числа неудачных попыток входа, используя для этого утилиту User Manager в диалоговом окне Account Policy, доступном через меню Polcies/Accounts (рис. 2);
|
Приятным исключением является учетная запись администратора. И если он имеет право на вход через сеть, это открывает лазейку для спокойного угадывания пароля. Для защиты рекомендуется переименовать пользователя Administrator, установить блокировку учетных записей, запретить администратору вход в систему через сеть, запретить передачу SMB (рассмотрен далее) пакетов через TCP/IP (порты 137,138,139), установить протоколирование неудачных входов;
- необходимо ввести фильтрацию вводимых пользователем паролей, установить Service Pack 2 или 3 ( используется динамическая библиотека Passfilt.dll). Данная библиотека при создании нового пароля проверяет, что:
- длина пароля не менее шести символов;
- содержит три набора из четырех существующих:
- прописные группы латинского алфавита A, B,C,…,Z;
- строчные группы латинского алфавита a,b,c,…,z;
- арабские цифры 0,1,2,…,9;
- не арифметические (специальные) символы, такие, как знаки препинания.
- пароль не состоит из имени пользователя или любой его части.
Для включения данной фильтрации необходимо в реестре в разделе
HKEY_LOCAL_MACHINE\SYSTEM\
добавить
Параметр |
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)_
В списке DACL определяется, каким пользователям и группам разрешен или запрещен доступ к данному ресурсу. Именно этим списком может управлять владелец объекта.
Список SACL задает определенный владельцем тип доступа, что заставляет систему генерировать записи проверки в системном протоколе событий. Только системный администратор управляет этим списком.
На самом же деле для администрирования используются не отдельные права доступа, а разрешения (permissions) NTFS. Разрешения подразделяются на:
индивидуальные — набор прав, позволяющий предоставлять пользователю доступ того или иного типа (табл.1.1);
стандартные — наборы индивидуальных разрешений для выполнения над файлами или каталогами действий определенного уровня (табл.1.2);
специальные — комбинация индивидуальных разрешений, не совпадающие ни с одним стандартным набором (табл.1.3).
Таблица 1.1
Разрешение |
Права доступа |
Операция над | |
Файлами |
Папками | ||
Read |
Read_Control |
Операции чтения файла, просмотр атрибутов, прав доступа, а также имени владельца |
Операции отображения |
Write |
Read_Control |
Операции изменения файла и его атрибутов, просмотра прав доступа и имени владельца |
Операции создания подпапок и файлов, изменения атрибутов файлов, просмотра прав доступа и имени владельца |
Execute |
Read_Control |
Операции запуска программы, просмотр атрибутов, прав доступа, а также имени владельца |
Операции просмотра атрибутов и прав доступа, а также имени владельца и изменения подпапок |
Delete |
Delete |
Операции удаления файла |
Операции удаления папок |
Change Permission |
Write_Dac |
Операции изменения прав доступа |
Операции изменения прав доступа |
Take Ownership |
Write_Owner |
Операции изменения владельца файла |
Операции изменения владельца папки |
Таблица 1.2
Разрешение |
Индивидуальные разрешения |
Операции |
No Access |
Нет |
Запрещение доступа к файлу.
Пользователь, для которого оно установлено,
не может получить доступ к файлу
даже в том случае, если он входит
в группу пользователей, имеющих
права доступа к данному |
Read |
Read, Execute |
Предоставление пользователю права на просмотр файлов и запуск приложений, хранящихся в папке. |
Change |
Read, Write, Execute, Delete |
Разрешение (дополнительно к правам, предоставляемым правом Read) на создание и удаление файлов и папок, модификацию содержимого файлов. |
Full Control |
Все |
Разрешение (дополнительно к правам, предоставляемым правом Change) на изменение прав доступа и вступление во владение файлами и папками. |
Таблица 1.3
Разрешение |
Разрешения к |
Операции | |
Папкам |
файлам | ||
No Access |
Нет |
нет |
Запрещение доступа к папке и содержащимся в ней файлам. |
List |
Read, |
Не устанавливает |
Разрешение на просмотр имен файлов и содержимого папок, а также их структуры. |
Read |
Read, |
Read, Execute |
Предоставление пользователю права на просмотр файлов и запуск приложений, хранящихся в папке. |
Add |
Write, |
Не устанавливает |
Разрешения (дополнительно к правам, предоставляемым правом Read) создавать папки и файлы. Не позволяет отображать структуру папок. |
Add & Read |
Read, |
Read, Execute |
Предоставление прав, указанных в правах Add и Read. |
Change |
Read, |
Read, Write, Execute, Delete |
Разрешение (дополнительно к правам, предоставляемым правами Add и Read) создавать и удалять файлы и папки, модифицировать содержимое файлов. |
Full Control |
Все |
Все |
Разрешение (дополнительно к правам, предоставляемым правом Change) на изменение прав доступа и вступление во владение файлами и папками |
По умолчанию при инсталляции Windows NT и файловой системы NTFS устанавливаются довольно “свободные” разрешения, позволяющие обычным пользователям получать доступ к ряду системных файлов и каталогам. Например:
Каталоги %systemroot% и %systemroot%\system32 имеют по умолчанию разрешение Change для группы Everyone. Если после установки Windows NT FAT впоследствии был преобразован в NTFS, то данное разрешение для этой группы устанавливается на все файлы и подкаталоги каталога %systemroot%. Защита данных каталогов заключается в грамотной установке разрешений. В табл. 2 приведены значения разрешений для каталогов. Вместо группы Everyone необходимо создать группу Users и использовать именно ее.
Таблица 2
Объект защиты |
Учетная запись |
Разрешение |
%Systemroot%\Repair |
Administrator |
Full control |
%Systemroot%\System32\Config |
Administrator |
Full control |
Creator Owner |
Full control | |
Users |
List | |
System |
Full control | |
%Systemroot%\System32\SPOOL |
Administrator |
Full control |
Creator Owner |
Full control | |
Users |
Read | |
Power Users |
Change | |
System |
Full control | |
%Systemroot%\COOKIES |
Administrator |
Full control |
Creator Owner |
Full control | |
Users |
Special Directory Access – Read, Write and Execute, Special File Access – None | |
System |
Full control |
Существует несколько файлов операционной системы, расположенных в корневой директории системного раздела, которые также необходимо защитить, назначив следующие разрешения ( табл. 3).
Таблица 3
Объект защиты |
Учетная запись |
Разрешение |
\Boot.ini, \Ntdetect.com, \Ntldr |
Administrators |
Full Control |
SYSTEM |
Full Control | |
\Autoexec.bat, \Config.sys |
Administrators |
Full Control |
SYSTEM |
Full Control | |
Любому пользователю |
Read | |
\TEMP directory |
Administrators |
Full Control |
SYSTEM |
Full Control | |
CREATOR OWNER |
Full Control | |
Users |
Special Directory Access – Read, Write and Execute, Special File Access – None |
Имейте в виду, что такие разрешения
затруднят пользователям
Количество пользователей с правами администратора рекомендуется свести к минимуму. Учетную запись Guest лучше вообще удалить, хотя она при установке (по умолчанию) и так отключена, а вместо этой учетной записи создать для каждого пользователя свою временную учётную запись с соответствующими разрешениями и правами.
Защита реестра
Системный реестр (registry) Windows NT – это база данных, содержащая информацию о конфигурации и значениях параметров всех компонентов системы ( устройствах, операционной системе и приложениях). Основные кусты реестра находятся в ветви HKEY_LOCAL_MACHINE и называются SAM, SECURITY, SOFTWARE и SYSTEM. Куст SAM, как мы уже знаем, – это база данных Менеджера учетных записей, SECURITY хранит информацию, используемую локальным Менеджером безопасности (LSA). В кусте SOFTWARE находятся параметры и настройки программного обеспечения, а в SYSTEM содержатся данные о конфигурации, необходимые для загрузки операционной системы (драйверы, устройства и службы).
Доступ пользователей к полям реестра следует разграничить. Это можно осуществить с помощью утилиты Regedt32 (рис. 3).
|
Установленные в системе по умолчанию разрешения на доступ к разделам реестра нельзя модифицировать рядовым пользователям. Поскольку некоторые разделы реестра доступны членам группы Everyone, после установки Windows NT необходимо изменить разрешения в разделе ( табл. 4).
Таблица 4
Раздел |
Объект защиты |
HKEY_LOCAL_MACHINE |
\Software |
\Software\Microsoft\RPC (и подразделы) | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\Software\Microsoft\Windows | |
\System\CurrentControlSet\ | |
\System\CurrentControlSet\ | |
\Software\Microsoft\Windows\ | |
\Software\Microsoft\Windows\ | |
\Software\Microsoft\Windows\ | |
HKEY_CLASSES_ROOT |
\HKEY_CLASSES_ROOT (и подразделы) |
HKEY_USERS |
\.DEFAULT |
Для доступа к разделу
HKEY_LOCAL_MACHINE\Software\
Для ограничения удаленного доступа
к системному реестру Windows NT используется
запись в разделе HKEY_LOCAL_MACHINE\System\
Безопасность сервера 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). Чтобы включить передачу “открытого” пароля, необходимо установить в реестре в разделе
HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\
Параметр |
EnablePlainTextPassword |
Тип |
REG_DWORD |
Значение |
1 |
Следует отметить, что корпорация Microsoft модифицировала протокол SMB, который назван SMB Signing. При этом клиент и сервер проверяют подлинность каждого сообщения, поступающего по протоколу SMB. Для этого в каждое сообщение SMB помещается электронная подпись, удостоверяющая знание пароля пользователя клиентом или сервером, пославшим это сообщение. Таким образом, электронная подпись удостоверяет, что команда SMB, во-первых, создана стороной, владеющей паролем пользователя; во-вторых, создана в рамках именно этого сеанса; и, в-третьих, сообщение, передаваемое между сервером и клиентом, — подлинник.
Для включения проверки электронных
подписей в сообщения SMB необходимо
установить Service Pack 3 и произвести установку
параметров в реестре сервера и клиента,
для сервера — в разделе HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\
Параметр |
EnableSecuritySignature |
Тип |
REG_DWORD |
Значение |
1 |
Если значение равно 0 (по умолчанию), то поддержка SMB Signing на сервере выключена. В отличие от сервера у клиента значение EnableSecuritySignature по умолчанию уже равно 1.
При инициализации сервера
Параметр |
AutoShareServer |
Тип |
REG_DWORD |
Установить значение |
0 |
или, используя утилиту System Policy Editor, снять флажки с параметров Create Hidden Drive Shares в разделе Windows NT Network\Sharing (рис. 4).
|
Необходимо ограничить права анонимного пользователя. Инсталляция 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 сервера IIS Windows NT можно разрешить исключительно анонимный доступ. Такой вариант хорош тем, что при нем отсутствует возможность рассекречивания паролей в общей сети. Анонимный доступ к FTP разрешен по умолчанию;
- контроль доступа по IP-адресу. Существует дополнительная возможность контроля доступа к серверу IIS — разрешение или запрещение доступа с конкретных IP-адресов (рис. 5). Например, можно запретить доступ к своему серверу с определенного IP-адреса; точно так же можно сделать сервер недоступным для целых сетей. С другой стороны, можно разрешить доступ к серверу только определенным узлам;