Безопасность. Настройка. Интернет. Восстановление. Установка

FTP-сервер - Вики для программы "Веб-дизайн". Анонимный доступ по FTP Анонимный пользователь ftp

Протокол передачи файлов (FTP) - это TCP протокол для передачи файлов между компьютерами. В прошлом он использовался также для загрузки [файлов в интернете], но, поскольку этот метод не использует шифрование, пользовательские данные как и содержимое файлов передаются в открытую и легко перехватываются. Поэтому, если вы здесь ищете способ безопасно передавать и загружать файлы, лучше обратитесь к статье по OpenSSH в разделе Удаленное администрирование .

FTP работает на основе модели клиент/сервер. Серверный компонент называется сервисом FTP . Он постоянно слушает FTP запросы от удаленных клиентов. При получении запроса он управляет входом и установкой соединения. На протяжении сессии он выполняет любые команды, переданные FTP клиентом.

vsftpd - установка FTP сервера

vsftpd - это сервис FTP , доступный в Ubuntu. Его легко устанавливать, настраивать и поддерживать. Для установки vsftpd вы можете выполнить следующую команду:

Sudo apt install vsftpd

Для запуска сервиса требуется добавить его в автозагрузку. Начиная с версии Ubuntu 15.04 используется Systemd , поэтому для добавления vsftpd в автозапуск надо ввести следующие команды:

Sudo systemctl start vsftpd sudo systemctl enable vsftpd

В Ubuntu Server может использоваться файервол ufw . Тогда вам потребуется разрешить порты 20 и 21

Sudo ufw allow 20/tcp sudo ufw allow 21/tcp

Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде

Man 5 vsftpd.conf

для уточнения деталей по каждому параметру.

Доступ к FTP серверу может быть организован двумя способами:

В анонимном режиме удаленный клиент может получить доступ к FTP серверу, используя учетную запись пользователя по умолчанию с именем «anonymous» или «ftp» и передав адрес email в качестве пароля. В авторизованном режиме пользователь должен иметь учетное имя и пароль. Этот последний вариант крайне небезопасный и не должен использоваться за исключением специальных обстоятельств. Если вы хотите передавать файлы безопасно, смотрите SFTP в разделе по OpenSSH серверу. Пользовательский доступ к каталогам и файлам FTP сервера зависит от прав доступа пользователя, указанного при входе. Как правило, сервис FTP скрывает корневой каталог FTP сервера, подменяя его на домашний каталог FTP . Это скрывает корень файловой системы от удаленных сессий.

Настройка анонимного доступа по FTP

Настройка vsftpd по умолчанию не разрешает анонимную загрузку. Если вы хотите разрешить анонимную загрузку, измените в /etc/vsftpd.conf следующее:

Anonymous_enable=YES

В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP .

Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:

Sudo mkdir /srv/files/ftp sudo usermod -d /srv/files/ftp ftp

После изменений перезапустите vsftpd:

Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного FTP в /srv/files/ftp (или /srv/ftp, если вы хотите оставить настройки по умолчанию).

По умолчанию анонимный пользователь не имеет возможности загружать файлы на FTP сервер. Для изменения этой настройки уберите комментарий на следующей строке и перезапустите vsftpd:

Anon_upload_enable=YES

Разрешение анонимному пользователю загружать файлы может оказаться серьезной угрозой безопасности. Лучше не разрешать анонимную загрузку файлов на сервера с прямым доступом из интернета.

Настройка авторизованного доступа по FTP

Прежде чем вносить какие-либо изменения в конфигурационный файл, рекомендуется скопировать образец для возможности отката изменений без переустановки пакета sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Для аутентификации локальных пользователей надо раскоментировать строчку

Local_enable=YES

По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью получать файлы. Если вы хотите пользователям разрешить загружать файлы, измените в /etc/vsftpd.conf:

Write_enable=YES

после чего перезагрузите vsftpd:

Sudo service vsftpd restart

Теперь при входе системных пользователей по FTP они будут попадать в свои домашние каталоги, где они смогут скачивать, загружать [файлы], создавать каталоги и т.д.

Защита FTP

Ограничение пользователей

В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() «заточение», выше которого (по дереву каталогов) он не сможет подняться.

Chroot_local_user=YES

Вы также можете определить список пользователей, имеющих доступ только в домашний каталог:

Chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list

После снятия комментариев с этих опций, создайте /etc/vsftpd.chroot_list, содержащий список пользователей по одному на строку. Затем перезапустите vsftpd:

Sudo service vsftpd restart

Если вы сняли комментарии со всех трёх строчек, то пользователи из списка не будут ограничены своими домашними каталогами, в отличии от пользователей не вошедших в список

Аналогично файл /etc/ftpusers содержит список пользователей, которым запрещен доступ по FTP . По умолчанию он включает root, daemon, nobody и т.п. Для запрета доступа по FTP для дополнительных пользователей, просто добавьте их в этот список.

Если при попытке подключения вы видите ошибку :

Ответ: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

то это значит, что локальный пользователь имеет доступ на запись в домашний каталог, чего быть не должно. Способов решения этой ошибки несколько:

    Запретить запись в домашний каталог локальному пользователю (подходит не всем и не всегда)

sudo chmod a-w /home/user/ allow_writeable_chroot=YES

    Прописать /home каталогом, куда будут попадать локальные пользователи после входа на FTP сервер. Тогда каждый из них будет иметь возможность писать только в свой домашний каталог

local_root=/home

Шифрование

FTP может быть зашифрованным при использовании FTPS . В отличие от SFTP , FTPS - это FTP поверх SSL . SFTP - это сессия, подобная FTP , по зашифрованному SSH соединению. Основное отличие заключается в том, что пользователи SFTP должны иметь учетную запись с собственным окружением (shell account) вместо оболочки nologin. Предоставление всем пользователям доступа к оболочке может оказаться не лучшим решением для некоторых систем, таких как web сервер общего доступа. Однако есть возможность ограничить такие учетные записи только SFTP и запретить взаимодействие с оболочкой. Смотрите раздел по OpenSSH для дополнительной информации.

Для настройки FTPS, добавьте в конец файла /etc/vsftpd.conf следующее:

Ssl_enable=Yes

Также обратите внимание на опции сертификата и ключа:

Rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

По умолчанию эти опции установлены в значения, предоставленные пакетом ssl-cert . Для рабочей среды они должны быть заменены на сертификат и ключ, созданные для определенного компьютера. Для дополнительной информации смотрите раздел Сертификаты .

Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS:

Sudo service restart vsftpd

Чтобы позволить пользователям с оболочкой /usr/sbin/nologin получить доступ к FTP , но не предоставлять shell доступ, отредактируйте /etc/shells, добавив к оболочке nologin:

# /etc/shells: valid login shells /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /usr/sbin/nologin

Это необходимо, поскольку по умолчанию vsftpd использует авторизацию PAM, а файл настроек /etc/pam.d/vsftpd содержит:

Auth required pam_shells.so

Модуль PAM shells ограничивает доступ к оболочкам, перечисленным в файле /etc/shells.

Наиболее популярные клиенты FTP могут быть настроены на использование FTPS. FTP клиент командной строки lftp также имеет возможность использовать FTPS.

Каждый сайт в интернете хранится на удаленном дисковом пространстве, к которому можно подключиться по FTP и управлять данными по своему усмотрению.

Заключая договор с хостингом, администраторам предоставляется определенное дисковое пространство и чтобы подключиться к нему, потребуются данные для авторизации.

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

На некоторых бесплатных конструкторах, подключиться к сайту по FTP невозможно. Поэтому может быть удобно подключаться к FTP анонимно .

Подключиться по FTP анонимно

Анонимный доступ по FTP не требует от пользователя ввода данных для авторизации, но при этом функционал будет ограничен. Возможность анонимного подключения поддерживается далеко не на всех сайтах, т.к. это может снижать безопасность проекта.

Тем не менее, на некоторых площадках возможность анонимного подключения по FTP присутствует, и в большинстве случаев, это государственные проекты. Делается это для того, чтобы пользователи могли скачивать различную информацию, а учитывая анонимный режим, загружать они ничего не смогут.

Это и является главным ограничением, отсутствие возможности закачивать файлы на дисковое пространство.

Чтобы подключиться по FTP анонимно , необходимо располагать данными о сайте, которые требуются для подключения. На тех площадках, где это доступно, такая информация выкладывается в свободном доступе.

Всё что необходимо для подключения, это указание адреса, имя и логин не требуются, а при входе вы будете авторизованы как анонимный пользователь . Таким образом, владелец дискового пространства не получит никаких данных о вашем подключении к сайту по FTP.

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

Анонимный FTP (file transfer protocol) доступ является отличным способом для скачивания файлов, предоставленных в открытое пользование, без введения учетных данных пользователя. Подписка на использование услуг анонимного FTP сервиса намного проще, чем на услуги стандартного сервиса, так как в последнем требуется введение точных учетных данных (имя пользователя и пароль). Для входа на анонимный сервис имя пользователя стандартно, а пароль может быть каким угодно. В отличие от обычного FTP доступа через специальные утилиты или браузер, анонимный пользователь может только скачивать данные, но не загружать их.

Обычно такая технология используется на файловых ресурсах правительственных учреждений, университетов и публичных компаний, которые имеют большие объемы открытой информации. На большинстве сайтов анонимный FTP доступ закрыт, так как является большой проблемой для безопасности, поэтому для пользования файловым ресурсом используется идентификация и аутентификация пользователей.

Для того, чтобы получить доступ к анонимному FTP сервису, пользователь должен просто подключиться к нему. В отличие от большинства процедур идентификации, здесь никакая информация о пользователе не передается, и он сохраняет свою анонимность. Обычно он подключается к FTP ресурсу под учетной записью «anonymous», но иногда как «guest». Изредка для входа на анонимный сервис требуется ввести произвольный пароль, в качестве которого можно ввести адрес электронной почты. Но намного чаще ввод пароля вообще не требуется (его оставляют пустым), либо сам сервер генерирует его для анонимной учетной записи.

Как мы уже сказали, стандартный FTP сервис предоставляет возможность загрузки данных в обоих направлениях – скачивание и загрузку на файловый ресурс, а анонимный FTP – только скачать или просмотреть список файлов. Это связано с вопросами безопасности, так как анонимный пользователь, неограниченный в своих действиях, может запросто загрузить на сервер файлы с вирусами. Наряду с этим ограничением, даже идентифицированных пользователей очень часто ограничивают в правах, чтобы обеспечить защиту сайтов от нападок хакеров и злонамеренных действий.

Через анонимные FTP сервисы правительственных учреждений и общественных организаций могут быть скачаны сотни публичных документов, связанных с историческими событиями, экономической деятельностью, прочие статистические обзоры, аналитические выборки и нормативно-правовая база. Таким образом можно скачать только открытую информацию. Категорированная и закрытая информация так не распространятся, так как может привести к утечке государственных и коммерческих тайн.

Сегодня большая часть сайтов в сети Интернет отключает анонимный доступ к FTP ресурсам, используя защищенные средства. Для того, чтобы скачать данные с них, обязательна идентификация и аутентификация пользователей. Это связано с тем, что владельцы сайтов берегут их сохранность и работоспособность, и не хотят, чтобы посторонние лица имели доступ к ценной информации.

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

  1. Открываем «Диспетчер служб IIS» и переходим к настройкам ftp-сайта.
  2. Переходим в раздел «Проверка подлинности FTP». Анонимный доступ переводим в состояние Включено:
  3. Далее переходим в раздел «Правила авторизации FTP» и создаем новое правило для анонимных пользователей:

  4. Теперь необходимо настроить права доступа пользователя IUSR на корневую папку ftp-сервера (по умолчанию inetpub/ftproot).
    Открываем свойства папки и переходим на закладку Безопасность. Для добавления нового пользователя нажимаем кнопку Добавить:

    Вводим имя пользователя — IUSR и нажимаем кнопку «Проверить имена». Если пользователь существует, его имя будет выделено подчеркиванием:

    Нажимаем Ок и переходим к настройке прав:

    Если анонимным пользователям разрешены чтение и запись, то даем полный доступ.
    Если только чтение, то даем права на «Чтение» и «Список содержимого папки».

  5. Подтверждаем изменения и на этом все. Можно тестировать подключение.
  6. Обязательное требование при подключении : имя анонимного пользователя всегда должно быть anonymous . Произвольные имена не допускаются. Пароль может быть любым, даже пустым.

FTP-сервер - компьютер, который содержит общедоступные файлы и настроен на поддержку (FTP-сервер должен иметь программное обеспечение, поддерживающее протокол FTP).

В настоящее время в Internet существует три разновидности FTP-серверов:

  1. Internet-style (доступ ко всем файлам сервера)
  2. Listserver (ограниченный доступ)
  3. FTPmail (доступ через электронную почту).

Серверы ftpmail наиболее интересны для тех пользователей, у которых доступ к Internet весьма ограничен, то есть они могут пользоваться только электронной почтой. Вы вводите в своём письме несколько специальных команд, которые должен выполнить выбранный вами FTPmail сервер. Если всё введено правильно и ваше письмо пришло по назначению, то FTPmail-сервер начнёт искать необходимый файл практически во всех закоулках Internet. Если файл найден, то вам его перешлют, в противном случае вам придёт письмо с информацией о том, что этого файла в природе не существует. Вещь, конечно, хорошая, но если у вас полный доступ к ресурсам Internet, она вам ни к чему.

В Сети для хранения больших объёмов данных существуют FTP-сервера . FTP-сервер представляет из себя своеобразную библиотеку файлов. Для перекачки файлов между FTP-серверами и компьютером пользователя используется протокол (File Transfer Protocol - протокол передачи файлов).

Для чего нужен FTP-сервер? Можно выкачивать на свой компьютер файлы, выложенные на многочисленных FTP-серверах. В Сети существуют тысячи FTP-серверов, предоставляющих бесплатный анонимный доступ к гигабайтам самой разнообразной информации: текстовым документам, дистрибутивам программ, фотографиям и музыкальным файлам. По можно закачивать свои домашние странички на бесплатные серверы, предоставляющие под них место. Это гораздо удобнее, нежели применять HTTP, когда на специальной страничке сервера вы указываете файлы, которые надо закачать.

Также существует FileZilla Server - проект, родственный FileZilla Client. Это - FTP-сервер, разрабатываемый той же организацией. Он поддерживает FTP, SFTP и FTPS (FTP через SSL/TLS).

Создание и настройка FTP-сервера на примере FileZilla Server

Создание собственного домашнего FTP-сервера позволяет организовать для пользователей локальной или глобальной сети удобный способ передачи данных. Для запуска его в домашних условиях можно использовать бесплатное ПО, например, FileZilla Server . Эта программа наделена всем необходимым функционалом и легко поддаётся настройке.

FileZilla Server распространяется по бесплатной лицензии, поэтому дистрибутив программы можно свободно загрузить с сайта её разработчика . Перед установкой необходимо указать порт для прослушивания интерфейса администратора и определить метод запуска службы FTP. Если оставить настройки по умолчанию, инсталлятор выберет случайный порт и добавит сервис FTP в автозагрузку Windows.

Также перед установкой FileZilla Server необходимо выбрать метод запуска сервера при загрузке системы. По умолчанию для всех пользователей активируется режим автоматического старта службы FTP при их авторизации в ОС.

По завершении установки программа поместит в трей свой значок, при клике на котором откроется панель администрирования сервера. В ней, в первую очередь, следует подтвердить выбор сервера 127.0.0.1 и указанного порта, а также, при необходимости, придумать и ввести пароль администратора.

Настройку FileZilla Server следует начать с создания одного или нескольких пользователей и разрешения им доступа к определённым каталогам на компьютере. Для этого следует выбрать в меню «Edit» пункт «Users» и нажать кнопку «Add». В появившемся окне нужно ввести произвольное имя пользователя, при желании поместив его в определённую группу (её можно создать в меню «Edit - Groups»). После нажатия «Ok» создастся аккаунт с заданным именем, после чего можно приступить к его настройке.

По умолчанию новый пользователь FileZilla Server создаётся без пароля. Чтобы его задать, следует в «General» установить галочку на пункте «Password» и ввести его. В этом же окне можно задать ограничения по количеству соединений для выбранного пользователя (0 - без ограничений).

Во вкладке «Shared folders» необходимо добавить корневой каталог пользователя и выбрать директории, к которым он будет иметь доступ. Установить выбранный каталог в качестве корневого можно, нажав кнопку «Set as home dir». Также в этом окне можно указать права для выбранного пользователя на доступные ему файлы и директории. К примеру, установка галочек на пунктах «Write» и «Delete» в категории «Files» даст аккаунту anonymous права на запись и удаление файлов в каталоге «C:\FTP».

Вкладка «Speed Limit» отвечает за настройку лимита скорости загрузки и скачивания данных для определённого аккаунта. Эти параметры можно оставить без изменений.

В окне «IP filter» администратор может запретить доступ к FTP-серверу с определённых IP или подсетей. Это может в будущем пригодиться при обнаружении нерадивых пользователей, загружающих на сервер нелегальный контент или причиняющих неудобства другими способами.

В общие настройки сервера, распространяющиеся на все аккаунты, можно зайти из меню «Edit - Settings». Большинство параметров, в частности, лимиты скорости, «чёрный список» IP, SSL и Autoban первоначально можно оставить как есть. Обратить внимание стоит на пункт «Passive mode settings», позволяющий вместо IP ввести доменное имя сервера. Это будет полезно при динамическом адресе, меняющемся при каждом подключении к сети.

Бесплатное доменное имя можно зарегистрировать, к примеру, с помощью сервиса DynDNS.

Чтобы дать пользователям возможность обмениваться данными с FTP-сервером, нужно сообщить им его адрес и данные аккаунта для входа. Все их действия будут отображаться в главном окне FileZilla.