Protokol SFTP sareng FTPS

foreword

Ngan saminggu ka tukang kuring nulis esai ngeunaan topik anu dituduhkeun dina judul sareng disanghareupan kanyataan yén, hayu urang nyarios, teu aya seueur inpormasi pendidikan dina Internét. Kalolobaan fakta garing sarta parentah setelan. Ku alatan éta, kuring mutuskeun pikeun rada ngabenerkeun téks sareng masangkeunana salaku tulisan.

Naon FTP

FTP (File Transfer Protocol) nyaéta protokol pikeun nransferkeun payil ngaliwatan jaringan. Ieu salah sahiji protokol Ethernet dasar. Muncul dina 1971 sarta mimitina digawé di jaringan DARPA. Ayeuna, sapertos HTTP, transfer file dumasar kana modél anu diwangun ku sakumpulan protokol TCP/IP (Transmission Control Protocol/Internet Protocol). Ditetepkeun dina RFC 959.

Protokol netepkeun ieu:

  • Kumaha pamariksaan kasalahan bakal dilaksanakeun?
  • Métode bungkusan data (upami bungkusan dianggo)
  • Kumaha alat pangirim nunjukkeun yén éta parantos réngsé pesen?
  • Kumaha alat panarima nunjukkeun yén éta parantos nampi pesen?

Komunikasi antara klien tur server

Hayu urang nyandak katingal ngadeukeutan dina prosés anu lumangsung salila operasi FTP. Sambungan diinisialisasi ku juru protokol pangguna. Bursa dikawasa ku saluran kontrol dina standar TELNET. Paréntah FTP dihasilkeun ku juru protokol pamaké sarta dikirim ka server. réspon server ogé dikirim ka pamaké ngaliwatan saluran kontrol. Sacara umum, pamaké boga kamampuhan pikeun nyieun kontak jeung juru protokol pangladén sarta ku cara lian ti juru basa pamaké.

Fitur utama FTP nyaéta ngagunakeun sambungan ganda. Salah sahijina dianggo pikeun ngirim paréntah ka server sareng lumangsung sacara standar via port TCP 21, anu tiasa dirobih. Sambungan kontrol aya salami klien komunikasi sareng server. Saluran kontrol kedah kabuka nalika nransferkeun data antara mesin. Lamun ditutup, pangiriman data eureun. Ngaliwatan kadua, transfer data langsung lumangsung. Éta muka unggal waktos transfer file lumangsung antara klien sareng server. Upami sababaraha file ditransfer sakaligus, masing-masing bakal muka saluran transmisi sorangan.

FTP tiasa beroperasi dina modeu aktip atanapi pasip, pilihan anu nangtukeun kumaha sambunganna diadegkeun. Dina modeu aktip, klien nu nyieun sambungan kontrol TCP jeung server na ngirimkeun alamat IP sarta nomer port klien sawenang ka server, lajeng ngantosan server pikeun ngamimitian sambungan TCP kalawan alamat ieu sareng nomer port. Upami klien aya di tukangeun firewall sareng teu tiasa nampi sambungan TCP anu asup, mode pasip tiasa dianggo. Dina modeu ieu, klien ngagunakeun aliran kontrol pikeun ngirim paréntah PASV ka server, lajeng nampi ti server alamat IP na port nomer, nu klien lajeng ngagunakeun pikeun muka aliran data ti port sawenang na.

Ieu mungkin yen data bisa dibikeun ka mesin katilu. Dina hal ieu, pangguna ngatur saluran kontrol sareng dua server sareng ngatur saluran data langsung antara aranjeunna. Paréntah kontrol ngaliwatan pamaké, sarta data mana langsung antara server.

Nalika ngirimkeun data dina jaringan, opat répréséntasi data tiasa dianggo:

  • ASCII - dipaké pikeun téks. Data ieu, lamun perlu, dirobah tina ngagambarkeun karakter dina host ngirim ka "ASCII dalapan bit" saméméh transmisi, jeung (deui, lamun perlu) pikeun ngagambarkeun karakter dina host narima. Khususna, karakter baris anyar dirobih. Hasilna, mode ieu teu cocog pikeun file nu ngandung leuwih ti ngan téks polos.
  • Modeu binér - alat pangirim ngirimkeun unggal bait file ku bait, sareng panampi nyimpen aliran bait saatos nampi. Rojongan pikeun mode ieu geus dianjurkeun pikeun sakabéh palaksanaan FTP.
  • EBCDIC – dipaké pikeun mindahkeun téks polos antara host dina encoding EBCDIC. Upami teu kitu, mode ieu sarua jeung mode ASCII.
  • Mode lokal - ngamungkinkeun dua komputer sareng setelan idéntik pikeun ngirim data dina format sorangan tanpa ngarobah kana ASCII.

Mindahkeun data tiasa dilakukeun dina salah sahiji tina tilu modeu:

  • Modeu stream - data dikirim salaku aliran kontinyu, freeing FTP tina ngajalankeun sagala processing. Sabalikna, sadaya pamrosésan dilakukeun ku TCP. Indikator tungtung-file henteu diperyogikeun kecuali pikeun misahkeun data kana rékaman.
  • Modeu blok - FTP ngarecah data kana sababaraha blok (blok lulugu, jumlah bait, widang data) lajeng ngirimkeunana ka TCP.
  • Modeu komprési - data dikomprés nganggo algoritma tunggal (biasana ku encoding panjang jalan).

Pangladén FTP mangrupikeun pangladén anu nyayogikeun kamampuan ngagunakeun File Transfer Protocol. Éta ngagaduhan fitur-fitur anu ngabédakeun tina pangladén wéb konvensional:

  • auténtikasi pamaké diperlukeun
  • Sadaya operasi dilaksanakeun dina sési ayeuna
  • Kamampuhan pikeun ngalakukeun sababaraha tindakan sareng sistem file
  • Saluran anu misah dianggo pikeun tiap sambungan

Klién FTP mangrupikeun program anu ngamungkinkeun anjeun nyambungkeun ka server jauh liwat FTP sareng ogé ngalaksanakeun tindakan anu dipikabutuh dina éta sareng unsur sistem file. Klién ogé tiasa janten browser, dina bar alamat dimana anjeun kedah ngalebetkeun alamatna, nyaéta jalur ka diréktori atanapi file khusus dina server jauh, saluyu sareng diagram blok URL umum:

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

Nanging, nganggo browser wéb dina kontéks ieu ngan ukur ngamungkinkeun anjeun ningali atanapi ngaunduh file anu dipikaresep. Dina raraga pinuh ngamangpaatkeun sagala kaunggulan FTP, Anjeun kudu make software husus salaku klien.

Auténtikasi FTP ngagunakeun skéma ngaran pamaké/sandi pikeun méré aksés. Ngaran pamaké dikirim ka server kalayan paréntah USER, sarta sandi dikirimkeun ku paréntah PASS. Upami inpormasi anu disayogikeun ku klien ditampi ku server, maka server bakal ngirim uleman ka klien sareng sési dimimitian. Pamaké tiasa, upami pangladén ngadukung fitur ieu, log in tanpa masihan kredensial, tapi pangladén ngan ukur tiasa masihan aksés kawates pikeun sesi sapertos kitu.

Host anu nyayogikeun jasa FTP tiasa nyayogikeun aksés FTP anonim. Pamaké biasana log in nganggo "anonim" (bisa jadi sénsitip kana sababaraha server FTP) salaku ngaran pamaké maranéhanana. Sanajan pamaké biasana dipenta pikeun nyadiakeun alamat surélék maranéhanana tinimbang kecap akses, euweuh verifikasi sabenerna dipigawé. Seueur host FTP anu nyayogikeun apdet parangkat lunak ngadukung aksés anonim.

diagram Protokol

Interaksi klien-server salami sambungan FTP tiasa ditingalikeun sapertos kieu:

Protokol SFTP sareng FTPS

FTP aman

FTP asalna henteu dimaksudkeun pikeun aman, sabab dimaksudkeun pikeun komunikasi antara sababaraha pamasangan sareng agénsi militér. Tapi kalayan pamekaran sareng panyebaran Internét, bahaya aksés anu henteu sah parantos ningkat sababaraha kali. Aya kabutuhan pikeun ngajagi server tina sababaraha jinis serangan. Dina Méi 1999, panulis RFC 2577 nyimpulkeun kerentanan kana daptar masalah ieu:

  • Serangan disumputkeun (serangan mumbul)
  • Spoof serangan
  • Serangan brute force
  • Pakét nangkep, nyeuseup
  • Port maling

FTP biasa henteu gaduh kamampuan pikeun nransferkeun data dina bentuk énkripsi, akibatna nami pangguna, kecap akses, paréntah sareng inpormasi sanésna tiasa gampang sareng gampang dicegat ku panyerang. Solusi anu biasa pikeun masalah ieu nyaéta ngagunakeun versi "aman", TLS-ditangtayungan tina protokol rentan (FTPS) atawa protokol sejen, leuwih aman, kayaning SFTP / SCP, disadiakeun kalawan paling palaksanaan protokol Secure Shell.

FTPS

FTPS (FTP + SSL) mangrupa extension tina protokol mindahkeun file baku nu nambihan ka fungsionalitas dasar na kreasi sési énkripsi ngagunakeun protokol SSL (Secure Sockets Layer). Kiwari, panyalindungan disayogikeun ku TLS analogna anu langkung maju (Transport Layer Security).

SSL

Protokol SSL diajukeun ku Netscape Communications di 1996 pikeun mastikeun kaamanan sareng privasi sambungan Internét. Protokol ngadukung auténtikasi klien sareng server, bebas aplikasi, sareng transparan kana protokol HTTP, FTP, sareng Telnet.

Protokol sasalaman SSL diwangun ku dua tahap: auténtikasi server sareng auténtikasi klien opsional. Dina tahap kahiji, server ngabales pamundut klien ku ngirim sertipikat na parameter enkripsi. Klién teras ngahasilkeun konci master, énkripsi nganggo konci umum pangladén, sareng dikirim ka pangladén. Server ngadekrip konci master nganggo konci pribadina sareng ngaoténtikasi diri ka klien ku cara mulangkeun pesen anu dioténtikasi ku konci master klien.

Data saterasna énkripsi sareng dioténtikasi nganggo konci anu diturunkeun tina konci master ieu. Dina lengkah kadua, nu pilihan, server ngirimkeun pamundut ka klien, sarta klien authenticates sorangan ka server ku balik pamundut kalawan signature digital sorangan sarta sertipikat konci publik.

SSL ngarojong rupa-rupa algoritma cryptographic. Salila ngadegna komunikasi, nu RSA publik konci cryptosystem dipaké. Saatos bursa konci, loba ciphers béda dipaké: RC2, RC4, IDEA, DES na TripleDES. MD5 ogé dianggo - algoritme pikeun nyiptakeun pesen nyerna. Sintaksis pikeun sertipikat konci umum dijelaskeun dina X.509.

Salah sahiji kaunggulan penting SSL nyaeta kamerdikaan software-platform na lengkep. Protokol dikembangkeun dina prinsip portabilitas, sareng idéologi konstruksina henteu gumantung kana aplikasi anu dianggo. Sajaba ti éta, éta ogé penting yén protokol séjén bisa transparan overlaid on luhureun protokol SSL; boh pikeun ningkatkeun darajat panyalindungan aliran inpormasi target, atanapi adaptasi kamampuan kriptografi SSL pikeun sababaraha tugas anu sanés.

sambungan SSL

Protokol SFTP sareng FTPS

Saluran aman anu disayogikeun ku SSL ngagaduhan tilu sipat utama:

  • Saluranna pribadi. Enkripsi dipaké pikeun sakabéh pesen sanggeus dialog basajan nu boga fungsi pikeun nangtukeun konci rusiah.
  • Saluran ieu dioténtikasi. Sisi server paguneman sok dioténtikasi, sedengkeun sisi klien dioténtikasi sacara opsional.
  • Saluranna tiasa dipercaya. Angkutan pesen kalebet pamariksaan integritas (nganggo MAC).

Keunggulan FTPS

Aya dua palaksanaan FTPS, ngagunakeun metodeu anu béda pikeun nyayogikeun kaamanan:

  • Metodeu implisit ngalibatkeun ngagunakeun protokol SSL baku pikeun nyieun sési saméméh ngirim data, nu, kahareupna megatkeun kasaluyuan jeung klien FTP biasa na server. Pikeun kasaluyuan mundur kalawan klien nu teu ngarojong FTPS, TCP port 990 dipaké pikeun sambungan kontrol jeung 989 dipaké pikeun mindahkeun data. Ieu nahan port baku 21 pikeun protokol FTP. Metoda ieu dianggap luntur.
  • Eksplisit langkung merenah, sabab ngagunakeun paréntah ftp standar, tapi énkripsi data nalika ngaréspon, anu ngamungkinkeun anjeun nganggo sambungan kontrol anu sami pikeun FTP sareng FTPS. Klién kedah sacara eksplisit nyuhunkeun transfer data anu aman ti server, teras nyatujuan metode enkripsi. Upami klien henteu menta transfer anu aman, server FTPS ngagaduhan hak pikeun ngajaga atanapi nutup sambungan anu teu aman. Mékanisme oténtikasi sareng negosiasi kaamanan data ditambah dina RFC 2228 anu kalebet paréntah FTP AUTH énggal. Sanaos standar ieu henteu sacara eksplisit netepkeun mékanisme kaamanan, éta netepkeun yén sambungan anu aman kedah diprakarsai ku klien nganggo algoritma anu dijelaskeun di luhur. Upami sambungan aman henteu dirojong ku server, kodeu kasalahan 504 kedah dipulangkeun. Klien FTPS tiasa nampi inpormasi ngeunaan protokol kaamanan anu dirojong ku server nganggo paréntah FEAT, tapi server henteu kedah ngungkabkeun tingkat kaamanan naon éta. ngarojong. Paréntah FTPS anu paling umum nyaéta AUTH TLS sareng AUTH SSL, anu masing-masing nyayogikeun kaamanan TLS sareng SSL.

SFTP

SFTP (Secure File Transfer Protocol) nyaéta protokol transfer file lapisan aplikasi anu dijalankeun dina luhureun saluran anu aman. Teu matak bingung jeung (Simple File Transfer Protocol), nu boga singketan sarua. Upami FTPS ngan saukur penyuluhan FTP, maka SFTP mangrupikeun protokol anu misah sareng teu aya hubunganana anu ngagunakeun SSH (Secure Shell) salaku dasarna.

Aman

Protokol ieu dikembangkeun ku salah sahiji grup IETF anu disebut Secsh. Dokuméntasi kerja pikeun protokol SFTP anyar henteu janten standar resmi, tapi mimiti aktip dianggo pikeun pamekaran aplikasi. Salajengna, genep vérsi protokol dileupaskeun. Tapi, kanaékan bertahap dina pungsionalitasna nyababkeun kanyataan yén dina 14 Agustus 2006, éta mutuskeun pikeun ngeureunkeun damel dina pamekaran protokol kusabab parantosan tugas utama proyék (pangembangan SSH) sareng kakurangan. tina tingkat ahli anu cukup pikeun ngaléngkah kana pamekaran protokol sistem file jauh anu lengkep.

SSH mangrupikeun protokol jaringan anu ngamungkinkeun kadali jauh sistem operasi sareng tunneling sambungan TCP (contona, pikeun mindahkeun file). Sarupa dina pungsionalitasna kana protokol Telnet sareng rlogin, tapi, teu sapertos aranjeunna, énkripsi sadaya lalu lintas, kalebet kecap konci anu dikirimkeun. SSH ngamungkinkeun pilihan algoritma enkripsi anu béda. Klién SSH sareng server SSH sayogi pikeun kalolobaan sistem operasi jaringan.

SSH ngidinan Anjeun pikeun mindahkeun aman ampir sagala protokol jaringan sejenna dina lingkungan unsecured. Ku kituna, anjeun teu ngan bisa dianggo jarak jauh dina komputer ngaliwatan cangkang paréntah, tapi ogé ngirimkeun hiji aliran audio atawa video (contona, ti Webcam a) ngaliwatan saluran énkripsi. SSH ogé tiasa nganggo komprési data anu dikirimkeun pikeun énkripsi salajengna, anu cocog, contona, pikeun ngaluncurkeun klien X WindowSystem jarak jauh.

Versi munggaran protokol, SSH-1, dikembangkeun dina 1995 ku panalungtik Tatu Ulönen ti Helsinki University of Technology (Finlandia). SSH-1 ditulis pikeun nyayogikeun privasi anu langkung ageung tibatan protokol rlogin, telnet, sareng rsh. Taun 1996, vérsi protokol anu langkung aman, SSH-2, dikembangkeun, anu henteu cocog sareng SSH-1. Protokol ieu janten langkung populer, sareng dina taun 2000 éta ngagaduhan kirang langkung dua juta pangguna. Ayeuna, istilah "SSH" biasana hartina SSH-2, sabab Versi mimiti protokol ayeuna praktis teu dipaké alatan shortcomings signifikan. Dina 2006, protokol ieu disatujuan ku grup kerja IETF salaku standar Internét.

Aya dua palaksanaan umum SSH: komérsial swasta sareng open source gratis. Palaksanaan gratis disebut OpenSSH. Taun 2006, 80% komputer dina Internét nganggo OpenSSH. Palaksanaan proprietary dikembangkeun ku SSH Communications Security, cabangna milik pinuh ku Tectia Corporation, sareng gratis kanggo panggunaan non-komérsial. Palaksanaan ieu ngandung ampir sakumpulan paréntah anu sami.

Protokol SSH-2, teu saperti protokol telnet, tahan ka serangan eavesdropping lalulintas ("sniffing"), tapi teu tahan ka serangan man-in-the-middle. Protokol SSH-2 ogé tahan kana serangan pangbajak sési, sabab mustahil pikeun ngagabung atanapi ngabajak sési anu tos aya.

Pikeun nyegah serangan man-in-the-middle nalika nyambungkeun ka host anu koncina henteu acan dipikanyaho ku klien, parangkat lunak klien nunjukkeun pangguna "sidik jari konci". Disarankeun pikeun taliti pariksa "snapshot konci" ditémbongkeun ku software klien kalawan snapshot konci server, preferably diala ngaliwatan saluran komunikasi dipercaya atawa pribadi.

Pangrojong SSH sayogi dina sadaya sistem sapertos UNIX, sareng kalolobaanana gaduh klien ssh sareng server salaku utilitas standar. Aya seueur palaksanaan klien SSH pikeun OS non-UNIX. Protokol ieu ngagaduhan popularitas anu ageung saatos ngembangkeun analisa lalu lintas sareng metode pikeun ngaganggu operasi jaringan lokal, salaku solusi alternatif pikeun protokol Telnet anu teu aman pikeun ngatur titik penting.

Komunikasi ngagunakeun SSH

Pikeun damel via SSH, anjeun peryogi server SSH sareng klien SSH. Server ngadangukeun sambungan tina mesin klien sareng, nalika sambungan didamel, ngalaksanakeun auténtikasi, saatos éta ngamimitian ngalayanan klien. Klién dianggo pikeun log in kana mesin jauh sareng ngalaksanakeun paréntah.

Protokol SFTP sareng FTPS

Babandingan jeung FTPS

Hal utama anu ngabédakeun SFTP tina standar FTP sareng FTPS nyaéta SFTP énkripsi leres-leres sadaya paréntah, nami pangguna, kecap akses sareng inpormasi rahasia anu sanés.

Kadua protokol FTPS sareng SFTP nganggo kombinasi algoritma asimétri (RSA, DSA), algoritma simetris (DES / 3DES, AES, Twhofish, jsb.), ogé algoritma bursa konci. Pikeun auténtikasi, FTPS (atawa janten langkung tepat, SSL / TLS leuwih FTP) ngagunakeun sertipikat X.509, sedengkeun SFTP (SSH protokol) ngagunakeun konci SSH.

Sertipikat X.509 kalebet konci umum sareng sababaraha inpormasi ngeunaan sertipikat anu gaduhna. Inpormasi ieu ngamungkinkeun, di sisi anu sanés, pikeun pariksa integritas sertipikat sorangan, kaaslian sareng anu gaduh sertipikat. Sertipikat X.509 gaduh konci pribadi anu saluyu, anu biasana disimpen sacara misah ti sertipikat pikeun alesan kaamanan.

Konci SSH ngan ukur ngandung konci umum (konci pribadi anu cocog disimpen sacara misah). Teu ngandung émbaran ngeunaan nu boga konci. Sababaraha palaksanaan SSH nganggo sertipikat X.509 pikeun auténtikasi, tapi aranjeunna henteu leres-leres pariksa sadaya ranté sertipikat-ngan ukur konci umum anu dianggo (anu ngajantenkeun auténtikasi sapertos kitu henteu lengkep).

kacindekan

Protokol FTP undoubtedly masih muterkeun hiji peran penting dina neundeun jeung distribusi informasi dina jaringan sanajan umur venerable na. Éta mangrupikeun protokol anu gampang, multifungsi sareng standar. Seueur arsip file anu diwangun dina dasarna, tanpa karya téknis anu henteu efektif. Salaku tambahan, éta gampang pikeun nyetél, sareng program server sareng klien aya pikeun ampir sadaya platform ayeuna sareng henteu ayeuna.

Sabalikna, versi anu ditangtayunganna ngarengsekeun masalah karusiahan data anu disimpen sareng dikirimkeun di dunya modéren. Duanana protokol anyar gaduh pro sareng kontra sareng ngalaksanakeun peran anu rada béda. Di daérah dimana arsip file diperyogikeun, langkung saé ngagunakeun FTPS, khususna upami FTP klasik parantos dianggo di dinya sateuacanna. SFTP nyaeta kirang umum alatan incompatibility na jeung protokol heubeul, tapi leuwih aman tur mibanda leuwih fungsionalitas, saprak éta bagian tina sistem manajemen jauh.

Daptar sumber

sumber: www.habr.com

Tambahkeun komentar