Что такое FTP-сервер

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

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

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

Как выглядит FTP сервер

Визуальное представление зависит от системы, через которую выполняется вход. Есть специальные программы типа FileZilla, в ней данные выводятся в виде привычного всем Total Commander.


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

Особенности FTP сервера

Более подробно рассмотрим технические аспекты и расскажем, что такое ftp сервер и как он работает.

Главная функция FTP - передача файлов.

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

  1. Требуется аутентификация.
  2. Наличие выделенного канала для каждого соединения.
  3. Поддержка 2-х режимов передачи данных: текста и бинарного (в двоичной системе). Второй вариант сокращает время и трафик.
  4. Использование множественного подключения как минимум двуканального. Через один передаются команды управления и возвращаются обработанные ответы. С помощью других осуществляется файловая передача из расчета выделенный канал на каждую.

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

Для входа на сервер требуется заполнить форму авторизации, иначе говоря, пройти аутентификацию. После ввода логина (user) и пароля (pass) эта информация передается в систему. Если она принята, клиент получит приглашение и откроется рабочая сессия.

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

Есть еще один вариант, как зайти на FTP сервер - анонимный доступ. По умолчанию вход происходит при вводе логина «anonymous», написание может отличаться регистром букв. Однако самый распространенные способ, когда предлагают залогиниться с помощью электронного адреса. Такой вариант доступа используют многие FTP-хосты, рассылающие обновления ПО.

Для подключения можно использовать веб-браузер или файловые менеджеры типа Total Commander, FileZilla. Через браузер вы сможете просмотреть и скачать файлы, при этом внести изменения не сможете.

Удобнее работать через программу-клиент FileZilla (можно скачать в свободном доступе).

Создаем новое подключение следующим образом:

  • В поле «Хост» вводим адрес ftp-сервера.
  • Заполняем поля «Имя» пользователя, «Пароль» и, при необходимости, «Порт».

Где взять адрес? Если вы подключаетесь к серверу, размещенному на хосте, все доступы есть у владельца сайта, их предоставил провайдер.

Для чего еще используют FTP

Файлы веб-сайтов – это самый распространенный вариант использования, но это далеко не все, что располагается на FTP серверах.

Там можно хранить любую рабочую либо личную информацию больших объемов, как вариант, фотографии, видеофильмы.

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

Недостатки FTP-серверов

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

Проверка подлинности источника пакета передачи данных отсутствует, это приводит к уязвимости перед dDoS-атаками.

Протокол FTP является разновидностью протокола для передачи данных, который используется с целью копирования и перемещения файлов в интернете и внутри TCP-сетей. FTP достаточно часто применяется с целью загрузки страниц и документов различного типа на хостинговые компьютеры. Протокол FTP использует архитектуру «клиент-сервер» и различные соединения внутри сети для того, чтобы передавать команды и информацию от клиента к серверу и наоборот. Пользователям FTP разрешается проходить процедуру аутентификации при помощи логина и пароля, либо же, если такая форма разрешена на сервере, пользователи могут получать доступ в анонимном режиме.
Кроме обычного протокола, также применяется FTPS, представляющий собой особое расширение стандартного FTP, которое дает возможность клиентам получать доступ к серверу и использовать зашифрованные сессии передачи информации. Такой подход реализуется при помощи отправки команды аутентификации «auth tls», при этом серверу разрешается принимать либо отклонять соединения, не запрашивающие TLS-соединений.

SFTP

SFTP является стандартом передачи информации в интернете, который предназначается для перемещения и копирования файлов при помощи соединения повышенной надежности и безопасности SSH (Secure Shell). Данный тип соединения может обеспечивать доступ и безопасную передачу, которая осуществляется с шифрованием как логина и пароля, так и самого содержимого передачи, благодаря чему осуществляется предохранение паролей и конфиденциальной информации от открытой передачи в сети.
В отличие от FTP, протокол SFTP, несмотря на схожие функции, пользуется другим протоколом передачи данных, в связи с чем, стандартные клиенты не могут связываться с SFTP-серверами.

Особенности стандарта FTP

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

Особенности активного режима

Во время активного режима клиент инициирует управляющее соединение с серверным портом 21, передавая команду «port», при помощи которой указывается адрес и порт трансфера информации. После получения этой команды сервер запускает соединение собственного 20-го порта с указанным портом пользователя.
Основным недостатком данного метода является обязательное наличие у пользователя для работы выделенного IP-адреса в интернете. Кроме того, некоторые проблемы могут возникнуть, если клиент находится за брандмауэром либо NAT.

Особенности пассивного режима

Для того, чтобы установить пассивное соединение, пользователь должен передать серверу специальную команду «pasv». В качестве ответа на эту команду сервер передает информацию об адресе и порте, с которым клиент должен установить соединение. После получения этих данных, пользователь осуществляет подключение к серверному компьютеру и проводит передачу информации.
При использовании пассивного режима абсолютно все соединения инициируются клиентом, в связи с чем какие-либо требования к нему отсутствуют. Пользователю допускается пользоваться NAT и брандмауэром, а также не использовать выделенный IP-адрес. Поэтому сегодня в качестве основной разновидности доступа и передачи файлов по протоколу FTP в интернете используется именно пассивный режим.

Настройка в случае использования брандмауэра

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

Настройка в случае использования NAT

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

Через различные ТСР-сети, в числе которых значится также и интернет. Данные протоколы достаточно часто применяются для загрузки всевозможных сетевых страниц или же документов с частного устройства разработки на различные открытые серверы хостинга.

Что они собой представляют?

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

Немного истории

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

Порты FTP в наши дни являются одним из самых старых стандартов, ведь он появился в 1971 году еще до TCP/IP и HTTP. В первое время его использовали исключительно поверх NCP, однако на сегодняшний день его применение активно распространяется и для передачи различного программного обеспечения, а также получения доступа к удаленным ресурсам.

В чем его отличия от HTTP?

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

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

В чем преимущества?

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

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

Как это работает?

Работа осуществляется на прикладном уровне модели OSI и применяется для того, чтобы передавать данные при использовании TCP/IP. Для этого изначально требуется запуск FTP-сервера, который будет ожидать входящие запросы. В случае необходимости клиент самостоятельно сможет связаться с данным сервером, используя порт под номером 21. Стоит отметить тот факт, что такое соединение будет оставаться открытым на протяжении данной сессии. Второе соединение открывается сервером из порта под номером 20 к тому порту, который использует клиент, что называется активным режимом, или же может открываться непосредственно самим клиентом из любого удобного ему порта к порту соответствующего сервера. Это называется пассивным режимом и требуется для передачи файла.

Использование потока управления осуществляется для работы с определенной сессией. К примеру, такие потоки активно применяются в процессе обмена между сервером и клиентом всевозможными паролями или же командами, если применяется протокол типа telnet. Таким образом, например, команда «RETR имя_файла» осуществит передачу определенного файла клиенту с сервера. Из-за формирования такой двухпортовой структуры FTP на сегодняшний день принято считать внешнеполосным протоколом в отличие от НТТР, который остается внутриполосным.

Как настроить?

Если вы не знаете, как FTP, сделать это можно при помощи ресурса FileZilla следующим образом:

  1. Изначально запускаете сам FileZilla.
  2. Теперь открывайте «Менеджер сайтов», после чего во всплывшем окне жмите кнопку «Новый сайт».
  3. На вкладке «Общие» вводите: Хост: используемый вами домен; Тип сервера: FTP или же FTPES (рекомендуется использовать именно последний), Тип входа: "Нормальный" или же "Запросить пароль" (опять же, последний вариант является оптимальным по той причине, что ваш пароль не будет сохраняться, хоть и придется постоянно вводить его при входе); Имя пользователя: вводите в данную строку ваш логин FTP.
  4. Теперь переходите в пункт «Настройки передачи», после чего выбирайте в разделе «Режим передачи» пункт «Пассивный».
  5. В конце нажимайте на кнопку «Соединиться».

Теперь вы сделали FTP, ваше соединение настроено и сохранено в «Менеджере сайтов», а вы можете пользоваться им на ваше усмотрение.

Анонимный протокол

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

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

NAT-PT протокол

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

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