Рейтинг:1

Существует ли система управления правами для Linux в сетях компании для локальной поддержки root?

флаг us

Я работаю в большом научно-исследовательском институте (10 тысяч пользователей) с различными системами (в основном Windows и Ubuntu Linux). Я не эксперт в таких сетевых структурах, но я сам работаю дома с Ubuntu и также люблю устанавливать программное обеспечение. У нас есть белый список для sudo для установки общих пакетов dep. Однако у нас нет полного доступа к sudo. Пользователи Windows имеют полную учетную запись администратора в Windows. Мой администратор сказал мне, что мы не можем иметь полный доступ к sudo на наших локальных ноутбуках, потому что тогда я также мог бы переключить пользователя, например, на учетную запись моего администратора и получить root-доступ по всей сети. Мне интересно, нет ли решения, которое позволило бы мне быть локальным корнем без доступа к корневому каталогу в сети. Мой администратор сказал мне, что это невозможно.

Кто-нибудь знает о такой системе управления правами, которая позволяла бы использовать локальный root, но не широкополосный root?

Заранее спасибо.

anx avatar
флаг fr
anx
Я сомневаюсь, что какая-либо система, не предназначенная для разделения произвольного доступа к сети и произвольного доступа к сетевым устройствам, подходит для современного мира. Ты про нфс?
BenPhys avatar
флаг us
Честно говоря, я не знаю, КАК работает бэкэнд. Мне просто нравится, если есть ЛЮБОЕ такое решение... Честно говоря, я не верю, что мой администратор прав, и я почти уверен, что для такого случая должно быть решение (возможно, даже с открытым исходным кодом).
флаг in
Если получение root-доступа на ноутбуке означает, что вы получаете root-доступ ко всей сети, что-то сильно облажалось в том, как они реализовали свою безопасность, но я понятия не имею, что они будут делать, это будет означать получение root-прав на ноутбуке. означает root для каждой системы в сети.
Рейтинг:1
флаг cn

с полным доступом к sudo на наших локальных ноутбуках я также мог бы, например, переключить пользователя на учетную запись моего администратора и получить root-доступ по всей сети.

Это действительно может иметь место, но это говорит о старой школе и довольно устаревшей настройке сети/аутентификации, основанной на доверии с рядом слабых ссылок, таких как, например:

  • домашние каталоги хранятся в экспорте NFS (и доступ к ним не защищен, например, с помощью Kerberos, и ваша рабочая станция не ограничена доступом только к отображению вашего домашнего каталога, а может получить доступ ко всем домашним каталогам)
  • с полным неограниченным корневым доступом это тривиально использовать су - admin_login и добавьте свой публичный ключ в админку ~/.ssh/authorized_keys
  • с вашим собственным закрытым ключом ssh вы можете войти непосредственно в качестве этого администратора на всех серверах, где смонтирован домашний каталог администратора и которые разрешают аутентификацию с открытым ключом ssh
  • когда администратор настроил свою учетную запись с NOPASSWD ключевое слово в их политиках sudo или полагается колесо членство в (или другой группе) и никакая последующая другая аутентификация/пароль не требуется, чтобы стать пользователем root или выполнять другие привилегированные действия...

Если приведенное выше описывает проблемы/риски в вашей сети, то ваша Linux/UNIX по-прежнему опирается на очень классическую модель доверия для обеспечения безопасности.

Любой компетентный администратор уже давно должен был прекратить это делать, но, возможно, были устаревшие проблемы и соображения...

Когда ваша сеть Linux/UNIX основана на доверии, а доступ к ресурсам не защищен иначе, безопасность доверенных устройств становится чрезвычайно важной. В общем, нецелесообразно отдавать эту безопасность в руки конечных пользователей. Другими словами, вы не предоставляете конечным пользователям полный root-доступ.

Безопасность Windows Active Directory/домена не так сильно зависит от доверия (она развилась позже, чем Unix, и тогда у нее было гораздо меньше наследия, и она могла бы извлечь выгоду из улучшенного понимания), но использует более надежную модель безопасности для сетевой безопасности, основанную на проверке подлинности Kerberos.
В этом отношении безопасность конечного устройства является меньшей проблемой, поскольку им не доверяют неявно, а предоставление пользователям прав локального администратора представляет меньший риск.

Кто-нибудь знает о такой системе управления правами, которая разрешала бы локальный корень, но не корневую сеть?

После удаления устаревшей установки это может сделать почти любая система. FreeIPA, sssd, интеграция с вашим доменом Windows AD и т. д. и т. д.

Но для этого необходимо, чтобы ваша сеть Linux/UNIX перестала полагаться (исключительно) на устаревшее доверие и контроль доступа на основе IP-адреса/имени хоста. Внедрите, например, одну из множества надежных/надежных систем аутентификации, построенных либо на собственном Kerberos, либо интегрированных с AD.

Прекратите использовать «доверие» (IP-адреса/имена хостов) в качестве единственного средства контроля безопасности и включите надлежащую аутентификацию на сетевых ресурсах. Начните, например, с общих ресурсов NFS, содержащих домашние каталоги, и перенастройте их так, чтобы всегда требовались «правильные» методы аутентификации, такие как Kerberos, или переключитесь на CIFS/SMB, которые также поддерживают аутентификацию клиентов.

Тогда безопасность вашей сети больше не будет зависеть исключительно от безопасности доверенных устройств, а будет зависеть от безопасности пользователей.

Как только вы это сделаете, вы можете рассмотреть вопрос о предоставлении конечным пользователям, таким как вы, большего контроля над своими рабочими станциями.

Кроме того: администраторам, вероятно, также следует начать применять больше элементов управления безопасностью к своим учетным записям и, например, не использовать NOPASSWD в своих централизованно управляемых политиках sudo.

Рейтинг:-1
флаг cn

В Ubuntu (и UNIX глобально) специальный пользователь root является суперпользователем. Он может ВСЕ, и вы не можете запретить одни функции и разрешить другие. Мы являемся пользователем root, мы можем делать то, что вы хотите, например, переключаться на другие учетные записи пользователей, изменять настройки ОС, получать сетевой поток и т. д.

Хорошей практикой является запретить кому-либо входить в систему как root (в ubuntu учетная запись отключена по умолчанию), и вы должны предоставить доступ к командам с повышенными правами, отредактировав /etc/sudoers с зрение команда.

В этом файле вы можете предоставить root-доступ к некоторым командам для некоторых пользователей, как описано в sudoers запись руководства (копия доступна здесь).

Таким образом, хорошей практикой является запретить все и разрешить по частям те команды, которые вы разрешаете.Я не знаю других решений, и мне любопытно узнать, ответит ли кто-нибудь на эту проблему по-другому.

флаг in
Вы просто повторяете ситуацию, в которой уже находится ОП. Если вам интересно, добавьте в закладки или следуйте за вопросом. Ответ «Я не знаю никакого решения» не является полезным.
флаг cn
Я повторно объяснил вопрос с официальными рекомендациями UNIX, подробно объяснил, почему это не лучший способ предоставить полный root-доступ и почему мы не можем разделить права root. Кроме того, я сказал: «Я не знаю ДРУГИХ решений», а затем, прежде чем тратить время на комментирование объяснений, пожалуйста, прочитайте правильные ответы, это сэкономит время для всех :)
BenPhys avatar
флаг us
То есть Windows может это сделать, а Linux нет? меня бы это удивило...

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.