我知道 chroot 通常不被认为是安全的,并且不是作为安全功能设计的。所以我的问题是:
- 我是否正确,chroot 一个 ssh 用户(使用
ChrootDirectory
)是不安全的,并且不会阻止该用户退出?如果是,那么为什么要 chroot 用户呢? - 将用户 chroot 并限制他使用 SFTP (使用
ForceCommand internal-sftp
) 是否更安全?有没有办法摆脱这种情况?
答案1
什么是“安全”?它不是一个布尔值,安全和不安全。在 *nix 系统中,有各种级别的安全性和隐私性。
说到chroot
,它总是可以以不安全的方式使用,但 SSH 正试图尽量避免不安全的用例。首先,它不允许在chroot
除 之外的任何人可写的目录上使用root
。使用internal-sftp
极大地限制了用户可以在里面执行的操作,因此除非存在非常严重的安全漏洞,否则您应该对此感到满意。