Назад | Перейти на главную страницу

Ubuntu SFTP и хромирование

Я уже несколько дней осматривался, экспериментировал с конфигурациями и следовал руководствам по этому поводу.

У меня две группы: разработчик и sftp.

Пользователи внутри разработчик группа также является частью www-data и svn группы. Эти пользователи должны быть хромированный в их домашний каталог. Я бы хотел, чтобы у них был доступ к / var / www либо через символическую ссылку, либо как-то монтируя каталог для них.

Пользователи в группе sftp, не могу ssh, но должно быть разрешено sftp.

Задний план

Я попытался настроить sshd_config, чтобы разрешить доступ только sftp группе sftp, перезапустил ssh и он упал. К счастью, имея дело с sshd_config, я готовлю отказоустойчивую систему для восстановления конфигурации и перезапуска cron каждые 10 минут в этом случае. Тем не менее, я не мог найти альтернативу или заставить этот метод работать.

Редактировать !!

После просмотра ответов ниже, можно ли посоветовать альтернативу? Я запускаю Ubuntu - поэтому пользователь root заблокирован, и ssh_config отвергает root логин. Также у sudoers есть 2 разрешенные группы в своей конфигурации, srv-admin и sudo (sudo не может убивать, перезагружать, обновлять и т. Д.).

Группа dev разрешить пользователю доступ к 2 каталогам, /home/<user> и /var/www. Группа sftp ТОЛЬКО для того, чтобы разрешить пользователю доступ по SFTP, не более того и БЕЗ SSH.

Похоже, я неправильно понимаю использование chroot в таком сценарии.

Вы не можете открыть каталог вне chroot-окружения через символическую ссылку (потому что путь просто не будет доступен). Вы жестяная банка открыть каталог через привязать крепление. Это позволяет вам монтировать одну часть вашей файловой системы на другую часть вашей файловой системы. Например:

mount --bind /var/www /home/someuser/www

В основном, chroot среды сложны, если вы действительно не ограничиваете количество доступных инструментов. Вам нужно будет предоставить соответствующий набор двоичных файлов внутри в chroot окружение, а также все необходимые разделяемые библиотеки. Обычно это заканчивается неудачей для интерактивной среды (например, с ssh логин), если люди ожидают нормальной работы.

Вы должны быть в состоянии предоставить sftp-только доступ к sftp группа, использующая Match блокировать в вашем sshd_config вместе с ForceCommand директива. Что-то вроде:

Match Group sftp
ForceCommand sftp-internal

Вы можете включить ChrootDirectory вариант как часть вашего Match блок. Следующие chroot люди в свой домашний каталог:

ChrootDirectory %h

Обратите внимание на следующее из sshd_config страница руководства:

ChrootDirectory должен содержать необходимые файлы и каталоги для поддержки сеанса пользователя. Для интерактивного сеанса требуется как минимум оболочка, обычно sh (1), и базовые узлы / dev, такие как null (4), zero (4), stdin (4), stdout (4), stderr (4), arandom. (4) и tty (4) устройства. Для сеансов передачи файлов с использованием «sftp» дополнительная настройка среды не требуется, если используется внутрипроцессный sftp-сервер, хотя сеансы, которые используют ведение журнала, требуют / dev / log внутри каталога chroot (см. Sftp-server (8) подробнее).

Помните, chroot предназначен для сред сборки, а не для обеспечения безопасности. Есть бесчисленное множество способов для злоумышленников, чтобы вырваться из хромированной среды.

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

Если вам нужна реальная изоляция, решение в стиле KVM / Xen, вероятно, то, что вам нужно, но если вы настаиваете на использовании chroot, то вам, вероятно, понадобится ядро ​​с исправлением grsec, которое имеет некоторые основные меры безопасности это предотвратит наиболее распространенные техники взлома chroot.