Как установить и настроить VSFTPD в Ubuntu 20.04 | 18.04

Как установить и настроить VSFTPD в Ubuntu 20.04 | 18.04

 

Это краткое руководство показывает студентам и новым пользователям, как установить FTP-сервер с помощью VSFTPD в Ubuntu 20.04 | 18.04.

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

В системах Linux, включая Ubuntu, доступно множество FTP-серверов с открытым исходным кодом. Есть ProFTPd, PureFTPD, VSFTPD и т. Д.

В этом посте показано, как настроить FTP с помощью VSFTPD (Very Secure Ftp Daemon).

Хотя этот пост протестирован на Ubuntu 20.04, он также должен применяться к другим версиям Ubuntu и большинству систем Linux.

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

Шаг 1. Установите VSFTPD

Чтобы установить VSFTPD в Ubuntu, выполните следующие команды.

sudo apt update 
sudo apt-get install vsftpd

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

sudo systemctl stop vsftpd.service
sudo systemctl start vsftpd.service
sudo systemctl enable vsftpd.service

После установки вы можете проверить статус VSFTPD, выполнив следующие команды:

sudo systemctl status vsftpd

Должны появиться похожие строки, как показано ниже:

vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-05-17 17:57:40 CDT; 17s ago
   Main PID: 2916 (vsftpd)
      Tasks: 1 (limit: 4657)
     Memory: 584.0K
     CGroup: /system.slice/vsftpd.service
             └─2916 /usr/sbin/vsftpd /etc/vsftpd.conf

May 17 17:57:40 ubuntu2004 systemd[1]: Starting vsftpd FTP server...
May 17 17:57:40 ubuntu2004 systemd[1]: Started vsftpd FTP server.

Шаг 2. Настройка VSFTPD

После установки сервера вы найдете его основной файл конфигурации по адресу /etc/vsftpd.conf. Многие из настроек, которые вы настроите, хорошо документированы там.

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

sudo nano /etc/vsftpd.conf

Затем начните настраивать параметры, подходящие для вашей среды.

1. Доступ по FTP

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

anonymous_enable=NO
local_enable=YES

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

write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

Продолжите ниже, чтобы увидеть больше конфигураций.

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

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

Эта опция допускает только тех пользователей, которые явно указаны в файле.

 

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

Продолжайте ниже, чтобы увидеть больше конфигураций

3. Безопасность с помощью сертификатов SSL

Если вы хотите обеспечить зашифрованную передачу файлов FTP, вам необходимо включить сертификаты SSL в вашу настройку.

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

Для самозаверяющих сертификатов выполните следующие команды:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

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

Снова откройте файл конфигурации VSFTPD по умолчанию и добавьте строки ниже, ссылающиеся на файлы сертификатов выше.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

Это должно зашифровать передачу файла на сервер.

На этом этапе ваш файл конфигурации должен выглядеть примерно так:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

Сохраните изменения и перезапустите сервер.

sudo systemctl restart vsftpd

Продолжаем настройку.

4. Настройте FTP-серверы.

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

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

Замените имя пользователя фактическим именем учетной записи пользователя.

Затем добавьте пользователей в разрешенный список.

echo "username" | sudo tee -a /etc/vsftpd.user_list

Шаг 3. Доступ к FTP-серверу VSFTPD

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

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

Теперь вы должны безопасно передавать файлы через SSL/TLS.

Вывод:

В этом посте показано, как установить и настроить FTP-сервер VSFTPD в Ubuntu 20.04 | 18.04. Если вы обнаружите какую-либо ошибку выше, пожалуйста, используйте форму комментария ниже, чтобы сообщить.