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

Как настроить FTP на Ubuntu 20.04 LTS

Как известно, FTP — это протокол, который позволяет передавать файлы по сети от одного узла другом. Это самый старый протокол прикладного уровня, который появился намного раньше HTTP и TCP/IP. С помощью протокола FTP организовываются подключения к удаленным серверам для просмотра и передачи необходимой информации. Для подключения к серверам, либо компьютерам протоколу FTP необходимо использовать специальные приложения, которые именуются FTP-клиентами. Далее расскажем, как настроить FTP на Ubuntu 20.04 LTS.

Для того чтобы развернуть свой FTP-сервер на Ubuntu 20.04 LTS, необходимо:

  1. Установить FTP-сервер с поддержкой SSL для безопасного подключения;
  2. Настроить учетную запись для FTP-пользователя;
  3. Проверить подключение к FTP-серверу.

FTP Usages

While most websites use HTTP or HTTPS protocols to deliver webpages to users, the majority of behind-the-scenes work is done using the FTP protocol. Here are some of the most common use cases for FTP:

  • Data Backups: many backup services utilize FTP in order to conduct regular backups, however, it is simple enough to use that even individual users can backup their important information to a server running FTP services.
  • Replication: while being similar to backups, the approach is slightly more comprehensive, providing increased resilience and better availability. As you probably have guessed by now, replication can be done with FTP.
  • Shared Web Hosting: If you have a shared hosting or cloud hosting service, you have probably already used FTP. It is commonly utilized to access shared web hosting services and to upload data to them.

How to Install FTP Server on Ubuntu 18

Note: At all stages, the commands are logged with Root access, so if you are logged in to Ubuntu 18 by any other user than the Root user, you should enter all commands after the sudo command. 

Step 1:   Connect to your Ubuntu 18 via an SSH client.Step 2: Type in the following command to update Ubuntu 18 repositories.apt updateStep 3: Enter the following command to download and install the VSFTP service.Step 4: After the installation is completed, enter the following commands to start and enable the VSFTP service.

How to Configure FTP on Ubuntu 18

So far we were able to set up an FTP server on Ubuntu. Let’s learn how to set up this service as well as grant access to users to use the file transfer protocol.Step 1: First, create an account and set up a password for it.Step 2: After entering the second command, you must enter the password twice for this user.Step 3: Rename the default VSFTP file so that it can be restored in case of an error.Step 4: Create a new configuration file for VSFTP and open it with an editor. (In our example, we used the nano editor, however, you can also use the Vi editor or any other available editor).Step 5: Copy the following file into the opened file and save and exit at the end of the file.Step 6:  When the file is edited, enter the following command to restart the VSFTP service.With this current configuration, you will have access to the root user interface with which you log into FTP. For example, the address of this directory is for Elizabeth user: home / elizabeth /. This way you have been able to set up FTP on your Ubuntu server. In the end, you only need to configure the ports for this service on your firewall.

Configure the Ubuntu Firewall 18 to Use the FTP service

To get FTP service, enter the following commands to open all necessary ports.Note: The following commands are listed in the Ubuntu 18 standard for UFW setup. If you use another firewall, you must open the ports required by the following commands in accordance with the same firewall.After that, you can connect to your FTP server. If you need to learn more about FTP click here.

Настройка защищенного соединения

Установка FTP на Ubuntu 20.04 завершена, но в наше время небезопасно использовать открытую передачу данных через сеть. Всё, что только возможно, необходимо шифровать. Поэтому мы рассмотрим, как настроить защищённое соединение для vsftpd. Сначала создадим папку и сгенерируем сам сертификат, который будем использовать:

Затем нужно разрешить доступ к портам защищённого соединения FTP с фаерволе UFW:

И осталось внести несколько правок в настройку самого FTP-сервера. Нам нужно включить ssl_enable и отключить поддержку шифрования sslv2 и sslv3, оставляем только tlsv1:

Далее раскоментируйте такие строки:

Запретите вход анонимных пользователей по SSL:

Теперь установим самый сложный шифр SSL:

И настроим диапазон портов для передачи данных:

Осталось перезагрузить наш сервис:

Теперь тестируем, что у нас получилось:

Как видите, мы уже не можем авторизоваться с помощью утилиты ftp. FTP-сервер выдаёт, что мы обязаны использовать шифрование. Поэтому для тестирования применим FileZilla:

Теперь все данные будут передаваться по зашифрованному соединению. Установка  FTP-сервер Ubuntu завершена.

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

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

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

    sudo adduser newftpuser

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

    echo «newftpuser» | sudo tee -a /etc/vsftpd.user_list

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

    sudo mkdir -p /home/newftpuser/ftp/upload sudo chmod 550 /home/newftpuser/ftp sudo chmod 750 /home/newftpuser/ftp/upload sudo chown -R newftpuser: /home/newftpuser/ftp

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

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

Настройка Vsftpd

Есть много вариантов, которые вы можете настроить для vsftpd, но в этой инструкции мы рассмотрим только основы. Откройте файл конфигурации vsftpd с помощью следующей команды.

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

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

По умолчанию анонимный FTP отключен. Мы рекомендуем оставить этот параметр по умолчанию как есть. Однако если по какой-либо причине вы хотите включить анонимный FTP-доступ, например для тестирования, измените значение параметра anonymous_enable с » NO» На «YES«.

А пока оставь все как есть.


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

Разрешить локальным пользователям входить в систему

По умолчанию локальным пользователям разрешен вход в систему. Если вы хотите запретить локальным пользователям входить на сервер Vsftpd, измените значение local_enable с YES на NO.


Разрешить локальным пользователям входить на сервер Vsftpd

Вы также можете разрешить только определенным локальным пользователям входить на сервер Vsftpd. Для этого убедитесь, что local_enable имеет значение YES.

После этого добавьте следующие строки внизу.

Сохраните и закройте файл vsftpd.conf.

Далее создайте файл userlist со следующей командой и введите разрешенных пользователей по одному на строку.

Сохраните и закройте файл userlist.

Перезагрузите vsftpd с помощью:

Включить команду записи FTP

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


Vsftpd Включить команду записи и чтения FTP

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

Вход на сервер Vsftpd

Для этого создадим тестового пользователя и назначим пароль следующим образом.

Теперь запустите FTP-клиент с поддержкой SSL, такой как FileZilla, а затем войдите в систему с помощью вновь созданного тестового пользователя.

В моем случае FileZilla уведомила, что сервер небезопасен, так как он не поддерживает FTP через TLS.


Уведомление о небезопасном FTP — сервере

Отмените соединение. Давайте исправим это в следующем разделе.

Включите SSL/TLS для безопасной передачи файлов

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

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

Затем найдите параметры rsa_cert_file и rsa_private_key_file и обновите значения, как показано ниже.

Кроме того, найдите строку ssl_enable и измените значение на YES.


Включить TLS/SSL для Vsftpd

Сохраните и закройте файл конфигурации vsftpd.

Создать закрытый ключ и сертификат

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

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

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

Теперь создайте и подпишите сертификат, который будет действителен в течение 365 дней следующим образом.

Перезагрузите vsftpd с помощью:

Попробуйте снова подключиться к серверу Vsftpd.


Безопасное FTP соединение по протоколу TLS

Конечно, на этот раз FileZilla смогла безопасно подключиться через TLS. Вы можете смело выбрать вариант, чтобы всегда доверять этому сертификату в будущих сеансах. Затем нажмите кнопку ОК, чтобы продолжить подключение.


Доверительный самозаверяющий сертификат

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


Ошибка FTP без TLS

Это еще одно доказательство того, что ваш сервер Vsftpd включен для безопасной передачи файлов по протоколу TLS.

Устранение проблем

Для решения проблем в работе FTP-сервера можно просмотреть файл журнала. Файлов может быть несколько и они находятся в каталоге /var/log/proftpd. Основной — proftpd.log.

Для просмотра вводим команду:

tail -f /var/log/proftpd/proftpd.log

По умолчанию, настройка лога в конфигурационном файле proftpd выглядит так:

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

При необходимости, можно настроить дополнительный файл журнала:

ExtendedLog                     /var/log/proftpd/access.log WRITE,READ write
ExtendedLog                     /var/log/proftpd/auth.log AUTH auth

* в данном примере в файле /var/log/proftpd/access.log будут храниться логи обращения к файлам; /var/log/proftpd/auth.log — аутентификации.

Не забываем перезагрузить сервис:

systemctl restart proftpd

Step 5 — Testing FTP Access

We’ve configured the server to allow only the user to connect via FTP. Let’s make sure that this works as expected.

Anonymous users should fail to connect: We’ve disabled anonymous access. Let’s test that by trying to connect anonymously. If our configuration is set up properly, anonymous users should be denied permission. Open another terminal window and run the following command. Be sure to replace with your server’s public IP address:

Close the connection:

Users other than should fail to connect: Next, let’s try connecting as our sudo user. They should also be denied access, and it should happen before they’re allowed to enter their password:

Close the connection:

The user should be able to connect, read, and write files: Let’s make sure that our designated user can connect:

Let’s change into the directory and use the command to transfer the test file we created earlier to our local machine:

Next, let’s upload the file with a new name to test write permissions:

Close the connection:

Now that we’ve tested our configuration, let’s take steps to further secure our server.

Как подключиться к FTP-серверу в Windows (без дополнительного программного обеспечения)

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

Подключиться к FTP-серверу в Windows через проводник

Подключиться к FTP-серверу можно просто через проводник, не нужно ничего устанавливать! Просто откройте проводник, выберите на левой панели «Этот компьютер» или «Компьютер» и на правой нажмите в пустом месте правой клавишей мыши => из открывшегося меню выберите «Добавить новый элемент в сетевое окружение»

В следующем окне просто нажмите «Далее»

Нажмите двойным щелчком левой клавиши мыши на «Выберите другое сетевое расположение»

В строке «Сетевой адрес или адрес в интернете» впишите адрес ftp-сервера, к которому вы хотите подключиться. Адрес должен быть ftp://имя сервера, к примеру ftp://ftp.mccme.ru и нажмите «Далее».

Если к этому FTP-серверу не нужен логин и пароль для подключения — поставьте галочку в поле «Анонимный вход»

  Настройки тюнера для спутника сириус

Если для подключения к FTP-серверу нужен логин и пароль — снимите галочку с «Анонимный вход» и введите логин в поле «Пользователь». При подключении к серверу у вас запросит пароль. Нажмите «Далее»

Введите имя для ярлыка этого соединения (можете написать всё что хотите) и нажмите «Далее»

В следующем окне написано, что вы успешно создали следующее подключение. Можно поставить галочку в поле «Открыть это расположение в сети после нажатия кнопки Готово», чтобы проверить подключение. Нажимаем «Готово»

Ярлык для подключение к данному FTP-серверу появится в «Этот компьютер» или «Компьютер», и вы сможете подключаться к нему в любой момент с этого ярлыка. Просматривать, копировать и удалять на нём файлы можно как в обычных папках.

Открыть FTP-сервер с помощью командной строки

Подключиться и работать с FTP-сервером можно с помощью командной строки. Откройте командную строку любым из способов (в Windows 10 можно нажать на «Пуск» правой клавишей мыши и выбрать командная строка, в других версиях нажмите клавиши Win+R и в окне выполнить введите cmd, после чего «ОК»).

Введите слово ftp и нажмите Enter. После этого введите слово open и имя FTP-сервера, к которому вы хотите подключиться, к примеру open ftp.microsoft.com и нажмите Enter. Когда запросит имя пользователя — введите логин для подключения, если у вас логина и пароля нет — введите Anonymous и нажмите Enter, поле пароль оставьте пустым и нажмите Enter.

После подключение к FTP-серверу вы сможете просматривать содержимое сервера с помощью команды dir , открывать папки можно командой cd имя папки , чтобы загрузить файл с вашего компьютера на ftp-сервер нужно ввести put «путь к файл» (к примеру put «D:1241с77.txt»). Чтобы скачать файл с ftp-сервера — нужно ввести get имя файла (к примеру get file.txt). После каждой команды не забывайте нажимать Enter. Отключиться от ftp-сервера можно командой quit и нажав Enter.

На сегодня всё, если есть дополнения — пишите комментарии! Удачи Вам

Источник

Клиент и сервер

Для работы по FTP нужны двое: FTP-сервер и FTP-клиент. Что делает сервер:

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

Так как FTP пришёл к нам из времён UNIX-систем, то любое соединение требует логина и пароля. Если у пользователя его нет, сервер его не пропустит. Но чтобы сделать файлы доступными для всех, используют анонимный режим. В нём логином будет слово anonymous, а паролем — любой адрес электронной почты. Современные браузеры умеют сами заходить на анонимные FTP-серверы и подставлять почту. Со стороны это выглядит так, как будто никакого логина и пароля нет, но они есть.

Когда запускается FTP-сервер, ему говорят: «Уважаемый сервер, вот список файлов и папок, которые нужно показывать на сервере. Если к тебе постучится пользователь с таким-то логином и паролем, то покажи ему всё, а если с вот таким логином — то дай ему одну только эту папку. Анонимов не пускать». Ещё один обязательный параметр — адрес сервера и порт, по которому будет идти передача файлов.

Чтобы подключиться к серверу, нужна специальная программа, их ещё называют FTP-клиентами. Для каждой операционной системы есть много своих клиентов, например, FileZilla или CuteFTP. Те, кто работает в Linux-подобных системах, часто используют командную строку.

Интерфейс CuteFTP для MacOS.Работа с FTP в командной строке.

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

Подключение через проводник windows

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

Подключиться к FTP-серверу в Windows через проводник

Подключиться к FTP-серверу можно просто через проводник, не нужно ничего устанавливать! Просто откройте проводник, выберите на левой панели “Этот компьютер” или “Компьютер” и на правой нажмите в пустом месте правой клавишей мыши => из открывшегося меню выберите “Добавить новый элемент в сетевое окружение”

В следующем окне просто нажмите “Далее”

Нажмите двойным щелчком левой клавиши мыши на “Выберите другое сетевое расположение”

В строке “Сетевой адрес или адрес в интернете” впишите адрес ftp-сервера, к которому вы хотите подключиться. Адрес должен быть ftp://имя сервера, к примеру ftp://ftp.mccme.ru и нажмите “Далее”.

Если к этому FTP-серверу не нужен логин и пароль для подключения – поставьте галочку в поле “Анонимный вход”

Если для подключения к FTP-серверу нужен логин и пароль – снимите галочку с “Анонимный вход” и введите логин в поле “Пользователь”. При подключении к серверу у вас запросит пароль. Нажмите “Далее”

В следующем окне написано, что вы успешно создали следующее подключение. Можно поставить галочку в поле “Открыть это расположение в сети после нажатия кнопки Готово”, чтобы проверить подключение. Нажимаем “Готово”

Ярлык для подключение к данному FTP-серверу появится в “Этот компьютер” или “Компьютер”, и вы сможете подключаться к нему в любой момент с этого ярлыка. Просматривать, копировать и удалять на нём файлы можно как в обычных папках.

Открыть FTP-сервер с помощью командной строки

Подключиться и работать с FTP-сервером можно с помощью командной строки. Откройте командную строку любым из способов (в Windows 10 можно нажать на “Пуск” правой клавишей мыши и выбрать командная строка, в других версиях нажмите клавиши Win+R и в окне выполнить введите cmd, после чего “ОК”).

На сегодня всё, если есть дополнения – пишите комментарии! Удачи Вам

Что такое FTP

FTP server linux — это один из базовых протоколов передачи файлов в сети на платформе убунту. С его помощью можно:

  • подключаться к различным tftp серверам ubuntu;
  • просматривать различные каталоги;
  • загружать документы с одного сервера на другой (например, с tftp на atftpd ubuntu).

Это оборудование использует для своей работы различные программы — ubuntu ftp клиенты:

  1. File Zilla — универсальная программа, используется для всех протоколов и платформ.
  2. WinSCP — очень удобный с двумя панелями протокол для системы виндовс.
  3. FAR Manager — его используют только с помощью консоли Виндовс.
  4. FireFTP — этот сервер актуален для браузера Mozilla.
  5. Total Commander — популярный менеджер для Виндовс.
  6. Cyberduck — программное обеспечение для платформы Линукс.

Дальнейшие этапы установки, настройки и работы будут рассмотрены для ftp сервера ubuntu 14.04.

Совет! Для более полного ознакомления с имеющимися программами следует обратиться к специалистам.

Типы FTP

FTP Explorer

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

FTP по почте

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

FTP-сервер

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

FTP Клиент

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

Configuring and Securing Ubuntu vsftpd Server

Change Default Directory

By default, the FTP server uses the /srv/ftp directory as the default directory. You can change this by creating a new directory and changing the FTP user home directory.

To change the FTP home directory, enter the following:

Restart the vsftpd service to apply the changes:

Now, you can put any files you want to share via FTP into the /srv/ftp folder (if you left it as the default), or the /srv/ftp/new_location/ directory (if you changed it).

Authenticate FTP Users

If you want to let authenticated users upload files, edit the vsftpd.conf file by entering the following:

Find the entry labeled write_enable=NO, and change the value to “YES.”

Save the file, exit, then restart the FTP service with the following:

This allows the user to make changes inside their home directory.

5: Тестирование анонимного доступа

Откройте в браузере такую ссылку:

Если всё работает должным образом, вы увидите каталог pub:

Теперь можете открыть каталог pub. В нем должен находиться файл test.txt. щёлкните правой кнопкой и сохраните файл.

Также вы можете выполнить эти операции с помощью командной строки. Подключитесь к серверу в пассивном режиме (на многих клиентах в командной строке для этого используется флаг –p). Пассивный режим позволяет создать подключение между сервером и клиентом, и при этом избежать изменения правил локального брандмауэра.

Примечание: Встроенный FTP-клиент командной строки Windows, ftp.exe, не поддерживает пассивного режима. Потому, пользователям Windows рекомендуется выбрать другой FTP клиент, например WinSCP.

Команда предложит указать имя пользователя. Вы можете ввести ftp или anonymous – они работают одинаково.

Нажмите enter.  На экране появится:

Убедитесь, что пассивный режим работает должным образом:

Теперь вы как анонимный пользователь можете переместить файл на локальную машину:

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

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

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

Уязвимости и надёжность

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

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

Сейчас по умолчанию предполагается, что каждый канал — ненадёжный, и что данные нужно дополнительно шифровать. FTP этого не поддерживает. Если кто-то будет перехватывать ваш Wi-Fi-трафик или подключится к вашей локальной сети, то он сможет перехватить все эти данные и скачать их себе, параллельно с вами.

Ещё есть вопрос безопасности входа: по умолчанию у FTP-протокола нет защиты от подбора пароля и попыток входа, поэтому кто-то может просто перебрать доступные пароли, чтобы получить доступ к папкам. Если вы видели в фильмах про хакеров, как они там перебирают пароли при входе — это вполне вероятная ситуация для FTP.

С точки зрения современной безопасности правильным решением будет использовать одну из реализаций шифрованного FTP (FTPS, SFTP) или пользоваться FTP через VPN.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: