Протокол FTP — что это такое, для чего используют
Один из старейших сетевых протоколов — это FTP. Для чего он предназначен, какова его роль в сетевом «общении» компьютеров, как работает данный протокол и стоит ли его использовать — ответы на все эти вопросы вы найдете в статье ниже.
В чем суть технологии FTP
Современный протокол FTP используют несколько по-другому, чем раньше. Изначально его разрабатывали для работы с большими объемами данных. Потому был придуман не только протокол FTP, но и FTP-архив. Сейчас последний стал глобальным хранилищем для множества файлов, размещенных на серверах по всему миру. Архив образован из большого количества FTP-серверов и есть специальные поисковые системы, которые позволяют искать данные по хостам, такие как Напалм или FileSearch.
Не во всякую часть FTP-архива может влезть посторонний пользователь через поисковик. Существует сервера с различным уровнем доступа. Многие знают FTP, как протокол, который нужен для загрузки сайта на хостинг, то есть который необходим для конфиденциального использования. Точно для таких же целей используют FTP-архив и для коммерческих организаций, которые хранят какую-то секретную информацию в них.
Сетевой протокол FTP: что это и зачем нужен
Но есть и множество публичных FTP-архивов, которые являются подобием файлообменников. Именно для таких архивов и созданы специальные поисковики — чтобы пользователи могли находить сразу файлы, а не статьи с долгим описанием программ или игр, вместо самих приложений.
Какое предназначение протокола FTP
Предназначен FTP протокол для передачи данных между клиентом и сервером. Он так и называется — «протокол передачи данных». Поскольку им пользуются уже очень давно, FTP вошел в число стандартов сети Intetnet. Впервые протокол был использован еще в 1971 году. За время существования он сильно изменился.
Некоторые функции убрали, и сделали упор на том, что FTP хорошо подходит для обмена данными между удаленными компьютерами. Со временем его сделали более удобным для обычных пользователей. Ведь зайти в FTP-сервер можно как при помощи специальной программы, так и используя стандартные службы операционных систем. К примеру, вы даже сможете подключиться к серверу FTP при помощи стандартного проводника Windows.
Кроме того, FTP предназначен для распределения прав доступа между пользователями сервера. Разные пользователи сервера имеют свой набор прав. К примеру, одни могут только читать данные, а другие перемещать, переименовывать, редактировать и загружать файлы на хост. Поскольку создавать FTP-сервера так же просто, как пользоваться им, многие юзеры используют этот протокол для создания удаленного доступа к своим компьютерам.
Некоторые путают FTP и TCP. Хотя эти понятия невозможно сравнивать. FTP является протоколом, а TCP — это канал, по которому он работает. А устанавливается этот канал между устройством-сервером и устройством-клиентом. «Устройством», а не компьютером, потому что FTP можно использовать и на смартфонах при помощи специальных программ, не только на ПК.
Протокол FTP | Курс «Компьютерные сети»
Учтите, что FTP — хороший протокол для работы на удаленном компьютере, если вам нужно загружать туда какие-то данные, или наоборот — скачивать их.
Но для передачи конфиденциальной информации этот протокол совсем не подходит. Именно поэтому разработчики сервиса Яндекс Диск отказались использовать FTP в качестве основного протокола, и выбрали вместо него WebDAV. FTP является открытым протоколом, который не шифрует данных. И даже если вы установите парольную аутентификацию для клиентов на сервере, данные, которые они введут при авторизации, будут переданы на хост открытым текстом. То есть стоит их перехватить, и злоумышленники смогут проникнуть на сервер.
Как работает FTP протокол
В целом, модель работы FTP протокола очень простая, потому у вас не должны появиться проблемы во время его использования. Самая банальная модель — это когда пользователь использует программу-интерпретатор. При помощи нее можно все команды выполнять в удобном интерфейсе, потому не придется знать их и вводить в терминал.
Вы отдаете команды в интерпретатор, а он по управляющему соединению передает их на сервер. Управляющее соединение работает в протоколе TELNET. Таким образом, устанавливая контакт с интерпретатором сервера, пользователь авторизуется на хосте и получает возможность использовать больше команд.
От набора команд, передаваемых по управляющему соединению, зависит поведение сервера и клиента, а также процесс передачи данных. Кроме того, при помощи команд можно управлять файловой системой клиента и сервера.
Для передачи данных используется другой канал, отличный от управляющего. Но последний инициирует вызов соединения для передачи данных. Принцип работы соединения передачи данных отличается от порядка работы управляющего канала, потому как сервер инициирует обмен файлами и данными. Хотя данное соединение может быть использовано в обоих направлениях: и для приема, и для передачи данных.
А вот в чем заключается общий алгоритм работы для любого протокола FTP на сервере:
Поскольку это самая банальная модель работы протокола FTP, бывают и более сложные случаи. К примеру, когда не пользователь работает с сервером, а сервер с сервером. При этом клиент управляют передачей данных напрямую между серверами, без посредников. И подобных примеров конфигурацией сервер-клиент можно привести большое множество. В этом кроется одно из преимуществ протокола FTP — гибкость работы.
Главное, что нужно понять в работе FTP протокола — это взаимодействие соединений и портов. Большинство ошибок во время работы по этому протоколу связаны с тем, что одна из сторон соединения не настроила свой порт. Есть пассивная и активная сторона протокола. Пассивная должна внимательно слушать и дожидаться, пока активная не передаст номер порта, который тут же нужно открыть. Если порт не будет открыт, передача данных не начнется.
Не думайте, что вы должны вручную ждать какие-то команды от активного участника соединения — это все делается автоматически. Проблемы появляются, когда, к примеру, у вас на компьютере уже занят тот или иной порт, либо заблокирован для входящих/исходящих соединений. Вот в такие моменты придется «закатать рукава», и вручную настроить компьютер, чтобы он мог корректно работать при помощи FTP.
Какие команды использует FTP протокол
Скорее всего, вам они в работе не понадобятся, поскольку вы будете использовать юзер-агент в виде программы с удобным интерфейсом. Одна из таких программ — это FileZIlla. Но всякое бывает. Возможно, у вас под рукой будет только Far Maneger, где все необходимо делать через терминал. В таком случае вы должны познакомиться с основными командами для FTP.
Чтобы подключиться к серверу, вам придется воспользоваться командой USER. Она необходима, чтобы обозначить имя юзера, который хочет открыть сессию с сервером. После того, как вы введете идентификатор пользователя в команде USER, вам нужно прописать пароль для входа. Для этого используйте специальную команду — PASS.
Одна из самых популярных функций, при помощи которой вы сможете «путешествовать» по серверу — это CWD. Команда нужна для того, чтобы вы могли перемещаться между директориями сервера. Чтобы воспользоваться командой, введите CWD и путь каталога, в который вы хотите попасть.
Если в каком-то случае вам необходимо провести реинициализацию, то есть опустить все данные и настройки текущего соединения, то используйте команду REIN. Во время ее использования передача данных не прекращается, и параметры передачи остаются прежними, какими были до команды REIN. Либо можете сделать это еще более радикальным способом — закрыть управляющее соединение при помощи команды QUIT. Она также не прерывает передачу данных, и только после окончания загрузки сессия полностью прерывается.
Для того, чтобы прописать порт в активном режиме, то есть назначить его для пассивного участника, вам нужно воспользоваться командой PORT. Проблема в том, что эта команда очень сложная для написания — вам нужно будет указать 32 бита IP сервера и 16 бит номера порта, что совсем неудобно. Потому лучше найдите способ использовать упрощенный клиент для работы по FTP протоколу, чтобы сильно не нагружать себя. В подобном клиенте изменить номер порта — это плевое дело. Достаточно зайти в настройки, найти нужный пункт и вписать в него другую цифру вместо текущей.
Команды RETR и STOR вы будете использовать для того, чтобы передавать данные с сервера и на сервер. Первая команда нужна для того, чтобы отправить выделенный файл на устройство клиента, а вторая — на сервер. А чтобы переименовать файл, вам нужно использовать две последовательные команды. Сначала пропишите RNFR со старым именем файла, а затем RNTO, указав новое имя файла. Также вам понадобится команда DELE, которая нужна для удаления данных с файловой системы, точнее того файла, который выделен в текущий момент.
Для удаления каталогов используются другие команды. Чтобы удалить выделенный каталог, вам понадобится команда RMD. А чтобы создать новую папку, используйте строку MKD. Также пользователям часто нужна функция просмотра файлов, которые имеются в каталоге. Для этого используйте команду LIST, либо NLST.
Какие есть аналоги у FTP
У протокола передачи данных FTP есть его прямые «наследники», то есть протоколы, которые образованы из ФТП. Это два протокола: TFTP и SFTP. Первый протокол не самый популярный, потому как сильно ограничен в плане команд. Он гораздо хуже подходит для управления файловой системой сервера, чем FTP. Вы не сможете даже просмотреть список файлов каталога при помощи него.
Нужен TFTP только для передачи простейшей 8-битной информации, не более. И в этом протоколе есть всего 5 команд, которые нужны для чтения, записи, запроса пакета данных и других простых операций.
А вот протокол SFTP куда более удачный, чем TFTP и в некоторых случаях — чем FTP. Дело в том, что это защищенный FTP протокол. Он является комбинацией шифрованного SSH соединения и протокола передачи данных FTP. Кроме того, в SFTP многие лишние функции исключены, которые были введены в FTP уже давно, но никем не используются.
Потому SFTP и безопаснее, чем FTP, и при этом скромнее в хорошем смысле этого слова. Рекомендуется выбирать именно SFTP в тех случаях, когда вы работаете с какими-то конфиденциальными данными. Тогда даже если хакеры и перехватят отправляемые данные по управляющему соединению, они все равно будут зашифрованными и никакой ценности взломщикам не принесут.
И лучше используйте FTP протокол в нормальных программах-клиентах, а не в терминале. Ведь так вы значительно ускорите работу по протоколу передачи данных и получите доступ к более изощренным его функциям.
Источник: wordpresslib.ru
FTP: что это и для чего нужен
Аббревиатура FTP расшифровывается как File Transfer Protocol. Из самого названия становится понятно, что этот протокол необходим для передачи файлов через Интернет или локальную сеть. Это один из первых протоколов, созданных для этой цели: он появился в 1971 году. В этой статье расскажем, как он работает, в чем заключаются его преимущества и недостатки, а также подскажем, какие программы можно использовать для настройки этого соединения.
Как работает FTP
Принцип работы FTP протокола заключается в возможности взаимодействия различных файлов и папок, расположенных на специальном сервере. Взаимодействие может быть различным: вы можете скачать, перезаписать или удалить файлы со своего компьютера. Чаще всего, этот протокол используют для подключения к хостингу или серверу, на котором располагается сайт. Это позволяет быстро осуществить дистанционное подключение и загрузить или заменить любой файл в любой папке.
Существуют следующие особенности этого типа соединения:
- Для каждого соединения используется отдельный канал;
- Поддерживается как бинарный, так и текстовый режим передачи информации;
- Всегда необходима аутентификация;
- Существует возможность определения типов файлов, которые необходимо передать.
Важнейшей особенностью FTP является множественное соединение, в котором один канал берет на себя главную роль, а остальные осуществляют передачу файлов. Главный канал отвечает за прием команды и возвращение ответа.
Протокол передачи файлов FTP может работать в двух режимах: активном и пассивном. В чем особенности каждого:
- При активном режиме с клиентского устройства отправляется IP-адрес, а также номер порта, который будет принимать данные. На основании полученных данных FTP сервер открывает соединение, начиная тем самым сессию, которая позволит передать файлы;
- При пассивном режиме можно передавать файлы даже если используется брандмауэр, который не позволяет принять от сервера входящее соединение. В этом случае соединение генерируется не сервером, а непосредственно пользователем.
Кроме того, существует и несколько режимов передачи информации:
- Поточный, при котором сервер никак не обрабатывает поступающую информацию;
- Блочный, при котором сервер делит информацию на блоки, которые могут включать в себя заголовок, объем и непосредственно саму информацию;
- Режим сжатия, при котором перед передачей информация сжимается.
Какую CRM выбрать для интернет-магазина
Что такое FTP Клиент
FTP Клиентом называется программа, которая устанавливается на компьютер пользователя. С ее помощью можно осуществить соединение. Как правило, внешний вид таких программ или приложений одинаков.
- Оболочка может быть как текстовой, так и графической;
- Содержат поля, необходимые для создания сессии, в которые потребуется ввести информацию о пользователе, а также сервере.
Более ранние программы требовали определенной сноровки и глубокого взаимодействия с операционной системой или же системой файлов на компьютере. Сегодня существуют более простые и интуитивно понятные приложения.
Программы для FTP соединения
Настройка FTP с локального компьютера всегда требует использования определенного софта. Существует несколько наиболее распространенных программ.
FileZilla
Одна из известнейших программ для подключения FTP — FileZilla. Ее интерфейс прост и понятен. Слева располагаются ваши файлы и папки, а справа — файлы и папки сервера, к которому вы подключаетесь. Поддерживается большинством операционных систем, работает с широким диапазоном протоколов и отдельных расширений для FTP, а также позволяет редактировать файлы без скачивания. Подключиться при помощи этой программы очень просто: используя стандартный порт 21, необходимо заполнить остальные параметры и выбрать «Быстрое соединение».
Total Commander
Total Commander представляет собой файловый менеджер, что существенно расширяет ваши возможности. Для подключения при помощи этой программы необходимо выбрать «Сеть», после чего остановиться на «FTP-сервер». Нажав «добавить», необходимо заполнить информационные поля. После этого можно осуществлять подключение.
Far Manager
Far Manager отличается минималистичным дизайном. Кроме того, он не нагружает систему. Тем не менее, для его использования уже могут потребоваться определенные навыки. Для подключения необходимо открыть программу и открыть окно «Change Drive», после чего необходимо остановить свой выбор на «NetBox». Далее необходимо вызвать окно ввода, для чего потребуется применить комбинацию клавиш Shift+F4.
Заполнив поля, останется лишь выбрать тип соединения и осуществить подключение.
Преимущества и недостатки FTP
Для того, чтобы определить плюсы и минусы этого протокола, необходимо понимать, для чего используется FTP в большинстве случаев. Помимо способа передачи информации, FTP может выступать в роли ее хранилища, причем объем может быть любым. Другое назначение FTP может заключаться в том, чтобы производить определенные операции непосредственно в системе.
В качестве преимуществ этого протокола можно выделить следующие особенности:
- Можно скачать любую информацию с любого компьютера;
- Можно удаленно редактировать и администрировать любые директории;
- Существует большое количество программ для работы с FTP, можно легко подобрать подходящую именно для вас;
- Множество разных доступных команд;
- В случае необходимости можно ограничить права некоторых пользователей, а также создать как черный, так и белый список.
В качестве недостатков можно перечислить такие факторы:
- Отсутствует шифрование. Иными словами, у кого угодно есть возможность просмотреть все данные, которые вы передавали в течение сессии, включая пароли;
- Уязвим для DDoS-атак;
- Отсутствует метаинформация, как следствие — отсутствует понятие кодировки.
Заключение
Зная об уязвимости этого типа соединения, можно использовать дополнительные меры защиты. Преимущества протокола в этом случае перекрывают недостатки. Из любого сервера при помощи FTP можно создать директорию, с которой вы сможете взаимодействовать удаленно в любое удобное время, что делает его незаменимым инструментом при работе с сайтами.
Источник: arcticlab.ru
Передача файлов по FTP
Написать уникальный текст о FTP, когда по запросу “ftp что это” Гугл возвращает более 7 миллионов материалов – задача непростая. Но мы попытаемся.
Что такое FTP и с чем его едят?
FTP – древнейший протокол обмена файлами (собственно, аббревиатура FTP так и расшифровывается – File Transfer Protocol). Появился он в 1971 году, задолго до появления HTTP и даже TCP/IP. По возрасту он ровесник системы электронной почты.
Протокол хоть и древний, но используется по сей день. Он простой и популярный, а программа для обмена файлами (то есть FTP-клиент) есть практически в любой операционной системе (команда ftp) – это и есть залог успеха.
Для личного обмена файлами между пользователями можно использовать самые разные средства – можно передать файл через мессенджер (Skype, Viber, Telegram и т.д.), можно отправить по электронной почте, загрузить в облако (Яндекс.Диск, Google Drive) и поделить ссылкой. Но у всех этих способов есть, как правило, ограничение по размеру передаваемого файла/размеру хранилища облачного диска. В случае с протоколом FTP нет никаких ограничений на размер файла (разве что ограничение файловой системы), а размер хранилища ограничен только размером диска сервера.
Список команд можно получить путем ввода команды help, а описание каждой команды – с помощью команды
help > имя команды
Если вы заинтересовались командами FTP, с полным списком можно ознакомиться по ссылке .
Рис. 1. Набор команд File Transfer Protocol
Вкратце сервер работает так: получив команду на загрузку файла, он проверяет права доступа (можно ли этому пользователю что-либо делать с запрашиваемым файлом), и если проверка прошла успешно, он начинает отправлять файл клиенту.
Что такое FTP-сервер? Это просто компьютер, на который установлено соответствующее программное обеспечение. По сути, в FTP-сервер можно превратить любой компьютер – совсем не обязательно, чтобы на нем была установлена серверная операционная система. Но, как правило, такое ПО устанавливается на полноценные серверные ОС – так безопаснее. Ранее мы писали, как можно организовать файловый сервер в Windows Server 2016.
В Linux для установки файлового сервера достаточно установить пакет proftpd. В Ubuntu команда установки будет выглядеть так:
sudo apt-get install proftpd
Сегодня FTP-сервер – неотъемлемая часть хостинга. Когда пользователь покупает хостинг, то есть услугу по хранению файлов его сайта, доступ к файлам осуществляется, как правило, по FTP. В некоторых случаях в панели управления хостингом есть файловый менеджер, но работать с файлами по FTP обычно удобнее, чем через браузер – хотя бы потому, что нет ограничений на upload файла (по протоколу HTTP устанавливается максимальный размер загружаемого файла, по протоколу FTP размер загружаемого файла ограничен только размером доступного пользователю дискового пространства). При желании развернуть FTP-сервер можно и в корпоративной среде, на виртуальном сервере VDS – для более удобного доступа к файлам.
Ранее был показан стандартный клиент – команда ftp. Аналогичные команды есть и в Linux, и в macOS. Но интерфейс командной строки в 2018-ом году выглядит очень архаично, поэтому стандартной программой-клиентом пользуются разве что администраторы на Linux-серверах, когда ничего другого под рукой, как правило, нет.
А обычные пользователи устанавливают более удобные программы с графическим интерфейсом. Одним из самых удобных клиентов является FileZilla . Кстати, на сайте проекта FileZilla можно скачать не только клиент, но и сервер. Приложение FileZilla Server можно установить на настольную «операционку» («семерку» или «десятку») и превратить обычный десктоп в FTP-сервер.
Рис. 2. Приложение FileZilla
Доступ к FTP-серверу или как подключиться
Чтобы подключиться к FTP-серверу нужно знать три основных параметра:
- имя или IP-адрес сервера
- логин
- пароль
Как правило, протокол FTP использует порт 21, но если администратор в настройках сервера изменил номер порта, то для подключения необходимо еще и указать нестандартный номер порта.
Некоторые FTP-серверы поддерживают анонимный режим: к ним можно подключиться, указав в качестве имени пользователя anonymous (или guest), а в качестве пароля – свой email. В анонимном режиме пользователи обычно не имеют права загружать файлы на сервер, а только скачивать файлы с него. Такой режим обычно используется для доступа к публичной информации, когда файлы разрешено скачать всем желающим.
Для подключения к FTP-серверу в приложении FileZilla нужно указать параметры доступа и нажать кнопку Быстрое подключение. На рис. 3 показано, что мы подключились к публичному FTP-серверу ftp.redhat.com. Слева изображен список каталогов локального компьютера, а справа – список каталогов FTP-сервера.
Рис. 3. Подключение к серверу
Источник: www.xelent.ru
Протокол FTP (SFTP, FTPS) — что это такое, соединение между клиентом и сервером по ФТП
Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Очередным шагом на пути познания механизма передачи информации в интернете станет изучение FTP, посредством которого можно в том числе работать с любыми файлами на удаленном сервере.
Оглавление
- Что такое ФТП и в чем его отличие от HTTP
- Взаимодействие между Клиентом и Сервером по протоколу FTP
- Виды безопасного ФТП (SFTP, FTPS и с использованием SSH)
Как и в случае с HTTP (о всех нюансах которого я сообщал тут), базовой составляющей действия этого протокола является взаимодействие «клиент-сервер», подробности которого мы непременно разберем в данной публикации.
Перед нами не стоит цель с головой окунуться в дебри и по косточкам разобрать абсолютно все разделы этой темы, но вот знание основ работы ФТП и его безопасных вариантов SFTP, FTPS, а также туннелирования посредством SSH-соединения может оказать вам практическую пользу в дальнейшем. В процессе повествования я постараюсь избежать ненужных заумных выражений и объяснить все простыми и понятными словами.
Что такое FTP и в чем его отличие от HTTP
Итак, аббревиатура FTP означает «File Transfer Protocol» и переводится с английского на русский как «протокол передачи файлов». Как и HTTP, файловая передача основывается на модели, состоящей из совокупности протоколов TCP/IP (Transmission Control Protocol/Internet Protocol), на которой и базируется современный интернет.
Если HTTP, который также является протоколом, был изначально предусмотрен создателями для осуществления передачи гипертекста (что это такое?) и небольших текстовых файликов, то ФТП служит для «транспортировки» практически любых файлов.
Вообще, чтобы получше понять суть сегодняшней темы и осмыслить те нюансы, которые будут разобраны нами далее, лучше сразу обратить внимание на основные отличия между FTP и HTTP, выделенные в ниже следующей табличке:
ФТП-соединение по умолчанию происходит через port 21, если не установлен другой порт. Важно также отметить, что этот протокол снабжен двоичным (бинарным) режимом передачи, что экономит трафик и сокращает время обмена данными при передачи больших файлов.
Взаимодействие между Клиентом и Сервером по ФТП
Перед тем, как продолжить, необходимо определиться с еще некоторыми терминами, которые будут совсем не лишними для восприятия картины в целом.
FTP server — это сервер, который предусматривает возможность использования протокола передачи файлов. Он обладает определенными особенностями, отличающими его от обычных вэбсерверов, а именно теми, которые в основном также присущи одноименному протоколу и представлены в табличке выше:
- необходима аутентификация пользователей (ввод логина и пароля);
- все операции производятся в рамках текущей сессии;
- возможность осуществления различных действий: загрузка и выгрузка файлов, их переименование и удаление, создание и удаление каталогов и т.д.;
- применяется отдельный канал для каждого соединения;
- поддерживается два варианта передачи: текстовый и двоичный (бинарный), что позволяет передавать файлы различного размера;
Ярким примером ФТП-сервера может служить server хостинга (что означает этот термин), на котором «живет» сайт. Эта информация для вебмастеров не является тайной за семью печатями, но вот тем, кто только планирует заняться сайтостроением, будет как раз к месту.
FTP client — это программа, позволяющая подключиться к удаленному серверу по ФТП и также выполнять на нем необходимые действия с элементами файловой системы. К слову, клиентом вполне может быть браузер, в адресную строку которого следует ввести урл, представляющий собой путь (c протоколом FTP) до определенного каталога или файла на удаленном сервере, в соответствии с общей блок-схемой URL:
Или применить более сложный вариант, ежели используется порт, отличный от 21:
Однако же, использование веб-обозревателя в таком разрезе позволит лишь просмотреть или скачать интересующие файлы. Для того, чтобы в полной мере задействовать все плюсы FTP, в качестве клиента следует применить специализированный софт наподобие Файлзиллы (в этом мануале даны все нужные инструкции по установке, настройке и работе с данной программой):
Чтобы подключиться через уже настроенный клиент FileZilla к удаленному серверу, необходимо ввести название хоста, в качестве которого используется IP-адрес сайта, соответствующий его домену (что такое доменное имя и как его приобрести), имя пользователя, пароль и порт.
Кстати, в статье о Файлзилле дана не только стандартная информация, но и практические советы по устранению ее уязвимости в плане безопасности (несмотря на кучу плюсов, проблемы такого рода у ней есть, впрочем, как и у других программ подобного профиля), поэтому настоятельно рекомендую прочитать этот материал, перейдя по чуть выше предоставленной ссылке.
Но продолжим. Схематически взаимодействие «клиент-сервер» при ФТП-соединении можно наглядно представить следующим образом:
Если расписать этот процесс по пунктам, то получится примерно следующее:
- Пользователь активирует клиентское приложение и соединяется с сервером, введя логин и пароль.
- Устанавливается управляющее соединение между соответствующими модулями — интерпретаторами протокола со стороны клиента и сервера.
- Пользователь посредством клиента посылает команды серверу, определяющие различные параметры FTP-соединения (активный или пассивный режим, порт, вид передачи данных, их тип), а также директивы для действий, которые юзер намерен осуществить (например, удалить, переименовать, закачать файл и т.д.).
- После того, как установлены все необходимые параметры, один из участников (к примеру, клиент), являющийся пассивным, становится в режим ожидания открытия соединения на порт, который задан для передачи информации. Затем активный участник открывает соединение и начинает передавать данные по предназначенному для этого каналу.
- По завершении передачи это соединение закрывается, но управляющий канал между интерпретаторами остается открытым, вследствие чего пользователь в рамках той же сессии может вновь открыть передачу данных.
Если пользователь является администратором сайта, который расположен на удаленном сервере, то после аутентификации и подключения он в силах совершать любые возможные действия.
Однако, в интернете довольно много бесплатных ФТП-серверов, по сути являющихся библиотеками разного рода файлов, которые предназначены для хранения и скачивания текстовых документов, музыки, фото, видео, дистрибутивов программ и т.п.
В этом случае зарегистрированный пользователь после авторизации имеет весьма ограниченный доступ к определенным каталогам и может осуществлять только лишь некоторые установленные операции с их содержимым (скажем, просматривать и скачивать файлики).
Кроме стандартного соединения с сервером, предусматривающего ввод данных аутентификации, существует понятие анонимного FTP, когда любой пользователь может подключиться к серверу без предоставления персональных данных. Если при этом использовать браузер в качестве клиента, то адрес доступа к файлу может быть упрощен и представлен так:
ftp://goldbusinessnet.com/images/file-1.jpg
На практике при анонимном ФТП обычно в качестве логина для доступа применяется известное в сети слово «anonymous», а в качестве пароля — адрес электронной почты, который, впрочем, в большинстве случаев не проверяется.
Безопасный ФТП (SFTP, FTPS и с использованием SSH)
Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.
Но с развитием Мировой Паутины ее частью стал помянутый APRANET, а, следовательно, и технология FTP перекочевала туда же, поскольку обладала многими преимуществами. Однако, одновременно на несколько порядков возросла опасность несанкционированного доступа.
Поэтому возникла насущная необходимость защиты серверов от различного рода атак. Обычный ФТП не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками.
По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP». Вот какие разновидности протокола соответствуют этому термину:
1. FTPS (FTP + SSL) — фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:
1.1. Неявный является устаревшим и использует стандартный протокол, требующий применения SSL или TLS, которые могут обеспечить шифрование информации. При таком методе обязательно нужно использовать порты, отличные от обычных, что создает неудобства, поскольку нарушается совместимость клиентов и серверов, не поддерживающих FTPS.
1.2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».
2. SFTP (SSH FTP) — протокол прикладного уровня для передачи файлов, который работает поверх безопасного канала, его не следует путать с «Simple File Transfer Protocol», имеющего такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ФТП протокол, который снабжен SSH (Secure Shell — безопасная оболочка).
Главное, в чем заключается его отличие от стандартного ФТП и ФТПС, это то, что СФТП шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию. Так как это совершенно другая конфигурация, клиенты FTP (FTPS) не могут соединиться с SFTP-сервером.
3. FTP через SSH — производит обычную FTP-сессию через SSH-туннель, то есть этот вариант нельзя путать с SFTP, который является отдельным независимым протоколом. Этот метод нельзя назвать стопроцентно безопасным. Почему?
Дело в том, что если несколько SSH-клиентов устанавливают туннель для управляющего канала, который изначально осуществляется через 21 порт (а такая ситуация практически всегда и наблюдается), то защищенным окажется именно этот канал. При передаче же данных клиентское программное обеспечение откроет новые TCP-соединения, которые будут находиться уже вне воздействия защитной оболочки SSH.
Надеюсь, вы не запутались во всех этих вариантах безопасных протоколов. Для того, чтобы как-то облегчить понимание, позволю себе сделать краткое резюме. Объективно обеспечивающим самую высокую степень защиты является SFTP. Немного уступает ему в надежности явный FTPS, однако он более удобен, поскольку дает возможность пользоваться обычными портами. Какой из них выбрать, зависит от вида задачи, которая перед вами стоит и, конечно, настроек сервера.
Источник: goldbusinessnet.com