Моя идеология всегда была такова, что как пользователь, вы можете делать все, что захотите, в Linux и для всего остального, всегда есть sudo
. sudo
позволяет выполнять несколько вещей, как некоторые другие пользователи, чаще всего случаи, как root
для системного администрирования. sudo
было большим преимуществом, позволяющим делегировать некоторые из моих рутинных задач и привилегий как (root) пользователю другим пользователям и помогать лучше управлять своим временем и временем других, не повышая привилегий сверх того, что требуется. В то же время, я доверяю им, чтобы их записи присутствовали наsudoers
конфигурационный файл. Я не уверен, может ли это быть связано, но что я могу сказать, так это то, что sudo дает вам лучшую перспективу безопасности того, кто все и что они могут сделать со своими доверенными привилегиями. Даже если что-то пойдет не так, они несут ответственность. (Я всегда могу сделать некоторую подлую информацию о журнале sudoers, чтобы найти виновных). Мои парни всегда выражали мне свою озабоченность тем, что им нужно вводить sudo для всего, что они хотели сделать с повышенными привилегиями в среде Linux. Здесь я тоже нашел такой же вопрос.
Чтобы увидеть решения и мои поиски альтернатив, я наткнулся на средства управления доступом на основе ресурсов, RBAC
но в другой стране приключений Solaris
с такими инструментами и pfexec
т. Д. Этот подход более эффективен, потому что это позволит сохранить привилегии пользователей уже повышенными и будет доверять на совести и бдительности того, что сисадмины хотели бы сделать со своими привилегиями.
Рассматривая доступные решения RBAC и его реализации в мире Linux, я наткнулся на
SELinux http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/
grsecurity http://en.wikipedia.org/wiki/Grsecurity
и хотя есть некоторые другие реализации, я бы рассмотрел их в верхнем порядке списка. Внедрение RBAC - это большая работа в организации, особенно когда много пользователей. RBAC будет лучшим решением в однородной среде. Тем не менее, когда в сети существуют гетерогенные установки Unix и пользовательская база данных является общей, тогда это может произойти сбой. Поскольку SELinux не масштабируется / не реализован в Solaris, а инструменты RBAC / pfexec не реализованы в Linux. Существуют разные подходы для выполнения одной вещи. Например: http://blogs.oracle.com/darren/entry/opensolaris_rbac_vs_sudo_howto
Различные установки в масштабах сети могут не поддерживать этот подход (однако openrbac может рассматриваться как общий подход к реализации), так как sudoers является подходом с одним хостом или не способен к централизованной конфигурации в сети / домене./etc/sudoers
нужно синхронизировать каждый раз, когда есть изменения. Более того, при работе с файлом sudoers существует требование к базе знаний, необходимо понимать язык политики конфигурации sudoers, чтобы не допускать ошибок и разрешать любые предоставления. RBAC может предлагать централизованный подход до некоторой степени, в то время как профили безопасности могут быть общими, добавление / удаление пользователя из предоставленной роли может быть сделано из одного места (это место, где хранится информация о пользователе / passwd / group для домен как LDAP, NIS или AD). Это также косвенно потребует понимания команд, необходимых для работы с базой данных RBAC, таких как smexec, smmultiuser, а их немного.
Sudo может предложить более кросс-платформенный подход, тем не менее, он работает на всех Unix / подобных платформах, которые предлагают функции setuid. И то, sudo
и другое RBAC
успешно дает некорневым пользователям некоторые привилегии, которые могут быть сделаны без предоставления самого root
пароля. Sudo может дать более тонкий / детальный подход к аргументам командной строки, которые можно использовать при выполнении команд, и ограничить только тем, какую команду с аргументами можно запускать с повышенными привилегиями. Хотя RBAC может ограничить использование до установленных команд или двоичных файлов, но не может контролировать аргументы командной строки. Аудит намного лучше и встроен в среду RBAC, тогда какsudo
Это зависит от конфигурации, а также от принятых ограничений безопасности (например, отсутствие предоставления оболочки и, в частности, хостам разрешается входить в систему с другими хостами без каких-либо проблем). Это лишь некоторые из различий, на которые я мог бы сослаться, и я лично склонен использовать sudo, а не RBAC, хотя с указанными ограничениями я мог бы преодолеть некоторые обходные пути. До тех пор пока все проблемы не будут решены RBAC для лучшего преимущества sudo, я не думаю, что sudo исчезнет, потому что это просто.