Что такое FTP-сервер и для чего он нужен?

FTP-сервер — это сервер, работающий по протоколу File Transfer Protocol и предназначенный для обмена файлами через Интернет или локальную компьютерную сеть.

Что такое FTP-сервер простыми словами

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

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

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

Что такое FTP-сервер простыми словами

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

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

Серверам FTP свойственны определённые особенности, отличающие их, к примеру, от web-серверов:

использование для каждого соединения отдельного канала;

поддержка бинарного (двоичного) и текстового режимов передачи информации;

необходимость аутентификации пользователя;

возможность определения типов файлов, подлежащих передаче.

У FTP-серверов есть недостаток — они слабо защищены от попыток взлома. Несмотря на это, к настоящему времени они являются, пожалуй, самым популярным решением для удалённой передачи файлов.

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

Его основное назначение — удалённая передача файлов. Кроме этой главной операции, можно удалять файлы с сервера, переименовывать их, создавать папки.

Чаще всего FTP-сервер используется для:

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

обмена корпоративными данными — например, между филиалами одной компании;

передачи контента веб-сайта на сервер хостинговой компании.

Разумеется, это — не исчерпывающий перечень вариантов применения FTP-сервера. Это универсальный инструмент, поэтому его можно использовать и во многих других ситуациях.

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

ftp server

Такое название имеет протокол, ориентированный на пересылку данных в виде файлов в Интернете и локальных компьютерных сетях. Его особенность — множественное соединение. Один канал играет роль управляющего, через него сервер принимает команды и возвращает ответы (как правило, через 21-й порт). Прочие каналы применяются собственно для передачи файлов (чаще всего через 20-й порт).

Перед началом работы с протоколом клиентское устройство открывает сессию. На протяжении всей дальнейшей работы она остаётся открытой — сервер «запоминает» состояние сессии.

Есть два режима, в которых может работать протокол:

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

ftp server

Обмен информацией между сервером и клиентом по протоколу, в свою очередь, также может проходить в одном из нескольких режимах:

поточном. Информация перемещается между клиентом и сервером сплошным потоком, протокол её никак не обрабатывает;

блочном. Протокол делит поток информации на блоки (заголовок, объём, собственно данные);

режиме сжатия. Информация перед передачей сжимается тем или иным алгоритмом.

Сервер FTP использует аутентификацию клиента по схеме «имя пользователя/пароль». Клиентское устройство отправляет эти данные, сервер проверяет их, и при обнаружении соответствия отправляет клиенту приглашение. Кроме того, можно организовать и анонимный доступ к серверу — без предоставления имени и пароля.

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

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

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

Обратите внимание: компания Microsoft в своей ОС Windows начиная с её 7-й версии реализовала инструмент IIS — Internet Information Services. Он предназначен для того, чтобы открыть к определённой папке общий доступ из сети. Наличие IIS позволяет создать на базе Windows простейший FTP-сервер, не используя для этого стороннее программное обеспечение.

Рассмотрим порядок действий, которые нужно выполнить, чтобы создать сервер FTP в Windows 10, не применяя стороннее ПО.

Откройте классическую панель управления, нажав сочетание клавиш Win-Q и начав печатать «панель управления».

Выберите раздел «Программы и компоненты». В открывшемся окне выберите слева пункт «Включение или отключение компонентов Windows».

В окне, которое появится перед вами, найдите папку «Службы IIS» и разверните её. Далее разверните папку «FTP-сервер». Поставьте галочки напротив пунктов «Расширяемость FTP» и «Служба FTP», активировав соответствующие компоненты.

Разверните расположенную ниже папку «Средства управления веб-сайтом». Поставьте галочки напротив пунктов «Консоль управления IIS» и «Служба управления FTP», активировав соответствующие компоненты.

Примените изменения, нажав кнопку «ОК» внизу диалогового окна. Скорее всего, после этого некоторое время придётся подождать, пока Windows найдёт и задействует требуемые файлы. Если процесс завершился успешно, вас можно поздравить — вы запустили FTP-сервер на своём компьютере.

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

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

Просто создать сервер FTP недостаточно — чтобы начать им полноценно пользоваться, его нужно настроить. Далее мы рассмотрим порядок действий, которые понадобятся для такой настройки в Windows 10.

Откройте классическую панель управления так, как было описано выше. Найдите в ней раздел «Администрирование», войдите в него и найдите в перечне пунктов «Диспетчер служб IIS». Двойным кликом откройте соответствующий раздел настроек.

Разверните список в левой части окна, а затем кликните по папке «Сайты» правой кнопкой мыши. В появившемся контекстном меню выберите пункт «Добавить FTP-сайт. ».

В диалоговом окне, которое появится перед вами, вам понадобится задать имя созданного вами сервера FTP, а также путь к папке с данными. Нажмите кнопку «Далее», чтобы перейти к следующему шагу настройки сервера.

Теперь вам необходимо задать параметры FTP-сервера. Обратите внимание на поле, предназначенное для ввода IP-адреса. Введите в него один из тех, что будут вам предложены в виде списка. У вас будет выбор из двух вариантов — сделать привязку к определённому адресу или дать клиентским устройствам расширенный доступ. В последнем случае нужно будет выбрать пункт «Все свободные». Проверьте, чтобы был установлен стандартный порт для управления сервером — 21. Поставьте галочку напротив пункта «Запускать FTP-сайт автоматически», если вы намерены использовать сервер FTP в постоянном режиме.

Перейдя в новое окно, вы сможете задать способ авторизации клиентских устройств. Обратите внимание на раздел с названием «Проверка подлинности». Здесь вы сможете выбрать один из двух вариантов — разрешить доступ для обычных клиентов (по имени и паролю) или дать возможность пользоваться сервером анонимным пользователям. Кроме того, в этом же разделе вы сможете установить те или иные права пользователей. Нажмите «Готово» после окончания настройки.

На следующем этапе нужно настроить брандмауэр операционной системы. Для этого в классической панели управления выберите раздел «Брандмауэр Защитника Windows», а в нём — раздел «Дополнительные параметры». Далее обратите внимание на пункт «Правила для входящих подключений». Используя правую клавишу мыши, включите правило «FTP-сервер (входящий трафик FTP)».

Пользователи должны получить возможность заходить на созданный вами сервер. Подключите их, открыв раздел «Администрирование» в классической панели управления. В нём откройте пункт «Управление компьютером», далее — «Локальные пользователи». Кликните правой клавишей мыши по папке «Группы», а затем левой — по пункту «Создать группу». Задайте имя и краткое описание, после чего нажмите на кнопку «Создать».

Добавьте в созданную группу конкретных пользователей. Кликните правой клавишей мыши по папке «Локальные пользователи», выберите из контекстного меню пункт «Новый пользователь». Укажите имя пользователя и его пароль.

Раскройте папку «Локальные пользователи» двойным кликом левой кнопкой мыши. Найдите созданного пользователя, кликните по нему правой кнопкой мыши, выберите пункт «Свойства». В появившемся окне откройте вкладку «Членство в группах». Нажмите кнопку «Добавить» и введите в поле в нижней части окна название созданной вами группы. Нажмите кнопку «ОК».

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

подключение к FTP-серверу

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

Откройте пункт меню «Сеть». Далее найдите пункт «Соединиться с FTP-сервером». Кстати, попасть к нему можно проще — нажав сочетание клавиш Ctrl-F.

Предположим, вам нужно добавить сервер, который вы посетите впервые. Нажмите для этого кнопку «Добавить». На следующем шаге вам нужно будет ввести данные, относящиеся к серверу и подключению:

имя пользователя и пароль;

тип соединения (здесь SSL — возможность анонимного подключения, TLS — безопасное подключение по защищённому протоколу FTPS).

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

Обратите внимание: если вы оставите поле для ввода пароля пустым, Total Commander будет запрашивать пароль всякий раз, когда вы пытаетесь подключиться к серверу. Это не очень удобно, но гораздо лучше с точки зрения безопасности. Если вы зададите пароль при начальной настройке соединения, приложение сохранит его на локальном жёстком диске в незашифрованном виде, что создаст определённые риски.

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

Когда интернет только зарождался, но уже были компьютерные сети, возникла потребность передавать файлы от одного компьютера к другому. В 1971 году каналы передачи данных были не такие надёжные (и не такие быстрые), как сейчас, поэтому нужен был инструмент, который поможет обмениваться документами друг с другом на расстоянии.

Основные требования были такие: простота работы и надёжность при отправке и получении. Таким инструментом стал FTP-протокол.

Принцип работы

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

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

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

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

Клиент и сервер

Для работы по FTP нужны двое: FTP-сервер и FTP-клиент. Что делает сервер:

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

Так как FTP пришёл к нам из времён UNIX-систем, то любое соединение требует логина и пароля. Если у пользователя его нет, сервер его не пропустит. Но чтобы сделать файлы доступными для всех, используют анонимный режим. В нём логином будет слово anonymous, а паролем — любой адрес электронной почты. Современные браузеры умеют сами заходить на анонимные FTP-серверы и подставлять почту. Со стороны это выглядит так, как будто никакого логина и пароля нет, но они есть.

Когда запускается FTP-сервер, ему говорят: «Уважаемый сервер, вот список файлов и папок, которые нужно показывать на сервере. Если к тебе постучится пользователь с таким-то логином и паролем, то покажи ему всё, а если с вот таким логином — то дай ему одну только эту папку. Анонимов не пускать». Ещё один обязательный параметр — адрес сервера и порт, по которому будет идти передача файлов.

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

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

В чем смысл вообще

Ну и казалось бы — что мешает передавать файлы, как обычно, через сайты по протоколу HTTP? Полно же сайтов и форумов, на которых лежат файлы, и их можно спокойно скачать.

А разница вот в чем:

  • Для FTP не нужен сайт, то есть веб-интерфейс. Не нужно запускать веб-сервер, настраивать шаблоны вывода списка файлов и поднимать отдельную программу, которая будет нам отдавать эти файлы (типа Вордпресса). FTP — это как доступ к удаленной папке: ты сразу видишь файлы и можешь их качать, без посредников. А в вебе нужна какая-то программа, которая «нарисует» тебе файловую систему и поставит ссылки на файлы.
  • В FTP уже реализованы вопросы авторизации и прав. А в вебе их нужно создавать: например, ставить тот же Вордпресс и к нему прикручивать плагины с системой доступа. Или настраивать Apache, генерировать ключи доступа, раскладывать конфигурационные файлы по папкам — это гораздо менее элегантно, чем настройка FTP.
  • В FTP можно разрешить или запретить отдельным пользователям загружать файлы на FTP-сервер. В вебе загрузка файлов от пользователя на сервер — это на порядок более сложная задача.
  • Уязвимости и надёжность

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

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

    Сейчас по умолчанию предполагается, что каждый канал — ненадёжный, и что данные нужно дополнительно шифровать. FTP этого не поддерживает. Если кто-то будет перехватывать ваш Wi-Fi-трафик или подключится к вашей локальной сети, то он сможет перехватить все эти данные и скачать их себе, параллельно с вами.

    Ещё есть вопрос безопасности входа: по умолчанию у FTP-протокола нет защиты от подбора пароля и попыток входа, поэтому кто-то может просто перебрать доступные пароли, чтобы получить доступ к папкам. Если вы видели в фильмах про хакеров, как они там перебирают пароли при входе — это вполне вероятная ситуация для FTP.

    С точки зрения современной безопасности правильным решением будет использовать одну из реализаций шифрованного FTP (FTPS, SFTP) или пользоваться FTP через VPN.

    В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

    Что такое FTP сервер и как его настроить

    9 Августа 2021

    FTP-сервер — это сервер, который работает по протоколу передачи данных File Transfer Protocol. Он применяются для обмена различными файлами между ПК, подключенными к локальной сети или интернету, а также для создания и обслуживания сайтов, данные и веб-ресурсы которых размещаются на таком сервере.

    Что такое FTP-сервер и где его используют

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

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

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

    Преимущества и недостатки FTP — серверов

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

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

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

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

  • FileZilla Server 0.9.23 — приложение, позволяющее давать доступ к определенным папкам, настраивать параметры входа (имя сервера и пароль), и затем отправлять эти данные пользователям, решившим подключиться к серверу через программу FileZilla;
  • Xlight FTP Server — программа для создания пользовательских серверов с удобным интерфейсом. Русского языка нет, но есть разнообразные настройки, например, активация доступа через IPv6;
  • FAR FAR-manager – популярная программа с большим числом настроек. Меню приложения напоминает старые версии BIOS, а весь интерфейс представлен на английском языке;
  • Total Commander — файловый менеджер с функциями создания и управления удаленным сервером, на котором может быть размещена любая папка с пользовательского ПК. Данный менеджер поддерживает русский язык и имеет в наличии раздел «Справка». Работает как на компьютере, так и на смартфоне.
  • FTP-сервер Complete FTP — инструмент, который позволяет настроить сервер за 5-7 нажатий благодаря интуитивно понятному меню;
  • TYPSoft FTP Server 1.10 — простая программа, популярная как среди профессионалов, так и среди начинающих пользователей. Отличается удобным интерфейсом, наличием русского языка и настройкой большого числа удаленных функций – от скачивания до удаления файлов;
  • FTP-сервер Core FTP Server — приложение в платной и бесплатной версиях. У второй модификации есть ряд функциональных ограничений, но базовые потребности пользователя способна удовлетворить даже она;
  • FTPRush — бесплатная программа, выполненная в стилистике продуктов Microsoft, что делает освоение утилиты быстрым и удобным. Также приложение имеет в наличии менеджер закачек;

    CoffeeCup Free FTP — программа, подходящая для новичков. Интерфейс переведен на русский язык, а меню не перегружено. Есть поддержка двухпанельного режима работы и передачи файлов с одного сервера на другой без прямого взаимодействия с хранилищем ПК.

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

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

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

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

    Как организовать и настроить FTP-сервер

    Организацию и настройку FTP-сервера стоит рассмотреть на примере ОС Windows 10. Встроенные средства этой ОС возможность подготовить сервер для подключения устройств даже начинающему пользователю.

    Алгоритм действий для создания и настройки FTP-сервера выглядит следующим образом:

  • на первом этапе нужно активировать на компьютере встроенный FTP-протокол, так как по умолчанию он отключен. Для этого понадобится открыть «Панель управления» через поисковую строку Windows или любым другим способом, затем в разделе «Программы и компоненты» поочередно раскрыть вкладки «Службы IIS» и «FTP-сервер»;
  • после активации протокола нужно создать собственный сервер и задать координаты для подключения к нему. Чтобы сделать это, следует вернуться на главную страницу «Панели управления» и перейти в раздел «Администрирования»;
  • затем надо запустить «Диспетчер служб IIS», в котором выбирается опция «Добавить FTP-сайт». Этому сайту присваивается имя и место расположения данных;
  • далее выполняется настройка параметров привязки. Для этого рекомендуется установить значение «Все свободные» в качестве IP-адреса, выбрать порт «21», отметить галочкой пункт «Запускать сайт FTP автоматически» и запретить использование SSL («Без SSL»);
  • затем настраиваются параметры доступа: «Анонимный» – доступ к серверу можно будет получить без логина и пароля, «Обычный» – наоборот.
  • После создания FTP-сервера необходимо перейти в настройки брандмауэра и активировать доступ к FTP. Для этого требуется открыть «Дополнительные параметры» и поставить соответствующие галочки. Затем через «Панель управления» запускается инструмент «Управление компьютером» (находится в разделе «Администрирование»), с помощью которого создаются группы, куда добавляются учетные записи пользователей, имеющих доступ к FTP-серверу.

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

    Что такое FTP

    FTP (File Transfer Protocol) – это протокол, который используется для передачи файлов. Чаще всего вы можете услышать эту аббревиатуру в отношении глобальной сети – утилиты, работающие по протоколу FTP, помогают загружать файлы на серверы, что особенно полезно, если вы администрируете сайты. Если выражаться более простым языком, то данный протокол позволит вам подключиться к какой-либо удаленной папке и работать с ней, в том числе загружая на нее (или из нее) нужные вам файлы. FTP-сервер – это любой сервер, который поддерживает данный протокол.

    Для того чтобы воспользоваться FTP, вам только нужно убедиться, что сеть поддерживает TCP/IP (по этому протоколу, например, работает Интернет).

    Особенности подключения по FTP

    Нужно отметить, что протокол FTP появился давно – в 1971 году. Для сравнения – протокол HTTP был создан почти через двадцать лет, в 1992 году, и в плане работы с файлами FTP до сих пор является предпочтительным протоколом.

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

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

    Что такое FTP-клиент

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

    Для подключения клиента к удаленному серверу нужны следующие данные:

  • логин,
  • пароль,
  • хост (имя сервера),
  • номер порта (по умолчанию 21 для FTP-соединения).
  • Если вам неудобно пользоваться FTP-клиентом, то есть альтернатива: вы можете загружать и скачивать файлы с удаленного сервера прямо в браузере с помощью файлового менеджера в панели управления хостингом Timeweb. Такая технология называется WebFTP.

    Выше мы уже обговорили, что протокол FTP удобен для передачи файлов, однако он имеет много уязвимостей в защите и является небезопасным. Иными словами, незашифрованные данные, которые вы передаете по этому протоколу, могут быть перехвачены кем угодно. Если речь идет о личных данных (логинах, паролях), то вы можете представить, чем это может вам обернуться. Поэтому для того, чтобы обезопасить свои данные от кражи, необходимо использовать безопасные протоколы FTPS или SFTP. Filezilla отличается тем, что поддерживает эти протоколы (для того чтобы использовать безопасный протокол, в программе необходимо выбрать «Файл» -> «Менеджер сайтов» -> во вкладке «Общие» изменить протокол с FTP на SFTP).

    Другими преимуществами Filezilla являются бесплатное использование, поддержка русского языка и кроссплатформенность (можете установить это ПО на машины с Linux, Windows или даже Mac OS X). Чуть подробнее почитать можно на русскоязычном сайте. Там же вы найдете и документацию клиента, а также полезные статьи.

    Как работать с FTP на примере Filezilla

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

    Установить Filezilla вы можете прямо с официального сайта.

    Настройка Filezilla

    Для того чтобы настроить Filezilla, вам необходимо знать свой логин и пароль от панели управления, а также название хоста. Timeweb присылает эту информацию после регистрации в приветственном письме (там отдельно будут указаны данные для использования FTP), а также на главной странице панели управления (смотрим блок «Доступ по FTP»):

    Панель управления Timeweb

    Теперь открывайте Filezilla и вводите все эти данные в соответствующие строки:

    Доступы FTP

    В поле «Порт» напишите 21 (этот порт использует FTP). Затем нажимайте «Быстрое соединение».

    Внимание! Иногда на этом этапе у вас может возникнуть ошибка ENETUNREACH (Сеть недоступна), из-за которой соединение не будет установлено. Решается данная проблема легко – выключением (или временным приостановлением) антивирусной программы.

    Если соединение установлено правильно, то в блоке справа внизу вы увидите список файлов, которые доступны на вашем аккаунте (по сути, то же самое вы увидите, если зайдете в раздел «Файловый менеджер» панели управления хостингом).

    Но каждый раз при запуске Filezilla заново вводить эти данные, согласитесь, неудобно, поэтому мы сделаем следующее:

    1. Открываем «Менеджер сайтов».
    2. Нажимаем «Новый сайт» (по желанию переименовываем его).
    3. Тип входа: вместо «Анонимный» ставим «Нормальный».
    4. Вводим все данные.
    5. Нажимаем «ОК» или «Соединиться»

    Тип входа FTP

    Теперь после запуска программы вы можете просто нажать на стрелку вниз рядом со значком «Менеджер сайтов», выбрать аккаунт и подключиться к нему. Это особенно удобно, если у вас несколько сайтов на разных серверах.

    Кстати, во вкладке «Дополнительно» вы можете указать путь к какой-то конкретной папке на сервере (строка «Удаленный каталог по умолчанию), и тогда при каждом подключении вы будете попадать не в корневой каталог, а в заданную папку.

    Управление файлами

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

    Вы можете заходить в них, смотреть и т.д. – в общем, как на обычном компьютере. Точно так же осуществляется и перенос файлов/папок между вашим компьютером и сервером – просто перетащите нужный вам элемент из одной области в другую (drag-and-drop). Типичный файловый менеджер.

    Также вы можете кликом правой кнопки мыши по файлу закачать его на сервер – элемент будет загружен в открытую справа папку на сервере. При этом если файл не загрузился мгновенно (имеет большой вес), то внизу, во вкладке «Файлы в задании», вы увидите зеленую полосу загрузки:

    Чтобы создать папку на сервере, нажмите правую кнопку мыши в области справа, где отображены папки и файлы сервера, далее выберите «Создать каталог» и присвойте ему любое название (но обязательно латинскими символами!).

    Хотите удалить или переименовать? Все точно так же, щелчком правой кнопки мыши.

    Аналогично вы можете и перейти к редактированию файлов (пункт «Просмотр/Правка»), при этом можно использовать как программу по умолчанию, так и выбрать какой-нибудь редактор. Чтобы настроить автоматическое открытие файлов другим редактором, выберите пункт «Редактирование» в верхнем меню, затем «Формат файлов» – и сделайте активным пункт «Использовать следующий редактор» (с последующим выбором нужной вам программы):

    Подключение внешнего редактора FTP

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

    Работать с файлами можно и в отложенном режиме: допустим, вы выбрали файлы, которые вам нужно перенести на сервер – выберите их, нажмите правую кнопку мыши и строчку «Добавить файлы в задание» (даже в том случае, если вы не подключены к серверу). Они отобразятся в блоке ниже. Затем подключитесь к серверу, снова кликните правой кнопкой по ним и выберите «Выполнить задание» — все файлы будут перенесены на сервер.

    Отдельно стоит рассказать о синхронизированном просмотре. Для того чтобы его активировать, вам нужно нажать соответствующий значок чуть ниже верхнего меню (под надписью «Закладки»):

    Синхронизированный просмотр Filezilla

    Зачем это использовать? Допустим, у вас на компьютере есть папка с файлами вашего сайта – точно такими же, как и на хостинге. Файлов, как и папок, может быть очень много – и вот для удобства ориентирования в них и был добавлен такой режим: переходя из папки в папку в одном окне (допустим, серверном), вы будете точно так же, синхронно переходить в окне, где отображается содержимое вашего компьютера. Режим позволит вам не запутаться во множестве этих папок. Но, естественно, действует он лишь в том случае, если названия директорий полностью совпадают.

    Заключение

    FTP-соединение превращает ваш сервер в директорию, с которой удобно работать при помощи специального файлового менеджера, т.е. FTP-клиента. Освоить такую программу вы сможете за 10 минут!

    Самый главный недостаток FTP – это уязвимость перед взломами и DDoS-атаками. Не советую хранить на таком сервере конфиденциальную информацию.

    Надеюсь, моя статья оказалась вам полезной. Если остались вопросы по работе FTP-сервера или FTP-клиента, спрашивайте – обязательно отвечу!

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

    FTP (File Transfer Protocol) – протокол передачи файлов по сети. Является одним из базовых протоколов Ethernet. Появился в 1971 году и изначально работал в сетях DARPA. На данный момент, как и HTTP, файловая передача основывается на модели, состоящей из совокупности протоколов TCP/IP (Transmission Control Protocol/Internet Protocol). Определён в RFC 959.

    Протокол определяет следующее:

  • Как будет осуществляться проверка на ошибку
  • Метод упаковки данных (если упаковка используется)
  • Каким образом посылающее устройство сообщает, что оно закончило сообщение
  • Каким образом принимающее устройство сообщает, что оно получило сообщение
  • Взаимодействие между клиентом и сервером

    Рассмотрим происходящие при работе FTP процессы подробнее. Соединение инициализируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора пользователя средствами.

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

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

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

    При передаче данных по сети могут быть использованы четыре представления данных:

  • ASCII – используется для текста. Данные, если необходимо, до передачи конвертируются из символьного представления на хосте-отправителе в «восьмибитный ASCII», и (опять же, если необходимо) в символьное представление принимающего хоста. В частности, изменяются символы перевода строки. Как следствие, этот режим не подходит для файлов, содержащих не только обычный текст.
  • Бинарный режим – устройство-отправитель посылает каждый файл байт за байтом, а получатель сохраняет поток байтов при получении. Поддержка данного режима была рекомендована для всех реализаций FTP.
  • EBCDIC – используется для передачи обычного текста между хостами в кодировке EBCDIC. В остальном этот режим аналогичен ASCII-режиму.
  • Локальный режим – позволяет двум компьютерам с идентичными установками посылать данные в собственном формате без конвертации в ASCII.
  • Передача данных может осуществляться в любом из трёх режимов:

  • Поточный режим – данные посылаются в виде непрерывного потока, освобождая FTP от выполнения какой бы то ни было обработки. Вместо этого вся обработка выполняется TCP. Индикатор конца файла не нужен, за исключением разделения данных на записи.
  • Блочный режим – FTP разбивает данные на несколько блоков (блок заголовка, количество байт, поле данных) и затем передаёт их TCP.
  • Режим сжатия – данные сжимаются единым алгоритмом (обычно кодированием длин серий).
  • FTP server – это сервер, который предусматривает возможность использования протокола передачи файлов. Он обладает определенными особенностями, отличающими его от обычных веб-серверов:

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

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

    FTP-аутентификация использует схему имя пользователя/пароль для предоставления доступа. Имя пользователя посылается серверу командой USER, а пароль – командой PASS. Если предоставленная клиентом информация принята сервером, то сервер отправит клиенту приглашение и начинается сессия. Пользователи могут, если сервер поддерживает эту особенность, войти в систему без предоставления учётных данных, но сервер может предоставить только ограниченный доступ для таких сессий.

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

    Схема протокола

    Взаимодействие «клиент-сервер» при FTP-соединении можно наглядно представить следующим образом:

    FTP изначально не задумывался как защищенный, поскольку предназначался для связи между несколькими военными объектами и учреждениями. Но с развитием и распространением интернета опасность несанкционированного доступа возросла во много раз. Возникла необходимость защиты серверов от различного рода атак. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:

  • Скрытые атаки (bounce attacks)
  • Спуф-атаки (spoof attacks)
  • Атаки методом грубой силы (brute force attacks)
  • Перехват пакетов, сниффинг (packet capture, sniffing)
  • Захват портов (port stealing)
  • Обычный FTP не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками. Обычное решение этой проблемы — использовать «безопасные», TLS-защищённые версии уязвимых протокола (FTPS) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell.

    FTPS (FTP + SSL) – расширение стандартного протокола передачи файлов, добавляющее в его базовый функционал создание шифрованных сессий с помощью протокола SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день защита обеспечивается его более продвинутым аналогом TLS (Transport Layer Security — защита транспортного уровня).

    Протокол SSL предложен корпорацией Netscape Communications в 1996 году с целью обеспечения безопасности и секретности интернет-соединений. Протокол поддерживает аутентификацию (установление подлинности) клиента и сервера, не зависит от приложений и прозрачен для протоколов HTTP, FTP и Telnet.

    Протокол SSL Handshake состоит из двух этапов: установление подлинности сервера и необязательное установление подлинности клиента. На первом этапе сервер в ответ на запрос клиента посылает свой сертификат и параметры шифрования. Затем клиент генерирует мастер-ключ, зашифровывает его открытым ключом сервера и отсылает серверу. Сервер расшифровывает мастер-ключ своим частным ключом и подтверждает свою подлинность клиенту, возвращая ему сообщение, заверенное мастером-ключом клиента.

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

    SSL поддерживает разнообразные криптографические алгоритмы. В ходе установления связи используется криптосистема открытого ключа RSA. После обмена ключами используется много разных шифров: RC2, RC4, IDEA, DES и TripleDES. Также используется MD5 — алгоритм создания дайджеста сообщений. Синтаксис сертификатов открытого ключа описан в X.509.

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

    SSL-подключение

    Предоставляемый SSL безопасный канал обладает тремя основными свойствами:

  • Канал является частным. Шифрование используется для всех сообщений после простого диалога, который служит для определения секретного ключа.
  • Канал аутентифицирован. Серверная сторона диалога всегда аутентифицируется, в то время как клиентская — аутентифицируется опционально.
  • Канал надежен. Транспортировка сообщений включает в себя проверку целостности (с привлечением MAC).
  • Особенности FTPS

    Существуют две реализации FTPS, использующие различные методы предоставления безопасности:

  • Неявный метод предполагает использование стандартного протокола SSL с установлением сессии перед отправкой данных, что, в свою очередь, нарушает совместимость с обычным FTP клиентами и серверами. Для обратной совместимости с клиентами, которые не поддерживают FTPS, для контрольного соединения используется TCP-порт 990, а для передачи данных — 989. Это позволяет сохранить стандартный порт 21 для протокола FTP. Данный метод признан устаревшим.
  • Явный – намного более удобен, так как использует команды стандартного FTP, но при ответе шифрует данные, что позволяет использовать одно и тоже управляющее соединение как для FTP, так и для FTPS. Клиент должен явно запросить защищенную передачу данных у сервера, а после утвердить способ шифрования. Если клиент не запросит защищенную передачу, FTPS сервер вправе как сохранить, так и закрыть незащищенное соединение. Механизм согласования идентификации и защиты данных был добавлен под RFC 2228 который включает в себя новую FTP команду AUTH. Хотя этот стандарт не определяет явно механизмы защиты, он определяет, что защищенное соединение должен инициировать клиент с помощью описанного выше алгоритма. Если защищенные соединения не поддерживаются сервером, должен быть возвращен код ошибки 504. FTPS клиенты могут получить информацию о поддерживаемых сервером протоколах защиты при помощи команды FEAT, тем не менее сервер не обязан разглашать то, какие уровни безопасности он поддерживает. Наиболее распространены FTPS команды AUTH TLS и AUTH SSL, обеспечивающие защиту TLS и SSL соответственно.
  • SFTP (Secure File Transfer Protocol) – протокол прикладного уровня передачи файлов, работающий поверх безопасного канала. Не следует путать с (Simple File Transfer Protocol), имеющим такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ним протокол, который в качестве основы использует SSH (Secure Shell – безопасная оболочка).

    Secure Shell

    Разработкой протокола занималась одна из групп IETF под названием Secsh. Рабочая документация к новому протоколу SFTP не стала официальным стандартом, однако начала активно применяться для разработки приложений. В дальнейшем было выпущено шесть версий протокола. Однако, постепенное наращивание в нём функциональности привело к тому, что 14 августа 2006 года было принято решение о прекращении работы над развитием протокола в связи с выполнением основной задачи проекта (разработка SSH) и отсутствием достаточного экспертного уровня для перехода к разработке полноценного протокола удалённой файловой системы.

    SSH – это сетевой протокол, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

    SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры). Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удалённого запуска клиентов X WindowSystem.

    Первая версия протокола, SSH-1, была разработана в 1995 году исследователем Тату Улёненом из Технологического университета Хельсинки (Финляндия). SSH-1 был написан для обеспечения большей конфиденциальности, чем протоколы rlogin, telnet и rsh. В 1996 году была разработана более безопасная версия протокола, SSH-2, несовместимая с SSH-1. Протокол приобрел ещё большую популярность, и к 2000 году у него было около двух миллионов пользователей. В настоящее время под термином «SSH» обычно подразумевается именно SSH-2, т.к. первая версия протокола ввиду существенных недостатков сейчас практически не применяется. В 2006 году протокол был утвержден рабочей группой IETF в качестве Интернет-стандарта.

    Распространены две реализации SSH: частная коммерческая и бесплатная свободная. Свободная реализация называется OpenSSH. К 2006 году 80 % компьютеров сети Интернет использовало именно OpenSSH. Частная реализация разрабатывается организацией SSH Communications Security, которая является стопроцентным подразделением корпорации Tectia, она бесплатна для некоммерческого использования. Эти реализации содержат практически одинаковый набор команд.

    Протокол SSH-2, в отличие от протокола telnet, устойчив к атакам прослушивания трафика («снифинг»), но неустойчив к атакам «человек посередине». Протокол SSH-2 также устойчив к атакам путем присоединения посредине (англ. sessionhijacking), так как невозможно включиться в уже установленную сессию или перехватить её.

    Для предотвращения атак «человек посередине» при подключении к хосту, ключ которого ещё не известен клиенту, клиентское ПО показывает пользователю «слепок ключа» (англ. keyfingerprint). Рекомендуется тщательно проверять показываемый клиентским ПО «слепок ключа» со слепком ключа сервера, желательно полученным по надёжным каналам связи или лично.

    Поддержка SSH реализована во всех UNIX-подобных системах, и на большинстве из них в числе стандартных утилит присутствуют клиент и сервер ssh. Существует множество реализаций SSH-клиентов и для не-UNIX ОС. Большую популярность протокол получил после широкого развития анализаторов трафика и способов нарушения работы локальных сетей, как альтернативное небезопасному протоколу Telnet решение для управления важными узлами.

    Связь с использованием SSH

    Для работы по SSH нужен SSH-сервер и SSH-клиент. Сервер прослушивает соединения от клиентских машин и при установлении связи производит аутентификацию, после чего начинает обслуживание клиента. Клиент используется для входа на удалённую машину и выполнения команд.

    Сравнение с FTPS

    Главное, что отличает SFTP от стандартного FTP и FTPS, это то, что SFTP шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию.

    Оба протокола FTPS и SFTP используют сочетание асимметричных алгоритмов (RSA, DSA), симметричных алгоритмов (DES/3DES, AES, Twhofish т.д.), а также алгоритм обмена ключами. Для аутентификации FTPS (или, если быть более точным, SSL / TLS по протоколу FTP) использует сертификаты X.509, в то время как SFTP (SSH протокол) использует SSH ключи.

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

    SSH ключ содержит только открытый ключ (соответствующий закрытый ключ хранится отдельно). В нем не содержится никакой информации о владельце ключа. Некоторые SSH реализации используют сертификаты X.509 для аутентификации, но на самом деле они не проверяют всю цепочку сертификатов — только открытый ключ используется (что делает такую проверку подлинности неполной).

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

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

    Источники:

    galtsystems.com/blog/start/chto_takoe_ftp_server_i_dlya_chego_on_nuzhen/

    thecode.media/ftp/

    servergate.ru/articles/chto-takoe-ftp-server-i-kak-ego-nastroit/

    timeweb.com/ru/community/articles/chto-takoe-ftp-i-kak-rabotat-v-filezilla-1

    habr.com/ru/post/500438/

    Оставить комментарий

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