일반적으로 파일 송수신이 필요한 이유는
송신측
- 보낼파일 선택
수신측
- 받은파일을 어떻게 할지 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 로 접속하는 방법이기에 사용하기는 쉽지않다.
결론
경우에 따라 적절한 프로토콜을 사용하여 파일 송수신을 하면 된다.
참고
SSH 와 TLS/SSL 란?
SSH 와 TLS, SSL 을 알아본다. # SSH (Secure Shell) 네트워크 상의 다른 디바이스에 로그인 or 원격 시스템에서 명령을 실행하는 등을 수행하는 응용 프로그램 혹은 프로토콜 데이터전송, 원격제어에 많
calgary.tistory.com
출처
파일다운로드시 FTP와 HTTP 차이가 있나요? | KLDP
동일한 서버에서, 동일한 회선입니다. 어떤 파일에 대해서..... ftp://ftp.aaa.com/test.zip http://www.aaa.com/test.zip 두 파일을 다운받는데 어떤 차이점이 존재하나요? 따로 ftp 클라이언트를 쓰는게 아니고
kldp.org
FTP의 특징
FTP란? 파일 전송 프로토콜(File Transfer Protocol)은 응용 계층(Application Layer)에 속하며, TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이에 파일을 전송하기 위한 프로토콜이다. 특징 - 명령 채널과
brro.tistory.com
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
'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 |