Установка ftp на ubuntu 16.04

FTP або File Transfer Protocol - це досить давнє, але в той же час надійний і перевірений протокол вивантаження або завантаження файлів з віддаленого сервера. Він дуже часто використовується веб-майстрами для завантаження файлів сайту на сервер або управління файлами, також іноді цей протокол застосовується для організації сховища файлів.

У цій статті ми розглянемо як виконується установка FTP на Ubuntu 16.04, як налаштувати всі необхідні компоненти і в тому числі, захищене з`єднання. Ми будемо використовувати FTP сервер VSFTPD або Very Secure FTP Daemon, який забезпечує найнадійніший захист від вразливостей.

Установка FTP Ubuntu

Програма доступна з офіційних репозиторіїв, тому установка ftp на ubuntu server 16.04 не повинна викликати проблем. Спочатку треба оновити пакетів в репозиторіях, потім встановіть саму програму:


$ Sudo apt install vsftpd

Коли установка буде завершена, вам необхідно запустити сервіс vsftpd, оскільки він не буде запущений за замовчуванням, а також додати службу в автозавантаження:

$ Sudo systemctl start vsftpd
$ Sudo systemctl enable vsftpd

Якщо у вас встановлений фаєрвол ufw, а така ситуація виникає коли ви намагаєтеся встановити FTP на Ubuntu Server, то потрібно відкрити порти 20 і 21 для нормальної роботи. Щоб це зробити виконайте команди:


$ Sudo ufw allow 21 / tcp
$ Sudo ufw status

Установка FTP Ubuntu завершена, але тепер вам залишилося налаштувати все, для забезпечення безпечної роботи. Ніколи не використовуйте FTP сервер з настройками за замовчуванням в виробничих мережах, це небезпечно.

Налаштування FTP Ubuntu

Тепер перейдемо до налаштування. Нам потрібно поміняти всього кілька параметрів щоб повністю захистити ваш FTP сервер. Спочатку ми розглянемо найбільш очевидні настройки, такі як, відключення анонімного входу і так далі. Спочатку необхідно скопіювати оригінальний файл настройок щоб в разі проблем повернути все як було:

Відео: Налаштування FTP на Ubuntu 16.04

$ Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Потім відкрийте файл в редакторі:

anonymous_enable = NO

Дозволяємо використовувати імена локальних користувачів для входу:

write_enable = YES

Встановимо значення umask для нових файлів, що створюються по FTP:

dirmessage_enable = YES

Записувати в лог файл все транзакції по передачі файлів і використовувати стандартний формат балки:


xferlog_std_format = "YES


Використовувати "порт 20 для передачі даних замість випадкового, це потрібно для нормальної роботи фаервола:

connect_from_port_20 = YES

Зазначаємо, що потрібно очікувати вхідних з`єднань:

pam_service_name = vsftpd

На завершення дозволимо аутентифікацію тільки тих, хто, перерахованих у файлі userlist:

userlist_file = / etc / vsftpd.userlist

За замовчуванням, таким користувачам заборонений вхід в систему, але ми хочемо зовсім протилежне, тому додайте такий рядок:

Відео: How to set up vsftpd ftp server in ubuntu server

chroot_local_user = YES
allow_writeable_chroot = YES

Перший рядок вказує, що потрібно розмістити користувача в ізольованому домашньому каталозі, а друга повідомляє, що йому можна дозволити запис в цей каталог. Налаштування FTP Ubuntu майже завершена, збережіть зміни в файлі конфігурації і перезапустіть vsftpd:

$ Sudo useradd -m -c "Test User" -s / bin / bash testuser
$ Sudo passwd testuser

Оскільки ми хочемо мати можливість підключатися від його імені до FTP-сервера, то нам потрібно додати його в vsftpd.userlist:


$ Cat /etc/vsftpd.userlist


Тепер саме час підключиться до нашого FTP-сервера і перевірити як там все працює. Спробуємо увійти від імені анонімного користувача:

У нас нічого не вийде. Тепер спробуємо увійти від імені нашого тестового користувача і все запрацює як треба.

Зверніть увагу, що небезпечно давати користувачам доступ на запис в їх домашню папку. Робіть це, тільки якщо впевнені в тому, що це необхідно і безпечно.

Відео: Ansible 1 - установка і настройка ansible на Ubuntu 16 04 LTS

Налаштування домашніх папок користувачів

Щоб хоч якось обійти проблеми з безпекою, ви можете використовувати іншу папку замість домашньої для надання її користувачеві. Спочатку створимо таку папку для нашого користувача:

$ Sudo mkdir -p / home / testuser / ftp / files

Приберемо право на запис для папки ftp:


$ Sudo chmod a-w / home / testuser / ftp

Потім дайте необхідні повноваження користувачеві на запис в підпапку.

$ Sudo chown -R testuser: testuser / home / testuser / ftp / files
$ Sudo chmod -R 0770 / home / testuser / ftp / files /

Тепер повернемося до конфігураційного файлу vsftpd.conf. Спочатку закоментуйте рядок:

user_sub_token = $ USER
local_root = / home / $ USER / ftp

Перша з них додає змінну $ USER, в якій міститься ім`я користувача, а друга задає кореневу папку для кожного користувача. Залишилося знову перезапустити FTP сервер:

$ Sudo mkdir / etc / ssl / private
$ Sudo openssl req -x509 -nodes -days 720 -newkey rsa: 2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem

Потім потрібно дозволити доступ до портів захищеного з`єднання FTP з фаєрволі UFW:


$ Sudo ufw allow 40000: 50000 / tcp
$ Sudo ufw status

І залишилося внести кілька правок в налаштування самого FTP сервера. Нам потрібно включити ssl_enable і відключити підтримку шифрування sslv2 і sslv3, залишаємо тільки tlsv1:

ssl_enable = YES
ssl_tlsv1 = YES
ssl_sslv2 = NO
ssl_sslv3 = NO

Далі раськоментіруйте такі рядки:

Відео: How to install an FTP (VSFTPD) Server on Ubuntu Linux


rsa_private_key_file = "/ etc / ssl / private / vsftpd.key

Забороніть "вхід анонімних користувачів по SSL:

allow_anon_ssl = NO
force_local_data_ssl = YES
force_local_logins_ssl = YES

Тепер встановимо найскладніший шифр SSL:

pasv_min_port = 40000
pasv_max_port = 50000

Залишилося перезавантажити наш сервіс:

Поділися в соціальних мережах:

Схожі
Установка python 3 ubuntuУстановка python 3 ubuntu
Установка lxqt в ubuntu 16.04Установка lxqt в ubuntu 16.04
Установка avidemux в ubuntu 16.04Установка avidemux в ubuntu 16.04
Установка telegram ubuntu 16.04Установка telegram ubuntu 16.04
Установка steam в ubuntu 16.04Установка steam в ubuntu 16.04
Установка pidgin ubuntu 16.04Установка pidgin ubuntu 16.04
Установка vestacp на ubuntu 16.04Установка vestacp на ubuntu 16.04
Установка chromium ubuntu 16.04Установка chromium ubuntu 16.04
Установка gcc в ubuntu 16.04Установка gcc в ubuntu 16.04
Установка і настройка freenxУстановка і настройка freenx
» » Установка ftp на ubuntu 16.04