У меня есть сервер, который я хочу использовать в качестве шлюза SSH для перенаправления удаленных и локальных портов. Я не хочу, чтобы на нем можно было выполнять произвольные команды, только мои скрипты.
Я продолжаю читать о том, как легко выйти из ограниченных оболочек, но достаточно ли хорош rbash, если:
command="cmd_handler",no-pty,permitopen="127.0.0.1:*",permitopen="localhost:*",no-agent-forwarding,no-X11-forwarding
«cmd_handler» - это сценарий оболочки rbash, который может делать несколько разных вещей в зависимости от того, что передается в ssh из stdin. Он находится в папке ~ / usr / bin вместе с символическими ссылками на требуемые исполняемые файлы, в частности fold
, head
, nc
, sed
, ssh-keygen
, tee
, tr
. ~ / usr / bin - единственная папка в PATH, так что это единственные доступные команды.
Пользователь является владельцем группы с доступом только для чтения ко всем файлам или папкам, требующим доступа (включая папку ~ / usr / bin). Пользователь не является владельцем и не имеет права записи для любых файлов и папок, кроме ~ / .ssh и ~ / .ssh / authorized / keys (что является обязательным).
Я не думаю, что это сделает систему уязвимой, поскольку удаленный компьютер может выполнить единственную команду «cmd_handler». И если каким-то образом удаленный пользователь действительно может выполнить другую команду, этого не так уж много. tee
, sed
, и ssh-keygen
создать теоретическую возможность изменения ~ / .ssh / authorized_keys для выполнения произвольных команд, но даже если бы они могли, все, что можно было использовать, - это семь команд, и если они что-то напишут в / tmp или ~ / .ssh, он выиграет это не имеет значения, потому что rbash не будет выполнять ничего, кроме PATH.
Итак, вернемся к исходному вопросу: достаточно ли этого для того, чем я хочу заниматься, или мне действительно нужно изучить AppArmor или что-то в этом роде? Я хотел бы получить ответ, объясняющий конкретную уязвимость, а не общие утверждения о том, что все знают, что из rbash легко вырваться и еще много чего. Это может быть правдой, но небезопасно ли это для этот применение?