Меню

Ubuntu установка и настройка vsftpd

Сервер FTP

Содержание

Сервер FTP

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

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

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

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

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

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

Если вы желаете поменять его расположение, например, на /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.

Источник

Как настроить vsftpd на Ubuntu

vsftpd (англ. Very Secure FTP Daemon) — FTP-сервер с поддержкой IPv6 и SSL. Первые две буквы в названии vsftpd означают “very secure” («очень защищенный»), поскольку разработчики программы предусмотрели защиту от многих возможных уязвимостей протокола FTP.

Читайте также:  Нюансы настройки яндекс директа

Шаг #1: Установка vsftpd

С помощью специальной команды установить программу на VPS-сервер можно за пару секунд:

sudo apt-get install vsftpd

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

Шаг #2: Настройка vsftpd

После установки программы, можно заняться ее настройкой. Для этого нужно открыть конфигурационный файл:

sudo nano /etc/vsftpd.conf

В нем нужно найти строчку Anonymous_enable и поменять значение с YES на NO:

После сохранения изменений доступ к виртуальному серверу для анонимных пользователей будет закрыт.

Также следует «раскомментировать» (убрать знак #) опцию local_enable и поменять ее значение на YES, а затем — разрешить пользователям осуществлять запись в директорию, убрав символ комментария для опции write_enable:

Затем нужно раскомментировать опцию chroot_local_user — если она будет установлена в YES, то все пользователи будут ограничены своими правами chroot и не смогут получить доступ к другим частям сервера:

Виртуальный сервер Ubuntu

После этого необходимо сохранить изменений и выйти из конфигурационного файла.

Чтобы избежать ошибки запуска последних версий vsftpd («refusing to run with writable root inside chroot») при работе не из под пользователя root (пользователи 1cloud по умолчанию получают доступ к своим серверам именно с такими привилегиями, так что появление подобной ошибки маловероятно), можно предпринять несколько простых шагов:

Также возможно система откажется создавать весь путь сразу, тогда нужно будет перейти в папку /home:

Создать в ней папку нужного пользователя /##username## (sudo mkdir ##username##), перейти в нее командой cd и уже затем создать папку files командой mkdir.

После внесения всех изменений в конфигурационный файл, нужно перезапустить vsftpd.

sudo service vsftpd restart

Для Ubuntu 16.04 необходимо настроить firewall с помощью следующих команд:
Перезапустите firewall: sudo ufw disable
sudo ufw enable

Добавьте правила входящих подключений для портов используемых vsftpd: sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

Проверить настройки можно с помощью команды: sudo ufw status

Шаг #3: Получение доступа к FTP-серверу

После установки FTP-сервера получить к нему доступ можно двумя способами: через адресную строку браузера и с помощью командной строки.

Чтобы воспользоваться первым способом нужно вбить в адресную строку браузера название протокола ftp и доменное имя или IP-адрес сервера: ftp://example.com (пример с IP-адресом: ftp://5.200.47.19/)

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

Читайте также:  Настройка системы питания ноутбука

Альтернативный способ заключается в использовании в терминале команды ftp в комбинации с доменным именем или IP-адресом сайта:ftp example.com

После завершения работы с FTP, выйти из этого режима терминала можно с помощью команды “exit”.

Источник

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

Главное меню » Операционная система Ubuntu » Как установить FTP-сервер с VSFTPD на Ubuntu 18.04

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

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

Предпосылки

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

3. Chroot

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

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

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

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

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

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

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

Читайте также:  Настройка sagem fast 2804 для ethernet

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

6. Обеспечение передачи с помощью SSL/TLS

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

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

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

В этой статье мы сгенерируем самоподписанный сертификат 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/upload.

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

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

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

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

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

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

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

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Adblock
detector