Установка 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 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
Потім відкрийте файл в редакторі:
anonymous_enable = NOДозволяємо використовувати імена локальних користувачів для входу:
write_enable = YESВстановимо значення umask для нових файлів, що створюються по FTP:
dirmessage_enable = YESЗаписувати в лог файл все транзакції по передачі файлів і використовувати стандартний формат балки:
xferlog_std_format = "YES
Використовувати "порт 20 для передачі даних замість випадкового, це потрібно для нормальної роботи фаервола:
Зазначаємо, що потрібно очікувати вхідних з`єднань:
pam_service_name = vsftpdНа завершення дозволимо аутентифікацію тільки тих, хто, перерахованих у файлі userlist:
userlist_file = / etc / vsftpd.userlistЗа замовчуванням, таким користувачам заборонений вхід в систему, але ми хочемо зовсім протилежне, тому додайте такий рядок:
Відео: How to set up vsftpd ftp server in ubuntu server
chroot_local_user = YESallow_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
Налаштування домашніх папок користувачів
Щоб хоч якось обійти проблеми з безпекою, ви можете використовувати іншу папку замість домашньої для надання її користувачеві. Спочатку створимо таку папку для нашого користувача:
Приберемо право на запис для папки ftp:
$ Sudo chmod a-w / home / testuser / ftp
Потім дайте необхідні повноваження користувачеві на запис в підпапку.
$ Sudo chmod -R 0770 / home / testuser / ftp / files /
Тепер повернемося до конфігураційного файлу vsftpd.conf. Спочатку закоментуйте рядок:
user_sub_token = $ USERlocal_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_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:
force_local_data_ssl = YES
force_local_logins_ssl = YES
Тепер встановимо найскладніший шифр SSL:
pasv_min_port = 40000pasv_max_port = 50000
Залишилося перезавантажити наш сервіс:
- Установка chromium ubuntu 16.04
- Установка steam в ubuntu 16.04
- Установка avidemux в ubuntu 16.04
- Установка owncloud ubuntu 16.04
- Установка і настройка freenx
- Установка android studio в ubuntu
- Установка ssh ubuntu 16.04
- Установка remmina ubuntu 16.04 / 16.10
- Налаштування nfs в ubuntu 16.04
- Установка lxqt в ubuntu 16.04
- Установка ubuntu server 16.04 покроково
- Установка telegram ubuntu 16.04
- Установка python 3 ubuntu
- Установка vestacp на ubuntu 16.04
- Установка mysql ubuntu 16.04
- Установка qt ubuntu 16.04
- Установка libreoffice в ubuntu 16.04
- Установка lamp ubuntu 16.04
- Установка pidgin ubuntu 16.04
- Установка ace stream в ubuntu 16.04
- Установка gcc в ubuntu 16.04