Я знаю, что об этом спрашивали Вот раньше, но я не удовлетворен ответами и не знаю, можно ли оживить и перехватить старый вопрос.
У нас есть рабочие станции, которые аутентифицируют пользователей на сервере LDAP. Однако локальный пользователь root может su
любому пользователю LDAP без пароля. С моей точки зрения, это звучит как огромная проблема безопасности, которую, я надеюсь, можно избежать на уровне сервера.
Я могу представить себе следующий сценарий, в котором пользователь может выдать себя за другого и не знает, как это предотвратить:
cat /etc/ldap.conf
и выясните адрес сервера LDAP и сможете ifconfig
чтобы узнать свой IP-адрес. (Это всего лишь пример того, как получить адрес LDAP, я не думаю, что это обычно секрет, и преодолеть неясность несложно)su
в любого другого пользователя LDAP, который может иметь или не иметь дополнительных разрешений (без пароля!), но, по крайней мере, они могут без проблем выдавать себя за этого пользователя.В других ответах здесь говорится, что это нормальное поведение UNIX, но это звучит действительно небезопасно.
Может ли олицетворенный пользователь действовать как этот пользователь, например, при монтировании NFS? (у ноутбука даже такой же IP-адрес). Я знаю, что они не смогут действовать как root на удаленной машине, но они все равно могут быть любым другим пользователем, каким захотят!
Должен же быть способ предотвратить это на уровне сервера LDAP, верно? А может на уровне сервера NFS? Есть ли какая-то часть процесса, которую мне не хватает, которая действительно предотвращает это?
Спасибо!!
Я не думаю, что ваш сценарий верен.
Допустим, злоумышленник будет следить за вашими 1,2,3 баллами и станет другим UID (пользователем) на своей собственной машине, которую он привел.
И что именно тогда? У них уже есть доступ к своей машине с правами суперпользователя, и использование анонимного LDAP в качестве пользовательского бэкэнда в своей собственной системе для перехода к пользователю так же хорошо, как:
useradd differentUser
su - differentUser
... вообще без использования LDAP.
Поскольку LDAP заменит только локальное пользовательское хранилище (например, /etc/passwd
) - видеть nsswitch.conf
и это руководство.
Если они захотят войти в систему на любом другом компьютере в вашей сети, им все равно потребуется предоставить действительные учетные данные для другого пользователя.
Как это небезопасно?
Нет. Чтобы они могли действовать от имени этого пользователя при монтировании NFS, они сначала должны иметь возможность откуда-то смонтировать общий ресурс NFS.
Если /etc/exports
на сервере NFS они могли бы свободно смонтировать общий ресурс NFS, они не нуждались бы в LDAP, они могли бы просто смонтировать его и в любом случае просматривать.