URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID14
Нить номер: 1649
[ Назад ]

Исходное сообщение
"Символические ссылки и уязвимость"

Отправлено Evgeniy , 15-Фев-08 13:14 
Использование символических ссылок очень удобно при организации доступа пользователю. Достаточно расшарить ресурс и создать ссылки на нужные каталоги. По умолчанию в самбе follow symlinks = yes.
Но! Как показал эксперимент - это серьездная уязвимость, если у пользователя есть права на запись. На удаленной Linux машине создаем ссылку, например на /etc, монтируем шару, копируем туда ссылку, жмем F5 и получаем доступ к /etc на сервере.

Есть ли варианты безопасно организовать доступ без запрета символический ссылок (follow symlinks = no)?


Содержание

Сообщения в этом обсуждении
"Символические ссылки и уязвимость"
Отправлено AndreyT , 18-Фев-08 10:19 
Закрой доступ к каталогу шары из командной строки ssh telnet и т.д.
Средствами самой самбы создать ссылку на шаре нельзя.
(Нет поддержики атрибута файла "ссылка")
Специально проверил у себя:
#mount -t cifs //192.168.0.1/andreyt /mnt -o username=andreyt
#cp ./etc /mnt -a
cp: невозможно создать символьную ссылку `/mnt/etc': Неподдерживаемая операция


"Символические ссылки и уязвимость"
Отправлено Сергей , 20-Фев-08 14:58 
>Закрой доступ к каталогу шары из командной строки ssh telnet и т.д.
>
>Средствами самой самбы создать ссылку на шаре нельзя.
>(Нет поддержики атрибута файла "ссылка")
>Специально проверил у себя:
>#mount -t cifs //192.168.0.1/andreyt /mnt -o username=andreyt
>#cp ./etc /mnt -a
>cp: невозможно создать символьную ссылку `/mnt/etc': Неподдерживаемая операция

есть параметр wide links, установите его в no и линки на каталоги и файлы будут работать только если они ссылаются на обьекты внутри шары


"Символические ссылки и уязвимость"
Отправлено Evgeniy , 28-Фев-08 10:35 
>Закрой доступ к каталогу шары из командной строки ssh telnet и т.д.
>
>Средствами самой самбы создать ссылку на шаре нельзя.
>(Нет поддержики атрибута файла "ссылка")
>Специально проверил у себя:
>#mount -t cifs //192.168.0.1/andreyt /mnt -o username=andreyt
>#cp ./etc /mnt -a
>cp: невозможно создать символьную ссылку `/mnt/etc': Неподдерживаемая операция

В том то и дело, что возможно
#mount -t cifs //192.168.0.1/andreyt /mnt -o username=andreyt
#ln -s /etc /tmp/ln_etc
#cp /tmp/ln_etc /mnt -a
После этой несложной операции, я получаю \\192.168.0.1\andreyt\ln_etc\..., а там соответственно все, что лежит на 192.168.0.1 в /etc