Главная страница

Настройка FTP. Ftp сервер vsftpd


Скачать 210.13 Kb.
НазваниеFtp сервер vsftpd
АнкорНастройка FTP
Дата03.02.2022
Размер210.13 Kb.
Формат файлаdocx
Имя файлаНастройка FTP.docx
ТипПротокол
#350608

FTP сервер vsftpd
FTP – File Transfer Protocol – протокол передачи данных. В самом привычном понимании, FTP сервер, представляет собой самый обычный сервер, предназначенный для хранения файлов, из загрузки и скачивания.

Установим vsftpd сервер, он есть во всех репозиториях, этот сервер сделан с упором на безопасность – подключение к нему может быть зашифровано. Как только установка была завершена, проверим статус, конечно же, ошибок никаких быть не может:


Рис.1 – Установка vsftp


Рис.2 – добавляем сервис в автозагрузку и проверяем, работает ли он
Что действительно забавно, так это то, что vsftpd устанавливается уже минимально сконфигурированным, что позволяет начать с ним работу прямо сейчас, мы можем даже это проверить – откроем в клиентской ВМ консоль и впишем команду ftpip_адрес.
На сервере открываю порты ftp (20/tcp и 21/tcp), иначе не работает:



Рис.3 – открываем порты
С клиента захожу в ftp на сервере:



Рис.4 – первый вход на ftp сервер
Сервер встречает нас сообщением, что мы подключены по адресу 192.168.1.70, показывает нам версию сервера, а так же запрашивает логин. Все логины и пароли для доступа на сервер, это наши самые обыкновенные пользователи debian, которые имеют логин и пароль соответственно. В данном случае мой пользователь max с его паролем подойдут:


Рис.4 – вход на ftp в аккаунт пользователя с сервера
И вот, мы подключились. Важно отметить, что мы можем перемещаться по серверу используя обычные команды операционной системы:


Рис.5 – перемещение по файловой структуре сервера
Проблема: при входе в консоль ftp команда cd работает, но ls нет. Помогает написание в консоли сервера команды:


Рис.6 – спасительная команда
А теперь давайте представим, что каждый пользователь вот так свободно может передвигаться по всей файловой системе сервера.
Правильным выводом из этого будет то, что это совершенно небезопасно, да и не будем же мы всем подряд раздавать свой логин и пароль. А чтобы пользователи не могли гулять по всей файловой системе, их можно заточить в их домашних каталогах, это называется chrooting. В конфиг файле сервера можно включить либо выключить эту опцию, так же можно ее слегка настроить, создав так называемый список пользователей, которые будут заточены в их домашних директориях, но это не обязательная опция. Те, кого в этом списке нет, соответственно сохранят свою возможность бродить по всей файловой системе сервера.
Вот тут-то нам и необходимо обратиться к конфиг файлу сервера. Не менее важным является то, что конфиг лежит просто в /etc/. Это довольно большой файл, где комментариями объяснена каждая опция.
Помимо зарегистрированных (авторизованных) пользователей ftp сервера бывают еще и анонимные. Такой пользователь может подключиться к серверу по логину anonymous без пароля. За эту настройку в конфиге отвечает anonymous_enable. Эта опция либо включена, либо выключена. Со всеми остальными опциями точно так же, то есть либо YES, либо NO. В некоторых вместо них указывается путь.
Для более удобного пользования сервером можно скачай ftp менеджер, который графически позволяет подключаться к ftp серверу, он называется FileZilla. Можно скачать как с сайта, так и с репозиториев.


Рис.7 - FileZilla
Настроим наш сервер. Оптимальной конфигурацией будет такая, чтобы к нашему серверу могли подключаться не только зарегистрированные пользователи, но и анонимные, которые могут только производить загрузку.

Для пущей безопасности заключим всех пользователей в их домашних директориях.
Для начала создадим одного авторизованного пользователя, обязательно с домашним каталогом, иначе нас него не заработает chrooting.


Рис.8 –создание доверенного пользователя
Все настройки подписаны, поэтому распишу я только те, которые нужно добавить. Перевод вы можете посмотреть тут, тут и тут.


Рис.9 – параметр anon_upload_enable


Рис.10 – параметр write_enable
anon_upload_enable

  • Если установлено в YES, то анонимным пользователям разрешено загружать файлы на vsftpd при определённых условиях. Для того, чтобы это работало, должен быть включён параметр write_enable, и у анонимного FTP-пользователя ("anonymous") должны быть права на запись в каталог, который будет использоваться для загрузки. Этот параметр также требуется для загрузки на vsftpd от виртуальных пользователей; по-умолчанию виртуальные пользователи обрабатываются с правами логина "anonymous" (то есть, максимально ограничеными).

    • По-умолчанию: NO


Подключаю доверенного пользователя:


Рис.11 – параметр nopriv_user
nopriv_user

Указывает имя пользователя под которым работает сервер, когда ему не нужны привилегии.

Для этого предпочтительней выделить отдельного пользователя, чем использовать nobody.

Default: nobody
После того, как вход для анонимных пользователей был открыт, необходимо дописать опции no_anon_password, а так же anon_root. Последняя указывает на директорию, в которую автоматически будут попадать публичные пользователи. Опция write_enable позволяет производить любые записи на сервер. Когда chrooting включается на этом сервере, он так же запрещает запись пользователям в их домашние каталоги, но позволяет записывать в подкаталоги, сделано это ради безопасности, но это создает лишние проблемы, поэтому добавлением опции allow_writeable_chroot отключим данное ограничение.


Рис.11 – еще параметры


Рис.12 – no_anon_password


Рис.13 – anon_root
В итоге к серверу должны подключаться публичные пользователи, которые могут производить только загрузку, авторизованные пользователи, которые могут делать в своих директориях что угодно, но не могут передвигаться по всей файловой системе сервера.

Подключение анонимного пользователя:



Рис.14 – вход на ftp под анонимом

Подключение доверенного пользователя:



Рис.15 – вход под ftpuser

Подключение пользователя с сервера:



Рис.16 – обычный вход обычного пользователя

Если вдруг не будет работать подключение к серверу, попробуйте открыть порт ftp на сервере!


написать администратору сайта