FTP
Ubuntu Server 24.04. Встановлений UFW. Зробити можливість користувачу завантажувати файли на сервер за допомогою FTP-протоколу. З'єднання дозволити лише для певних IP адрес.
Щоб дозволити користувачу завантажувати файли на сервер через FTP на Ubuntu Server 24.04, використовуючи UFW для контролю доступу лише з певних IP-адрес, дій так:
1. Встановлення FTP-сервера
Найпоширеніше рішення — vsftpd:
sudo apt update
sudo apt install vsftpd
2. Базове налаштування vsftpd
vsftpd
Відредагуй конфіг:
sudo nano /etc/vsftpd.conf
Основні параметри (переконайся, що вони активні або додай):
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30100
pasv_min_port
іpasv_max_port
обирай на свій розсуд, але вони мають бути відкриті у файрволі.
Збережи й перезапусти службу:
sudo systemctl restart vsftpd
3. Створення користувача для FTP
sudo adduser ftpuser
Створи каталог:
sudo mkdir -p /home/ftpuser/ftp/upload
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload
4. Налаштування UFW (лише для певних IP)
Припустимо, дозволити доступ лише для IP 203.0.113.4
та 198.51.100.7
.
Відкрий порти тільки для обраних IP:
sudo ufw allow from 203.0.113.4 to any port 21 proto tcp
sudo ufw allow from 203.0.113.4 to any port 30000:30100 proto tcp
sudo ufw allow from 198.51.100.7 to any port 21 proto tcp
sudo ufw allow from 198.51.100.7 to any port 30000:30100 proto tcp
Перевір статус:
sudo ufw status verbose
5. Перевірка з'єднання
З клієнтської машини (з одного з дозволених IP), спробуй підключення:
ftp your.server.ip
або через FileZilla, вказуючи:
Хост:
your.server.ip
Протокол: FTP
Порт: 21
Користувач:
ftpuser
Пароль: ваш встановлений
6. (Опціонально) Дозволити лише FTPS (FTP через TLS)
Якщо хочеш зашифрувати з’єднання, vsftpd підтримує TLS. Можу дати інструкцію окремо, якщо потрібно.
Пиши, якщо потрібно:
Обмежити доступ лише на завантаження (без скачування)
Встановити FTPS
Зробити логування дій користувачів
Автоматично видаляти старі файли з певної директорії
Я готова.
Last updated