Как узнать версию 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 серверу может быть организован двумя способами:

Анонимным (Anonymous)
Авторизованным (Authenticated)

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

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

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

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Настройка 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:

sudo service vsftpd restart

Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного 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 для дополнительных пользователей, просто добавьте их в этот список.

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

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

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

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

sudo chmod a-w /home/user/

Отменить проверку записи в домашний каталог прописав в конфиге 2)

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-Map: определяем программное обеспечение и его версию для FTP-серверов и ищем для них эксплойты

Ftpmap сканирует удалённые FTP-сервера для идентификации, какое программное обеспечение и какой версии они используют. Она использует специфичные для программ «отпечатки пальцев» для обнаружения имени программного обеспечение даже тогда, когда банеры были изменены или удалены или когда некоторые функции были отключены. FTP-Map также попытается найти эксплойты для программы/версии, используемой для FTP сервера. FTP-Map также содержит инструменты для удалённого «снятия отпечатков».

Установка FTP-Map на Kali Linux

apt-get install automake autoconf

Я все сторонние программы ставлю в каталог ~/opt

cd ~/opt/ git clone git://github.com/Hypsurus/ftpmap cd ftpmap/ autoreconf ./configure make sudo make install

Использование FTP-Map

ftpmap -s [host] [OPTIONS].

01

Опции: --scan, -S - Начать FTP сканирование. --server, -s - FTP сервер. --port, -P - FTP порт (по умолчанию: 21). --user, -u - FTP пользователь (по умолчанию: anonymous). --password, -p - FTP пароль (по умолчанию: NULL). --execute, -x - Запустить команду на FTP сервере. --nofingerprint, -n - Не создавать отпечаток пальцев. --login, -A - Только залогиниться, напечатать вывод и выйти. --force, -F - Принудительно создать отпечаток. --output, -o - Файл вывода. --list, -L - Получить список файлов и каталогов на FTP сервере. --delete - Удалить файлы/каталоги на сервере. --last-modified, -m - Вернуть время последней модификации заданного файла Опции Fuzzer: --fuzzer, -f - Использовать Fuzzer. --fuzzerlength,-b - Длина буфера для отправки. (по умолчанию: 256) --fuzzer-nologin, -l - Не логиниться. Общие параметры: --version, -v - Показать информацию о версии и выйти. --help, -h - Показать справку и выйти.

Кстати, если судить по адреску электронной почты ( hypsurus@mail.ru ) оставленному для отправки на него новых отпечатков и соответствующих ему названий программного обеспечения, проект создан нашим соотечественником.

4 комментария

Добрый день. Не выполняется команда apt-get install automake autoconf. Какие репозиторий надо добавить в Kali Linux, чтобы выполнить команду?

WebWare Team :

Все команды для Kali на сайте WebWare.biz только для стандартных репозиториев! Это одно из главных правил пользования Kali — не добавлять сторонние источники приложений. Если у вас ошибки «пакеты не найдены» или что-то подобное, то попробуйте

apt-get update

А после этого опять команды из статьи. Если всё равно «пакеты не найдены», то проверьте, есть ли Интернет. Если есть, значит отсутствуют стандартные репозитории. В этой статье рассказано как поправить: https://codeby.net/blogs/proverka-i-vosstanovlenie-repozitoriev-v-kali-linux-iz-komandnoj-stroki/

Алешенька :

Что за ошибка? root@pl:~# ftpmap -S :: Starting FTP-Map 0.14 — Scanning (127.0.0.1:21)…
Error: Cannont read data
root@pl:~# ftpmap -S -s ftp://dota71.dlinkddns.com :: Starting FTP-Map 0.14 — Scanning (:21)…
Error: Cannont read data
root@pl:~# ftpmap -S —server -P 21 ftp://dota71.dlinkddns.com :: Starting FTP-Map 0.14 — Scanning (:21)…
Error: Cannont read data
root@pl:~# ftpmap -S —server ftp://dota71.dlinkddns.com :: Starting FTP-Map 0.14 — Scanning (:21)…
Error: Cannont read data
root@pl:~# ftpmap —server ftp://dota71.dlinkddns.com
Error: Cannont read data

WebWare Team :
Не нужно указывать протокол, так прекрасно работает:

root@WebWare:~/opt/ftpmap# ftpmap -S -s dota71.dlinkddns.com :: Starting FTP-Map 0.14 - Scanning (5.138.187.58:21). :: FTP Banner: 220 (vsFTPd 2.3.4) :: Trying to login with: anonymous:NULL :: 530 Login incorrect. :: SYST command failed. :: Trying to detect FTP server by banner. :: Trying to detect FTP server by fingerprint. :: Generating fingerprint [100%] :: This may be running : +-------------------------------+ 1) Pure-FTPd 1.0.12 (french-funny) - 6.9% +-------------------------------+ 2) Pure-FTPd 0.98.5 - 7% +-------------------------------+ 3) Pure-FTPd 0.97pre5 - 7% +-------------------------------+ :: Searching exploits. :: FTP-Map didn't find any exploits for dota71.dlinkddns.com :: Testing user 'root' for weak passwords.. :: Unable to determine FTP port sequence numbers :: Scan for: 5.138.187.58 completed :: :: Please send the fingerprint to hypsurus@mail.ru to improve FTP-Map.

FTP-протокол: что это такое и для чего он служит

url image

FTP, или File Transfer Protocol, — это протокол передачи данных, активно применяемый для пересылки файлов. FTP-адреса обычно имеют формат ftp://hostname, где hostname — доменное имя или IP-адрес, например mysite.ru или 127.0.0.1. В данной статье мы рассмотрим основы работы FTP и порекомендуем программы для подключения.

Для чего нужен FTP-сервер

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

Как работает FTP-протокол

  • Клиент подключается к FTP-серверу, вводя URL и, если не настроен анонимный доступ, логин с паролем.
  • Если всё введено верно и сервер при этом активен, выполняется соединение через порт 21 (через этот порт по умолчанию передаются команды управления файлами: например, rename — переименовать, get — получить, delete — удалить).
  • Передача файлов выполняется через порт 20, поэтому он должен быть открыт на компьютере клиента, иначе передача не начнется.
  • Соединение по данному порту закрывается, как только сеанс передачи одного или группы файлов завершен.

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

Установка FTP-сервера

В популярных версиях Windows (7 и 10) открываем Панель управленияПрограммы и компонентыВключение или отключение компонентов Windows.

Находим Службы IIS и делаем активными FTP-сервер и подчиненные каталоги (после установки галочки у папки-родителя все подчиненные каталоги также будут активными), а ниже включаем Средства управления веб-сайтом (все подпункты тоже будут активированы).

Выбираем вкладку Администрирование и находим там Диспетчер служб IIS, запускаем его двойным кликом или нажатием Enter.

Теперь в левом меню жмем ПКМ на Сайты, а там на Добавить FTP-сайт.

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

Далее в IP-адрес можно указать Все свободные, выставить порт 21, ниже активировать автозапуск и указать без SSL.

Далее выбираем тип подключения или проверку подлинности. При нажатии на Анонимный сервер не будет требовать от клиента данных для авторизации (пару логин-пароль), а значит, подключиться к нему сможет любой клиент. Если же вы планируете настроить доступ по логину и паролю, отметьте пункт Обычная. После этого нажмите кнопку Готово.

Для Linux инструкция будет отличаться. Прежде всего пользователь должен обладать правами root. Далее действия следующие:

1. Устанавливаем утилиту VSftpd через терминал.

Если у вас Ubuntu или Debian, то введите:

apt-get install vsftpd

Пользователи CentOS, Fedora должны использовать такую команду:

yum install vsftpd

А тем, кто работает на Gentoo, нужно ввести:

emerge vsftpd

2. Далее следует открыть конфигурационный файл VSftpd (он находится по пути /boot/grub/grub.conf ) и прописать там следующие значения (остальное по желанию):

anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES

3. Если нужно добавить нового пользователя с произвольным именем, это можно сделать командой adduser . Далее вводим пароль, после чего заполняем остальные необходимые данные.

4. Присвоение прав выполняется инструкцией sudo adduser new_user sudo в терминале.

5. Далее, используя команду mkdir , можно создать каталог для пользователя и даже сделать его владельцем этого каталога — chown new_user any_directory , где new_user нужно заменить на имя целевого пользователя, а any_directory — на нужный каталог.

6. Вот и всё, осталось выполнить перезагрузку инструкцией systemctl vsftpd restart .

FTP-сервер создан, теперь нужно его правильно настроить.

Настройка FTP-сервера

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

В уже знакомой вкладке Администрирование заходим в Управление компьютером, открываем Группы в разделе Локальные пользователи, кликаем ПКМ и жмём на создание группы:

Вводим желаемые данные, после чего ищем группу в списке и снова жмём по ней ПКМ. Здесь нас интересует пункт Свойства. Выбираем там вкладку Членство в группах и добавляем в нужную (у нас это ftpuser для примера).

Теперь переходим в директорию, которая будет использоваться для FTP, жмём ПКМ, выбираем Свойства, открываем Безопасность и затем Изменить. Находим пользователя и выдаём права на полный доступ и всё остальное.

Далее снова открываем Диспетчер служб IIS, там кликаем на Правила авторизации, жмём ПКМ и, выбрав разрешающее правило, настраиваем доступ на чтение и запись. Вот и всё, настройка выполнена.

Как подключиться к FTP-серверу

Первый способ — через командную строку. В Windows откройте Пуск и введите cmd, чтобы открыть командную строку (также вызывается комбинацией клавиш Win+R), в командной строке введите ftp. На Linux открыть консоль можно с помощью комбинации клавиш Ctrl+Alt+F1.

Теперь укажите адрес сервера, затем понадобится ввести логин и пароль (если заданы). Далее можно работать при помощи команд FTP или использовать один из файловых менеджеров (например, Total Commander, Norton Commander, Far Manager, Midnight Commander). Но проще установить одну из специальных программ для соединения через FTP-протокол, о которых мы и поговорим ниже.

Программы для FTP-соединения

  • Наиболее популярным приложением для этих целей является Filezilla. Для описания всех возможностей этой мощной (и бесплатной) программы потребовалась бы отдельная статья, поэтому расскажем кратко. Filezilla имеет простой интерфейс, поддерживает шифрование данных, позволяет управлять множеством подключений, поддерживает очереди передачи файлов и многое другое. Ещё одно важное преимущество Filezilla в том, что это универсальный клиент — есть версии для всех основных ОС.
  • Тем, кто работает под Windows, также может понравиться WinSCP. Его достоинство — в простоте. Однако при этом WinSCP поддерживает различные скрипты, облегчающие выполнение рутинных процессов, SSH-подключение и позволяет синхронизировать локальные каталоги с FTP-сервером, что очень удобно для поддержки актуальности данных на клиентском компьютере.
  • Еще одно простое решение — Cyberduck, доступное для пользователей Windows и MacOS. Из достоинств этой программы выделим возможность работы с облачными хранилищами (в том числе Dropbox и сервисами Google). Также у Cyberduck есть и свои инструменты для сквозного шифрования файлов, что значительно повышает безопасность данных.
  • Одним из лучших клиентов для MacOS является Transmit, преимущество которого в поддержке передачи данных практически по любому протоколу. Также эта программа несложная в освоении и при этом позволяет работать с разным количеством серверов, поддерживает передачу файлов увеличенного объема и их загрузку в облачные хранилища (включая S3). Из других полезных функций можно отметить возможность массового переименования файлов и каталогов. Правда, есть у этой программы и минус — в отличие от трех конкурентов выше она платная.
  • Следующий в нашем списке — CrossFTP. Это многофункциональный клиент, предлагающий широкий набор возможностей для удаленного управления. Он поддерживает протоколы FTP, SFTP, FTPS, WebDav и S3, что позволяет работать с различными типами серверов. У CrossFTP есть поддержка вкладок, что дает возможность одновременно работать с несколькими серверами. Также есть возможности синхронизации, передачи пакетов и шифрования файлов.
  • Пользователям Linux следует присмотреться к программе Nautilus, которая, как и весь остальной софт для ОС этого семейства, бесплатная. Это файловый менеджер для графической среды рабочего стола GNOME, причем Nautilus уже интегрирован в систему, поэтому искать и устанавливать его не потребуется. Основные функции Nautilus включают просмотр файловой системы, создание новых папок и файлов, копирование, перемещение и удаление файлов, а также переименование файлов и папок. Он также предлагает функцию поиска файлов и папок, чтобы быстро найти нужные элементы. Nautilus также поддерживает интеграцию с облачными хранилищами, такими как Google Диск и Dropbox. Это позволяет пользователям легко получать доступ к своим файлам в облаке и управлять ими прямо из программы.
  • Чтобы подключиться по FTP, не обязательно иметь компьютер — можно делать это и со смартфона или планшета. Если ваше мобильное устройство работает на Android, вам подойдет AndFTP. Функции AndFTP включают не только просмотр файлов и папок на удаленном сервере, но также загрузку и скачивание файлов с/на мобильное устройство и даже копирование и удаление файлов на удаленном сервере. AndFTP также предлагает функцию поиска файлов, а также позволяет создавать задания для автоматической загрузки или скачивания в определенное время или по расписанию. В платной версии доступна синхронизация и ряд других функций.

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

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.045 секунд. Запросов: 25.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *