Налаштування анонімного доступу до сервера ubuntu за допомогою vsftp

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями

Пропозиція від 8host.com

Налаштування анонімного доступу до сервера ubuntu за допомогою vsftp

FTP (File Transfer Protocol) - це мережевий протокол для обміну файлами між сервером і клієнтом. Оскільки FTP передає дані в незашифрованому вигляді, він вважається вкрай небезпечним; замість нього рекомендується використовувати vsftp - версію протоколу, яка підтримує шифрування даних.

Багато користувачів мережі Інтернет за краще завантажувати дані за допомогою браузера за допомогою https; користувачі, які мають навички роботи з командним рядком, зазвичай використовують безпечні протоколи начебто scp або sFTP.

FTP часто використовується для підтримки додатків і робочих процесів зі специфічними потребами. Якщо ваш додаток дозволяє вам вибирати протокол, виберіть більш сучасне рішення, наприклад, vsftp. Оптимізований і високопродуктивний протокол vsftp забезпечує надійний захист від вразливостей, виявлених в інших версіях FTP. Крім того, він є протоколом за замовчуванням для багатьох дистрибутивів Linux.

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

Примітка. Замість FTP для управління файлами рекомендується використовувати scp, sFTP або будь-який інший захищений протокол.

вимоги

  • Сервер Ubuntu 16.04 (про початкового налаштовування сервера можна дізнатися тут).
  • Користувач з правами sudo.

1: Установка vsftp

Оновлення індекс пакетів і встановіть демон vsftp:

sudo apt update
sudo apt install vsftpd

Після завершення установки створіть копію конфігураційного файлу (так в разі помилки ви зможете повернутися до оригінального файлу):

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

2: Налаштування брандмауера

Для початку перевірте стан брандмауера і дізнайтеся, які сервіси він підтримує на даний момент.

sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

Примітка. Висновок команди може відрізнятися.

Як бачите, в даному випадку брандмауер не блокує тільки трафік ssh. Значить, потрібно розблокувати трафік FTP.

Брандмауер ufw підтримує список додатків, які можна розблокувати по імені; список доступний по команді:

sudo ufw app list

Однак FTP не входить в цей список.

Крім того, ufw перевіряє файл / etc / services, щоб дізнатися порт і протокол сервісів. У цей файл потрібно додати дані FTP. Відкрийте порт 20 для ftp-data і порт 21 для команд ftp.

sudo ufw allow ftp-data
sudo ufw allow ftp
sudo ufw status

Перевірте стан брандмауера. Тепер правила виглядають так:

Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
21 / tcp ALLOW Anywhere
20 / tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
21 / tcp (v6) ALLOW Anywhere (v6)
20 / tcp (v6) ALLOW Anywhere (v6)

3: Підготовка місця для файлів

Створіть каталог для збереження завантажених файлів. Прапор -p створить всі неіснуючі вищележачі каталоги. Структура каталогів FTP дозволяє систематизувати файли; пізніше ви зможете розширити її, додавши каталоги для зареєстрованих користувачів.

sudo mkdir -p / var / ftp / pub

Встановіть на каталог права nobody: nogroup. Пізніше потрібно буде передати всі права на файли користувачеві і групі ftp.

sudo chown nobody: nogroup / var / ftp / pub

Створіть в каталозі тестовий файл:

echo "vsftp test file" | sudo tee /var/ftp/pub/test.txt

Тепер можна протестувати роботу vsftp.

4: Налаштування анонімного доступу

У файлі конфігурації зберігаються опції vsftp. Деякі з них потрібно відредагувати.

sudo nano /etc/vsftpd.conf

Знайдіть у файлі такі рядки і відредагуйте їх, як показано нижче:


# Allow anonymous FTP? (Disabled by default).
anonymous_enable = YES
#
We'll set the local_enable setting to "NO" because we're not going to allow users with local accounts to upload files via FTP. The comment in the configuration file can be a little confusing, too, because the line is uncommented by default.
# Uncomment this to allow local users to log in.
local_enable = NO
.

Крім того, потрібно додати в файл нові параметри.

Примітка. Повний список опцій можна знайти за допомогою команди:

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

#
# Point users at the directory we created earlier.
anon_root = / var / ftp /
#
# Stop prompting for a password on the command line.
no_anon_password = YES
#
# Show the user and group as ftp: ftp, regardless of the owner.
hide_ids = YES
#
# Limit the range of ports that can be used for passive FTP
pasv_min_port = 40000
pasv_max_port = 50000

Примітка. Якщо ви використовуєте Iptables замість UFW, розблокуйте всі необхідні порти між pasv_min_port і pasv_max_port самостійно.

Збережіть і закрийте файл.

sudo systemctl restart vsftpd

Команда systemctl не відображує висновок деяких команд. Щоб переконатися, що все пройшло успішно, введіть:

sudo systemctl status vsftpd

Команда повинна повернути:

Aug 17 17:49:10 vsftp systemd [1]: Starting vsftpd FTP server.
Aug 17 17:49:10 vsftp systemd [1]: Started vsftpd FTP server.

5: Тестування анонімного доступу

Відкрийте в браузері таку посилання:

Якщо все працює належним чином, ви побачите каталог pub:

Index of /
Name Size Date Modified
Pub / 8/24/16, 7:58:00 PM

Тепер можете відкрити каталог pub. У ньому повинен знаходитися файл test.txt. клацніть правою кнопкою і збережіть файл.

Index of / pub /
Name Size Date Modified
[Parent directory]
test.txt 16 B 8/24/16, 7:58:00 PM

Також ви можете виконати ці операції за допомогою командного рядка. Встановити з'єднання із сервером в пасивному режимі (на багатьох клієнтів в командному рядку для цього використовується прапор -p). Пасивний режим дозволяє створити підключення між сервером і клієнтом, і при цьому уникнути зміни правил локального брандмауера.

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

Команда запропонує вказати ім'я користувача. Ви можете ввести ftp або anonymous - вони працюють однаково.

Connected to 203.0.113.0.
220 (vsftpd 3.0.3)
Name (203.0.113.0:21:8host): ftp

Натисніть enter. На екрані з'явиться:

230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Переконайтеся, що пасивний режим працює належним чином:

ls
227 Entering Passive Mode (45,55,187,171,156,74).
150 Here comes the directory listing.
drwxr-xr-x 2 ftp ftp 4096 Aug 17 19:30 pub
226 Directory send OK.

Тепер ви як анонімний користувач можете перемістити файл на локальну машину:

cd pub
get test.txt
ftp> get test.txt
227 Entering Passive Mode (45,55,187,171,156,73).
150 Opening BINARY mode data connection for test.txt (14 bytes).
226 Transfer complete.
16 bytes received in 0.0121 seconds (+1325 bytes / s)

Такий висновок означає, що файл був успішно завантажений.

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

put test.txt upload.txt
227 Entering Passive Mode (104,236,10,192,168,254).
550 Permission denied.

Як бачите, анонімні користувачі можуть тільки завантажувати файли з сервера на свою локальну машину.

ftp -p 203.0.113.0
Connected to 203.0.113.0:21.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:21:your_user)
530 This FTP server is anonymous only.
ftp: Login failed.
ftp>

висновок

Тепер vsftp підтримує тільки анонімні завантаження. Це забезпечує продуктивну роботу додатків, які не можуть використовувати більш сучасні протоколи.

Схожі статті