Организация анонимного доступа на основе 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, делает возможным злонамеренное или случайное переполнение диска данными, что может привести к нарушению работы системы в целом. Для предотвращения подобных атак и недоразумений старайтесь размещать каталог, открытый для записи, на отдельном разделе файловой системы.