vsftp:为什么 allow_writeable_chroot=YES 是个坏主意?

gue*_*tli 12 security chroot vsftpd

有数千篇关于 vsftp 的博客文章和 allow_writeable_chroot=YES

常见的错误信息:

修复 500 OOPS:vsftpd:拒绝在 chroot () 内使用可写根运行

我在我的服务器上解决了这个问题。

但还有一个问题:

为什么建议使用allow_writeable_chroot=NO

到目前为止,我只发现了诸如“出于安全原因”之类的模糊论点。

这些“安全原因”是什么?

Mar*_*ery 6

如果具有可写权限的用户(甚至是虚拟用户)的 FTP 凭据chroot遭到破坏,攻击者可能能够执行ROARING BEAST ATTACK。总结一下我对这次攻击的粗略理解,它涉及利用这样一个事实,即某些 C 库(可能包括 FTP 服务器使用的库)将在硬编码路径/etc或其他常见位置寻找它们依赖的动态库。那些动态库到的攻击者上传恶版本/etc 内的chroot,然后将命令发送到所述(磨合为根目录)的FTP服务器诱导它运行一些代码,在负载从该动态库/etc. 然后攻击者的邪恶代码以 root 身份运行。这将攻击从仅仅破坏用户的 FTP 文件夹升级到植根整个机器。

具有非可写的chroot呈现此攻击是不可能的(除非你的系统管理员,都不明智创建可写的文件夹中包含的名字/etc/lib你的FTP用户中chroot的目录)。


And*_*zek 2

主要关心的是它使点文件可写。根据您的 shell、登录设置方式、是否使用 $HOME/.ssh、正在运行的其他服务以及其他一些内容,这提供了更多的攻击面来滥用,主要是通过操纵用户环境变量。目前还没有关于攻击内容和原因的全面指南,因为这需要在攻击发生之前了解它们。

长话短说,为了可用性,大多数发行版都会以一种或另一种方式引用用户的主目录,并且使其可写意味着这些引用可能会被操纵。