-
FTP, FTPS, SFTPEDI 관련 기술 용어 2022. 3. 5. 10:00
오늘은 프로토콜에서 FTP와 FTPS, SFTP를 알아보겠습니다.
(프로토콜부터 공부하고 싶다면, 여기서 확인하세요↓)
FTP
FTP는 인터넷을 통해 파일 송수신을 지원하기 위해 고안된 프로토콜입니다.
대용량 서버에 각종 공개용 소프트웨어 및 문서를 저장하여, 사용자가 필요한 자료를 자신의 컴퓨터로 다운로드하여 쓸 수 있습니다.
지난번에 본 HTTP와 다르게 양방향 시스템이며, 작업이 완료되기 전까지 연결이 끊어지지 않습니다.
(HTTP가 뭔지 모르시겠다면, HTTP에 대한 정의는 여기서 확인하세요↓)
불특정 다수에게 파일을 배포하기 위해 익명으로 사용할 수 있는 공개 FTP 서버도 존재하지만, 대부분의 경우는 아이디와 비밀번호로 인증받은 사용자만 접속 가능합니다.
이 때 비밀번호가 평문으로 전송되기 때문에, 보안상 취약하다는 단점이 있습니다.
FTP 동작원리
FTP는 파일 송수신만을 위해 고안되어서 동작 방식이 단순합니다.
바로 빠른 파일 전송이 주 목적입니다.
FTP 서비스를 제공하는 서버와 여기에 접속하는 클라이언트 사이, 두 개의 연결이 생성됩니다.
제어 채널과 전송 채널로 분리되어 있습니다.
데이터 전송을 제어하기 위한 네트워크 21번 포트와 실제 데이터 전송에 사용되는 네트워크 20번 포트로 이루어집니다.
먼저 제어 포트인 21번 포트로 사용자 인증·명령을 위한 연결이 만들어지고, 여기를 통해 클라이언트에서 지시하는 명령어가 전달됩니다.
그리고 실제로 데이터를 주고 받는 것은 20번 포트 데이터 채널에서 이뤄지는 것입니다.
여기서 포트는 데이터가 이동하는 통로입니다.
데이터 전송 방식
1. 액티브(Active) 모드
액티브 모드는 능동 모드라고도 합니다.
클라이언트가 서버에게 포트를 알려줘서 통신하는 방식으로, 앞서 동작원리에서 본 네트워크 포트 20번, 21번을 사용하는 방식을 액티브 모드라고 합니다.
일부 네트워크 보안 장비(방화벽 등)에서 위 포트를 차단하는 경우, 사용자가 FTP 서버에 접속하더라도 제대로 출력되지 않는 문제가 발생할 수도 있습니다.
2. 패시브(Passive) 모드
패시브 모드는 수동 모드라고도 합니다.
클라이언트가 서버가 지정한 임의의 서버 포트로 연결할 수 있게 하는 것입니다.
패시브 모드는 앞서 액티브 모드에서 동작하지 않을 때, 전송용 포트를 다른 임의 번호로 할당하여 전송을 진행할 수 있게 합니다.
패시브 모드의 접속은 FTP 클라이언트 프로그램에서 설정하여 접속할 수 있습니다.
FTP 사용 방법
FTP는 웹브라우저나 윈도우탐색기 등으로도 사용할 수 있지만, FTP 클라이언트 프로그램을 별도로 설치해 접속하는 것이 좀 더 쉽습니다.
FTP 서버에 접속하기 위해서는 해당 서버의 IP 주소나 인터넷 주소가 필요합니다.
FTP 서버의 인터넷 주소는 WWW의 http://가 아닌 ftp://의 형태를 가집니다.
FTP 클라이언트 프로그램을 사용하는 경우, 접속할 서버 사이트를 입력하고 승인된 사용자 계정과 암호를 넣어 접속하면 됩니다.
여기서 자신의 PC내 원하는 폴더에 내려 받을 수 있고, 반대로 자신의 PC에 있는 파일/폴더를 FTP 서버에 올릴 수도 있습니다.
이외에도 윈도우 명령 프롬프트를 통해서도 FTP에 접속이 가능합니다.
FTP 클라이언트 프로그램보다는 사용이 어렵고 불편하지만, 어떤 운영체제에서도 사용할 수 있다는 장점이 있습니다.
FTPS
FTP의 비밀번호가 평문으로 가서 보안의 취약했던 점을 보안하기 위해 등장한 것이 FTPS입니다.
기존 FTP에서 SSL/TLS를 사용한 통신으로 보안성을 추가한 것입니다.
HTTP 통신에 보안을 위해 만들어졌습니다.
개인정보를 안전하게 통신하는데 사용됩니다.
속도는 느리지만 데이터를 안전하게 주고 받을 수 있는 비대칭키 방식입니다.
뛰어난 호환성을 가지고 있으나, FTP 기반의 프로토콜이기 때문에 FTPS도 두 가지 채널이 필요합니다.
따라서 방화벽 설정 문제로 FTP처럼 작동이 안되는 경우가 생길 수 있습니다.
SFTP
SFTP는 SSH가 추가된 것으로 보안성(secure)을 강화했습니다.
서버와 클라이언트 간의 데이터 전송 시 계정 정보 등을 암호화하여 해킹이나 보안 상의 문제를 사전 방지 가능합니다.
접속하는 방법은 일반 FTP와 동일하지만, 신호 제어용 네트워크 포트가 21번이 아닌 22번 포트를 사용합니다.
SFTP는 보안 강화용 공개키 또는 개인 인증키 등을 사용할 수 있어 보다 안전한 데이터 송수신이 가능합니다.
다만 속도가 보안을 위해서 암호화 복호화 과정을 거치기 때문에 느립니다.
(암호화 복호화가 궁금하시다면, 여기서 확인하세요↓)
[참고 자료]
'EDI 관련 기술 용어' 카테고리의 다른 글
SSH(Secure Shell) (0) 2022.03.31 XML(extensible markup language) (0) 2022.03.23 SOAP(Simple Object Access Protocol) (0) 2022.03.18 HTTP와 HTTPS (0) 2022.02.16 프로토콜(Protocol) (0) 2022.02.09