Разуменне SFTP супраць FTPS супраць FTP

FTP або пратакол перадачы файлаў – адзін з самых папулярных метадаў перадачы даных, даступных для розных варыянтаў выкарыстання.

FTP мае розныя бяспечныя варыяцыі, вядомыя як FTPS і SFTP, якія ўключаюць некаторыя тонкія і некаторыя не вельмі адрозненні ў тым, як яны працуюць. Гэтыя адрозненні звязаны з спосабам абмену данымі, узроўнем і тыпам бяспекі сувязі і меркаваннямі брандмаўэра.

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

FTP

FTP – гэта пратакол перадачы файлаў, які існуе некалькі дзесяцігоддзяў, першапачаткова прапанаваны ў RFC 114. Пазней ён ператварыўся ў RFC 959, які з’яўляецца стандартам, які выкарыстоўваецца сёння.

FTP працуе па двух каналах для абмену інфармацыяй: адзін для каманд, а другі для даных. Для працы FTP патрэбныя два парты – камандны канал і канал дадзеных.

Канал каманд працуе на порце 21, які прымае злучэнні ад кліентаў і апрацоўвае перадачу каманд. Канал каманд застаецца адкрытым на працягу ўсяго FTP-сеанса, пакуль кліент не адправіць каманду QUIT або сервер прымусова не адключыцца з-за бяздзейнасці або любой іншай магчымай прычыны.

Канал перадачы дадзеных выкарыстоўвае часовы порт па патрабаванні, які праслухоўвае сервер (пасіўны рэжым) або кліент (актыўны рэжым). Гэты канал адказвае за абмен фактычнымі дадзенымі паміж серверам і кліентам у выглядзе спісаў каталогаў і перадачы файлаў.

У адрозненне ад каманднага канала, канал дадзеных застаецца адкрытым толькі на час перадачы файла, і як толькі яна скончыцца, канал дадзеных зачыняецца. Для адначасовай перадачы некалькіх файлаў або спісаў каталогаў патрабуецца некалькі партоў канала перадачы дадзеных.

FTP па сваёй сутнасці з’яўляецца небяспечным пратаколам, паколькі і камандныя каналы, і каналы даных перадаюць інфармацыю ў незашыфраваным выглядзе, які лёгка можа быць перахоплены любым, хто выкарыстоўвае атакі “чалавек пасярэдзіне”.

Праверце гэта:  Як адмяніць Microsoft Office з любой прылады

Як гаварылася раней, FTP патрабуе ўваходнага злучэння праз порт 21/tcp на баку сервера для каманднага канала. Дыяпазон пасіўных партоў вызначаны для перадачы файлаў і спісаў каталогаў і дазваляе ўваходныя злучэнні. Гэты працэс вызначэння можа адрознівацца ў залежнасці ад FTP-сервера, які выкарыстоўваецца. Для атрымання дадатковай інфармацыі звярніцеся да яго дакументацыі. На баку кліента павінна быць дазволена выходнае злучэнне праз порт 21/tcp разам з дыяпазонам пасіўных партоў, вызначаным на серверы.

Аўтэнтыфікацыя ў FTP

Інфармацыя пра аўтэнтыфікацыю FTP перадаецца па камандным канале падчас першапачатковага ўсталявання злучэння. FTP можа выкарыстоўваць імя карыстальніка і пароль для аўтэнтыфікацыі, або ён можа быць ананімным, каб дазволіць любому ўвайсці і атрымаць доступ да сервера.

Актыўны і пасіўны рэжымы FTP

FTP выкарыстоўвае актыўны або пасіўны рэжым для наладжвання злучэнняў.

У актыўным рэжыме карыстальнік падключаецца з выпадковага порта кліента FTP да порта FTP 21/tcp на серверы і адпраўляе каманду PORT, указваючы порт кліента, да якога сервер павінен падключыцца. Гэты порт будзе выкарыстоўвацца для канала перадачы дадзеных.

Затым сервер падключаецца з порта 20/tcp да порта кліента, які быў раней вызначаны кліентам камандай PORT. Затым гэты канал дадзеных выкарыстоўваецца для перадачы файлаў паміж серверам і кліентам.

У пасіўным рэжыме кліент падключаецца з выпадковага порта кліента FTP да порта 21/tcp на серверы і адпраўляе каманду PASV. Затым сервер адказвае з выпадковым портам, які павінен выкарыстоўвацца для канала перадачы дадзеных. Затым кліент выкарыстоўвае іншы выпадковы порт для падлучэння да порта, на які сервер адказаў на папярэднім этапе. Гэта злучэнне канала перадачы дадзеных затым выкарыстоўваецца для перадачы файлаў паміж серверам і кліентам.

Такім чынам, у актыўным рэжыме першапачатковы запыт на злучэнне ініцыюецца кліентам, а запыт на злучэнне з каналам перадачы дадзеных ініцыюецца серверам.

З іншага боку, у пасіўным рэжыме як першапачатковыя запыты на злучэнне, так і наступныя запыты канала перадачы дадзеных ініцыююцца кліентам на сервер. Гэтая тонкая розніца часам уплывае на тое, як брандмаўэр дазваляе/блакуе традыцыйныя FTP-запыты ў залежнасці ад тыпу ўваходнага/выходнага злучэння.

Праверце гэта:  Купляйце падарункавыя карты з Crypto з дапамогай гэтых платформаў [2022]

FTPS

Нават калі вы гатовыя пайсці на рызыку, звязаную з FTP з незашыфраванай перадачай даных і атакамі main-in-the-middle, індустрыяльныя патрабаванні вымушаюць выкарыстоўваць больш абароненую альтэрнатыву, напрыклад FTPS і SFTP, якія параўнальна нашмат больш бяспечныя.

У 1990 годзе са змяненнем ландшафту бяспекі Netscape стварыў пратакол SSL або Secure Sockets Layer (SSL, цяпер вядомы як TLS) для абароны сувязі па сетцы. SSL быў ужыты да FTP, які стаў FTPS або бяспечным пратаколам перадачы файлаў. FTPS або FTP/S звычайна працуе на порце 990/tcp, але яго таксама можна ўбачыць на порце 21/tcp. Аналагічным чынам для канала перадачы дадзеных порт 989/tcp з’яўляецца агульным портам, які выкарыстоўваецца для FTPS. Калі камандны порт 21/tcp, яго порт дадзеных павінен быць 20/tcp.

Як і FTP, FTPS выкарыстоўвае два каналы сувязі: камандны і канал перадачы дадзеных. Альбо канал перадачы даных можа быць зашыфраваны з дапамогай FTPS, альбо і камандны, і каналы даных могуць быць зашыфраваны для большай бяспекі.

FTPS, як і FTP, таксама выкарыстоўвае некалькі партоў для каманд і каналаў перадачы дадзеных. Такім чынам, порт 21/tcp выкарыстоўваецца для першапачатковага злучэння і перадачы інфармацыі пра аўтэнтыфікацыю. Пазней спатрэбяцца розныя парты для наладжвання каналаў перадачы дадзеных для кожнай перадачы файла або запыту спісу каталогаў ад кліента. Такім чынам, як і FTP, яму патрабуецца дыяпазон партоў, які будзе дазволены ў вашым брандмаўэры.

Аўтэнтыфікацыя ў FTPS

Аўтэнтыфікацыя для FTPS працуе з выкарыстаннем імя карыстальніка і пароля разам з сертыфікатам сервера для шыфравання. Калі кліент FTPS падключаецца да сервера, ён правярае, ці з’яўляецца сертыфікат сервера давераным, каб працягнуць злучэнне. Гэты сертыфікат можна запытаць у кліента і сервера.

SFTP

У адрозненне ад FTP і FTPS, SFTP (SSH File Transfer Protocol) – гэта зусім іншы пратакол, пабудаваны на SSH (або Secure Shell). SFTP па змаўчанні працуе на порце 22/tcp, гэтак жа, як і SSH, хоць яго можна наладзіць на выкарыстанне карыстальніцкага вольнага порта на серверы.

Праверце гэта:  Як ваш iPhone неўзабаве можа замяніць ключы ад аўтамабіля

SFTP – гэта бяспечны пратакол FTP, які выкарыстоўвае SSH для адпраўкі і атрымання файлаў. SSH цалкам зашыфраваны, SFTP з’яўляецца надзейным і бяспечным метадам перадачы файлаў па сетцы.

SFTP, у адрозненне ад FTP і FTPS, выкарыстоўвае адзіны канал сувязі для перадачы каманд і трафіку дадзеных, усе яны перадаюцца ў зашыфраваным выглядзе разам з першапачатковай аўтэнтыфікацыяй.

Аўтэнтыфікацыя ў SFTP

Аўтэнтыфікацыя ў SFTP можа быць зроблена з дапамогай простага імя карыстальніка і пароля, але ў адрозненне ад FTP, уся інфармацыя, уключаючы дэталі аўтэнтыфікацыі, перадаюцца па сетцы ў зашыфраваным выглядзе.

SFTP таксама падтрымлівае аўтэнтыфікацыю з выкарыстаннем пары ключоў SSH, камбінацыі прыватнага і адкрытага ключоў, дзе кліент прадастаўляе прыватны ключ для вызначанага карыстальніка, а сервер павінен мець адпаведны адкрыты ключ для паспяховай аўтэнтыфікацыі. Гэта больш бяспечна, чым выкарыстанне камбінацыі імя карыстальніка/пароля. Можна аўтэнтыфікаваць аднаго і таго ж карыстальніка з дапамогай пароля і ключоў SSH, калі абодва метады настроены на серверы SFTP.

Рэзюмэ

У гэтым артыкуле абагульняюцца асноўныя асаблівасці розных папулярных пратаколаў перадачы файлаў, а менавіта FTP, FTPS і SFTP, і падкрэсліваюцца тонкія і асноўныя адрозненні паміж гэтымі пратаколамі. Ён ахоплівае парты, якія трэба дазволіць у брандмаўэры для наладжвання працоўнага сервера FTP/FTPS/SFTP, а таксама падкрэслівае неабходнасць пераключэння на больш бяспечныя пратаколы, такія як FTPS і SFTP.

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

Вам таксама можа быць цікава даведацца пра лепшае FTP-сервернае праграмнае забеспячэнне і FTP/SFTP-кліенты.