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

vsftp: почему allow_writeable_chroot = YES - плохая идея?

В блогах есть несколько тысяч сообщений о vsftp и allow_writeable_chroot=YES

Типичное сообщение об ошибке:

Исправление 500 OOPS: vsftpd: отказ запускаться с доступным для записи корнем внутри chroot ()

Я решил проблему на своем сервере.

Но остается один вопрос:

Почему целесообразно использовать allow_writeable_chroot=NO?

До сих пор я находил только туманные аргументы вроде «Из соображений безопасности».

Что это за «соображения безопасности»?

Если учетные данные FTP пользователя (даже виртуального) с возможностью записи chroot быть скомпрометированным, злоумышленник, вероятно, сможет выполнить Ревущий зверь атака. Подводя итог моему приблизительному пониманию этой атаки, она включает использование того факта, что некоторые библиотеки C (возможно, включая те, которые используются FTP-сервером) будут искать динамические библиотеки, от которых они зависят, по жестко заданным путям в /etc или в других распространенных местах. Злоумышленник загружает вредоносные версии этих динамических библиотек в /etc в пределах chroot, затем отправляет команду FTP-серверу (работающему с правами root), который побуждает его запустить некоторый код, который загружается в эту динамическую библиотеку из /etc. Затем злой код злоумышленника запускается от имени пользователя root. Это увеличивает атаку от простого взлома FTP-папки пользователя до укоренения всей машины.

Наличие chroot без возможности записи делает эту атаку невозможной (если только вы, системный администратор, не создали неразумно записываемые папки с такими именами, как /etc и /lib внутри ваших FTP-пользователей chroot каталоги).

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

Короче говоря, для удобства использования большинство дистрибутивов так или иначе ссылаются на домашний каталог пользователя, и создание его для записи означает, что этими ссылками потенциально можно манипулировать.