Содержание
FTP или File Transfer Protocol — протокол передачи данных, который предназначен для соединения сервера и клиента и передачи файлов с одного на другой. Используется в локальной сети и интернете. С развитием TCP/IP стал использоваться гораздо реже и преимущественно специалистами для загрузки файлов на сервер и обмена с другими пользователями.
Как он работает, где и какие клиенты скачать, как пользоваться FTP и обезопасить соединение расскажем в этой статье.
История FTP
Протокол появился в 1971 и состоял из двух частей:
- Заголовок, размером 72 бита. Содержал техническую информацию для опознания файла. Писался в виде запроса к серверу, либо ответа от него. Там же содержалась информация о размере, типе и длине передаваемых данных.
- Данные переменной длины. Писались в форме параметров запроса.
Один канал мог передавать одновременно команды и данные. В эпоху узких каналов это было существенным преимуществом.
В 1972 году протокол переписали, и он стал похож на современный. Команды с ответами сервера стали передаваться по каналу управления. Сегодня технология известна как TELNET-соединение. Данные передавалась через специализированный канал, который создавался именно для них.
Дальнейшие изменения добавляли функциональность протоколу. В частности, добавилась поддержка пассивного режима. Незначительное время можно было даже пересылать через FTP электронную почту, но дальнейшее развитие технологии исключило поддержку функции.
С появлением TCP в начале 80-х годов, FTP получил поддержку и стал работать на основе более совершенного протокола. К 1985 мир увидел последнюю редакцию, хотя изменения продолжались и после указанной даты, пусть и были косметическими. В частности, в 1999 году появилась поддержка UTF-8, которую и стали рекомендовать к использованию.
Предназначение службы FTP в Интернете
Служба FTP в Интернете предназначена для прямого обмена файлами между клиентом и сервером. До появления пиринговых сетей протокол использовался как основное средство прямого файлообмена.
По состоянию на 2021 год сознательно применяется в основном специалистами. Если надо загрузить файл на сервер для дальнейшей обработки, применяется данный протокол. Такое происходит, например, при создании сайта.
Не зная о применении протокола, пользователи используют FTP всякий раз, когда скачивают определенный файл или загружают его на сервер. Чаще всего это картинки, софт, видеозаписи.
Принцип работы FTP
FTP-сервер — обыкновенный компьютер, предназначенный для того, чтобы на нем работал специализированный софт, позволяющий подключаться другим пользователям. Такие программы называются FTP-клиентами и могут быть как составной частью операционной системы, так и сторонними разработками.
По состоянию на 2021 год в качестве FTP-клиента используются дополнения популярных браузеров и сторонние разработки. Пользователи некоторых дистрибутивов Linux могут запустить FTP-сервер сразу после установки операционной системы.
Взаимодействие между удаленным пользователем и сервером выглядит следующим образом:
- На сервере открыт 21 порт, через который подключается пользователь. Теоретически связь налаживается и через другие порты, но по умолчанию используется 21.
- Пользователь подключается через удобный интерфейс, попадая на управляющий канал.
- FTP-клиент проверяет пользователя и отправляет запрос интерпретатору. Это дополнительный программный продукт, который немного похож на компилятор, только результат работы выдает не в форме приложения, а в виде готового к использованию или обработке файла. В задачу интерпретатора входит опознать пользователя и согласовать формат его взаимоотношений с сервером.
- После согласования пользователь ожидает номер канала для передачи файлов. Используется не 21 порт.
- После передачи файла специальный канал для пользователя закрывается, но 21 порт остается открытым. Это нужно на случай появления новых команд для обработки.
Если домашний компьютер не используется как FTP-сервер, рекомендуется закрыть 21 порт ради повышенной безопасности.
Что такое FTP-клиент
Как было сказано выше, FTP-клиент это программа для работы с FTP-сервером. Различается их функционал, сложность управления, но главное остается тем же — данный софт предназначен для работы с сервером.
Существуют как специализированные программы, предназначенные для всех или большинства популярных операционных систем, так и специфические версии. Учитывая, что на большинстве серверов установлен один из дистрибутивов Linux или ОС семейства BSD, желающим завести файловое хранилище рекомендуется взять один из старых компьютеров и установить подходящую систему.
Затем понадобится установить программное обеспечение, которое подходит к системе. В случае с семейством BSD это FTTP-HPA, а если речь идет о Linux, рекомендуется изучить свой дистрибутив. Скорее всего по умолчанию присутствует FTP-клиент, который изначально оптимизирован для данной системы.
Пользователям Windows рекомендуется познакомиться с популярными решениями под самую распространенную операционную систему.
Где скачать FTP-клиент
Fillezilla
Одна из самых популярных программ для работы по FTP. Присутствуют версии для всех популярных операционных систем, в том числе, для Linux. Скачать можно по ссылке, после чего установить и пользоваться.
Программное обеспечение ставится стандартным способом, не требует дополнительных навыков от пользователя. Отличительные особенности — интуитивно понятный интерфейс и высокий уровень функциональности.
Win SCP
Из названия видно, что программное обеспечение предназначено для операционной системы, которая относится к семейству Windows. Скачать программный продукт можно по ссылке и таким же образом установить.
Существуют версии как для последней версии операционной системы, так и для более старых.
Mozilla FTP
Раньше в браузере Mozilla Firefox была поддержка FTP, но из-за небезопасности протокола, в 2021 году она была удалена. Про безопасность читайте далее в статье.
Как пользоваться FTP сервером
Чтобы пользоваться FTP сервером, достаточно самого простого компьютера, который способен выходить в интернет. Не обязательно даже иметь самую актуальную версию операционной системы. Чаще всего программные продукты для связи с файловым сервером обладают обратной совместимостью. Поэтому достаточно того, чтобы у пользователей была относительно свежая версия программного обеспечения.
Первым делом проверьте, что компьютер может быть подключен к интернету. Для этого можно запустить браузер. Если интернет страницы открываются, значит все хорошо. Если не открываются, проверьте корректность открытых портов, после чего вновь повторите попытку. Если все хорошо, переходите к следующему пункту.
Установка FTP-сервера
После скачивания установочного дистрибутива следует запустить программу. Некоторые программные продукты предлагают установку в графическом режиме. Для новичков рекомендуется пользоваться этой возможностью.
Для остальных представлена удобная командная строка. Во время установки программного обеспечения рекомендуется определить политику безопасности. Пользователю предстоит решить давать ли каждому возможность скачивать файлы или нет. Если принято отрицательное решение на поставленный вопрос следует установить логин и пароль, который затем выдавать пользователям.
Настройка FTP-сервера
Основные настройки заключаются в том, чтобы правильно указать имя директории, в котором будут лежать файлы для скачивания, а также ограничить доступ в другие папки. Современные FTP-клиенты позволяют это делать в графическом режиме.
Новичкам не рекомендуется переходить к более тонким настройкам, если нет соответствующего опыта.
Порт FTP по умолчанию
Как было сказано выше, по умолчанию используется 21 порт. Также применяется 20 порт. Порт представляет собой цифру транспортного протокола. Закрытие или открытие порта не подразумевает переключения реального рычажка в системном блоке. Абстрактно это можно сравнить с перекрытием трасс во время проведения ремонтных дорог.
Для каждого приложения выделяется собственный порт для удобства использования. Это сделано для того, чтобы избежать возможных конфликтов между разными программами.
Если по каким-то причинам нужные порты закрыты, их надо открыть. В операционной системе Windows это делается через встроенный брандмауэр, в то время как в Linux преимущественно через терминал. Если пользователь не очень любит командную строку, надо смотреть особенности конкретного дистрибутива.
Как подключиться по FTP к серверу
Для доступа к FTP-серверу необходимо иметь набор данных. Обычно пользователь их получает после регистрации в каком-то сервисе или при личном общении. Предположим, что эти данные уже есть.
Обязательно проверьте, что у вас должен быть известен:
- Логин. Предположим, что перед нами самый сложный вариант подключения. Владелец сервера закрыл свободный доступ к своим файлам.
- Пароль. Получить его можно у владельца сервера.
- Ссылка. Внешне напоминает ссылку на обычную web страницу, вот только нет http. Вместо этого в начале ссылки написано ftp.
- Порт. Чаще всего используется 21 порт. Предположим, что он таким и остался, владельцу незачем лишний раз усложнять задачу.
Подключиться к серверу можно встроенным в Windows способом. Достаточно нажать в проводнике на «этот компьютер» и добавить новый элемент в сетевое окружение.
Пользователь увидит окно специального мастера, который поможет выполнить запланированную операцию. Сначала надо просто нажать на кнопку «далее», а затем выбрать сетевое расположение. Если доступен только один вариант, это нормально.
Затем система предложит указать ссылку на ресурс. Просто введите адрес сервера, не забыв в начале указать, что речь идет о протоколе ftp. Теперь осталось указать имя. Система не спросит пароль и это нормально. Он ведь может меняться. Пароль будет спрашивать сам сервер всякий раз, когда к нему обращается пользователь через проводник.
Осталось дать название новому подключению. Назвать можно как угодно, после чего заверить работу мастера. Новым подключением можно воспользоваться с помощью проводника. Достаточно открыть сетевые расположения в этом компьютере.
FTP команды
Эксперты рекомендуют пользоваться командной строкой как более удобным инструментом для работы с FTP-сервером. Хотя список команд очень большой и новичков может испугать, достаточно для начала познакомиться с основными:
- ?. Вопросительный знак, написанный рядом с командой выводит на монитор справку. Очень удобно для желающих самостоятельно узнать все необходимое о работе конкретной команды.
- Cd. После команды печатается путь к нужному каталогу для работы. Программа соединяет пользователя с выбранным каталогом.
- Delete. Команда удаляет файл. Рекомендуется пользоваться командой с большой осторожностью.
- Dir. Простой способ узнать список файлов в конкретном каталоге.
- Get. Команда, с помощью которой пользователь получает файл прямо с сервера.
- Open. Команда, предназначенная для установки соединения с сервером. Первая команда, с которой знакомится большинство пользователей ftp.
- Quit. Правильный способ завершения сеанса.
Важное замечание: выше представлен неполный список команд, с которыми может познакомиться пользователь.
Уязвимости FTP
Главная опасность — открытый порт, через который злоумышленник может получить доступ к пользовательскому компьютеру. Также существуют дыры в популярных FTP-клиентах. Часть из них долго не устраняется, чем пользуются злоумышленники.
Для безопасного использования FTP рекомендуется грамотно настраивать подключение, вовремя завершать сеанс FTP.
Безопасные варианты FTP
Вредоносный код может попасть на сайт или локальный компьютер разными способами, в том числе, через неграмотно настроенное FTP-подключение. Полностью избежать опасности невозможно, поскольку значительная ее часть основывается на дырах внутри программного обеспечения.
Злоумышленники их ищут, чтобы получить доступ к компьютеру. Хотя полностью себя обезопасить нельзя, но можно повысить уровень спокойствия соблюдением ряда рекомендаций:
- Проверяйте компьютер антивирусом с обновляемой базой. Таким образом можно избежать проблем с вредоносным кодом. Способ не универсальный, но может помочь в трудной ситуации.
- Откажитесь от использования FTP в публичных местах. Подключение небезопасно и легко может быть перехвачено.
- Не сохраняйте пароль в используемом программном обеспечении. Похитить его оттуда достаточно просто.
- Регулярно меняйте пароль, если это возможно.
FTPS
Специальное расширение, которое добавляет криптографическую защиту в уровни транспортной безопасности.
Для работы существуют клиенты, которые могут работать в данном режиме. Если возможно, рекомендуется использовать разработку для повышения уровня безопасности.
SFTP
Протокол прикладного уровня, суть которого заключается в установке безопасного соединения, а все операции по копированию файлов делаются поверх него.
Для работы требуется установить клиент SFTP аналогично тому, что используется для работы с обычным FTP.
FTP через SSH
SSH — протокол для обмена данными, который использует открытый ключ шифрования и пришел на замену TELNET.
По состоянию на 2021 год считается одним из самых безопасных способов файлового обмена. Для работы требуется SSH-клиент, который устанавливается почти тем же образом, что традиционный клиент FTP.