Есть ли другой способ ограничить пользователя SSH, кроме тюрьмы chroot?
Мне нужно создать безопасную среду для иностранного пользователя SSH , который должен иметь очень ограниченный доступ к нашему серверу. То есть:
- может выполнять только разрешенные команды
- можно использовать только определенное программное обеспечение, разрешенное
- ни при каких обстоятельствах не должен быть разрешен просмотр/изменение/удаление папок и файлов за пределами его/ее корневой файловой системы.
Я пробовал использовать chroot Jail перед использованием инструмента Jailkit для небольшого проекта, который не требовал такой большой настройки, и он работал нормально, но этот проект намного больше и требует гораздо большей настройки с точки зрения разрешенного программного обеспечения и команд.
Требования к безопасной среде следующие:
- возможность использовать основные команды, такие как ls, cd, grep и т. д.
- возможность запуска дотнет-скриптов
- возможность использовать работающий брокер RabbitMQ (брокер работает ВНЕ среды)
- возможность использовать работающую базу данных PostgreSQL (база данных работает ВНЕ среды)
Я слышал о multistrap или debootstrap , но не уверен, подходят ли они для решения моей проблемы.
Серверы работают под управлением ОС Debian версий 9 и 10 . Все необходимое программное обеспечение установлено в корневую файловую систему и работает нормально. Все, что мне нужно, это чтобы пользователь с ограниченными правами мог использовать его, не имея возможности повредить / повредить корневую файловую систему.
Мои вопросы:
- Есть ли какие-либо другие полезные (лучшие) инструменты, которые я не упомянул и которые могли бы решить мою проблему?
- Есть ли какие-нибудь полезные руководства по упомянутому мною программному обеспечению, которые могли бы решить мою проблему?
1 ответ
На случай, если кто-то столкнется с такой же проблемой. Я решил это, используя контейнер Docker с отдельным SSH-сервером и всем необходимым программным обеспечением, установленным на нем.