On Mon, Apr 01, 2002 at 04:27:56PM +0300, Alexander Bokovoy wrote: > В процессе исследования появились следующие мысли: > > Работа с системой из-под привилегированного пользователя сведена к > минимуму следующим образом. Пользователь может быть помечен как "имеющий > возможность администрировать систему" и в этом случае он включается в > группу admins, на которую существует настройка sudo -- любой член этой > группы может выполнять любую операцию. В результате, большинство операций, > требующих изменение конфигурационных файлов и (пере)запуск сервисов, > сводится к вводу пользовательского пароля. > > Таким образом можно было бы реализовать памятное (для тех, кто работает в > офисе) предложение ZerG-а о возможности расшаривания ресурсов. То есть, > можно было бы написать приложение (хотя оно, насколько я понимаю, уже есть) > для исправления конфигов и настроить соответствующим образом sudo, чтобы > пользователь, входящий в определенную группу, мог экспортировать свои > ресурсы. > > Подобные настройки можно было бы сделать для каждой группы административных > операций, а управление пользовательскими "возможностями" внести в > планируемый конфигуратор системы. > > В Mac OS X эти настройки выглядели следующим образом (в sudo): > %admins ALL=(ALL) ALL > > В нашем случае их можно урезать и специализировать, например: > > /etc/sudo.d/exporters: > User_Alias EXPORTERS = список пользователей, которым разрешено экспортирование ресурсов > Cmnd_Alias EXPORTER = /usr/sbin/exporter (программа, ответственная за изменение конфигурации) > EXPORTERS имя хоста = EXPORTER > > Аналогично и другие операции. > > Мнения? У всех предложений подобного плана, сводящихся к прозрачному делегированию обычному пользователю административных прав, есть одна принципиальная проблема. Обычный пользователь, как правило, занимается "обычными" делами, запускает "обычные" приложения, которые пишут, как правило, "обычные" программисты с "обычными" представлениями о безопасности. Как следствие, эти "обычные" программы на порядки более уязвимы, чем "системный" софт. C'est la vie. Как только этот самый обычный пользователь получает административные полномочия, барьер между пользовательскими приложениями и системой снимается. Так, обычный web browser, почтовый клиент, etc. получают возможность администрировать систему; вместе с ними те же права получают злоумышленники, пользующиеся наименее защищенными "обычными" программами для вторжения в систему. Можно возразить: в предложенном примере конфигурации sudo можно настроить таким образом, чтобы административные действия требовали аутентификации. К сожалению, в случае обычной парольной аутентификации это не помогает: злоумышленник может дождаться, пока пользователь введет пароль, захватить его и использовать в дальнейшем. Предложенная схема могла бы быть жизнеспособной только в случае, если для каждого акта администрирования пользователь должен был бы быть аутентифицирован средствами, на которые никаким образом не могут повлиять обычные программы. Это принципиально возможно, например, при соответствующей реализации системы аутентификации на основе электронных ключей. Regards, Dmitry +-------------------------------------------------------------------------+ Dmitry V. Levin mailto://ldv@alt-linux.org ALT Linux Team http://www.altlinux.com/ Fandra Project http://www.fandra.org/ +-------------------------------------------------------------------------+ UNIX is user friendly. It's just very selective about who its friends are.