LINUX.ORG.RU
ФорумAdmin

ssh взаперти


0

0

Ситцация FreeBSD 7.1, хостинг. Избранным клиентам может предоставляться shell-доступ. Задача - сделать так, что бы они ничего лишнего не видели. Т.е. возиться в своём /home/~ сколько угодно, ограниченный набор команд выполнять, но никуда за пербелы хоумдира не лазали, т.е. во всяком случае лазали не по серверным системным папкам. Без sftp обойтись можно.

pam_chroot пытался попробовать - не чрутит.

chrooted ssh тоже не работает (вроде бы все патчки включили в главную ветку, но фокус с "/./" в /etc/passwd тоже не прокатывает, и в интернетах встречается ругань.

rbash - как-то недостаточно restricted (из перлового скрипта, например, шелловые команды выполняются без ограничений). И вообще хотелось бы дефолтный шелл не менять.

Какие будут ещё могут быть варианты?

Пилить chroot. Он нормально работает, проверено не на одной установке. Если вы используете pam chroot, не забывайте включать в sshd.conf 'UsePAM'.

rbash реально помогает только в том случае, когда выбор команд существенно ограничен.

ls /rbin
awk bzip2 clamscan dd find htdigest ln mv quotashow rsync sftp tar wc zip
bash cat clear diff grep htpasswd ls mysql restore rvi sftp-server tee wget
bunzip2 chmod cp du gzip id mkdir mysqldump restoredb scp sh unrar wget-unlim
bzcat chx date expr head less more patch rm sed tail unzip zcat

При этом шелл в mysql вырублен на уровне исходников (тот, что доступен через !...)
sftp работает только в качестве сервера, find - скрипт-враппер, запрещающий exec+, vi - линк к rvi и переменные типа LDxxxx и некоторые другие зарублены в баш-инит скрипте. И т.д, и т.п. Я вобще этого хозяйство использую совместно с chroot, плюс еще некоторые параноидальные проверки, типа TPE (linux only) :-) По поводу действенности rbash у меня как-то давно была дискусия здесь на форуме :-)





Valmont ★★★
()

я решил эту проблему, как истинный слаковод. сварганил скрипт на sh, который выполняет роль юзерского шелла. монтирует через nullfs заранее созданный и один для всех бинарный темплейт со структурой (/bin/, /etc/ и т.д), пользователю в хомяк, запускает chroot. после выхода из chroot делается обратное размонтирование. это краткая идея, но там много-много костылей :)

Komintern ★★★★★
()

> т.е. во всяком случае лазали не по серверным системным папкам.

на важные конфиги и на /root выставил соответствующие права, по остальному пусть шарятся наздоровье, это им ничего не даст. Так же выставлял квоты на системные ресурсы.

PS сеть для юзеров на фаерволе прикрой.

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

> на важные конфиги и на /root выставил соответствующие права, по остальному пусть шарятся наздоровье, это им ничего не даст. Так же выставлял квоты на системные ресурсы.

Я б так и сделал, мне то по барабану, но начальству "не кошерно".

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

> Я б так и сделал, мне то по барабану, но начальству "не кошерно".

Тады селинукс раскочегарь, жутко кошерно и звучит страшно.

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

Ааа, тот самый тонкий ACL для фряхи... Тоже не катит (долго) но на заметку возьму, в следующий раз так и сделаю может;).

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