Обновить
17
Игорь Хмелёв@KeyMan

Инженер

8
Подписчики
Отправить сообщение
Согласен, изначально идея была дать оболочку которая ничего не умеет и только после этого добавлять в нее инструменты и тут кроется камень преткновения безопасности — эти инструменты пользователь может использовать для выхода за пределы оболочки.
т.е. Для пользователя создана металлическая коробка и он в нее помещен, но для работы ему нужна болгарка, ты ему ее даешь, и вместо того что бы пилить детали внутри коробки, он начинает пилить саму коробку.
Согласен, данный способ сделан на коленке в качестве примера. По сути надежный способ нужно продумывать и разрабатывать, это отдельная задача.
Да действительно он не обеспечивает 100% защиту. Статья немного изменила вектор: инструкция превратилась в анализ безопасности данного способа, что очень важно.
Очень интересно, согласен что 100% защиты конечно же нет, но Ваш пример добавим в blacklist.
Спасибо.
Да все верно, выполнив echo /«tab» пользователь увидит структуру каталогов.
Задача передать готовую систему, что бы пользователь мог ее контролировать и выполнять минимальные действия. Дело в том, что уровень знания пользователя неизвестен и он может что-то сломать. Искать что он сломал трудоемко, быстро починить можно только откатив систему, что бы минимизировать данные риски решили урезать возможности пользователю.
Спасибо большое, посмотрим что можно сделать.
1. Скорей всего, все можно обойти) По тем способам, которые я знаю мы немного защитились, а по остальным нужно смотреть

2. Примеры использование:
— дать доступ к системе людям со стороны, что бы не сломали и можно было контроллированно ограничить их действия
— передача настроенной системе пользователям, что бы могли ее использовать и не сломали (ограничить доступ к критическим файлам и директориям)

Данная задача возникает, если мы считаем что пользователь системы может ее сломать)
Через chroot получается немного другой подход (песочница).
Спасибо за вопрос, он действителен важен.
На сколько я знаю основные атаки заключается в следующем:
изменить переменную PATH
Для блокировки данной уязвимости мы добавляем alias в файл .bashrc:
alias set=':'
alias uset=':'
alias export=':'
alias typeset=':'
alias declare=':'
alias alias=':'
alias unalias=':'
— переход в полноценную оболочку через скрипт или через утилиты vi, vim, nano, awk и т.д
Так же можно защитится через alias в файле .bashrc:
alias bin=':'
alias sh=':'
alias ln=':'
— также, для дополнительной защиты все команды через которые можно получить доступ к файлу или выполнить скрипты необходимо делать через обертки (п.8, п.9)

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

Данная задача возникает, если мы считаем что пользователь системы может ее сломать)
2

Информация

В рейтинге
5 153-й
Дата рождения
Зарегистрирован
Активность