https://nhj12311.tistory.com/76

 

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

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

nhj12311.tistory.com

 

FTP? 파일질라 사용하거나, telnet, ssh 사용하고, putty만 사용한다고 다가 아니다!

 

프로토콜이란? 디바이스 간에 데이터를 교환하기 위한 통신 규약

디바이스 = 사람

프로토콜 = 사용 언어

 

http, ftp와 같은 프로토콜은 IETF(Internet Engineering Task Force)에서 RFC라는 항목으로 번호를 매김.

 

FTP : 파일을 전송하는 통신 규약

기본 포트는 21이고 바꿔서 사용 가능

보안 취약점 존재 - 전송 과정에서 데이터가 암호화되지 않고 텍스트가 그대로 노출됨.

해커의 포트 스캐닝과 사용자 대입을 통한 무작위 공격으로 사용자 계정이 탈취될 수 있고, 악성코드를 업로드해 다수의 이용자 피해가 발생할 수 있음. 웹을 공격한 해커는 서버를 통제할 수 있게 되고 더 나아가 기업의 데이터베이스까지 타깃으로 삼을 수 있게 됨.

기본 포트 변경, 접근 가능한 IP 주소 설정 후 다른 모든 IP 주소 접근 제한(화이트리스트 제제 방식)

불특정 다수에게 노출해야 한다면, 사용하는 FTP 서버 정보 종류와 버전을 숨기고, 사용자 ID와 비밀번호 관리에 주의하기.

시간과 자원은 해커의 편

 

FTP는 보안에 취약하다?

FTP는 파일 송수신을 위한 목적으로 만들어진 프로토콜로서 많은 데이터를 빠르게 주고받을 수 있습니다. 그 원리와 사용법 또한 비교적 간단하여 누구나 편리하게 이용 가능합니다. 하지만 전

blog.plura.io

 

FTPS : TLS,SSL을 거친 안전한 FTP 채널

http https와 동일한 개념으로, 공개키 암호화 방식을 이용하여 21번, 20번 포트를 안전하게 암호화함.

(포트는 변경 가능)

 

원리 : 서버 공개키로 암호화 - 서버가 가진 비공개 개인키로 풀 수 있음.

서버가 건내주는 공개키라는 보자기로, 클라이언트가 감싸서 건네주면 데이터는 서버만 열어볼 수 있음.

 

FTP와 마찬가지로, SFTP와는 달리 사람이 통신을 이해하고 읽을 수 있고,

서버 간 파일 전송 실행을 허용.

SSL/TLS는 강력한 인증 메커니즘 역할을 하는 X.509 인증서 기능과 함께 제공.

여러 인터넷 통신 인프라에 FTP 및 SSL 기능이 내장되어 있다.

+ 단점

프로토콜에는 디렉토리 목록에 대한 표준화된 형식이 포함되어 있지 않고, 디렉토리 또는 파일 속성을 보호하고 수정하는 표준 방법을 정의하지 않음, 인코딩 또는 파일 이름 문자 집합에 대한 지침이 없음.

보조 데이터 채널의 사용을 요구하므로 방화벽 뒤에서 사용이 복잡해짐 ?

모든 FTP 서버에서 SSL/TLS 지원을 사용할 수 있는 것은 아님..

 

SFtp(포트 22)

ssh의 파일 전송 버전. FTP와 같은 이름이지만 secure Shell의 약자인 ssh 텔넷의 보안 버전.

ssh(sftp)에서 터널링을 하는 방법은 ftps에서의 방식과 상당히 유사함.

 

SSH 프로토콜 스택

SSH 사용자 인증 프로토콜 : 클라이언트 측 사용자를 서버에게 인증

+ SSH 연결 프로토콜 : 암호화된 터널을 여러개의 논리적 채널로 다중화

SSH 전송층 프로토콜 : 서버 인증, 기밀성, 무결성을 제공, 옵션으로 압축 제공

TCP : 신뢰할 수 있는 연결지향, 종단 - 종단 전달

IP : 여러 개의 네트워크를 거쳐 데이터그램 전달

 

FTPS 처럼 키를 교환하여 암호화하지만, 신원확인용 스트링 교환이 추가됨.

 

SFtp는 ssh 방식을 이용하여 안전하게 암호화된 구간에서 ftp 기능을 이용할 수 있는 것.

(FTP와 완전히 다른, 새로운 프로토콜. SSH의 확장 프로토콜이다.)

* 터널링 : VPN 구성 기술로, 연결해야 할 두 지점 간에 마치 터널이 뚫린 것처럼 통로를 생성하는 것.

터널링을 지원하는 프로토콜을 사용하여 구현하고, 사설망과 같은 보안 기능 제공

https://liveyourit.tistory.com/3

 

[네트워크] VPN이란 ? 정의/ 터널링/터널링 프로토콜(IPSecVPN, MPLSVPN, SSL 등)

VPN(Virtual Private Network)는 의미 그대로 가상 사설망을 의미한다. VPN 이라는 말은 많이 들어봤는데... 가상 사설망이 정확히 뭔지? 왜 쓰는지? 관련 터널링 프로토콜에는 무엇이 있는지? 등을 이론적

liveyourit.tistory.com

 

 

FTPS vs SFTP

FTPS 클라이언트를 설치하는 것과 OpenSSH 패키지를 설치하여 공유할 수 있는 환경을 검토하여 선택해야 함.

일반적으로 SFTP >> FTPS이다.

+ Recent posts