Средства безопасности, интегрированные в ОС Windows XP

Windows XP считается самой защищенной операционной системой производства Microsoft corp. Однако, если сравнивать ее с ОС других производителей, того же самого не скажешь. И, тем не менее, это самая популярная операционная система среди домашних пользователей. Как бы ее ни ругали, и сколько бы у нее ни было брешей, у нее есть система безопасности, и, если пользоваться ею с умом, можно вывести безопасность на достойный уровень. Беда большинства пользователей заключается в незнании. Именно поэтому я предлагаю разобраться в этой проблеме.

Учетные записи пользователей


Многие думают, что настройка прав учетных записей заканчивается на выборе между ограниченной учетной записью и администраторской. Смею заверить, что это не совсем так. При создании учетной записи ей присваивается уникальный идентификатор безопасности, который носит название SID (Security ID). Именно по этому идентификатору и распознаются учетные записи в дальнейшем. В Windows XP значения SID хранятся в ветви реестра HKEY_USERS. Все идентификаторы начинаются с сокращения S-1, за которым следует длинный ряд чисел. При этом за одной учетной записью может быть закреплено несколько SID-идентификаторов (группы безопасности, к которой он принадлежит, идентификатор пользователя и т.д.). Для того, чтобы ознакомиться со всеми SID, закрепленными за вашей учетной записью, необходимо набрать в командной строке следующую команду: "whoami /all /sid". В некоторых версиях винды эта команда может не поддерживаться по умолчанию — для исправления этого необходимо установить дополнительный инструментарий (берем дистрибутив и из каталога 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". Данная утилита встроена в ХР и 2000, а также в NT с установленным SP3.

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

Пароль "у вас продается славянский шкаф?"…

Несмотря на то, что сейчас на каждом шагу рассказывают про хакеров и вирусы, все равно встречаются пользователи, которые не защитили свой аккаунт паролем. А ведь установка пароля — это самое простое, что должен делать каждый. В ОС ХР и 2000 максимальное значение пароля достигает 127 символов, тогда как в NT — только 14. При этом зарегистрироваться через учетную запись, не защищенную паролем, можно только локально, а вот удаленно не получится. Это создает некоторые неудобства для тех, кто часто работает на своей машине удаленно. В некоторых случаях, бывает, удобна автоматическая регистрация. Вы, например, можете по дефолту грузиться под ограниченной учетной записью, а если вдруг необходимо загрузить другую, то удерживаете Shift, и появляется стандартное окно приветствия. Лучше всего для настройки автоматической регистрации пользоваться утилитой control userpassword2: запускаете утилиту и напротив одного из аккаунтов убираете флажок "Требовать ввод имени пользователя и пароля". Можно активировать эту функцию и через реестр, но в таком случае пароль хранить в незашифрованном виде в строковом значении DefaultPassword. А если использовать утилиту "Учетные записи пользователей", то пароль хранится в ключе HKLM\Security\Policy\Secrets\Default Password в зашифрованном виде. Также существует возможность блокировки учетной записи после определенного количества вводов неверного пароля. Для редактирования этой опции в консоли "выполнить" набираем следующее: secpol.msc. После ныряете в "Политики четных записей\политика блокировки учетной записи", устанавливаете пороговое значение, и дело сделано.

NTFS или FAT32…

Вопрос, который не дает спать уйме пользователей, звучит следующим образом: "Какую же файловую систему лучше использовать?" Некоторые упорно используют FAT32, а некоторые, отдавая дань моде, перешли на NTFS. Но вряд ли те и другие знают, что только под NTFS работает встроенная в Windows система шифрования и блокировки доступа. Дело в том, что в NTFS для каждого объекта, хранящегося на диске, имеется контрольный список доступа (ACL). Он определяет, кому из пользователей разрешен доступ к этому объекту, а кому — нет. Данный список состоит из записей, контролирующих доступ — ACE (Access Control Entry). В каждой такого рода записи содержатся следующие вещи:
. SID пользователя или группы пользователей;
. список разрешений доступа (чтение, запись и т.д.);
. данные о наследовании, которые определяют, будет ли Windows использовать разрешения из родительской папки;
. флаг, указывающий на разрешение или запрет доступа.

Модифицировать ACE могут только владельцы объекта, члены группы "Администраторы" или пользователи в случае, если им разрешили это делать первые либо вторые. Для того, чтобы настройки были более расшаренными, вам необходимо отключить опцию Использовать простой общий доступ ко всем файлам. Делается это в меню проводника Сервис\Свойства папки\Вид. После чего вы сможете управлять правами доступа к объекту на вкладке Безопасность в свойствах объекта. Вообще в "окнах" имеется 6 настроек прав доступа: полный доступ, чтение, запись и т.д. Но имеются еще и 12 дополнительных, с помощью которых настройка производится более тонко. Добраться до них можно, кликнув по кнопке Дополнительно на вкладке Безопасность, после этого нужно два раза щелкнуть по имени пользователя. Но использование предопределенных прав существенно упрощает процесс, так как при выборе настройки Чтение и выполнение система автоматически устанавливает 5 определенных прав доступа: выполнение файлов, чтение данных, атрибутов, дополнительных атрибутов, разрешений. В разделе 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:имя_файла в папке, использующейся командной строкой.

Хотел бы напомнить, что к шифрованию следует относиться весьма серьезно, так как утрата ключа — потеря файлов. Рекомендации по шифрованию:
1. Храните личные ключи и сертификаты учетной записи агента восстановления на съемных дисках, а не на компьютере.
2. Шифруйте папки, а не файлы, т.к. все файлы, создаваемые в зашифрованной папке, шифруются автоматически.
3. Зашифруйте папки %Temp% и %Tmp%. Это обеспечит шифрование временных файлов.

Пожалуйста, пройдите в регистратуру

Все знают, что такое реестр, а если не знают, то догадываются. Так вот, вношу ясность: реестр — своеобразная регистратура, в которой Windows хранит все значения, параметры и настройки. Ну и, естественно, многие наслышаны о последствиях бездумного изменения ключей реестра. А кто может насолить? Конечно же, пользователь. Именно поэтому нужно следить за теми, кто имеет доступ к реестру. Контроль доступа осуществляется просто: Пуск\Выполнить и вводим 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. Вот и все. Как видите, Windows не такая уж и "дырка" — просто не все умеют обращаться с ее системой безопасности. Не стоит уповать на программистов — возьмите и сами позаботьтесь о сохранности ваших документов и данных.

Евгений Кучук, Spider Agent, spideragent@tut.by


Компьютерная газета. Статья была опубликована в номере 40 за 2006 год в рубрике безопасность

©1997-2024 Компьютерная газета