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

О протоколе FTP

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

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

Принцип работы FTP-соединения
Принцип работы FTP-соединения

Как устроен FTP?

С функционированием протокола FTP стоит ознакомиться хотя бы из любопытства и для понимания общих принципов. Отличительной чертой FTP является то, что он использует два типа соединения: управляющее (для команд) и соединение для передачи данных и может работать в двух режимах, определяющих взаимодействие между сервером и клиентом — активном и пассивном.

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

Различия между активным и пассивным режимами
Различия между активным и пассивным режимами

Безопасность и шифрование

Хотя протокол FTP и стал стандартом, очевидный его минус заключается в том, что данные и команды (в том числе и логин с паролем) передаются по сети в незащищенном виде. Это связано с тем, что на заре его использования необходимости в защите просто не было. Шанс доступа третьих лиц к информации был почти нулевым, поскольку сообщество пользователей было маленьким. По мере его расширения и после разработки безопасного протокола SSL (в дальнейшем TLS) был успешно введен FTPS (FTP+SSL/TLS) — защищенный протокол передачи данных, преимущество его в том, что никто не сможет отследить ваши манипуляции с файлами и вмешаться в этот процесс.

При этом существуют два способа обеспечения безопасности: FTPS Explicit (FTPES) — явный и FTPS Implicit — неявный. В первом случае в момент подключения к серверу клиент, должен явно подтвердить намерение использовать SSL или TLS. А во втором — согласования сторон не требуется: после запроса клиента сервер сразу осуществляет соединение. Более новой версией, дружественной для брандмауэра, «следящего» за трафиком в сети, является именно FTPES.

Протоколы на основе SSH и аутентификация по ключу

Существует и более продвинутый удаленный способ работы — не только с файлами, а с целой операционной системой. С помощью протокола SSH (с англ. secure shell — безопасная оболочка) можно войти с одного компьютера на другой, а безопасность и целостность соединения будет защищаться строгой аутентификацией и сильным шифрованием всех передаваемых данных. В числе примеров, когда SSH полезен, может быть доступ к файлам, запуск или настройка программ и другая работа в командной строке (часто это актуально для хостинга).

Если в UNIX-подобных системах типа Linux SSH-сервер и клиент в списке стандартных программ по умолчанию, то для Windows используется распространенный клиент PuTTY. Помимо того, имеется SCP (Secure Copy Protocol) — протокол, работающий поверх SSH и предназначенный для копирования файлов или папок на сервер или с него. Включен в OC Linux в качестве одноименной утилиты и входит в функционал PuTTY.

Важно отметить, что аутентификация по SSH может происходить несколькими способами: по паролю, ключу и IP-адресу (минимально защищенный способ). Самый предпочтительный из них — второй вариант. Обычно вы получаете пару ключей: публичный и приватный. Приватный ключ вы никому не показываете и храните в виде файла на ПК, а публичный загружаете на серверы, к которым нужен доступ.

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

Протокол SFTP (SSH File Transfer Protocol), в свою очередь, является безопасным протоколом передачи файлов и разработан как расширение для SSH. Не нужно путать SFTP с FTPS — это принципиально различающиеся протоколы. Хотя оба протокола и отличаются в техническом плане, они схожи функционально и обеспечивают хорошее шифрование, а в случае с SFTP — наилучшее, благодаря поддержке ключей.

В настоящее время, хотя популярность FTP в русскоязычном сегменте и не спадает, настоятельно рекомендуется использовать именно защищенное соединение FTPS (FTPES) или SFTP. Кроме этого, в мире наблюдается тенденция использования в большей степени SFTP вместо устаревших протоколов.

Безопасное соединение через FTPS
Безопасное соединение через FTPS

FTP-клиенты

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

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

  • FileZilla — популярный FTP-клиент для Windows, Mac OS X, Linux с широким набором возможностей. Поддерживает FTPS и SFTP.
  • Cyberduck — клиент для Mac OS X и Windows, поддерживает как FTP и SFTP, так и множество других специфических протоколов и облачных сервисов.
  • CoffeeCup Free FTP — функциональный популярный FTP-клиент для Windows с поддержкой FTP, SFTP и FTPS.
  • WinSCP — FTP-, SFTP-, FTPS- клиент для Windows. Дополнительно поддерживает протокол SCP.
  • FAR Manager — консольный файловый менеджер для Windows. Ценится из-за своей простоты и огромной базы программных модулей. Поддержка SFTP реализована через WinSCP.
  • Total Commander — двухпанельный файловый менеджер для Windows. Поддерживает FTPS, однако для использования SFTP потребуется установка давно не обновляющихся модулей.
  • CuteFTP — FTP-клиент для Microsoft Windows и Mac OS X с гибкими настройками. Есть поддержка FTP, FTPS и SSH.
  • FireFTP — кроссплатформенный плагин для браузера Mozilla Firefox. Поддерживает FTPS и SFTP.
  • gFTP — клиент, чаще используемый для Linux или Mac OS X, с поддержкой SFTP и FTP. Имеет сходства в интерфейсе c Filezilla.

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

Особенности работы с FTP на «Джино»

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

На «Джино» загружать файлы сайта, используя FTP, необязательно. Альтернативой этому является «Файловый менеджер» в контрольной панели аккаунта. С его помощью можно совершать почти все необходимые действия. Конечно, для корректной загрузки папок или файлов большого объема удобнее использовать FTP. Но мы советуем выключать доступ по FTP и включать его только временно по необходимости (инструкция для сайтов на виртуальном хостинге и облачном для CMS). Также для удобства можно просто ограничить доступ по FTP с определенных IP-адресов. Эта мера безопасности, которой не стоит пренебрегать.

Но не забывайте, что этого недостаточно, когда речь идет о ненадежном соединении FTP; прибегнуть к FTPES или SFTP (в особенности удобен для проектов на VPS) — лучший вариант для сайтов.

Организовывайте вашу работу с файлами правильно, выбирайте безопасные, удобные и оптимизированные инструменты и наслаждайтесь результатом.

Памятка

  • Если не получается подключиться к серверу по FTP, проверьте, включен ли пассивный режим. Активный режим не будет работать в большинстве случаев.
  • «Традиционный» FTP небезопасен. Обязательно используйте только FTPЕS или SFTP.
  • Наибольшую степень безопасности обеспечит SFTP с аутентификацией по ключу. При создании ключа не оставляйте его пароль пустым.
  • Большинство операций с файлами на хостинге можно производить с помощью файлового менеджера в контрольной панели. Доступ по FTP лучше вовсе запретить и включать только на время работы с ним.
Служба техподдержки
Нашли ошибку в тексте? Выделите ее и нажмите Ctrl + Enter
© «Джино», 2003–2017. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 97495 от 09.03.2012. Правовая информация.