Настройка FTP. Ftp сервер vsftpd
Скачать 210.13 Kb.
|
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 на сервере! |