SSH 파일 전송 프로토콜

SSH File Transfer Protocol

컴퓨팅에서 SSH File Transfer Protocol(SFTP)은 신뢰할 수 있는 데이터 스트림을 통해 파일 액세스, 파일 전송 및 파일 관리제공하는 네트워크 프로토콜입니다.Internet Engineering Task Force(IETF; 인터넷 기술 특별 조사위원회)는 안전한 파일 전송 기능을 제공하기 위해 Secure Shell Protocol(SSH) 버전 2.0의 확장으로 설계되었습니다.IETF 인터넷 초안에서는 이 프로토콜이 SSH-2 프로토콜의 컨텍스트에서 설명되지만 Transport Layer Security(TLS; 트랜스포트층 보안)를 통한 안전한 파일 전송 및 VPN 애플리케이션에서의 관리 정보 전송 등 다양한 애플리케이션에서 사용할 수 있다고 명시되어 있습니다.

이 프로토콜은 SSH와 같은 보안 채널을 통해 실행되고 서버가 클라이언트를 이미 인증했으며 프로토콜에서 클라이언트 사용자의 ID를 사용할 수 있다고 가정합니다.

기능

파일 전송만 허용하는 SCP 프로토콜에 비해 SFTP 프로토콜은 원격 파일에 대한 다양한 작업을 허용하므로 원격 파일 시스템 프로토콜과 비슷합니다.SFTP 클라이언트의 추가 기능에는 중단된 전송 재개, 디렉토리 목록 표시, 원격 파일 [1]삭제 등이 있습니다.

SFTP는 SCP보다 플랫폼에 의존하지 않으려고 합니다.예를 들어 SCP에서는 클라이언트에 의해 지정된 와일드카드의 확장은 서버에 의해 결정됩니다.SFTP 설계에서는 이 문제를 회피합니다.SCP는 Unix 플랫폼에서 가장 많이 구현되지만 SFTP 서버는 대부분의 플랫폼에서 일반적으로 사용할 수 있습니다.SFTP 프로토콜의 앞뒤 특성으로 인해 SFTP 프로토콜에 비해 SCP에서 파일 전송 속도가 빠릅니다.SFTP에서는 다른 메커니즘과 마찬가지로 세션을 종료하지 않고 파일 전송을 쉽게 종료할 수 있습니다.

SFTP는 SSH를 통해 실행되는 FTP가 아니라 IETF SECSH 작업 그룹에 의해 처음부터 설계된 새로운 프로토콜입니다.Simple File Transfer [2]Protocol과 혼동되는 경우가 있습니다.

프로토콜 자체는 인증 및 보안을 제공하지 않습니다. 기본 프로토콜이 이를 보호할 것으로 예상합니다.SFTP는 SSH 프로토콜 버전2 구현의 서브시스템으로 가장 많이 사용되며 동일한 작업 그룹에 의해 설계됩니다.단, SSH-1(및 일부 구현에서는 이를 지원) 또는 기타 데이터 스트림을 통해 실행할 수 있습니다.SSH-1을 통한 SFTP 서버의 실행은 SSH-1은 서브시스템의 개념을 지원하지 않기 때문에 플랫폼에 의존하지 않습니다.SSH-1 서버에 접속하는 SFTP 클라이언트는 서버측의 SFTP 서버 바이너리 패스를 인식할 필요가 있습니다.

업로드된 파일은 타임스탬프 등의 기본 속성과 관련지을 수 있습니다.이는 일반적인 FTP 프로토콜보다 더 나은 기능입니다.

역사와 발전

시큐어 셸 버전2 프로토콜(RFC 4251)의 개발을 담당한 Internet Engineering Task Force(IETF; 인터넷 기술 특별 조사위원회)의 작업 그룹 「Secsh」도, 시큐어 파일 전송 기능을 위해서, 그 표준의 확장의 초안을 작성하려고 했습니다.인터넷 초안은 프로토콜을 새로운 [3]버전으로 순차적으로 수정하는 내용을 담고 있습니다.소프트웨어 업계는 초안이 표준화되기 전에 다양한 버전의 프로토콜을 구현하기 시작했습니다.개발 작업이 진행됨에 따라 Secsh 파일 전송 프로젝트의 범위가 파일 액세스파일 관리로 확장되었습니다.결국 일부 위원들이 SFTP를 단순히 파일 액세스나 파일 전송 프로토콜이 아닌 파일 시스템 프로토콜로 보기 시작하면서 개발은 중단되었고, 이는 작업 [4]그룹의 범위를 벗어났습니다.7년간의 공백 후,[5] 2013년에 버전 3 초안을 기준으로 SFTP 작업을 재개하려는 시도가 있었다.

버전 0 ~ 2

IETF가 관여하기 전에 SFTP는 SSH 통신 보안의 독점 프로토콜로 1997년 [6]Tatu Ylönen이 Sami Lehtinen의 도움을 받아 설계했습니다.버전 0 ~ 2와 버전3의 차이는 draft-ietf-secsh-filexfer-02 섹션10열거되어 있습니다.

버전 3

IETF Secure Shell File Transfer 프로젝트의 시작에서 Secsh 그룹은 SSH File Transfer Protocol의 목적은 신뢰할 수 있는 데이터 스트림에 안전한 파일 전송 기능을 제공하고 SSH-2 프로토콜과 함께 사용하기 위한 표준 파일 전송 프로토콜이 되는 것이라고 밝혔다.

IETF 인터넷 초안 00–02는 SFTP 프로토콜 버전 3의 연속적인 리비전을 정의합니다.

버전 4

IETF 인터넷 초안 03-04는 프로토콜 버전 4를 정의합니다.

버전 5

IETF 인터넷 초안 05는 프로토콜 버전 5를 정의합니다.

버전 6

IETF 인터넷 초안의 초안 06-13은 프로토콜 버전 6의 연속적인 개정을 정의한다.

소프트웨어

SFTP 클라이언트

SFTP라는 용어는 또한 이 프로토콜의 클라이언트 부분을 구현하는 명령줄 프로그램인 Secure 파일 전송 프로그램을 지칭할 수도 있습니다.예를 들어 OpenSSH와 함께 제공되는 sftp 프로그램이 [7]이를 구현합니다.

의 일부 실장scp 프로그램은 서버가 지원하는 내용에 따라 파일 전송을 수행하기 위해 SFTP 프로토콜과 SCP 프로토콜을 모두 지원합니다.

SFTP 서버

일부 FTP 서버 실장에서는 SFTP 프로토콜이 구현되어 있지만, 전용 파일서버 이외의 경우 SFTP 프로토콜 지원은 보통 SSH 서버 실장에 의해 제공됩니다.이는 SFTP 프로토콜이 다른 SSH 서비스와 공유되기 때문입니다.SFTP 실장에서는 SSH 접속 상세와 기존의 FTP 서버 액세스컨트롤의 통합을 활용하는 SSH 프로토콜 실장이 포함될 수 있습니다.이 경우 대체 SSH 서버는 허용 가능하거나 대체 포트를 사용할 수 있습니다.서브시스템을 지원하는 SSH-2 서버를 이용하여 SSH를 통일된 실장을 유지하면서 서드파티 소프트웨어와의 접근컨트롤을 강화할 수 있습니다.접속 상세와의 세밀한 통합 및 SSH-1 호환성을 희생합니다.

SFTP 프록시

네트워크 경계에 있는 보안 디바이스에서는 SFTP 전송을 제어하기가 어렵습니다.FTP 트랜잭션 로깅에는 TIS gdev 나 SUSE FTP 프록시 등의 표준 도구가 있지만 SFTP는 암호화되어 있기 때문에 기존 프록시는 SFTP 트래픽 제어에 효과적이지 않습니다.

SFTP 제어 기능도 갖춘 SSH용 man-in-the-middle을 구현하는 툴이 있습니다.이러한 툴의 예로는 Balabit[8] Shell Control Box와 SSH Communications[9] Security(Secure Shell 프로토콜의 원래 개발자)의 CryptoAuditor가 있습니다.이러한 툴은 SFTP 트랜잭션로깅 및 회선으로 전송되는 실제 데이터의 로깅 등의 기능을 제공합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Victoria, Jaynor; Victoria, Beverly (2001), SSH, The Secure Shell: The Definitive Guide, Cambridge: O'Reilly, ISBN 0-596-00011-1
  2. ^ Barrett, Daniel; Silverman, Richard E. (2001), SSH, The Secure Shell: The Definitive Guide, Cambridge: O'Reilly, ISBN 0-596-00011-1
  3. ^ "Secsh Status Pages". Tools.ietf.org. Retrieved 2012-08-20.
  4. ^ "ietf.secsh—Formal consultation prior to closing the secsh working group—msg#00010—Recent Discussion". Osdir.com. 2006-08-14. Archived from the original on 2012-03-20. Retrieved 2012-08-20.
  5. ^ "SSH File Transfer Protocol—draft-moonesamy-secsh-filexfer-00". Tools.ietf.org. 2013-07-12.
  6. ^ ftp://ftp.ietf.org/ietf-mail-archive/secsh/2012-09.mail
  7. ^ "OpenBSD manual page for the "sftp" command: "See Also" section". OpenBSD.org. Retrieved 2018-02-04.
  8. ^ "Record SSH/RDP/Citrix into Audit Trail—Activity Monitoring Device". Balabit.com. Retrieved 2012-08-20.
  9. ^ "Privileged Access Control and Monitoring". SSH.com. Retrieved 2014-11-25.