VitRom
17-09-2006, 18:11
2 Mod-s: если "ошибся койкой" - перенесите плз в нужную ветку
Некоторое время назад до Майкрософта дошло-таки, что Винда - не Юникс, софта много, авторы его бывают вообще халтурщиками... В общем, что "под юзером", как ни настраивай, полноценно работать нельзя, и что народ, невзирая на увещевания, работает-таки "под админами". :) И тогда был сделан гениальный "ход лошадью" - выпущена тулза для понижения прав пользователя при запуске какого-либо приложения. Или понижения прав приложения, запущенного от конкретного пользователя с высокими правами. :) В общем, этакий su user ;)
Зовётся утилита DropMyRights и делает именно то, как зовётся. Я на неё впервые наткнулся на SecurityFix-е (http://blog.washingtonpost.com/securityfix/2006/04/windows_users_drop_your_rights.html). Там же есть ссылка на скачку и "родную" страницу (http://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp).
Использование предельно простое (но всё-же не для "домохозяек"):
Делаем ярлык для проги
Открываем свойства ярлыка
Перед путём добавляем "волшебное слово" (DropMyRights.exe)
И при желании параметр "опускания"
Параметры такие:wchar_t *wszUsage =
L"\n\n"
APPLICATION L" " VERSION L" by " AUTHOR L"\n"
L"Usage is:\n\n"
L"\t" APPLICATION L" {path} [N|C|U]\n\n"
L"Where: \n"
L"\tpath is the full path to an executable to run.\n"
L"\tN = run as normal user (default).\n"
L"\tC = run as constrained user."
L"\tU = run as an untrusted user.\n";
Есть, как вы поняли, сырцы (2 .cpp и 1 .h :)).
Идея проста:
Ставить это прямо в system32 и везде заменять все вызовы iexplore.exe на соответствующим образом исправленные. Можно и hh не обделить вниманием. :)
Таким образом получим почти "дефолтную" (без миграции на Фокс и пр.) и безопасную "стандартную" систему.
Как вариант развития - хранить где-нибудь, например, в реестре и считывать оттуда параметр "опускания".
Ещё вариант - интеграция в контекстное Экплорера в качестве "альтернативного RunAs".
К сожалению, как я понял, работает только с исполняемыми файлами, т.е. COM-компонент (то же "ядро" IE) не ограничишь... Но ведь есть сырцы... :)
Некоторое время назад до Майкрософта дошло-таки, что Винда - не Юникс, софта много, авторы его бывают вообще халтурщиками... В общем, что "под юзером", как ни настраивай, полноценно работать нельзя, и что народ, невзирая на увещевания, работает-таки "под админами". :) И тогда был сделан гениальный "ход лошадью" - выпущена тулза для понижения прав пользователя при запуске какого-либо приложения. Или понижения прав приложения, запущенного от конкретного пользователя с высокими правами. :) В общем, этакий su user ;)
Зовётся утилита DropMyRights и делает именно то, как зовётся. Я на неё впервые наткнулся на SecurityFix-е (http://blog.washingtonpost.com/securityfix/2006/04/windows_users_drop_your_rights.html). Там же есть ссылка на скачку и "родную" страницу (http://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.asp).
Использование предельно простое (но всё-же не для "домохозяек"):
Делаем ярлык для проги
Открываем свойства ярлыка
Перед путём добавляем "волшебное слово" (DropMyRights.exe)
И при желании параметр "опускания"
Параметры такие:wchar_t *wszUsage =
L"\n\n"
APPLICATION L" " VERSION L" by " AUTHOR L"\n"
L"Usage is:\n\n"
L"\t" APPLICATION L" {path} [N|C|U]\n\n"
L"Where: \n"
L"\tpath is the full path to an executable to run.\n"
L"\tN = run as normal user (default).\n"
L"\tC = run as constrained user."
L"\tU = run as an untrusted user.\n";
Есть, как вы поняли, сырцы (2 .cpp и 1 .h :)).
Идея проста:
Ставить это прямо в system32 и везде заменять все вызовы iexplore.exe на соответствующим образом исправленные. Можно и hh не обделить вниманием. :)
Таким образом получим почти "дефолтную" (без миграции на Фокс и пр.) и безопасную "стандартную" систему.
Как вариант развития - хранить где-нибудь, например, в реестре и считывать оттуда параметр "опускания".
Ещё вариант - интеграция в контекстное Экплорера в качестве "альтернативного RunAs".
К сожалению, как я понял, работает только с исполняемыми файлами, т.е. COM-компонент (то же "ядро" IE) не ограничишь... Но ведь есть сырцы... :)