|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » ssh из chroot-песочницы (не-jail) |
|
ssh из chroot-песочницы (не-jail)
|
just mar Сообщения: 3904 |
Профиль | Отправить PM | Цитировать возникла задача - сделать песочницу, загнать туда пользователя и дать ему возможность идти по ssh дальше.
Прежде всего, оговорюсь, почему chroot, а не jail: - только 1 внешний (юзер ожидается снаружи) IP - мало места на диске, да и машинка старая-слабая. chroot-песочница, назначение юзеру шелла для попадания в нее и прочее мы как-то уже обсуждали (могу еще как-нибудь подробно для желающих расписать, но вопрос сейчас не об этом). Кратко остановлюсь на установка ssh тк она не совсем тривиальна: Потребовалось: - копирование программы ssh - копирование библиотек (узнаем по ldd) - копирование неотловленных ldd библиотек (ловим: strace sshd 2>&1 | grep lib ) - touch etc/resolv.conf - echo "order hosts" > etc/host.conf - echo "127.0.0.1 localhost" > etc/hosts - cp /usr/bin/env usr/bin/ (может, можно и без этого обойтись) - mknod dev/random c 2 3 ( а то получим ошибку PRNG is not seeded) - mknod dev/urandom c 2 4 (см выше) - mknod dev/tty c 1 0 (NB цифры для mknod смотрим в ls -l /dev | grep что_нам_надо) - файл паролей в chroot-ом etc (хотя я теперь в этом и не уверена - надо проверить) - mkdir .ssh - touch .ssh/known_hosts Вроде бы все Дальше, собственно, самое интересное - когда я пыталась запустить ssh после , то упорно получала отлуп со словами unknown user номер_uid_в_настоящем_passwd отлов этого отлупа в исходниках openssh в портах показал три места в файлах /usr/src/crypto/openssh/scp.c /usr/src/crypto/openssh/ssh.c /usr/src/crypto/openssh/tildexpand.c во всех трех идет проверка Понятно, что раз в дело вступает getpwuid, то поиск идет не по файлу паролей, а по файлам базы, находящимся в etc. То есть ошибка перестала вылезать не после создания в chroot-ном etc файла паролей, или же master.passwd, а после копирования в этот самый chroot-ный etc pwd.db и spwd.db Теперь все работают, но возникают вопросы: пусть даже юзер в chroot будет запускаться с флагом -u имя (то есть не получит там chroot-ного root-ового shell-a). Все равно как-то сомнения гложат, насколько такой метод безопасен. Возможные варианты: 1) скомпилировать специально для использования в песочнице ssh без этих строк проверки. 2) сделать так, как сделано - с копированием реальных файлов (и запуском юзера под юзером ) 3) создания файлов базы прямо под chroot (боюсь, придется поизвращаться) 4) any ideas? Хотелось бы выслушать мнение уважаемого all и всякие идеи по этому поводу |
|
Отправлено: 23:20, 03-12-2004 |
Пользователь Сообщения: 103
|
Профиль | Сайт | Отправить PM | Цитировать Прежде всего, оговорюсь, почему chroot, а не jail:
- только 1 внешний (юзер ожидается снаружи) IP - мало места на диске, да и машинка старая-слабая. Лучше создать алиасный IP для jail, ну а для экономии места,- jail тоже рекомендуется собирать руками (прям как chroot песочницу, это еще и лишняя безопасность - когда в тюряге мало всякой всячины) По поводу безопасности с chroot - если юзер поменяет себе uid на ноль (мало ли что бывает), то минимум он сможет организовать в chroot'e файлы устройств (например /dev/mem) Вобщем грамотно настроеная jail-subsystem будет лучшим решением |
------- Последний раз редактировалось misher, 04-12-2004 в 12:14. Отправлено: 12:05, 04-12-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать misher
Цитата:
Цитата:
Цитата:
Но вообще-то меня больше интересовали варианты решения запуска ssh из-под chroot и их обсуждение |
|||
Отправлено: 12:18, 04-12-2004 | #3 |
Пользователь Сообщения: 103
|
Профиль | Сайт | Отправить PM | Цитировать Самый возможный минимум это один фаил
с баш и лс столько же сколько в чруте Насчет как поменять уид на ноль - встречный вопрос если он неможет этого сделать в чруте - может он несможет сделать этого и в основной системе и мутить песочницу ненадо? |
------- Отправлено: 12:35, 04-12-2004 | #4 |
Пользователь Сообщения: 103
|
Профиль | Сайт | Отправить PM | Цитировать Кстати насчет одного внешнего ip - можно настроить ipfw для forward'a во внутрь (на алиас)
|
|
------- Отправлено: 12:49, 04-12-2004 | #5 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
кроме того, меня все-таки занимает задача с ssh из-под chroot (хотя бы просто, как возможная задача ) |
||
Последний раз редактировалось mar, 04-12-2004 в 13:28. Отправлено: 13:18, 04-12-2004 | #6 |
Пользователь Сообщения: 103
|
Профиль | Сайт | Отправить PM | Цитировать как сделать в ipfw forward для пакетов, приходящих не с конкретной машины, а от конкретного пользователя? (Честно говоря, по-моему никак )
-Можно подробнее (должен ли юзер выходить в инет или иметь какие-либо серверы) Чрут делается для того чтобы убрать юзеру доступ к основным файлам системы. Какие файлы являются опасными? Фаилы с setuid, файлы с паролями и файлы устройств - на устройства система ставит грамотные права, пароли тоже простому юзеру недоступны, а вот сетуид файлы могут появится из-за третьего софта - их следует найти и запретить запускать этому юзеру-хакеру и нефига он сделать несможет. (а если как-то сможет, то и чрут он тоже завалит) |
------- Отправлено: 13:36, 04-12-2004 | #7 |
Пользователь Сообщения: 103
|
Профиль | Сайт | Отправить PM | Цитировать mar
Кстати прикинь если в ssh будет какое-нибудь переполнение буфера кроме того, меня все-таки занимает задача с ssh из-под chroot (хотя бы просто, как возможная задача ) А вот это весьма интересная тема - sshd работает из под рута и в песочнице он единственный превелигерованный процесс - заставить бы его работать неиз под рута и безопасность в песочнице будет навысоте. Наверное следует создать пользователя типа croot отдать ему в хозяйство все системные (в чруте) файлы (каие-то на чтение) и запускать sshd из под него. |
------- Последний раз редактировалось misher, 04-12-2004 в 14:00. Отправлено: 13:40, 04-12-2004 | #8 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать мнение misher, в общем понятно: мне предлагается заниматься безопасностью системы и чтением новостей по эксплойтам
по-прежнему очень интересует мнение тех, кто хотел бы высказаться по поводу вариантов того, как поступить с ssh-прибамбасами : Цитата:
|
|
Последний раз редактировалось mar, 04-12-2004 в 23:51. Отправлено: 14:11, 04-12-2004 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Стабильный SSH туннель. Скрипт мониторинга SSH туннеля. | AlexeiZ | Общий по Linux | 2 | 02-11-2009 12:49 | |
FreeBSD - Jail и natd | Orfan | Общий по FreeBSD | 2 | 27-08-2008 14:23 | |
pf(+nat) и jail - как разграничить доступ jail-ов в инет | brag | Общий по FreeBSD | 8 | 28-06-2007 02:40 | |
Виртуальный хостинг и apache в chroot. | Dmitry am | Общий по FreeBSD | 16 | 01-09-2005 00:37 | |
jail | mar | Общий по FreeBSD | 14 | 08-04-2004 08:43 |
|