我一直在研究这一段时间,但无法find和确凿的答案。 FTP – 非常不安全。 通过SSl的FTP – 到处都不完全支持,只有less数客户端支持它? SFTP – 这是我一直在尝试的,因为它是最安全的?
从谈话到redhat,RHEL 5(sshd)dosent支持个别用户的chroot jail,所以用户可以查看系统文件等等,这一定是一个安全风险。 他们也可以查看其他用户文件。
有没有其他的select,人们一直都有这种情况,有没有最佳实践的select?
感谢您的任何帮助/信息!
SFTP / SCP绝对是您列出的选项中最安全的选项,对于传统FTP访问系统来说,SFTP / SCP是相当标准的。
RedHat是正确的,RHEL5中的sshd版本太旧了,无法支持ChrootDirectory选项,这使得sshd自动为SCP用户设置一个chroot。 也就是说,允许用户查看文件系统并不是一个巨大的安全风险 – 一个没有特权的用户将难以对正确设置的系统造成严重的损害 – 主要的风险是本地特权升级,因为scp访问需要一个工作的shell。
尽pipe每个级别的安全性都是首选,所以有一些解决方法:
scponly( http://sublimation.org/scponly | RPMs: http ://packages.sw.be/scponly/)取代了用户shell,所以他们只能读/写文件而不执行它们。
还有其他的指南和脚本会为你自制一个chroot'd scp会话(注意,我没有testing过这个特定的脚本,它只是在谷歌search中名列前茅): http : //www.fuschlberger.net /程序/ SSH-SCP-SFTP-的chroot监狱/
我build议你使用sftp / scp进行数据传输。
你好像对chroots有点误解。 如果您只需要为用户提供数据传输可能性,则OpenSSH内部的sftp支持确实支持chroot用户。
假设你有一个叫做leechers的用户组,你可以访问scp和他们的主目录,但是没有其他的地方。 在这种情况下,您可以将其附加到/etc/ssh/sshd_config :
Match group leechers ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
您的其他选项包括为用户提供受限制的shell,如lshell或rssh。
chroot /监狱也是一种可能性,但大多数时间比它的价值更麻烦。
sshd支持从4.3p2开始就像你想要的那样
你可以使用下面的configuration(或类似的东西)
Subsystem sftp internal-sftp Match User pacey ChrootDirectory /home/pacey ForceCommand internal-sftp AllowTCPForwarding no
您也可以使用Match Group指令来Match Group 。
从一个系统? HTTPS是很好理解的,由很多东西支持,可以chroot(难以说服web浏览器看DocumentRoot之外)。 有什么好处?
你可以使用rssh。 这是非常简单的使用。 只需在rssh.conf文件中允许scp / sftp / rsync,并将用户shell更改为/ usr / sbin / rssh(或在RHEL中安装rssh的任何位置)。
通过HTTPS的WebDAV可以是一个不错的select(用于传输文件到服务器和从服务器传输文件)。 WebDAV客户端可以在许多操作系统(Windows上的“networking文件夹”或networking驱动器等)上使用。 如果需要,也有独立的客户端。
如果服务器上的文件空间必须在各自主目录中的用户可见,可能有点棘手,但是您可以通过正常的Web服务器权限进行pipe理。