- Linux.yaroslavl.ru
- Организация анонимного доступа на основе vsftpd
- Замечание
- Установка сервера vsFTPd на Ubuntu 18.04. Часть первая
- Установка FTP сервера
- Настройка анонимного доступа
- Доступ на чтение
- Доступ на запись
- Настройка авторизованного доступа
- Доступ на чтение
- Доступ на запись
- Защита FTP-сервера
- LINUX — Жизнь в консоли ЕСТЬ.
- Главное меню
- Последние статьи
- Счетчики
- FTP-сервер VSFTPD
- Сервер FTP
- Содержание
- Сервер FTP
- vsftpd — установка FTP сервера
- Настройка анонимного доступа по FTP
- Настройка авторизованного доступа по FTP
- Защита FTP
- Ограничение пользователей
- Шифрование
Linux.yaroslavl.ru
Организация анонимного доступа на основе vsftpd | ||
---|---|---|
Пред. | Глава 11. Служба FTP | След. |
Организация анонимного доступа на основе vsftpd
Если вам необходимо создать анонимный FTP-сервер, вы можете использовать vsftpd в сочетании с пакетом anonftp. Установки этих двух пакетов достаточно для того, чтобы получить работоспособный сервер. В целях безопасности сервер по умолчанию сконфигурирован именно для предоставления анонимного доступа. Запрещены любые команды записи, а также доступ локально зарегистрированных пользователей.
Для обеспечения надёжности системы архитектура сервера vsftpd позволяет устанавливать соединения от имени специально указанного непривилегированного пользователя, который определяется директивой nopriv_user в конфигурационном файле. Для того, чтобы риск был минимальным, этот пользователь должен обладать как можно меньшими привилегиями. С этой целью при установке vsftpd в системе автоматически создается учётная запись псевдопользователя novsftpd. Это регистрационное имя не должно использоваться кем-либо для входа в систему, поэтому реальный пароль для него не задаётся. Вместо командного интерпретатора указывается /dev/null.
При установке пакета anonftp автоматически создается каталог, который будет корневым при анонимном подключении,— /var/ftp с необходимыми правами доступа. Владельцем этого каталога является пользователь root, а не псевдопользователь, от имени которого работает vsftpd. Это сделано для обеспечения безопасности FTP-сервера и системы в целом. Группой-владельцем каталога является специальная группа ftpadmin, предназначенная для администраторов FTP-сервера.
Если вы хотите создать в области для анонимного доступа дерево каталогов, начните с каталога /var/ftp/pub. Этот каталог традиционно используется для размещения общедоступных файлов. Для него следует установить права доступа 2775. При этом анонимным пользователям FTP-сервера будет предоставлен доступ на чтение к файлам, находящимся в каталоге. Владельцем каталога сделайте root. В качестве группы, которой принадлежит /var/ftp/pub, целесообразно назначить ftpadmin, включив в неё пользователей, которым необходимо изменять содержимое каталогов FTP-сервера (не стоит работать с содержимым от имени root).
Чтобы разрешить анонимным пользователям вашего сервера доступ на запись, создайте каталог /var/ftp/incoming с правами доступа 3773 (владелец— ftpadmin, группа-владелец— ftpadmin), тем самым предоставив анонимным пользователям право записи в этот каталог, но лишив их возможности просмотра его содержимого. О том, какие изменения в конфигурации сервера должны быть сделаны для того, чтобы разрешить запись, рассказано ниже в этой главе.
Замечание
Наличие каталога, открытого для анонимной записи по протоколу FTP, делает возможным злонамеренное или случайное переполнение диска данными, что может привести к нарушению работы системы в целом. Для предотвращения подобных атак и недоразумений старайтесь размещать каталог, открытый для записи, на отдельном разделе файловой системы.
Источник
Установка сервера vsFTPd на Ubuntu 18.04. Часть первая
Протокол передачи файлов (FTP) — это TCP протокол для передачи файлов между компьютерами, работает на основе модели клиент-сервер. Серверный компонент постоянно слушает FTP-запросы от удаленных клиентов. При получении запроса он управляет входом и установкой соединения. На протяжении сессии он выполняет любые команды, переданные FTP клиентом.
Установка FTP сервера
Одним из самых популярных FTP-серверов является vsftpd — его легко устанавливать, настраивать и поддерживать.
При установке FTP-сервер автоматически прописывается в автозагрузку. Управлять его запуском, остановкой или перезапуском можно с помощью команд:
Разрешить или запретить запуск службы при загрузке системы:
Проверить, что служба vsftpd.service работает:
В процессе установки FTP-сервера создается пользователь ftp с домашней директорией /srv/ftp :
Доступ к FTP серверу возможен в двух режимах:
- В анонимном режиме удаленный клиент может получить доступ к FTP серверу, используя учетную запись «anonymous» или «ftp» и передав адрес email в качестве пароля. Данные в директории /srv/ftp доступны для всех анонимных пользователей.
- В авторизованном режиме пользователь должен иметь учетное имя и пароль в системе. Доступ к каталогам и файлам зависит от прав доступа пользователя, указанного при входе. Обычный пользователь ограничен своей домашней директорией.
Настройка анонимного доступа
Прежде чем вносить какие-либо изменения в конфигурационный файл, создадим копию файла конфигурации:
Доступ на чтение
Открываем на редактирование файл конфигурации:
Настройка vsftpd по умолчанию не разрешает подключаться анонимным пользователям. Чтобы это изменить, раскомментируем строчку:
После внесения изменений перезагружаем сервер:
Перейдем в /srv/ftp и создадим неколько каталогов, которые будут доступны на запись всем пользователям:
Для анонимного FTP-сервера лучше запретить подключение пользователям, зарегистрированным в системе:
Доступ на запись
По умолчанию анонимный пользователь не имеет возможности загружать файлы на FTP сервер. Чтобы это изменить, убираем комментарий на следующих строчках и перезагружаем vsftpd:
Чтобы анонимный пользователь мог создавать директории:
Настройка авторизованного доступа
Прежде чем вносить какие-либо изменения в конфигурационный файл, создадим копию файла конфигурации:
Доступ на чтение
Для аутентификации локальных пользователей надо раскомментировать строку и перезагрузить сервер:
Доступ на запись
По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью только скачивать файлы. Чтобы разрешить пользователям загружать файлы, надо раскомментировать строку и перезагрузить сервер:
Защита FTP-сервера
В файле /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить пользователя в «заточение», чтобы он не мог выходить из своего домашнего каталога:
Если при попытке подключения возникла ошибка:
То это значит, что локальный пользователь имеет доступ на запись в домашний каталог, чего быть не должно. Это легко исправить, если прописать /home каталогом, куда будут попадать локальные пользователи после входа на FTP сервер. Тогда каждый из них будет иметь возможность писать только в свой домашний каталог:
Еще один способ решения проблемы — отменить проверку записи в домашний каталог:
Источник
LINUX — Жизнь в консоли ЕСТЬ.
Главное меню
Последние статьи
Счетчики
FTP-сервер VSFTPD
В данной статье описывается процесс установки и настройки ftp-сервера с возможностью смешанного доступа: анонимный доступ + доступ для локальных пользователей.
Задача:
1) Создать дирректорию с правом чтения и с возможностью доступа без авторизации.
2) В этой дирректории создать папку, в которую возможно будет заливать и удалять файлы без авторизации.
3) Обеспечить зарегистрированным в системе пользователям получить доступ к своим домашним каталогам.
vsftpd (англ. Very Secure FTP Daemon) — FTP-сервер с поддержкой IPv6 и SSL. Ориентирован для UNIX-подобных операционных систем, он запускается на таких платформах как Linux, *BSD, Solaris, HP-UX и IRIX. Основное внимание уделяется безопасности и высокой производительности. Является FTP-сервером по умолчанию во многих операционных системах и обслуживает официальные репозитории ftp.debian.org, ftp.redhat.com, ftp.openbsd.org, ftp.freebsd.org.
sudo apt-get install vsftpd
Для начала создадим необходимые каталоги. Архитектура анонимного vsftpd не предусматривает ситуации когда корневой каталог анонимного пользователя доступен на запись, удаление или создание каталогов. Поэтому для возможности записи анонимами необходимо создать каталог, в нашем случае pub/, с владельцем ‘ftp’, что собственно и требуется:
sudo mkdir /var/ftp # создаем дирректорию ftp/ для анонимного доступа
sudo chmod 755 /var/ftp # даем необходимые права
sudo chown ftp:ftp /var/ftp # меняем владельца каталога на «ftp»
sudo mkdir /var/ftp/pub # создаем каталог для заливки файлов
sudo chown ftp:ftp /var/ftp/pub # аналогично меняем владельца
sudo chmod 755 /var/ftp/pub # даем необходимые права
Настраивается сервер путем редактирования конфигурационного файла vsftpd.conf
sudo nano /etc/vsftpd.conf
Простейщий конфиг будет выглядеть так:
listen=YES
# Опция listen=YES позволит VSFTPD работать самостоятельно,
# без помощи inetd/xinetd.
pasv_enable=YES # Включаем пассивный режим работы ftp-сервера
# Иначе во всеми «любимом» IE ничего не увидим,
# С активным режимом IE не дружит.
pasv_min_port=50000 # диапазон портов для работы ftp в пассивном режиме
pasv_max_port=51000
# делаем анонимный доступ, с правом записи:
anonymous_enable=YES #разрешаем анонимный доступ
no_anon_password=YES # без пароля
anon_root=/var/ftp # домашней каталог анонимуса
anon_upload_enable=YES # разрешаем загрузку
anon_mkdir_write_enable=YES # разрешаем создание каталогов
anon_other_write_enable=YES # разрешаем удаление и переименование
anon_umask=022 # Значение накладываемой маски на создаваемые
# анонимными пользователями файлы.
# разрешаем вход локальным пользователям с правом записи в домашних директориях
local_enable=YES # разрешаем вход локальным пользователям
local_umask=022 Значение накладываемой маски на создаваемые
# локальными пользователями файлы.
write_enable=YES # разрешаем запись
# помещаем локальных юзеров в их домашние каталоги, иначе пользователю будет доступен корень системы что совсем не хорошо.
chroot_local_user=YES
chroot_list_enable=NO # список локальных пользователей
# помещаемых в chroot() не используем, помещаем всех.
# настройки журналирования (запись логов)
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
Сохраняем и перезапускаем сервер:
sudo /etc/init.d/vsftpd restart
В итоге имеем доступ через любой интернет-броузер к общей дирректории, при необходимости коннектимся через любой ftp-клиент к домашнему каталогу с правами чтения и записи.
Подробное описание всех параметров конфигурационного файла на русском есть на http://www.opennet.ru/base/net/vsftpd_overview.txt.html
P.S.
Не советую копипастить конфиг вместе с комментариями, их лучше удалить, не знаю почему, но с комментами у меня фтп-сервер не запускался.
Источник
Сервер FTP
Содержание
Сервер FTP
vsftpd — установка FTP сервера
Для запуска сервиса требуется добавить его в автозагрузку. Начиная с версии Ubuntu 15.04 используется Systemd, поэтому для добавления vsftpd в автозапуск надо ввести следующие команды:
В Ubuntu Server может использоваться файервол ufw. Тогда вам потребуется разрешить порты 20 и 21
Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде
для уточнения деталей по каждому параметру.
Настройка анонимного доступа по FTP
Настройка vsftpd по умолчанию не разрешает анонимную загрузку. Если вы хотите разрешить анонимную загрузку, измените в /etc/vsftpd.conf следующее:
В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP .
Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:
После изменений перезапустите vsftpd:
Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного FTP в /srv/files/ftp (или /srv/ftp, если вы хотите оставить настройки по умолчанию).
Настройка авторизованного доступа по FTP
Для аутентификации локальных пользователей надо раскоментировать строчку
По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью получать файлы. Если вы хотите пользователям разрешить загружать файлы, измените в /etc/vsftpd.conf:
после чего перезагрузите vsftpd:
Защита FTP
Ограничение пользователей
В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() «заточение», выше которого (по дереву каталогов) он не сможет подняться.
Вы также можете определить список пользователей, имеющих доступ только в домашний каталог:
После снятия комментариев с этих опций, создайте /etc/vsftpd.chroot_list, содержащий список пользователей по одному на строку. Затем перезапустите vsftpd:
Если при попытке подключения вы видите ошибку 1) :
то это значит, что локальный пользователь имеет доступ на запись в домашний каталог, чего быть не должно. Способов решения этой ошибки несколько:
Шифрование
Для настройки FTPS, добавьте в конец файла /etc/vsftpd.conf следующее:
Также обратите внимание на опции сертификата и ключа:
По умолчанию эти опции установлены в значения, предоставленные пакетом ssl-cert. Для рабочей среды они должны быть заменены на сертификат и ключ, созданные для определенного компьютера. Для дополнительной информации смотрите раздел Сертификаты.
Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS:
Это необходимо, поскольку по умолчанию vsftpd использует авторизацию PAM, а файл настроек /etc/pam.d/vsftpd содержит:
Модуль PAM shells ограничивает доступ к оболочкам, перечисленным в файле /etc/shells.
Источник