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

Почему chroot_local_user vsftpd небезопасен?

Я настраиваю на своем VPS vsftpd, и я не хочу, чтобы пользователям разрешалось покидать домашний каталог ftp. Я использую ftp local_user, а не анонимный, поэтому добавил:

chroot_local_user = ДА

Я читал во многих сообщениях на форуме, что это небезопасно.

  1. Почему это небезопасно?
  2. Если это небезопасно из-за использования ssh для подключения к моему VPS, то я мог бы просто заблокировать этих пользователей от sshd, верно?
  3. Есть ли другой способ добиться такого поведения vsftpd? (Я не хочу удалять разрешения на чтение для всех папок / файлов для "мира" в моей системе)

Проверить здесь Часто задаваемые вопросы VSFTPD для ответа, который вы ищете. Ниже приводится важный отрывок, который, я думаю, ответит на ваш вопрос.

Q) Помогите! Каковы последствия для безопасности, указанные в опции "chroot_local_user"?

A) Во-первых, обратите внимание, что другие демоны ftp имеют такие же последствия. Это общая проблема. Проблема не слишком серьезная, но она такова: у некоторых людей есть учетные записи пользователей FTP, которым не доверяют полный доступ к оболочке. Если эти учетные записи также могут загружать файлы, существует небольшой риск. Плохой пользователь теперь имеет контроль над корнем файловой системы, который является их домашним каталогом. Демон ftp может вызвать чтение некоторого файла конфигурации - например, / etc / some_file. Благодаря chroot () этот файл теперь находится под контролем пользователя. vsftpd осторожен в этой области. Но системная библиотека libc может захотеть открыть файлы конфигурации локали или другие настройки ...

Проблема в том, что вы не можете одновременно использовать локальные учетные записи, а также отключить эти учетные записи из входа в оболочку. Если вы установите их оболочку входа в / bin / nologin, она также не позволит вам войти с помощью vsftpd.

Лучшим и более безопасным демоном FTP был бы Pure-ftpd. Посмотрите, он доступен в репозитории EPEL и позволяет создавать виртуальных пользователей. Сервер использует общего пользователя / группу для установки всех разрешений для домашних папок пользователей и «сопоставляет» виртуальных пользователей с этим пользователем, когда он входит в систему, чтобы иметь дело с разрешениями. Это более безопасно, и вам не нужно иметь дело с безопасностью входа в openssh.

Pure-ftpd также поддерживает множество функций, таких как квоты, соотношения и т. Д. Намного лучше, чем vsftpd.

Вот простое руководство по его установке и настройке базового виртуального пользователя: http://blog.namran.net/2011/05/04/how-to-setup-virtual-ftp-server-using-pure-ftpd-in-centos/

Если вы прочитаете полный документ (а вам следует это сделать), вы узнаете, что ключ -d при создании виртуального пользователя автоматически исключает этот каталог для этого пользователя.