Я занимаюсь этим некоторое время, но не могу найти окончательных ответов. FTP - очень небезопасно. FTP через SSl - не везде поддерживается полностью, только несколько клиентов поддерживают его? SFTP - это тот, который я пробовал, так как он самый безопасный?
От разговора с redhat, RHEL 5 (sshd) dosent поддерживает chroot-тюрьмы для отдельных пользователей, поэтому пользователи могут просматривать системные файлы и т.д ... это должно быть угрозой безопасности. Они также могут просматривать файлы других пользователей.
Есть ли другие варианты, у людей должна быть такая ситуация все время, есть ли какие-нибудь передовые методы?
Спасибо за любую помощь / информацию!
sshd поддерживает chroot, как вы хотите, начиная с 4.3p2
Вы можете использовать следующую конфигурацию (или что-то вроде этого)
Subsystem sftp internal-sftp
Match User pacey
ChrootDirectory /home/pacey
ForceCommand internal-sftp
AllowTCPForwarding no
Вы также можете сопоставлять группы, используя Match Group
директива.
Я бы порекомендовал вам использовать sftp / scp для передачи данных.
Вы, кажется, немного не в курсе о chroot. Если вам нужно только предоставить возможности передачи данных для пользователей, внутренняя поддержка sftp в OpenSSH действительно поддерживает chrooting пользователей.
Допустим, у вас есть группа пользователей под названием leechers
вы хотите предоставить доступ к scp и их домашнему каталогу, но никуда больше. В этом случае вы должны добавить это в /etc/ssh/sshd_config
:
Match group leechers
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Другие варианты включают предоставление пользователям оболочки с ограничениями, например lshell или rssh.
chrooting / jails также возможен, но в большинстве случаев это больше хлопот, чем оно того стоит.
SFTP / SCP, безусловно, является наиболее безопасным из перечисленных вами вариантов и довольно стандартным для традиционного FTP-доступа к системе.
RedHat правы, версия sshd в RHEL5 слишком старая, чтобы поддерживать параметр ChrootDirectory, который заставляет sshd автоматически настраивать chroot для пользователей SCPing. Тем не менее, разрешение пользователям просматривать файловую систему не обязательно является серьезным риском для безопасности - непривилегированный пользователь будет изо всех сил пытаться нанести значительный ущерб правильно настроенной системе - основным риском будет локальное повышение привилегий, поскольку для доступа к scp требуется рабочая оболочка.
Тем не менее, безопасность на всех уровнях является предпочтительным вариантом, поэтому есть несколько обходных путей:
scponly ( http://sublimation.org/scponly | RPM: http://packages.sw.be/scponly/ ) заменяет оболочку пользователей, поэтому они могут только читать / записывать файлы, но не выполнять их.
Существуют также другие руководства и сценарии, которые создадут для вас сеанс chroot'd scp (обратите внимание, я не тестировал этот конкретный сценарий, он только что оказался на вершине в поиске Google): http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/
Из система? HTTPS хорошо понятен, поддерживается многими вещами, может chroot (в том смысле, что трудно убедить веб-браузер искать за пределами DocumentRoot). Любой хороший?
Вы можете использовать rssh. Очень просто использовать. Просто разрешите scp / sftp / rsync в файле rssh.conf и измените пользовательскую оболочку на / usr / sbin / rssh (или там, где rssh устанавливается в RHEL).
WebDAV через HTTPS может быть хорошим вариантом (для передачи файлов на сервер и с сервера). Клиенты WebDAV доступны по умолчанию для ряда ОС («веб-папки» в Windows, сетевые диски и т. Д.). При необходимости есть и отдельные клиенты.
Это может быть немного сложно, если файловое пространство на сервере должно быть видно пользователям в их соответствующих домашних каталогах, но в противном случае вы можете управлять им с обычными разрешениями веб-сервера.