LINUX.ORG.RU

Безопасность chroot-окружения для мини-хостинга.

 


1

3

Всем привет.

На одной VPS делаю мини-хостинг - несколько пользовательских аккаунтов, у каждого свои сайты.

Чтобы разграничить доступ и не дать возможности свободно гулять по системе, сделал chroot для каждого из них, по мотивам однотипных статей ssh/sftp chroot, которых много на просторах инета. Сделал это для:

- Для работы по SSH нужно им дать возможность выполнять ТОЛЬКО: ls, cd, rm, mkdiv, cp, tar и подобные команды + делать дампы баз данных через mysqldump

- Для работы по SFTP нужно запереть пользователя в его дом. директории с его сайтами.

Но задался вопросом, насколько это безопасно, если кто-то попытается выйти за пределы chroot, то получат root-права и далее все вытекающие из этого последствия или не так все страшно?

Если не chroot (хотя кроме вопроса безопасности он меня вполне устраивает), то может лучше LXC, или это перебор для таких задач?

Подскажите пжл, только пжл не предлагайте простой способ настройки прав на директории и файлы без какого-либо доп. ограничения перемещения пользователей по системе.

А может я просто начитался страшилок и в плане моих задач SSH chroot вполне безопасен?



Последнее исправление: stranger-ru (всего исправлений: 1)

Чрут - это не средство повышения безопасности. Есть много способов выйти из него. Используй хотя бы LXC, если виртуализацию делать не хочешь.

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

Да, способы сбежать наружу есть, но они требуют уже гораздо больших умений у хацкера, чем тупо чрут.

Однако к контейнерам из коробки прикручиваются именно системы повышения безопасности: можно пообрубать всякие опасные системные вызовы через seccomp, профиль apparmor подключить, capabilities дропнуть.

tiandrey ★★★★★
()

Есть lshell — под условия задачи подходит — позволяет ограничивать выполняемые команды (и символы, присутствующие в командах) и доступные каталоги, но он багованный.

tolstoevsky
()

Юзай контейнеры, чрут для этих целей совсем не пригоден.

UPD. Если у тебя VPS на OpenVZ или виртуоззо, то контейнеры не вариант. Там ядра ископаемые.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от anonymous

Раскрой мысль. Чем плох вариант с контейнерами для описанной цели?

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

ТС, вот, читай, просвещайся по поводу чрута и безопасности: https://deepsec.net/docs/Slides/2015/Chw00t_How_To_Break Out_from_Various_Chr...

Да, я смотрел его лекцию.

Есть lshell — под условия задачи подходит — позволяет ограничивать выполняемые команды (и символы, присутствующие в командах) и доступные каталоги, но он багованный.

lshell - давно признан дырявым УГ.

А как выйти из чрута, не имея прав рута в нем?

А изначально чрут имеет права рута, или как лишить чрута прав рута?

stranger-ru
() автор топика
Ответ на: комментарий от WitcherGeralt

UPD. Если у тебя VPS на OpenVZ или виртуоззо, то контейнеры не вариант. Там ядра ископаемые.

Платформа виртуализации KVM, прокатит?

stranger-ru
() автор топика
Ответ на: комментарий от deadNightTiger

А как выйти из чрута, не имея прав рута в нем?

Все таки тема - как сделать chroot без root?

stranger-ru
() автор топика
Ответ на: комментарий от deadNightTiger

Ну, смотри презентацию же. Вариант с misconfiguration и вариант с ptrace.

// сам я только классический способ опробовал

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