Кіріспе
Кез келген сенімді дерек ағыны арқылы файлдарды басқаруды қамтамасыз ететін желілік протокол. Компьютерлік техникада, SSH файлдарды беру протоколы (Secure Shell File Transfer Protocol немесе SFTP) – кез келген сенімді дерек ағыны арқылы файлдарға қол жеткізуді, файлдарды беруді және файлдарды басқаруды қамтамасыз ететін желілік протокол. Ол Internet Engineering Task Force (IETF) ұйымы Secure Shell протоколының (SSH) 2.0 нұсқасын кеңейту арқылы, файлдарды қауіпсіз түрде беру мүмкіндігін қамтамасыз ету мақсатында әзірлеген. Жоғары қауіпсіздік деңгейіне ие болғандықтан, бұл протокол File Transfer Protocol (FTP) протоколының орнын басады. IETF интернет жобасында бұл протокол SSH 2 протоколымен байланысты сипатталғанымен, Transport Layer Security (TLS) арқылы қауіпсіз файлдарды беру және VPN қолданбаларында басқару ақпаратын беру сияқты түрлі қолданбаларда да қолданылуы мүмкін екені айтылады. Бұл протокол қауіпсіз арна арқылы жұмыс істейді, мысалы SSH, сервер клиентті сәйкестендіреді және клиент пайдаланушының идентификациясы протоколға қолжетімді болады деп есептеледі.
In computing, the SSH File Transfer Protocol (also known as Secure File Transfer Protocol or SFTP) is a network protocol that provides file access, file transfer, and file management over any reliable data stream. It was designed by the Internet Engineering Task Force (IETF) as an extension of the Secure Shell protocol (SSH) version 2.0 to provide secure file transfer capabilities, and is seen as a replacement of File Transfer Protocol (FTP) due to superior security. The IETF Internet Draft states that, even though this protocol is described in the context of the SSH 2 protocol, it could be used in a number of different applications, such as secure file transfer over Transport Layer Security (TLS) and transfer of management information in VPN applications. This protocol assumes that it is run over a secure channel, such as SSH, that the server has already authenticated the client, and that the identity of the client user is available to the protocol.
Қуаттары
SCP протоколымен салыстырғанда, ол тек файлдарды тасымалдауға мүмкіндік береді, SFTP протоколы қашықтағы файлдармен әртүрлі операцияларды орындауға мүмкіндік береді, бұл оны қашықтағы файлдық жүйе протоколына жақындатады. SFTP клиентінің қосымша мүмкіндіктеріне үзілген жүктеулерді қайта бастау, каталогтарды тізімдеу және қашықтағы файлдарды жою кіреді. Сондай-ақ, ол барлық UNIX файл түрлерін, соның ішінде символдық сілтемелерді де қолдайды. SFTP, SCP-ге қарағанда платформаға тәуелсіз болуға тырысады; мысалы, SCP-де клиент көрсеткен жолдардың кеңейтілуі серверге байланысты, ал SFTP дизайны осы мәселені болдырмайды. SCP көбінесе Unix платформаларында іске асырылса, SFTP серверлері көптеген платформаларда қолжетімді. SFTP-де файлдарды басқа механизмдер сияқты сеансты аяқтамай-ақ тоқтатуға болады. SFTP – бұл SSH арқылы жұмыс істейтін FTP емес, ол IETF SECSH жұмыс тобымен бастапқыдан жаңадан жасалған протокол. Оны кейде қарапайым файлдық жүктеу протоколымен шатастырады. Протоколдың өзі аутентификация мен қауіпсіздікті қамтамасыз етпейді, ол бұл функцияларды негізгі протоколдан күтеді. SFTP көбінесе SSH протоколының 2-ші нұсқасының ішкі жүйесі ретінде қолданылады, оны сол жұмыс тобы жасаған. Дегенмен, оны SSH 1 арқылы (және кейбір іске асырулар оны қолдайды) немесе басқа дерек ағындары арқылы да іске қосуға болады. SFTP серверін SSH 1 арқылы іске қосу платформаға тәуелді, себебі SSH 1 ішкі жүйелер тұжырымын қолдамайды. SSH 1 серверіне қосылғысы келетін SFTP клиенті сервер тарапындағы SFTP серверінің атқарылатын файлының жолын білуі керек. Жүктелген файлдар уақыт белгілері сияқты негізгі атрибуттарымен байланыстырылуы мүмкін. Бұл жалпы FTP протоколынан артықшылық.
Тарих және дамуы
Интернет-инженерлік жұмыс тобы (IETF) "Secsh" тобы, Secure Shell 2-ші нұсқасының (RFC 4251) протоколын әзірлеуге жауапты болған, сондай-ақ осы стандартты қауіпсіз файлдарды жіберу мүмкіндігімен кеңейтуге тырысты. Протоколдың жаңа нұсқаларын жасау үшін бірнеше Интернет жобалары құрылды. Бағдарламалық жасақтама индустриясы жобалар стандартталғанға дейін протоколдың әртүрлі нұсқаларын іске асыруды бастады. Даму жұмыстары барысында Secsh файлдарды жіберу жобасының көлемі кеңейіп, файлдарға қол жеткізу және файлдарды басқаруды қамтыды. Бірақ, кейбір комитет мүшелері SFTP-ді тек файлдарға қол жеткізу немесе файлдарды жіберу протоколы емес, файлдық жүйе протоколы ретінде қарастыра бастағандықтан, даму тоқтап қалды, бұл жұмыс тобының қарауына жатпайтын мәселе болды. Жеті жылдық үзілістен кейін, 2013 жылы SFTP-ді 3-ші нұсқа жобасын негіз ретінде пайдаланып, жұмысты қайта жандандыруға әрекет жасалды.
02 нұсқасы
IETF-тің қатысуына дейін SFTP, 1997 жылы Тату Йлёнен Сами Лехтиненнің көмегімен жасаған SSH Communications Security компаниясының эксклюзивті протоколы болды. 0–2 және 3 нұсқалары арасындағы айырмашылықтар draft-ietf-secsh-filexfer-02 жобасының 10-бөлімінде сипатталған.
Ұзартулар
SFTP протоколы кеңейтілген командаларды көрсетудің жалпы жолын, сондай-ақ оларды нұсқа келісімдеріне енгізу тәсілін қолдайды. IANA тіркелгісі қажет етілді, бірақ протокол ресми стандартқа айналмағандықтан, ондай тіркелгі құрылмады.
SFTP клиенті
SFTP термині сонымен қатар осы протоколдың клиенттік бөлігін іске асыратын командалық жол бағдарламасы – Secure файлдарды беру бағдарламасын да білдіре алады. Мысалы, OpenSSH жинағымен бірге келетін sftp бағдарламасы осылай жұмыс істейді. SCP бағдарламасының кейбір нұсқалары сервердің мүмкіндіктеріне байланысты файлдарды беру үшін SFTP және SCP протоколдарын қолдайды. OpenSSH 9.0 және одан жоғары нұсқаларымен бірге келетін scp бағдарламасы әдепкі бойынша SFTP-ны пайдаланады.
SFTP сервері
Кейбір FTP серверлік іске асырулар SFTP протоколын қолдайды; алайда, арнайы файл серверлерінен басқа, SFTP протоколының қолдауы көбінесе SSH серверлік іске асыру арқылы қамтамасыз етіледі, себебі ол басқа SSH қызметтерімен бірдей 22 нөміріндегі портты бөліседі. SFTP іске асырулары SSH протоколын іске асыруды қамтуы мүмкін, бұл SSH қосылым деректерін бұрыннан бар FTP серверіне кіруді басқарумен интеграциялауға мүмкіндік береді, егер балама SSH серверіне рұқсат болса немесе балама порттар қолданылса. Ішкі жүйелерді қолдайтын SSH 2 серверін, байланыс деректерімен толық интеграция мен SSH 1 үйлесімділігінен айырылып, үшінші тарап бағдарламалық жасақтамасымен кіруді бақылауды жақсарту үшін және бірыңғай SSH іске асыруды сақтау үшін пайдалануға болады.
SFTP прокси қызметі
Желі периметріндегі қауіпсіздік құрылғыларында SFTP беруді бақылау қиын. FTP транзакцияларын тіркеуге арналған стандартты құралдар бар, мысалы TIS gdev немесе SUSE FTP проксисі, бірақ SFTP шифрланғандықтан, дәстүрлі проксилер SFTP трафигін бақылау үшін тиімсіз. SSH үшін "адам ортада" (man-in-the-middle) принципін іске асыратын, сонымен қатар SFTP басқару функциясын ұсынатын құралдар бар. Мұндай құралдардың мысалдары – Balabit компаниясының Shell Control Box және SSH Communications Security компаниясының CryptoAuditor (Secure Shell протоколының бастапқы әзірлеушісі), олар SFTP транзакцияларын тіркеу және желі арқылы жіберілетін деректерді тіркеу сияқты мүмкіндіктерді ұсынады.