Найти в Дзене

Обмен данными через протоколы FTP, FTPS, SFTP

Оглавление
Добрый день!В этой статье я расскажу вам о 3 протоколах такие как FTP,FTPS и SFTP

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

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

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

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

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

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

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

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

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

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

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

Интер­фейс CuteFTP для MacOS.

-2

Рабо­та с FTP в команд­ной стро­ке.

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

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

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

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

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

Что такое SFTP?

SFTP - это безопасный протокол передачи файлов - «Secure SHell» File Transfer Protocol. То есть это версия FTP, которая для безопасности поверх использует SSH. FTP делает то же самое, но без шифрования, поэтому использовать SFTP предпочтительнее.

  • SFTP обеспечивает два способа аутентификации соединений. Как FTP, вы можете просто использовать идентификатор пользователя и пароль. Тем не менее, с SFTP эти учетные данные шифруются, что дает ей большое преимущество безопасности перед FTP. Другой метод аутентификации, который вы можете использовать с SFTP является ключи SSH. Это предполагает в первую генерацию секретного ключа SSH и открытый ключ. Затем отправляете свой открытый ключ SSH к вашему торговому партнеру, и они загружают его на свой сервер и связывают его с вашим аккаунтом. При подключении к вашему серверу SFTP, их клиентское программное обеспечение будет передавать свой открытый ключ на сервер для аутентификации. Если открытый ключ соответствует вашему закрытому ключу, наряду с любым пользователем или переданным паролем, то верификация будет пройдена.
  • Идентификатор аутентификации пользователя может быть использован с любой комбинацией ключа и/или аутентификации по паролю.

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

SFTP кабель
SFTP кабель

Что такое FTPS?

FTPS (File Transfer Protocol + SSL, или FTP/SSL) — это расширение широко используемого протокола передачи данных FTP, которое добавляет поддержку для криптографических протоколов уровней транспортной безопасности и защищенных сокетов.

  • В 1990-е годы озабоченность по поводу интернет-безопасности только росло, и в ответ Netscape создал Secure Sockets Layer (SSL, теперь известный как TLS) протокол для защиты связи по сети. SSL был применен к FTP для создания FTPS. Как FTP, FTPS использует два соединения, командный канал и канал передачи данных. Вы можете выбрать для шифрования оба соединения или только канал передачи данных.
  • FTPS проверяет подлинность подключения, используя либо идентификатор пользователя и пароль, сертификат, или обоих. При подключении к серверу FTPS торгового партнера, ваш клиент FTPS сначала проверит наличие доверенного сертификата сервера. Сертификат считается доверенным, если либо сертификат был подписан известным центром сертификации (CA) таким как Let’s Encrypt, или если сертификат был самозаверяющими вашим партнером и вы имеете копию своего открытого сертификата в доверенном хранилище ключей. Ваш партнер может также потребовать, чтобы вы предоставили сертификат при подключении к нему. Если сертификат не подписан третьей стороной CA, ваш партнер может позволить вам самостоятельно подписать сертификат, отправив им открытую часть заранее, чтобы загрузить в их доверенное хранилище ключей.
  • Идентификатор аутентификации пользователя может использоваться с любой комбинацией сертификата и/или пароля аутентификации.

В чем разница между FTPS и SFTP?

Мы установили, что как FTPS и SFTP обеспечивают сильную защиту через параметры аутентификации, которые FTP не может обеспечить. Так почему вы должны выбрать один из двух?

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

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

-4

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

СПАСИБО ЗА ВНИМАНИЕ!