При конфигурировании и тестировании системы безопасности сети часто приходится искать ответ на вопрос: «А под какой учетной записью я зарегистрировался?» Предлагаю вниманию читателей две утилиты — Whoami и w3who.dll, — которые отвечают на этот вопрос, когда регистрация производилась локально и когда подключение выполнялось через Web.
Whoami входит в состав Windows XP и Windows 2000 Support Tools. Необходимо открыть командную строку (или дать соответствующее указание пользователю) и ввести:
whoami
Стандартный ответ выглядит примерно так:
BIGFIRMal
Whoami выводит на экран учетную запись в стиле Windows NT 4.0 (т. е. имя_доменаимя_пользователя), даже если применяется Active Directory (AD). Конечно, можно получить информацию об учетной записи другим способом. Например, просто нажать Ctrl+Alt+Del и перейти к диалоговому окну Security. Однако преимущество Whoami состоит в том, что можно перенаправить выводимую информацию в файл, делая команду пригодной для использования не только во время непосредственной работы с компьютером, но также в пакетном файле или в файле сценария.
Последние два года я трачу много времени на обеспечение безопасности своего Web-сервера. Однако, применяя последнюю программу коррекции для пущей надежности Microsoft IIS, я всегда спрашиваю себя, а все ли сделано для безопасности своего Web-сайта и не могут ли мои клиенты получить доступ к нему? Каждый раз, вводя ограничения на учетную запись IUSR, я должен перечислить, что может и чего не может учетная запись IUSR. Членом каких групп является учетная запись IUSR? Какие права у нее есть? Действительно ли я зарегистрировался на Web-сайте как IUSR?
Несколько раз Web-сайт оказывался защищен слишком сильно, но я не понимал, что это объясняется лишь одним: тестируя свой Web-сервер после обновления его системы безопасности, я регистрировался на Web-сервере как администратор домена. Все работало, потому что учетная запись администратора домена, конечно, имеет много прав и полномочий, но обычные IUSR-посетители были заблокированы. Мне не хватало только версии Whoami для Web.
На последней конференции Windows and .NET Magazine LIVE! я поведал о своей проблеме Брету Хиллу, ведущему сайта вопросов и ответов по IIS. Брет рассказал мне о библиотеке w3who.dll, которая имеется в наборах Microsoft Windows XP Professional Resource Kit, Microsoft Windows 2000 Server Resource Kit. Ее можно бесплатно загрузить по адресу: http://www.microsoft.com/windows2000/techinfo/reskit/ tools/existing/w3who-o.asp. После получения этого файла следует скопировать его в папку, где хранится Web-контент.
Запустить утилиту w3who.dll можно следующим образом: запустить браузер, указать свой URL и добавить /w3who.dll. Предположим, например, что компания называется www.bigfirm.biz и нужно поместить w3who.dll в домашнюю папку этого Web-сервера. Тогда, зайдя на страницу http://www.bigfirm.biz/w3who.dll, можно было бы увидеть экран, на котором описаны текущие параметры доступа.
Однако может оказаться, что такой метод не работает. Вместо экрана, содержащего детали контекста безопасности, можно увидеть сообщение браузера, в котором запрашивается местоположение загруженного файла. Причина этой потенциальной ошибки заключается в том, что w3who.dll должен запускаться только на сайте, где разрешено исполнение сценариев и программ.
Если вы никогда прежде не конфигурировали разрешения для IIS, то теперь самое время это сделать. Необходимо открыть Start, Programs, Administrative Tools, Internet Services Manager и перейти на узел Default Web Site, находящийся внутри Internet Information Server. Щелкнув правой кнопкой по Default Web Site, нужно выбрать Properties, затем перейти на вкладку Home Directory. Поле со списком Execute Permissions внизу страницы имеет три параметра: None, Scripts Only и Scripts and Executables. Для работы файла w3who.dll следует установить разрешения Scripts and Executables.
Я не рекомендую менять разрешения для домашней папки Web-сайта на Scripts and Executables, поскольку это наименее безопасная настройка. Лучше создать новую папку внутри домашней папки Web-сайта (под названием, например, whoami) и поместить в нее файл w3who.dll. Затем, находясь в Internet Services Manager, нужно щелкнуть по этой папке и выбрать Properties. На вкладке Directory можно назначить разрешение Execute только для папки whoami. Если использовать этот способ, наложенные на домашнюю папку Web-сайта разрешения не пострадают. Теперь можно без проблем вызвать файл w3who.dll, набрав адрес http://yoursitename/whoami/w3who.dll.
Марк Минаси — редактоp Windows & .NET Magazine MCSE и автор книги «Mastering Windows NT Server 4.0» (изд-во Sybex). С ним можно связаться по адресу: mark@minasi.com.