Найти тему
InfoPulse

Инструкция #1 | Настройка ftp-сервера на Linux

Оглавление

FTP (File Transfer Protocol) — один из самых распространенных способов передачи файлов между компьютерами по сети. В этой статье мы рассмотрим, как развернуть FTP-сервер на Linux, используя популярный серверный пакет vsftpd (Very Secure FTP Daemon) и как настроить данный сервер с точки зрения обеспечения безопасности.

Шаг 1: Установка FTP сервера (vsftpd)

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

Первым делом необходимо установить vsftpd:

-2
sudo apt update
sudo apt install vsftpd -y
-3
sudo yum install vsftpd -y

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

После установки необходимо произвести настройку через конфигурационный файл: vsftpd.conf

sudo nano /etc/vsftpd.conf

Отредактируйте шаблон файла следующим образом:

local_enable=YES
write_enable=YES
chroot_local_user=YES
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100

local_enable - разрешение пользователям системы входить через FTP

write_enable - разрешение на загрузку файлов через FTP

chroot_local_user - ограничение пользователей в пределах домашней директории

Настройки безопасности:
pasv_enabl, pasv_min_port, pasv_max_port - включает пассивный режим для FTP-сервера и настраивает минимальный и максимальный порт на котором ftp-сервер будет ожидать подключения.

-4

В пассивном режиме FTP-клиент устанавливает соединение с сервером через диапазон портов, которые открывает сервер. Это особенно полезно, когда клиент находится за NAT или брандмауэром, так как клиент инициирует оба соединения (управляющее и для передачи данных), что облегчает работу через такие сети. Активный режим, напротив, требует, чтобы сервер устанавливал соединение для передачи данных, что может блокироваться брандмауэрами.

Шаг 3: Создание FTP пользователя

Для примера создадим одного пользователя нашего ftp-сервера, который будет им пользоваться. В реальности, проще написать скрипт для настройки пользователей и автоматизировать эту задачу для создания большого числа пользователей.

Создаем пользователя через adduser и задаем ему пароль:

sudo adduser ftpuser

Настройки безопасности:

sudo mkdir -p /home/ftpuser/ftp/files
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

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

Шаг 4: Запуск и настройка службы

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

Запуск сервера:

sudo systemctl start vsftpd

Включение автозапуска:

sudo systemctl enable vsftpd

Проверить статус службы можно командой:

sudo systemctl status vsftpd

Шаг 5: Настройка брандмауэра

Настройка производится только если у Вас активен брандмауэр.

Открываем необходимые порты для FTP:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp

Шаг 6: Тестирование FTP сервера

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

ftp <IP_адрес_сервера>

Вводим имя пользователя и пароль, созданные на Шаге 3.

Заключение

Сегодян мы с Вами успешно установили и настроили FTP-сервер на Linux с использованием vsftpd. Факультативно, Вы можете расширять конфигурацию для более сложных сценариев, таких как использование SSL для шифрования данных или ограничение доступа по IP, что еще больше усилит безопасность ftp-сервера. Также не забывайте поддерживать vsftpd в актуальном состоянии, производите регулярные обновления и Вашему счастью не будет предела.