LINUX.ORG.RU
ФорумAdmin

Баг в samba + ldap, давайте обсудим...


0

1

баг: Любой авторизованный пользователь домена может получить доступ к файловой системе.
Причем администратор домена получает полный права к файловой системе сервера.

Для воспроизведения бага необходимо:
1. настроенный ldap сервер
2. nsswitch.conf настроен, getent passwd выдает список пользователей
3. samba как домен контроллер настроен на ldap (большая часть параметров пропущена)

[global]
security = user
passdb backend = ldapsam:ldap://ldap.server

[homes]
read only = no
browseable = no

Проверить очень просто, на клиенте, из под пользователя домена,
открываем например ресурс:
\\server\dbus

на redhat5, centos5, я получаю / сервера.
Других дистрибутивов у меня нет, проверить не могу.

а причина в том что:
# grep dbus /etc/passwd
dbus:x:81:81:System message bus:/:/sbin/nologin

т.е. параметр passdb backend = ldapsam отрабатывается не корректно?
Сразу напишу, параметр invalid users = bin,daemon,dbus,avahi и т.п. не поможет.

Я конечно отправил баг в bugzilla.redhat.com, его закрыли с пометкой:
> If you want to secure access to shares created via the [homes] mechanism,
> please follow the instructions from the Samba Howto Collection:
> «Why Can Users Access Other Users' Home Directories?»
> (https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-
> samba.html#id2619170).
>
> In short: you can restrict access to only the authenticated user by setting
> «valid users = %S» in the [homes] section. You will also find this setting
> in our default smb.conf file that we ship with the samba package.

Т.е. возможно меня они не поняли (google translate :), т.к. зачем мне valid users?
на ресурс [homes] должны подключаться все пользователи домена,
и пользователь домена и так эксплуатирует эту уязвимость,
опять же параметр invalid users не работает (он и не должен работать в данной ситуации).

Собственно я нашел как решить данную проблему,
всех системных пользователей добавил в отдельный файл как ресурсы в /var/tmp и ограничил правами.

Вопрос какой?!
Действительно так и должно быть?
Моя обеспокоенность здесь не уместна?

★★★★★

grep dbus /etc/passwd
messagebus:x:102:107::/var/run/dbus:/bin/false

grep ":/:" /etc/passwd
<пусто>

хороший, годный у тебя дистрибутив, чо!

aol ★★★★★
()

и ссылку на баг ты, конечно, не дашь, чтобы, не дай б-же, кто-нить не привнёс туда новых подробностей/описал лучше по-английски/whatever

aol ★★★★★
()

на примере другого ресурса

apache:x:48:48:Apache:/var/www:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

Администратор домена (который не является администратором сервера) сможет открыть \\server\mysql или \\server\apache и внести любые изменения.

Пользователь домена скопирует файлы доступные на чтение.


ну ну...

меня интересует мнения администраторов у кого это воспроизводится

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

Проверить очень просто, на клиенте, из под пользователя домена,
открываем например ресурс:
\\server\dbus

ну попробовал я сейчас так. открываю \\servername\www-data
а пароль с логином ввожу от любого доменного пользователя.
в результате подмотированная шара называется \\servername\www-data, а содержимое у неё - домашний каталог пользователя, от которого логинились.

какие подробности моей конфигурации тебя интересуют?

aol ★★★★★
()
Ответ на: комментарий от aol

Для воспроизведения бага необходимо:

1. настроенный ldap сервер
2. nsswitch.conf настроен, getent passwd выдает список пользователей
3. samba как домен контроллер настроен на ldap

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от aol

значит пока воспроизводится на redhat5 и подобных, и возможно что в поздних версиях samba это было пофиксено.

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

если тебя всё-таки интересует, то
samba: 3.5.8
openldap: 2.4.23

aol ★★★★★
()
Ответ на: комментарий от zgen

баг в том что я определил для samba базу пользователей из LDAP каталога, у меня в каталоге LDAP нет системных пользователей, зачем samba лезет еще дополнительно в passwd?

фича, которая не работает в более новых версиях самба, предлагаю зарегистрировать баг что это заработало!

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

эта фича, так же не работает на domain members, это так же надо поправить))

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

зачем samba лезет еще дополнительно в passwd

samba не лезет в passwd, в passwd лезет nss, а вы просто не понимаете, как оно на самом деле работает.

zgen ★★★★★
()
Ответ на: комментарий от anonymous2

ldap user suffix = ou=users
ldap group suffix = ou=group
ldap machine suffix = ou=computers

так же используются

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

passdb backend = ldapsam:ldap://ldap.server

вы не заметили?

И чо? еще раз повторяю, nss, а не samba. Вам в кредит повторить несколько раз, чтобы заставить вас подумать?

zgen ★★★★★
()
Ответ на: комментарий от zgen

И чо? еще раз повторяю, nss, а не samba.
Вам в кредит повторить несколько раз, чтобы заставить вас подумать?

да, пожалуйста, повторите два раза, с выводами, чтобы общественность не волновалась. а чо? пацан сказал.. не?

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от zgen

Все с вами понятно. Продолжайте свои бессмысленные вопли.

так сами предложили объяснить, что по русски писать предложения не умеем? обязательно нужны оскорбления собеседников?

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от zgen

Т.е. вы как специалист, утверждаете, что все нормально, все так и должно быть? Что вам был известен факт получения доступа на файловую систему сервера для систем redhat5? То что в более новых версиях samba если это не работает так же, то это уже будем считать багом (иначе см пункт 1)?

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

Т.е. вы как специалист, утверждаете, что все нормально, все так и должно быть?

Я не утверждаю, что все нормально, я утверждаю, что это давно известная вещь.

Что вам был известен факт получения доступа на файловую систему сервера для систем redhat5?

И не только. Если у вас права на файловой системе позволяют обычному пользователю samba туда зайти.

то это уже будем считать багом (иначе см пункт 1)?

Вы просто развели помойку, можете считать это чем хотите.

zgen ★★★★★
()
Ответ на: комментарий от zgen

я имел ввиду то что вы правы и лдап тут непричом - у меня лдапа нет и теже проблемы.

anonymous
()
Ответ на: комментарий от anonymous2

конкретизировать будете? это вы о чем вообще?

О том, что большинство ваших постов - бесполезные.

zgen ★★★★★
()
Ответ на: комментарий от zgen

О том, что большинство ваших постов - бесполезные.

т.е. например, у вас сервер centos5, domain controller. вас не напрягает факт, что пользователь домена, может зайти на сервер, и устроить себе видеоархив например здесь //server/dbus/dev/shm?

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

У меня например серверы на freebsd, и ldap пользователь может получить доступ к home папке другого пользователя, при условии, что права на fs позволяют это.

Я понятия не имею, зачем нужен dbus и еще больше не имею понятия, почему ему в качестве homedir задан /.

1) Задайте ему /blah
или
2) Уберите [homes] из smb.conf
или
3) Поставьте ограничение на доступ правами fs

В каком месте у вас проблемы? O_o

zgen ★★★★★
()
Ответ на: комментарий от zgen

У меня например серверы на freebsd, и ldap пользователь может получить
доступ к home папке другого пользователя, при условии, что права на fs
позволяют это.

Я понятия не имею, зачем нужен dbus и еще больше не имею понятия,
почему ему в качестве homedir задан /.

1) Задайте ему /blah
или
2) Уберите [homes] из smb.conf
или
3) Поставьте ограничение на доступ правами fs

В каком месте у вас проблемы? O_o

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

anonymous2 ★★★★★
() автор топика

Собственно этой ошибки не было бы, если при наличии параметра passdb backend в конфиге, имена проверялись и в этой базе.

Конечно легко обозвать ошибку фичей, чем ее исправить.

Легче значит отслеживать home параметр для всех системных сервисов, отслеживать umask, чтобы не дай бог не создался файл для чтения с приватными данными. Что в RedHat5 и не сделано. Сейчас вот параметры valid users и invalid users для ресурса, оказываются бесполезны без дополнительного дублирования ACL на файловой системе. Бесполезны в том плане, что используя этот баг можно зайти через другой ресурс.

anonymous2 ★★★★★
() автор топика
Ответ на: комментарий от sdio

перечитай рассылку самбы, так делается по дефолту с чёрти-знает-каких-времён. security=shared deprecated и нафиг не нужен, неосиляторы man smb.conf тоже не нужны

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.