Рейтинг:0

Замечание о безопасности на справочной странице OpenSSH ChrootDirectory

флаг in

На справочной странице sshd_config(5) в моей системе я нашел это замечание в разделе о ChrootDirectory:

Для безопасности очень важно, чтобы иерархия каталогов была защищен от модификации другими процессами в системе (особенно за пределами тюрьмы). Неправильная конфигурация может привести в небезопасные среды, которые sshd(8) не может обнаружить.

Могу ли я где-нибудь прочитать о связанных уязвимостях, если какой-либо внешний процесс внесет изменения в иерархию каталогов?

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

Хотя этим пользователям будет разрешено использовать только SFTP и только эти каталоги (благодаря ChrootDirectory), я все равно мог бы время от времени помещать файлы на место, что происходило бы через другие процессы в системе что было бы вне тюрьмы.

Интересно, может ли этот простой вариант использования также привести к некоторой уязвимости - любой свет будет очень признателен!

Рейтинг:2
флаг cn

The chrootdirectory requires root owner and group ("At session startup sshd(8) checks that all components of the pathname are root-owned directories which are not writable by any other user or group.").

SFTP is among the simplest to configure, but setting the directory permissions to 755 and creating a subdirectory with 775 permissions with group something like where group is only the users for the processes that require access.

drwxr-xr-x root root         /var/chrootdir
drwxrwxr-x root processgroup /var/chrootdir/sftpdrop

If the processes cannot be trusted to save files to the location, a different process could be used, even a cron job, to save files in the transfer directory.

These kinds of security questions may get lots of responses based on various different experience, but the obvious problem appears to me to be a process saving information inside of the chroot directory that is not suppose to be available to the chrooted users, or reading information inside of the chrootdirectory that can be modified by the chrooted user.

флаг in
«Если процессам нельзя доверять сохранение файлов в указанном месте, можно использовать другой процесс, даже задание cron, для сохранения файлов в каталоге передачи». Именно это я и имел в виду — односторонний поток данных из системы во внешний мир, выкачиваемый из процессов в более широкой системе. Именно поэтому я и спрашиваю - утверждение в документации довольно высокоуровневое и общее в предварительных условиях, но довольно ясное в том, что следует делать (т.е. не позволять внешним процессам получать доступ к иерархии).
Paul avatar
флаг cn
В чем тогда ваш вопрос?
флаг in
«Могу ли я где-нибудь прочитать о связанных уязвимостях, если какой-то внешний процесс внесет изменения в иерархию каталогов?»

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.