FTP
Ubuntu Server 24.04. Встановлений UFW. Зробити можливість користувачу завантажувати файли на сервер за допомогою FTP-протоколу. З'єднання дозволити лише для певних IP адрес.
Щоб дозволити користувачу завантажувати файли на сервер через FTP на Ubuntu Server 24.04, використовуючи UFW для контролю доступу лише з певних IP-адрес, дій так:
1. Встановлення FTP-сервера
Найпоширеніше рішення — vsftpd:
sudo apt update
sudo apt install vsftpd2. Базове налаштування 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 vsftpd3. Створення користувача для 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/upload4. Налаштування 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 verbose5. Перевірка з'єднання
З клієнтської машини (з одного з дозволених IP), спробуй підключення:
ftp your.server.ipабо через FileZilla, вказуючи:
Хост:
your.server.ipПротокол: FTP
Порт: 21
Користувач:
ftpuserПароль: ваш встановлений
6. (Опціонально) Дозволити лише FTPS (FTP через TLS)
Якщо хочеш зашифрувати з’єднання, vsftpd підтримує TLS. Можу дати інструкцію окремо, якщо потрібно.
Пиши, якщо потрібно:
Обмежити доступ лише на завантаження (без скачування)
Встановити FTPS
Зробити логування дій користувачів
Автоматично видаляти старі файли з певної директорії
Я готова.
Last updated