Itifaki za SFTP na FTPS

utangulizi

Wiki moja iliyopita nilikuwa nikiandika insha juu ya mada iliyoonyeshwa kwenye kichwa na nilikabiliwa na ukweli kwamba, wacha tuseme, hakuna habari nyingi za kielimu kwenye mtandao. Mara nyingi ukweli kavu na maagizo ya usanidi. Kwa hivyo, niliamua kusahihisha maandishi na kuyachapisha kama nakala.

FTP ni nini

FTP (Itifaki ya Uhamisho wa Faili) ni itifaki ya kuhamisha faili kupitia mtandao. Ni moja ya itifaki za msingi za Ethernet. Alionekana mnamo 1971 na hapo awali alifanya kazi katika mitandao ya DARPA. Kwa sasa, kama HTTP, uhamishaji wa faili unategemea muundo unaojumuisha seti ya itifaki za TCP/IP (Itifaki ya Udhibiti wa Usambazaji/Itifaki ya Mtandao). Imefafanuliwa katika RFC 959.

Itifaki inafafanua yafuatayo:

  • Je, ukaguzi wa makosa utafanywaje?
  • Mbinu ya ufungashaji data (ikiwa kifungashio kinatumika)
  • Je, kifaa cha kutuma kinaonyeshaje kwamba kimemaliza ujumbe?
  • Je, kifaa kinachopokea kinaonyeshaje kwamba kimepokea ujumbe?

Mawasiliano kati ya mteja na seva

Hebu tuchunguze kwa undani taratibu zinazotokea wakati wa uendeshaji wa FTP. Muunganisho unaanzishwa na mkalimani wa itifaki ya mtumiaji. Ubadilishanaji unadhibitiwa kupitia chaneli ya udhibiti katika kiwango cha TELNET. Amri za FTP zinatolewa na mkalimani wa itifaki ya mtumiaji na kutumwa kwa seva. Majibu ya seva pia hutumwa kwa mtumiaji kupitia kituo cha kudhibiti. Kwa ujumla, mtumiaji ana uwezo wa kuanzisha mawasiliano na mkalimani wa itifaki ya seva na kwa njia zingine isipokuwa mkalimani wa mtumiaji.

Kipengele kikuu cha FTP ni kwamba hutumia viunganisho viwili. Mmoja wao hutumiwa kutuma amri kwa seva na hutokea kwa default kupitia bandari ya TCP 21, ambayo inaweza kubadilishwa. Muunganisho wa udhibiti upo mradi tu mteja anawasiliana na seva. Njia ya udhibiti lazima iwe wazi wakati wa kuhamisha data kati ya mashine. Ikiwa imefungwa, usambazaji wa data huacha. Kupitia pili, uhamisho wa data moja kwa moja hutokea. Inafungua kila wakati uhamishaji wa faili unatokea kati ya mteja na seva. Ikiwa faili kadhaa zinahamishwa wakati huo huo, kila mmoja wao hufungua njia yake ya maambukizi.

FTP inaweza kufanya kazi katika hali ya kazi au ya passive, chaguo ambalo huamua jinsi uunganisho unavyoanzishwa. Katika hali ya kazi, mteja huunda muunganisho wa udhibiti wa TCP na seva na kutuma anwani yake ya IP na nambari ya bandari ya mteja ya kiholela kwa seva, na kisha inasubiri seva kuanza muunganisho wa TCP na anwani hii na nambari ya bandari. Ikiwa mteja yuko nyuma ya ngome na hawezi kukubali muunganisho unaoingia wa TCP, hali ya passiv inaweza kutumika. Katika hali hii, mteja hutumia mtiririko wa kudhibiti kutuma amri ya PASV kwa seva, na kisha hupokea kutoka kwa seva anwani yake ya IP na nambari ya mlango, ambayo mteja hutumia kufungua mtiririko wa data kutoka kwa bandari yake ya kiholela.

Inawezekana kwamba data inaweza kuhamishiwa kwa mashine ya tatu. Katika kesi hii, mtumiaji hupanga kituo cha kudhibiti na seva mbili na kupanga kituo cha data moja kwa moja kati yao. Amri za udhibiti hupitia mtumiaji, na data huenda moja kwa moja kati ya seva.

Wakati wa kusambaza data kwenye mtandao, viwakilishi vinne vya data vinaweza kutumika:

  • ASCII - hutumika kwa maandishi. Data, ikiwa ni lazima, inabadilishwa kutoka kwa uwakilishi wa herufi kwenye seva pangishi inayotuma hadi "ASCII ya biti nane" kabla ya kutumwa, na (tena, ikiwa ni lazima) hadi kwa uwakilishi wa herufi kwenye seva pangishi inayopokea. Hasa, wahusika wa mstari mpya hubadilishwa. Kwa hivyo, hali hii haifai kwa faili zilizo na zaidi ya maandishi wazi.
  • Hali ya binary - kifaa cha kutuma hutuma kila byte ya faili kwa byte, na mpokeaji huhifadhi mkondo wa byte baada ya kupokea. Usaidizi wa hali hii umependekezwa kwa utekelezaji wote wa FTP.
  • EBCDIC - hutumika kuhamisha maandishi wazi kati ya wapangishi katika usimbaji wa EBCDIC. Vinginevyo, hali hii ni sawa na hali ya ASCII.
  • Hali ya ndani - inaruhusu kompyuta mbili zilizo na mipangilio sawa kutuma data katika muundo wao wenyewe bila kubadilisha ASCII.

Uhamisho wa data unaweza kufanywa kwa njia yoyote kati ya tatu:

  • Hali ya utiririshaji - data hutumwa kama mtiririko unaoendelea, na hivyo basi FTP isifanye uchakataji wowote. Badala yake, usindikaji wote unafanywa na TCP. Kiashiria cha mwisho wa faili hakihitajiki isipokuwa kwa kutenganisha data katika rekodi.
  • Njia ya kuzuia - FTP huvunja data katika vizuizi kadhaa (kizuizi cha kichwa, idadi ya baiti, uwanja wa data) na kisha kuzipeleka kwa TCP.
  • Hali ya ukandamizaji - data inasisitizwa kwa kutumia algorithm moja (kawaida kwa encoding kukimbia urefu).

Seva ya FTP ni seva inayotoa uwezo wa kutumia Itifaki ya Uhawilishaji Faili. Ina vipengele fulani vinavyoitofautisha na seva za kawaida za wavuti:

  • Uthibitishaji wa mtumiaji unahitajika
  • Shughuli zote zinafanywa ndani ya kipindi cha sasa
  • Uwezo wa kufanya vitendo mbalimbali na mfumo wa faili
  • Kituo tofauti kinatumika kwa kila muunganisho

Mteja wa FTP ni mpango unaokuwezesha kuunganisha kwenye seva ya mbali kupitia FTP na pia kufanya vitendo muhimu juu yake na vipengele vya mfumo wa faili. Mteja anaweza kuwa kivinjari, kwenye upau wa anwani ambao unapaswa kuingiza anwani, ambayo ni njia ya saraka au faili maalum kwenye seva ya mbali, kwa mujibu wa mchoro wa jumla wa kuzuia URL:

ftp://user:pass@address:port/directory/file

Hata hivyo, kutumia kivinjari katika muktadha huu kutakuwezesha tu kutazama au kupakua faili zinazokuvutia. Ili kutumia kikamilifu faida zote za FTP, unapaswa kutumia programu maalum kama mteja.

Uthibitishaji wa FTP hutumia jina la mtumiaji/nenosiri ili kutoa ufikiaji. Jina la mtumiaji linatumwa kwa seva na amri ya USER, na nenosiri linatumwa kwa amri ya PASS. Ikiwa taarifa iliyotolewa na mteja inakubaliwa na seva, basi seva itatuma mwaliko kwa mteja na kikao huanza. Watumiaji wanaweza, ikiwa seva inaauni kipengele hiki, kuingia bila kutoa vitambulisho, lakini seva inaweza kutoa ufikiaji mdogo kwa vipindi kama hivyo.

Mpangishi anayetoa huduma ya FTP anaweza kutoa ufikiaji wa FTP bila jina. Watumiaji kwa kawaida huingia na "wasiojulikana" (huenda ikawa nyeti kwa baadhi ya seva za FTP) kama jina lao la mtumiaji. Ingawa watumiaji kwa kawaida huulizwa kutoa anwani zao za barua pepe badala ya nenosiri, hakuna uthibitishaji unaofanywa. Wapangishi wengi wa FTP ambao hutoa masasisho ya programu hutumia ufikiaji usiojulikana.

Mchoro wa itifaki

Mwingiliano wa seva ya mteja wakati wa muunganisho wa FTP unaweza kuonyeshwa kama ifuatavyo:

Itifaki za SFTP na FTPS

Salama FTP

Awali FTP haikukusudiwa kuwa salama, kwani ilikusudiwa kwa mawasiliano kati ya mitambo na mashirika mengi ya kijeshi. Lakini kwa maendeleo na kuenea kwa mtandao, hatari ya ufikiaji usioidhinishwa imeongezeka mara nyingi. Kulikuwa na haja ya kulinda seva dhidi ya aina mbalimbali za mashambulizi. Mnamo Mei 1999, waandishi wa RFC 2577 walifanya muhtasari wa udhaifu katika orodha ifuatayo ya masuala:

  • Mashambulizi yaliyofichwa (mashambulizi ya kuruka)
  • Mashambulizi ya kipumbavu
  • Mashambulizi ya nguvu ya kikatili
  • Kukamata pakiti, kunusa
  • Wizi wa bandari

FTP ya kawaida haina uwezo wa kuhamisha data katika fomu iliyosimbwa, kama matokeo ambayo majina ya watumiaji, nywila, amri na habari zingine zinaweza kukamatwa kwa urahisi na washambuliaji. Suluhisho la kawaida la tatizo hili ni kutumia matoleo ya "salama", yaliyolindwa na TLS ya itifaki iliyo katika mazingira magumu (FTPS) au itifaki nyingine iliyo salama zaidi, kama vile SFTP/SCP, inayotolewa na utekelezaji mwingi wa itifaki ya Secure Shell.

FTPS

FTPS (FTP + SSL) ni kiendelezi cha itifaki ya kawaida ya kuhamisha faili ambayo huongeza kwa utendakazi wake msingi uundaji wa vipindi vilivyosimbwa kwa kutumia itifaki ya SSL (Secure Sockets Layer). Leo, ulinzi hutolewa na analogi yake ya juu zaidi TLS (Usalama wa Tabaka la Usafiri).

SSL

Itifaki ya SSL ilipendekezwa na Netscape Communications mnamo 1996 ili kuhakikisha usalama na faragha ya miunganisho ya Mtandao. Itifaki hii inasaidia uthibitishaji wa mteja na seva, haitegemei programu, na ni wazi kwa itifaki za HTTP, FTP na Telnet.

Itifaki ya SSL ya Kushikana mikono ina hatua mbili: uthibitishaji wa seva na uthibitishaji wa hiari wa mteja. Katika hatua ya kwanza, seva hujibu ombi la mteja kwa kutuma cheti chake na vigezo vya usimbuaji. Kisha mteja hutoa ufunguo mkuu, na kusimba kwa ufunguo wa umma wa seva, na kuituma kwa seva. Seva inasimbua ufunguo mkuu kwa ufunguo wake wa faragha na kujithibitisha kwa mteja kwa kurudisha ujumbe uliothibitishwa na ufunguo mkuu wa mteja.

Data inayofuata imesimbwa kwa njia fiche na kuthibitishwa kwa vitufe vinavyotokana na ufunguo huu mkuu. Katika hatua ya pili, ambayo ni ya hiari, seva hutuma ombi kwa mteja, na mteja anajithibitisha kwa seva kwa kurudisha ombi kwa saini yake ya dijiti na cheti cha ufunguo wa umma.

SSL inasaidia aina mbalimbali za algoriti za kriptografia. Wakati wa kuanzishwa kwa mawasiliano, mfumo wa siri wa ufunguo wa umma wa RSA hutumiwa. Baada ya ubadilishanaji wa ufunguo, ciphers nyingi tofauti hutumiwa: RC2, RC4, IDEA, DES na TripleDES. MD5 pia hutumiwa - algorithm ya kuunda digest ya ujumbe. Sintaksia ya vyeti vya ufunguo wa umma imefafanuliwa katika X.509.

Moja ya faida muhimu za SSL ni uhuru wake kamili wa jukwaa la programu. Itifaki inatengenezwa kwa kanuni za kubebeka, na itikadi ya ujenzi wake haitegemei matumizi ambayo hutumiwa. Kwa kuongeza, ni muhimu pia kwamba itifaki zingine zinaweza kufunikwa kwa uwazi juu ya itifaki ya SSL; ama kuongeza zaidi kiwango cha ulinzi wa mtiririko wa taarifa lengwa, au kurekebisha uwezo wa kriptografia wa SSL kwa kazi nyingine iliyobainishwa vyema.

Uunganisho wa SSL

Itifaki za SFTP na FTPS

Kituo salama kilichotolewa na SSL kina sifa kuu tatu:

  • Kituo ni cha faragha. Usimbaji fiche hutumiwa kwa ujumbe wote baada ya mazungumzo rahisi ambayo hutumika kubainisha ufunguo wa siri.
  • Kituo kimethibitishwa. Upande wa seva wa mazungumzo huthibitishwa kila mara, huku upande wa mteja ukithibitishwa kwa hiari.
  • Kituo kinategemewa. Usafiri wa ujumbe ni pamoja na kuangalia uadilifu (kwa kutumia MAC).

Vipengele vya FTPS

Kuna utekelezaji mbili wa FTPS, kwa kutumia njia tofauti za kutoa usalama:

  • Mbinu isiyo wazi inahusisha kutumia itifaki ya kawaida ya SSL ili kuanzisha kipindi kabla ya kutuma data, ambayo, kwa upande wake, inavunja utangamano na wateja na seva za kawaida za FTP. Kwa uoanifu wa nyuma na wateja ambao hawatumii FTPS, bandari ya TCP 990 inatumika kwa muunganisho wa udhibiti na 989 inatumika kwa uhamisho wa data. Hii hubakia na mlango wa kawaida wa 21 wa itifaki ya FTP. Njia hii inachukuliwa kuwa ya kizamani.
  • Uwazi ni rahisi zaidi, kwani hutumia amri za kawaida za FTP, lakini husimba data wakati wa kujibu, ambayo hukuruhusu kutumia muunganisho sawa wa udhibiti kwa FTP na FTPS. Mteja lazima aombe kwa uwazi uhamishaji wa data salama kutoka kwa seva, na kisha aidhinishe mbinu ya usimbaji fiche. Ikiwa mteja hataomba uhamishaji salama, seva ya FTPS ina haki ya kudumisha au kufunga muunganisho usio salama. Utaratibu wa uthibitishaji na usalama wa data uliongezwa chini ya RFC 2228 ambayo inajumuisha amri mpya ya FTP AUTH. Ingawa kiwango hiki hakifafanui kwa uwazi mbinu za usalama, kinabainisha kuwa muunganisho salama lazima uanzishwe na mteja kwa kutumia kanuni iliyoelezwa hapo juu. Ikiwa miunganisho salama haitumiki na seva, msimbo wa hitilafu wa 504 unapaswa kurejeshwa. Wateja wa FTPS wanaweza kupata taarifa kuhusu itifaki za usalama zinazotumika na seva kwa kutumia amri ya FEAT, hata hivyo, seva haitakiwi kufichua ni viwango gani vya usalama. inasaidia. Amri za kawaida za FTPS ni AUTH TLS na AUTH SSL, ambazo hutoa usalama wa TLS na SSL, mtawalia.

SFTP

SFTP (Itifaki ya Uhamisho wa Faili Salama) ni itifaki ya uhamishaji wa faili ya safu ya programu inayoendesha juu ya chaneli salama. Haipaswi kuchanganyikiwa na (Itifaki Rahisi ya Uhamishaji Faili), ambayo ina ufupisho sawa. Ikiwa FTPS ni kiendelezi cha FTP, basi SFTP ni itifaki tofauti na isiyohusiana inayotumia SSH (Secure Shell) kama msingi wake.

Shell salama

Itifaki ilitengenezwa na mojawapo ya vikundi vya IETF vinavyoitwa Secsh. Nyaraka za kufanya kazi za itifaki mpya ya SFTP hazikuwa kiwango rasmi, lakini zilianza kutumika kikamilifu kwa maendeleo ya maombi. Baadaye, matoleo sita ya itifaki yalitolewa. Walakini, ongezeko la polepole la utendaji ndani yake lilisababisha ukweli kwamba mnamo Agosti 14, 2006, iliamuliwa kuacha kufanya kazi katika ukuzaji wa itifaki kwa sababu ya kukamilika kwa kazi kuu ya mradi (maendeleo ya SSH) na ukosefu. ya kiwango cha mtaalam wa kutosha ili kuendelea na uundaji wa itifaki kamili ya mfumo wa faili wa mbali .

SSH ni itifaki ya mtandao ambayo inaruhusu udhibiti wa kijijini wa mfumo wa uendeshaji na tunnel ya miunganisho ya TCP (kwa mfano, kwa uhamisho wa faili). Sawa katika utendakazi wa Telnet na itifaki za rlogin, lakini, tofauti na wao, husimba trafiki yote, pamoja na nywila zinazopitishwa. SSH inaruhusu uchaguzi wa algoriti tofauti za usimbaji fiche. Wateja wa SSH na seva za SSH zinapatikana kwa mifumo mingi ya uendeshaji ya mtandao.

SSH hukuruhusu kuhamisha karibu itifaki yoyote ya mtandao kwa usalama katika mazingira ambayo hayajalindwa. Kwa hivyo, huwezi kufanya kazi tu kwa mbali kwenye kompyuta yako kupitia ganda la amri, lakini pia kusambaza mkondo wa sauti au video (kwa mfano, kutoka kwa kamera ya wavuti) kwenye chaneli iliyosimbwa. SSH pia inaweza kutumia ukandamizaji wa data inayotumwa kwa usimbaji fiche unaofuata, ambao ni rahisi, kwa mfano, kuzindua kwa mbali viteja vya X WindowSystem.

Toleo la kwanza la itifaki, SSH-1, ilitengenezwa mwaka wa 1995 na mtafiti Tatu UlΓΆnen kutoka Chuo Kikuu cha Teknolojia cha Helsinki (Finland). SSH-1 iliandikwa ili kutoa faragha zaidi kuliko itifaki za rlogin, telnet, na rsh. Mnamo 1996, toleo la usalama zaidi la itifaki, SSH-2, lilitengenezwa, ambalo haliendani na SSH-1. Itifaki hiyo ilipata umaarufu zaidi, na kufikia 2000 ilikuwa na takriban watumiaji milioni mbili. Hivi sasa, neno "SSH" kwa kawaida linamaanisha SSH-2, kwa sababu Toleo la kwanza la itifaki sasa halitumiki kwa sababu ya mapungufu makubwa. Mnamo 2006, itifaki iliidhinishwa na kikundi kazi cha IETF kama kiwango cha Mtandao.

Kuna utekelezwaji wa kawaida wa SSH: biashara ya kibinafsi na chanzo huria huria. Utekelezaji wa bure unaitwa OpenSSH. Kufikia 2006, 80% ya kompyuta kwenye Mtandao zilitumia OpenSSH. Utekelezaji wa umiliki unatengenezwa na SSH Communications Security, kampuni tanzu inayomilikiwa kabisa na Tectia Corporation, na ni bure kwa matumizi yasiyo ya kibiashara. Utekelezaji huu una karibu seti sawa ya amri.

Itifaki ya SSH-2, tofauti na itifaki ya telnet, ni sugu kwa mashambulizi ya usikilizaji wa trafiki ("kunusa"), lakini haihimili mashambulizi ya mtu katikati. Itifaki ya SSH-2 pia ni sugu kwa mashambulizi ya utekaji nyara wa kikao, kwa kuwa haiwezekani kujiunga au kuteka nyara kikao ambacho tayari kimeanzishwa.

Ili kuzuia mashambulizi ya mtu katikati wakati wa kuunganisha kwa seva pangishi ambaye ufunguo wake bado haujulikani kwa mteja, programu ya mteja humwonyesha mtumiaji "alama ya vidole muhimu". Inashauriwa kuangalia kwa uangalifu "picha muhimu" iliyoonyeshwa na programu ya mteja na snapshot ya ufunguo wa seva, ikiwezekana kupatikana kupitia njia za mawasiliano za kuaminika au kwa kibinafsi.

Usaidizi wa SSH unapatikana kwenye mifumo yote kama UNIX, na nyingi zina mteja wa ssh na seva kama huduma za kawaida. Kuna utekelezaji mwingi wa wateja wa SSH kwa OS zisizo za UNIX. Itifaki ilipata umaarufu mkubwa baada ya kuenea kwa wachambuzi wa trafiki na mbinu za kuvuruga uendeshaji wa mitandao ya ndani, kama suluhisho mbadala kwa itifaki ya Telnet isiyo salama ya kusimamia nodi muhimu.

Mawasiliano kwa kutumia SSH

Ili kufanya kazi kupitia SSH, unahitaji seva ya SSH na mteja wa SSH. Seva inasikiliza viunganisho kutoka kwa mashine za mteja na, wakati uunganisho umeanzishwa, hufanya uthibitishaji, baada ya hapo huanza kumhudumia mteja. Mteja hutumiwa kuingia kwenye mashine ya mbali na kutekeleza amri.

Itifaki za SFTP na FTPS

Kulinganisha na FTPS

Jambo kuu ambalo hutofautisha SFTP kutoka kwa FTP ya kawaida na FTPS ni kwamba SFTP husimba amri zote, majina ya watumiaji, nywila na taarifa nyingine za siri.

Itifaki zote mbili za FTPS na SFTP hutumia mchanganyiko wa algoriti zisizolinganishwa (RSA, DSA), algoriti za ulinganifu (DES/3DES, AES, Twhofish, n.k.), pamoja na algoriti muhimu ya kubadilishana. Kwa uthibitishaji, FTPS (au kuwa sahihi zaidi, SSL/TLS juu ya FTP) hutumia vyeti vya X.509, huku SFTP (itifaki ya SSH) inatumia vitufe vya SSH.

Vyeti vya X.509 vinajumuisha ufunguo wa umma na baadhi ya taarifa kuhusu cheti cha mmiliki. Taarifa hii inaruhusu, kwa upande mwingine, kuthibitisha uadilifu wa cheti chenyewe, uhalisi na mmiliki wa cheti. Vyeti vya X.509 vina ufunguo wa faragha unaolingana, ambao kwa kawaida huhifadhiwa kando na cheti kwa sababu za usalama.

Kitufe cha SSH kina ufunguo wa umma pekee (ufunguo wa kibinafsi unaolingana huhifadhiwa kando). Haina taarifa yoyote kuhusu mmiliki wa ufunguo. Utekelezaji fulani wa SSH hutumia vyeti vya X.509 kwa uthibitishaji, lakini kwa hakika hauthibitishi msururu wote wa chetiβ€”ufunguo wa umma pekee ndio unatumika (jambo ambalo hufanya uthibitishaji huo kutokamilika).

Hitimisho

Itifaki ya FTP bila shaka bado ina jukumu muhimu katika kuhifadhi na usambazaji wa habari kwenye mtandao licha ya umri wake wa kuheshimiwa. Ni itifaki inayofaa, yenye kazi nyingi na sanifu. Nyaraka nyingi za faili zimejengwa kwa misingi yake, bila ambayo kazi ya kiufundi haingekuwa yenye ufanisi sana. Kwa kuongeza, ni rahisi kuanzisha, na programu za seva na mteja zipo kwa karibu majukwaa yote ya sasa na sio ya sasa.

Kwa upande wake, matoleo yake yaliyolindwa hutatua shida ya usiri wa data iliyohifadhiwa na kupitishwa katika ulimwengu wa kisasa. Itifaki zote mbili mpya zina faida na hasara zake na hutumikia majukumu tofauti kidogo. Katika maeneo hayo ambapo kumbukumbu ya faili inahitajika, ni vyema kutumia FTPS, hasa ikiwa FTP ya kawaida tayari imetumika hapo awali. SFTP haipatikani sana kutokana na kutokubaliana na itifaki ya zamani, lakini ni salama zaidi na ina utendaji zaidi, kwa kuwa ni sehemu ya mfumo wa usimamizi wa kijijini.

Orodha ya vyanzo

Chanzo: mapenzi.com

Kuongeza maoni