В блогах есть несколько тысяч сообщений о 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, того, какие другие службы работают, и некоторых других вещей, это обеспечивает гораздо больше возможностей для злоупотреблений, в основном путем манипулирования переменными пользовательской среды. Нет подробного руководства о том, что и почему, потому что для этого нужно знать атаки, прежде чем они произойдут.
Короче говоря, для удобства использования большинство дистрибутивов так или иначе ссылаются на домашний каталог пользователя, и создание его для записи означает, что этими ссылками потенциально можно манипулировать.