Основы безопасности в Windows XP

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


А вы зарегистрировались?..

Реестр - довольно опасное место для людей, которые слабо знакомы с его возможностями. Система и всё сервисное программное обеспечение хранит в реестре свои значения, настройки и параметры. Изменение незнакомого значения ключа реестра может иметь самые неожиданные последствия. Именно поэтому нужно следить за теми, кто имеет доступ к реестру. Контроль доступа осуществляется просто: Пуск \Выполнить и вводим regedit. После на одну из веток кликаем правой кнопкой мыши и выбираем пункт "Разрешения". После для каждого пользователя (группы пользователей) выставляем индивидуальные параметр.

Как правило, пользователи с ограниченным доступом имеют полный контроль только над компонентами реестра, связанными непосредственно с их экаунтами. Но иногда имеет смысл блокировать им доступ к средствам редактирования реестра, а делается это следующим образом: пользователь наделяется правами администратора, в ветке HKCU\Software\Microsoft\Windows\CurrentVersion\Publicies создаётся подкаталог System и в нём - новое значение DisableRegistryTools (dword), равное 1, после права администратора изымаются. Вот так, теперь при попытке открыть regedit или установить файл с расширением .REG будет выскакивать сообщение об ошибке.

Если вдруг по каким-либо причинам вы измените своё решение и захотите разблокировать данного пользователя, то нет ничего проще. Ищите ключ HKLM\Software\Microsoft\WindowsNT\CurrentVersion\ProfileList. Для каждого Security ID в переменной Profile Image Path находится имя пользователя.

 

Запомните SID нужного пользователя. Потом ищите ключ HKU\[SID]\Software\Microsoft\Windows\CureentVersion\Policies\System и изменяйте значение DisableRegistryTools на 0.


Файлы и права

Вопрос, который не даёт спать многим пользователям, звучит следующим образом: "Какую же файловую систему лучше использовать?". Некоторые упорно используют FAT32, а некоторые, отдавая дань моде, перешли на NTFS. Но вряд ли те и другие знают, что только под NTFS работает встроенная в Windows система шифрования и блокирования доступа.

Дело в том, что в NTFS для каждого объекта, хранящегося на диске, имеется контрольный список доступа (ACL). Он определяет, кому из пользователей разрешён доступ к этому объекту, а кому - нет. Данный список состоит из записей, контролирующих доступ - ACE (Access Control Entry). В каждой такого рода записи содержатся следующие вещи:

  • SID пользователя или группы пользователей;
  • список разрешений доступа (чтение, запись и т. д.);
  • данные о наследовании, которые определяют, будет ли Windows использовать разрешения из родительской папки;
  • флаг, указывающий на разрешение или запрет доступа.

Модифицировать ACE могут только владельцы объекта, члены группы "Администраторы" или пользователи, в случае если им разрешили это делать первые либо вторые.

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

Вообще, в "окнах" имеется шесть настроек прав доступа: полный доступ, чтение, запись и т. д. Но имеются ещё и двенадцать дополнительных, с помощью которых настройка производится более тонко. Добраться до них можно, кликнув по кнопке "Дополнительно" на вкладке "Безопасность", после этого нужно два раза щёлкнуть по имени пользователя. Но использование предопределенных прав существенно упрощает процесс, так как при выборе настройки "Чтение и выполнение" система автоматически устанавливает пять определенных прав доступа: выполнение файлов, чтение данных, атрибутов, дополнительных атрибутов, разрешений.

В разделе NTFS каждый файл или папка имеют владельца, который может предоставлять или отказывать в правах доступа другим пользователям или группам. Владельцы могут заблокировать любого пользователя, включая члена группы "Администраторы". Кроме того, администратор системы может получить право собственности на любой объект. Сменить владельца можно на закладке "Безопасность \ Дополнительно \ Владелец".

Регулировать права доступа из командной строки можно, используя утилиту, носящую имя cacls.exe. Cacls - сокращение от Control ACLs. Набор команд имеет следующий вид: cacls имя_файла или cacls [/ключ]. Ключи:

Имя_файла - вывод таблиц управления доступом;

/T - замена таблиц управления доступом в текущем каталоге и всех подкаталогах;

/E - изменение таблицы управления доступом вместо её замены;

/C - продолжение при ошибках отказа в доступе;

/G имя:доступ - определение разрешений для указанных пользователей.

Доступ:

R - чтение;

W - запись;

C - изменение (запись);

F - полный доступ;

/R имя - отзыв разрешений для пользователя (только вместе с /E);

/P имя:доступ - замена разрешений для указанного пользователя.

Доступ:

N - отсутствует;

W - запись;

R - чтение;

C - изменение (запись);

F - полный доступ;

/D имя - запрет на доступ для указанного пользователя.

Также имеется ряд других параметров:

CI - наследование контейнерами (Container Inherit). ACE будет унаследован папками;

OI - наследование объектами (Object Inherit). ACE будет унаследован файлами;

IO - только наследованное (Inherit Only). ACE не будет применим к текущему файлу (папке).


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

Каждый человек сам решает, защищать ему свои документы или нет. Но бывают документы, которые просто необходимо защищать. Конечно, можно воспользоваться программой шифрования, но зашифровать данные можно и средствами OS Windows. Не каждый знает, что у Windows есть своя шифрующая файловая система (Encrypting File System - EFS).

Для работы с EFS можно пользоваться командной строкой. Существует команда "cipher", посредством которой, собственно, это и происходит. Вот список ключей этой команды:

/E - шифрование указанных папок;

/D - расшифровка указанных папок;

/S:папка - операция применяется к папке и всем вложенным подпапкам (но не файлам);

/A - операция применяется к указанным файлам и файлам в указанных папках;

/K - создание нового ключа шифрования для пользователя, запустившего программу. Если этот ключ задан, все остальные игнорируются;

/R - создание ключа и сертификата агента восстановления файлов. Ключ и сертификат помещают в файл .PFX, а копия сертификата в файле .CER;

/U - обновление ключа шифрования пользователя или агента восстановления для всех файлов на всех локальных дисках;

/U /N - вывод списка всех зашифрованных файлов на локальных дисках без каких-либо других действий;

/W - удаляет всю информацию в неиспользованном дисковом пространстве на указанном томе;

/X - архивация сертификата EFS и ключа в файл с указанным именем.

Расшифровывать данные имеет право пользователь, который их зашифровал, и агент восстановления данных. Для того, чтобы назначить какого-либо пользователя агентом восстановления, необходимо создать сертификат восстановления данных и установить его от имени этого пользователя. Сертификат создается командой cipher /r:имя_файла в папке, использующейся командной строкой.


Учётки

Многие думают, что настройка прав учётных записей заканчивается на выборе между ограниченной учетной записью и администраторской. Смею заверить, что это не совсем так. При создании учётной записи ей присваивается уникальный идентификатор безопасности, который носит название SID (Security ID). Именно по этому идентификатору и распознаются учётные записи в дальнейшем. В Windows XP значения SID хранятся в ветви реестра HKEY_USERS. Все идентификаторы начинаются с сокращения S-1, за которым следует длинный ряд чисел. При этом за одной учётной записью может быть закреплено несколько SID-идентификаторов (группы безопасности, к которой он принадлежит, идентификатор пользователя и т.д.). Для того, чтобы ознакомиться со всеми SID, закреплёнными за вашей учётной записью, необходимо набрать в командной строке следующую команду: "whoami /all /sid". В некоторых версиях Windows эта команда может не поддерживаться по умолчанию, для исправления этого необходимо установить дополнительный инструментарий (берём дистрибутив и из каталога Support\Tools запускаем программу установки).

Собственно, учётные записи являются одним из самых уязвимых мест любой машины под управлением "окон". Поэтому все неиспользуемые учётные записи необходимо незамедлительно отключать. Именно отключать, а не удалять. Удаление приводит к потере SID идентификатора, а его потеря, в свою очередь, ведёт к утрате закодированных файлов данного пользователя, сертификатов, паролей для доступа к веб-серверам. Так что удаление - крайняя мера.

Отключить учётную запись вы можете посредством встроенной утилиты администрирования. Её можно загрузить следующим образом: Пуск \ Выполнить набираем lusrmgr.msc. В появившемся окне выбираем соответствующую папочку, кликаем правой кнопкой мыши по ненужному пользователю и выбираем пункт "Отключить учётную запись". Ещё проще отключается посредством командной строки (cmd). Прописываем следующую команду: net user имя_пользователя /active :no - и запись отключена. Если у вас возникло желание скрыть одного из пользователей (как это сделано с "администратором"), то это достаточно просто сделать. Для начала следует в ключе реестра HKLM\Software\Microsoft\WindowsNT\CurrentVersion\ Winlogon\SpecialAccounts\UserList создать новый параметр dword и присвоить ему значение равное 0. Имя параметра должно быть таким же, как имя пользователя, которого вы хотите скрыть.

Следует также знать, что информация о пользовательских учётных записях хранится в защищённой базе данных, носящей имя SAM (Security Accounts Manager). Для усиления защиты этой базы используется встроенная утилита шифрования, запускаемая из консоли "обновить" при вводе команды "syskey". Данная утилита встроена в ХР, Vista и 2000, а также в NT с установленным SP3.

Данные о пароле пользователя кодируются Syskey при помощи ключа шифрования, присущего учётной записи данного пользователя. А затем, после нескольких этапов кодирования, всё шифруется стартовым ключом случайным образом, сгенерированным системой. После такого рода "полировки" базы данных SAM при краже взломать её практически невозможно. Но всё гораздо проще, когда взломщик имеет физический доступ к компьютеру жертвы. Именно по этой причине стартовый ключ рекомендуется хранить отдельно от компьютера (на дискете или USB Flash).

Работа с данной утилитой не носит в себе каких-либо сложностей. Запустили, нажали "Обновить" и выбрали один из трёх вариантов защиты. Если вдруг стартовый ключ будет утерян, то восстановление будет возможно только в случае, если резервная копия системного реестра была создана до включения защиты.

Вот, пожалуй, и все, что касается основ. Конечно, имеется ещё возможность настройки локальных и групповых политик, но это дебри для системных администраторов, поэтому оставим это им. Я же хочу ещё раз обратить ваше внимание на необходимость защиты данных, поэтому не ленитесь и используйте возможности системы хотя бы на 50%.

Евгений КУЧУК,
q@sa-sec.org,
SASecurity gr.

Версия для печатиВерсия для печати

Номер: 

23 за 2008 год

Рубрика: 

Защита информации
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!