IT/네트워크

파일 송수신 (HTTP, FTP, SFTP, FTPS) 비교

캥거루 2021. 5. 9. 18:38
728x90
반응형

일반적으로 파일 송수신이 필요한 이유는

 

송신측

- 보낼파일 선택

 

수신측

- 받은파일을 어떻게 할지 read, write, execute

(viewer 에 보여주기, 디스크에 저장, DB에 저장, 파일을 변경, 실행)

 

그럼 파일 송수신 관련해서 HTTP, FTP, SFTP, FTPS 에 대해 차이를 확인해보려고 한다.
간단하게 FTP 의 종류는 아래와 같다.



# HTTP
1. 장점
- 크기가 작은 파일 여러개를 다운받을 때


# FTP


1. 장점
- 이어받기, 실시간 압축전송 등을 지원 (HTTP 도 지원하는듯 확인필요)
- 서버 입장에서 HTTP 비해 부하가 적음 (HTTP Header 가 FTP 보다 훨씬 큼, 하지만 경우에 따라 다를수 있다.)

 

2. 특징
- 파일 전송을 위해 2개의 port 를 연다.
- ID, PW 인증하고, TCP 로 데이터 송수신

3. 기타
* 접근 제한

  /etc/ftpusers 파일에 적힌 사용자들에 대한 접근 제한

  /etc/hosts.deny특정 IP 접근 제한

  /etc/hosts.allow 특정 IP 접근 허용

 

* FTP Mode
- Active Mode

  (ftp client 에서 ftp server 21번 포트로 접속)

  (ftp client 에서 ftp server 20번 포트로 데이터 전송)

 

- Passive Mode

  (ftp client 에서 ftp server 21번 포트로 접속)

  (client 는 랜덤포트를, server 는 data 를 수신할때 랜덤포트 사용, 1024 ~ 65535 범위의 랜덤포트를 선택)

 

* FTP log

* 알려진 보안취약점이 다수

* 서버구축 필요 (패키지 설치 및 설정 등)

 

# FTPS (FTP over SSL)

1. 특징

- TLS/SSL(공개키 암호화 방식) 을 이용한 FTP 의 확장판 (21번, 20번 포트 사용, 설정에 따라 변경 가능)

- SSL 레이어 위에서 FTP 를 수행함으로써 command 와 data 모두 암호화된다.

- 인증 및 명령 전달 포트, 파일 전송에 대한 포트 사용

- 리버스 프록시 구성에서는 그다지 필요성이 줄어듬

 

# SFTP (SSH File Transfer Protocol)

1. 특징

- SSH (TELNET 의 보안버전) 로 파일 전송하는 방법

- 단일 포트만 사용 (22번포트, 보안에 유리)

- 정확히 말하면 SFTP 는 FTP 를 사용하지 않는다. (SSH 기반의 새로운 파일전송프로토콜이다.)

- 신원이 확인이 우선시 됨

- SSH 서버가 구축되어 있어야한다. (일반적으로 리눅스는 sshd subsystem 인 sftp 기능을 포함한다.)

- 구축 및 유지비용이 적다.

- 파일 업로드시 필요한 정보

    접근할 서버의 ip, port, id, pw
    전송할 file, 업로드할 path

 

 

 

 

# FTP over SSH (Secure FTP)

SSH 연결 위에 일반 FTP 로 터널링 연결을 함으로써 접속 시에 계정정보가 암호화되어 노출되지 않지만, 

데이터는 암호화가 되지 않는다.

이 방법은 SSH 를 이용하여 터널링을 구성한 다음, 일반 FTP 로 접속하는 방법이기에 사용하기는 쉽지않다.

 

결론

경우에 따라 적절한 프로토콜을 사용하여 파일 송수신을 하면 된다.

 

 

 

 

참고

 

calgary.tistory.com/2

 

SSH 와 TLS/SSL 란?

SSH 와 TLS, SSL 을 알아본다. # SSH (Secure Shell) 네트워크 상의 다른 디바이스에 로그인 or 원격 시스템에서 명령을 실행하는 등을 수행하는 응용 프로그램 혹은 프로토콜 데이터전송, 원격제어에 많

calgary.tistory.com

출처

kldp.org/node/55570

 

파일다운로드시 FTP와 HTTP 차이가 있나요? | KLDP

동일한 서버에서, 동일한 회선입니다. 어떤 파일에 대해서..... ftp://ftp.aaa.com/test.zip http://www.aaa.com/test.zip 두 파일을 다운받는데 어떤 차이점이 존재하나요? 따로 ftp 클라이언트를 쓰는게 아니고

kldp.org

brro.tistory.com/6 

 

FTP의 특징

FTP란? 파일 전송 프로토콜(File Transfer Protocol)은 응용 계층(Application Layer)에 속하며, TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이에 파일을 전송하기 위한 프로토콜이다. 특징 - 명령 채널과

brro.tistory.com

nhj12311.tistory.com/76

 

ftp, ftps, sftp(ssh) 개념 정리

IT를 전공하거나 아니면 실무를 접하다보면 이 놈의 ftp, ftps, sftp(ssh) 프로토콜에 대해서 이야길 하게 되거나 듣거나 사용하게 됩니다만 개념이라도 좀 정확하게 갈무리하고 접해야한다는 생각이

nhj12311.tistory.com

zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_SFTP_%EC%84%9C%EB%B2%84_%EC%82%AC%EC%9A%A9

 

리눅스 SFTP 서버 사용 - 제타위키

✔️ CentOS 5, 6, Ubuntu 12에서 테스트하였습니다. 1 개요[ | ] 리눅스 SFTP 서버 리눅스 SFTP 서버 사용 일반적으로 리눅스는 SFTP 기능을 포함하고 있다. 일례로 CentOS 최소 설치시에도 SFTP 서버 기능이

zetawiki.com

 

728x90
반응형

'IT > 네트워크' 카테고리의 다른 글

NFS 주요 옵션  (0) 2022.12.19
HTTP MIME 타입 정리  (0) 2021.07.14
스프링부트 웹소켓 리뷰  (0) 2021.06.28
SSE (Server Sent Events), Websocket 리뷰  (0) 2021.06.28
SSH 와 TLS/SSL 란?  (0) 2021.05.09