На одном из серверов сделал обновление системы , все прошло гладко, пока не появилась у меня необходимость в заливке файлов по фтп. Вот тут и выплыл странный глюк. Меня перестало пускать на фтп под моим логином и еще парой логинов моих знакомых.
Сразу полез в логи смотреть что там творится, увидел вот такое
Jan 27 09:54:54 slik45.kiev.ua proftpd[1554] FTP session opened. Jan 27 09:54:55 slik45.kiev.ua proftpd[1554] Preparing to chroot to directory '/usr/local/webs/' Jan 27 09:54:55 slik45.kiev.ua proftpd[1554] error: FreeBSD with vulnerable chroot (FreeBSD-SA-11:07.chroot) Jan 27 09:54:55 slik45.kiev.ua proftpd[1554] chroot to '/usr/local/webs/' failed for user '******': Operation not permitted Jan 27 09:54:55 slik45.kiev.ua proftpd[1554] error: unable to set default root directory Jan 27 09:54:55 slik45.kiev.ua proftpd[1554] FTP session closed.
Ключевой момент в логах это error: FreeBSD with vulnerable chroot (FreeBSD-SA-11:07.chroot), погуглил, ответ нашелся сразу. Если очень коротко, была дырка и ее закрыли.
Уязвимость заключается в возможности выполнения произвольного кода пользователем, попавшего в chroot-окружение демона ftpd (если он так сконфигурирован)
Решение проблемы очень простое.
Делаем с консоли
# freebsd-update fetch # freebsd-update install
Перезапускаем proftpd и радуемся его работе.