Как настроить ftp сервер ubuntu

Содержание
  1. Сервер FTP
  2. Содержание
  3. Сервер FTP
  4. vsftpd — установка FTP сервера
  5. Настройка анонимного доступа по FTP
  6. Настройка авторизованного доступа по FTP
  7. Защита FTP
  8. Ограничение пользователей
  9. Шифрование
  10. Как настроить FTP-сервер с VSFTPD в Ubuntu 20.04
  11. Установка vsftpd на Ubuntu 20.04
  12. Настройка vsftpd
  13. 1. Доступ по FTP
  14. 2. Включение загрузки
  15. 3. Chroot jail
  16. 4. Пассивные FTP-соединения.
  17. 5. Ограничение входа пользователя
  18. 6. Защита передачи с помощью SSL / TLS
  19. Перезапустите службу vsftpd
  20. Открытие брандмауэра
  21. Создание пользователя FTP
  22. Отключение доступа к оболочке
  23. Вывод
  24. Как настроить FTP-сервер с VSFTPD в Ubuntu 18.04
  25. Подготовка
  26. Установка vsftpd в Ubuntu 18.04
  27. Настройка vsftpd
  28. 1. Доступ по FTP
  29. 2. Включение загрузки
  30. 3. Chroot Jail
  31. 4. Пассивные FTP-соединения
  32. 5. Ограничение входа пользователя
  33. 6. Защита передачи с помощью SSL / TLS
  34. Перезапустите службу vsftpd
  35. Открытие брандмауэра
  36. Создание пользователя FTP
  37. Отключение доступа к оболочке
  38. Выводы

Сервер FTP

Содержание

Сервер FTP

vsftpd — установка FTP сервера

Для запуска сервиса требуется добавить его в автозагрузку. Начиная с версии Ubuntu 15.04 используется Systemd, поэтому для добавления vsftpd в автозапуск надо ввести следующие команды:

В Ubuntu Server может использоваться файервол ufw. Тогда вам потребуется разрешить порты 20 и 21

Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде

для уточнения деталей по каждому параметру.

Настройка анонимного доступа по FTP

Настройка vsftpd по умолчанию не разрешает анонимную загрузку. Если вы хотите разрешить анонимную загрузку, измените в /etc/vsftpd.conf следующее:

В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP .

Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:

После изменений перезапустите vsftpd:

Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного FTP в /srv/files/ftp (или /srv/ftp, если вы хотите оставить настройки по умолчанию).

Настройка авторизованного доступа по FTP

Для аутентификации локальных пользователей надо раскоментировать строчку

По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью получать файлы. Если вы хотите пользователям разрешить загружать файлы, измените в /etc/vsftpd.conf:

после чего перезагрузите vsftpd:

Защита FTP

Ограничение пользователей

В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() «заточение», выше которого (по дереву каталогов) он не сможет подняться.

Вы также можете определить список пользователей, имеющих доступ только в домашний каталог:

После снятия комментариев с этих опций, создайте /etc/vsftpd.chroot_list, содержащий список пользователей по одному на строку. Затем перезапустите vsftpd:

Если при попытке подключения вы видите ошибку 1) :

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

Шифрование

Для настройки FTPS, добавьте в конец файла /etc/vsftpd.conf следующее:

Также обратите внимание на опции сертификата и ключа:

По умолчанию эти опции установлены в значения, предоставленные пакетом ssl-cert. Для рабочей среды они должны быть заменены на сертификат и ключ, созданные для определенного компьютера. Для дополнительной информации смотрите раздел Сертификаты.

Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS:

Это необходимо, поскольку по умолчанию vsftpd использует авторизацию PAM, а файл настроек /etc/pam.d/vsftpd содержит:

Модуль PAM shells ограничивает доступ к оболочкам, перечисленным в файле /etc/shells.

Источник

Как настроить FTP-сервер с VSFTPD в Ubuntu 20.04

В этой статье описывается, как установить и настроить FTP-сервер в Ubuntu 20.04, который вы используете для обмена файлами между вашими устройствами.

FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее. Для Linux доступно несколько FTP-серверов с открытым исходным кодом. Наиболее известными и широко используемыми являются PureFTPd , ProFTPD и vsftpd . Мы будем устанавливать vsftpd (Very Secure Ftp Daemon), стабильный, безопасный и быстрый FTP-сервер. Мы также покажем вам, как настроить сервер, чтобы ограничить пользователей их домашним каталогом и зашифровать всю передачу с помощью SSL / TLS.

Читайте также:  Не работает скорости печки тойота

Хотя FTP — очень популярный протокол, для более безопасной и быстрой передачи данных следует использовать SCP или SFTP .

Установка vsftpd на Ubuntu 20.04

Пакет vsftpd доступен в репозиториях Ubuntu. Для его установки выполните следующие команды:

Служба ftp автоматически запустится после завершения процесса установки. Чтобы проверить это, распечатайте статус службы:

Вывод должен показать, что служба vsftpd активна и работает:

Настройка vsftpd

Конфигурация сервера vsftpd хранится в файле /etc/vsftpd.conf

Большинство настроек сервера хорошо документированы внутри файла. Чтобы узнать обо всех доступных вариантах, посетите страницу документации vsftpd.

В следующих разделах мы рассмотрим некоторые важные настройки, необходимые для настройки безопасной установки vsftpd.

Начните с открытия файла конфигурации vsftpd:

1. Доступ по FTP

Мы разрешим доступ к FTP-серверу только локальным пользователям. Найдите anonymous_enable и local_enable и убедитесь, что ваша конфигурация соответствует приведенным ниже строкам:

2. Включение загрузки

Найдите и раскомментируйте write_enable чтобы разрешить изменения файловой системы, такие как загрузка и удаление файлов:

3. Chroot jail

Чтобы предотвратить доступ локальных пользователей FTP к файлам за пределами их домашних каталогов, раскомментируйте строку lne, начинающуюся с chroot_local_user :

По умолчанию из соображений безопасности, когда chroot включен, vsftpd откажется загружать файлы, если каталог, в котором заблокированы пользователи, доступен для записи.

Используйте одно из приведенных ниже решений, чтобы разрешить загрузку при включенном chroot:

    Метод 1. — Рекомендуемый вариант — оставить включенной функцию chroot и настроить каталоги FTP. В этом примере мы создадим ftp внутри дома пользователя, который будет служить uploads каталогом и каталогом загрузки с возможностью записи для загрузки файлов:

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

4. Пассивные FTP-соединения.

По умолчанию vsftpd использует активный режим. Чтобы использовать пассивный режим, установите минимальный и максимальный диапазон портов:

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

5. Ограничение входа пользователя

Вы можете настроить vsftpd, чтобы разрешить вход только определенным пользователям. Для этого добавьте следующие строки в конец файла:

Когда этот параметр включен, вам необходимо явно указать, какие пользователи могут входить в систему, добавив имена пользователей в /etc/vsftpd.user_list (по одному пользователю в строке).

6. Защита передачи с помощью SSL / TLS

Чтобы зашифровать передачи FTP с помощью SSL / TLS, вам потребуется сертификат SSL и настроить FTP-сервер для его использования.

Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самозаверяющий сертификат.

Если у вас есть домен или поддомен, указывающий на IP-адрес FTP-сервера, вы можете быстро сгенерировать бесплатный SSL-сертификат Let’s Encrypt.

Мы сгенерируем 2048-битный закрытый ключ и самозаверяющий SSL-сертификат, который будет действителен в течение десяти лет:

И закрытый ключ, и сертификат будут сохранены в одном файле.

После создания SSL-сертификата откройте файл конфигурации vsftpd:

Найти rsa_cert_file и rsa_private_key_file директивы, изменить их значения на pam путь к файлу и установите ssl_enable директиву YES :

Если не указано иное, FTP-сервер будет использовать только TLS для безопасных подключений.

Перезапустите службу vsftpd

Когда вы закончите редактирование, конфигурационный файл vsftpd (без комментариев) должен выглядеть примерно так:

Сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу:

Открытие брандмауэра

Если вы используете брандмауэр UFW , вам необходимо разрешить FTP-трафик.

Чтобы открыть порт 21 (командный порт FTP), порт 20 (порт данных FTP) и 30000-31000 (диапазон пассивных портов), выполните следующие команды:

Читайте также:  Кресло компьютерное сломалось как отремонтировать

Чтобы избежать блокировки, убедитесь, что порт 22 открыт:

Перезагрузите правила UFW, отключив и снова включив UFW:

Чтобы проверить изменения, выполните:

Создание пользователя FTP

Чтобы протестировать FTP-сервер, мы создадим нового пользователя.

  • Если пользователь, которому вы хотите предоставить доступ по FTP, уже существует, пропустите 1-й шаг.
  • Если вы установили allow_writeable_chroot=YES в своем файле конфигурации, пропустите 3-й шаг.
  1. Создайте нового пользователя с именем newftpuser :
  2. Добавьте пользователя в список разрешенных пользователей FTP:
  3. Создайте дерево каталогов FTP и установите правильные разрешения :

    Как обсуждалось в предыдущем разделе, пользователь сможет загружать свои файлы в каталог ftp/upload

На этом этапе ваш FTP-сервер полностью готов к работе. У вас должна быть возможность подключиться к серверу с помощью любого FTP-клиента, который можно настроить для использования шифрования TLS, например FileZilla .

Отключение доступа к оболочке

По умолчанию при создании пользователя, если это не указано явно, у пользователя будет SSH-доступ к серверу. Чтобы отключить доступ к оболочке, создайте новую оболочку, которая будет печатать сообщение, сообщающее пользователю, что его учетная запись ограничена только доступом по FTP.

Выполните следующие команды, чтобы создать /bin/ftponly и сделать его исполняемым:

Добавьте новую оболочку в список допустимых оболочек в /etc/shells :

Измените оболочку пользователя на /bin/ftponly :

Вы можете использовать ту же команду, чтобы изменить оболочку всех пользователей, которым вы хотите предоставить только FTP-доступ.

Вывод

Мы показали вам, как установить и настроить безопасный и быстрый FTP-сервер в вашей системе Ubuntu 20.04.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Как настроить FTP-сервер с VSFTPD в Ubuntu 18.04

FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее.

Для Linux доступно множество FTP-серверов с открытым исходным кодом. Наиболее популярными и широко используемыми являются PureFTPd , ProFTPD и vsftpd . В этом руководстве мы будем устанавливать vsftpd (Very Secure Ftp Daemon). Это стабильный, безопасный и быстрый FTP-сервер. Мы также покажем вам, как настроить vsftpd, чтобы ограничить пользователей их домашним каталогом и зашифровать всю передачу с помощью SSL / TLS.

Хотя это руководство написано для Ubuntu 18.04, те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на основе Debian, включая Debian, Linux Mint и Elementary OS.

Для более безопасной и быстрой передачи данных используйте SCP или SFTP .

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Установка vsftpd в Ubuntu 18.04

Пакет vsftpd доступен в репозиториях Ubuntu. Чтобы установить его, просто выполните следующие команды:

Служба vsftpd автоматически запустится после завершения процесса установки. Проверьте это, распечатав статус службы:

Результат будет выглядеть примерно так, как показано ниже, показывая, что служба vsftpd активна и работает:

Настройка vsftpd

Сервер vsftpd можно настроить, отредактировав файл /etc/vsftpd.conf . Большинство настроек хорошо документированы в файле конфигурации. Чтобы узнать обо всех доступных вариантах, посетите официальную страницу vsftpd .

В следующих разделах мы рассмотрим некоторые важные настройки, необходимые для настройки безопасной установки vsftpd.

Начните с открытия файла конфигурации vsftpd:

1. Доступ по FTP

Мы разрешим доступ к FTP-серверу только локальным пользователям, найдем директивы anonymous_enable и local_enable и проверим соответствие вашей конфигурации приведенным ниже строкам:

2. Включение загрузки

write_enable параметр write_enable чтобы разрешить изменения файловой системы, такие как загрузка и удаление файлов.

3. Chroot Jail

Чтобы предотвратить доступ пользователей FTP к файлам вне их домашних каталогов, раскомментируйте параметр chroot .

По умолчанию, чтобы предотвратить уязвимость системы безопасности, когда включен chroot, vsftpd откажется загружать файлы, если каталог, в котором заблокированы пользователи, доступен для записи.

Используйте один из приведенных ниже методов, чтобы разрешить загрузку при включенном chroot.

Метод 1. — Рекомендуемый метод разрешения загрузки — оставить включенным chroot и настроить каталоги FTP. В этом руководстве мы создадим каталог ftp внутри дома пользователя, который будет служить uploads каталогом и каталогом загрузки с возможностью записи для загрузки файлов.

Метод 2. Другой вариант — добавить следующую директиву в файл конфигурации vsftpd. Используйте эту опцию, если вам необходимо предоставить пользователю доступ с правом записи к его домашнему каталогу.

4. Пассивные FTP-соединения

vsftpd может использовать любой порт для пассивных FTP-соединений. Мы укажем минимальный и максимальный диапазон портов, а затем откроем диапазон в нашем брандмауэре.

Добавьте в файл конфигурации следующие строки:

5. Ограничение входа пользователя

Чтобы разрешить доступ к FTP-серверу только определенным пользователям, добавьте следующие строки в конец файла:

Если этот параметр включен, вам необходимо явно указать, какие пользователи могут входить в систему, добавив имена пользователей в файл /etc/vsftpd.user_list (по одному пользователю в строке).

6. Защита передачи с помощью SSL / TLS

Чтобы зашифровать FTP-передачу с помощью SSL / TLS, вам потребуется сертификат SSL и настроить FTP-сервер для его использования.

Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самозаверяющий сертификат.

Если у вас есть домен или поддомен, указывающий на IP-адрес FTP-сервера, вы можете легко создать бесплатный SSL-сертификат Let’s Encrypt .

Мы сгенерируем самоподписанный SSL-сертификат с помощью команды openssl .

Следующая команда создаст 2048-битный закрытый ключ и самозаверяющий сертификат, действительный в течение 10 лет. И закрытый ключ, и сертификат будут сохранены в одном файле:

После создания SSL-сертификата откройте файл конфигурации vsftpd:

Найти rsa_cert_file и rsa_private_key_file директивы, изменить их значения на pam путь к файлу и установите ssl_enable директиву YES :

Если не указано иное, FTP-сервер будет использовать только TLS для безопасных соединений.

Перезапустите службу vsftpd

После того, как вы закончите редактирование, конфигурационный файл vsftpd (без комментариев) должен выглядеть примерно так:

Сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу:

Открытие брандмауэра

Если вы используете брандмауэр UFW, вам необходимо разрешить FTP-трафик.

Чтобы открыть порт 21 (командный порт FTP), порт 20 (порт данных FTP) и 30000-31000 (диапазон пассивных портов), выполните следующие команды:

Чтобы избежать блокировки, откройте порт 22 :

Перезагрузите правила UFW, отключив и снова включив UFW:

Чтобы проверить запуск изменений:

Создание пользователя FTP

Чтобы протестировать наш FTP-сервер, мы создадим нового пользователя.

  • Если у вас уже есть пользователь, которому вы хотите предоставить доступ по FTP, пропустите 1-й шаг.
  • Если вы установили allow_writeable_chroot=YES в вашем файле конфигурации, пропустите 3-й шаг.

    Создайте нового пользователя с именем newftpuser :

    Добавьте пользователя в список разрешенных пользователей FTP:

    Создайте дерево каталогов FTP и установите правильные разрешения :

    Как обсуждалось в предыдущем разделе, пользователь сможет загружать свои файлы в каталог ftp/upload .

    На этом этапе ваш FTP-сервер полностью работоспособен, и вы должны иметь возможность подключиться к своему серверу с помощью любого FTP-клиента, который можно настроить для использования шифрования TLS, например FileZilla .

    Отключение доступа к оболочке

    По умолчанию при создании пользователя, если это не указано явно, у пользователя будет SSH-доступ к серверу.

    Чтобы отключить доступ к оболочке, мы создадим новую оболочку, которая просто напечатает сообщение, сообщающее пользователю, что его учетная запись ограничена только доступом по FTP.

    Создайте оболочку /bin/ftponly и сделайте ее исполняемой:

    Добавьте новую оболочку в список допустимых оболочек в /etc/shells :

    Измените оболочку пользователя на /bin/ftponly :

    Используйте ту же команду, чтобы изменить оболочку всех пользователей, которым вы хотите предоставить только доступ по FTP.

    Выводы

    В этом руководстве вы узнали, как установить и настроить безопасный и быстрый FTP-сервер в вашей системе Ubuntu 18.04.

    Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

    Источник

Оцените статью