[IT KEYWORD] FTP란?
2022.06.30
FTP란 파일 전송 프로토콜 (File Transfer Protocol)의 약자입니다.
기본적으로 '프로토콜'은 전자기기 간에 데이터를 교환하기 위한 통신 규약을 의미합니다. FTP는 TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규약입니다.
FTP 원리
인터넷을 사용할 때 우리는 다양한 프로토콜을 사용합니다. 인터넷을 둘러볼 때는 HTTP를 사용하는데 간단히 말해 FTP란 파일을 이동할 때 사용하는 프로토콜입니다.
FTP로 파일을 주고 받기 위해서는 FTP서버와 클라이언트가 필요합니다. 서버는 주소를 가진 집이라고 하면 클라이언트는 주소를 보고 집을 방문하는 손님으로 이해하면 됩니다. 집을 드나드는 손님은 파일을 들고 들어가기도 하고, 가지고 나오기도 합니다. FTP클라이언트 프로그램은 집을 드나들 수 있게 해주는 열쇠이자 자동차의 역할을 합니다.
예를 들자면 집에서는 Filezila FTP서버로 사용하고, 외부에서는 노트북 및 스마트폰을 사용하여 클라이언트 프로그램을 사용할 때 FTP서버에 접속해 파일을 주고받는 것입니다. 번거롭게 파일을 USB등에 옮겨 담을 필요가 없기 때문에 편리하며, 일관된 파일 관리를 할 수 있습니다. 또한 인터넷이 연결된 곳이라면 용량에 상관없이 빠른 파일 전송이 가능하며, 여러 사람과 공유가 가능합니다. 여기에 백업 및 동기화 프로그램과 적절히 조합하면 요즘날의 '클라우드' 를 쉽게 구현할 수 있습니다.
FTP의 연결 설정을 위해서는 2개의 기본 채널이 필요합니다. 하나는 명령을 내리고 어떤 파일에 액세스할 수 있는지 등의 기본 정보를 전달하는 명령 채널이고, 다른 하나는 2개의 장치 간에 파일 데이터를 전송하는 데이터 채널입니다. 연결을 설정하려면 사용자는 FTP 서버로의 로그인 정보를 제공해야 하며 일반적으로는 21번 포트를 기본 통신 모드로 사용합니다.
FTP는 다른 프로토콜들과 다르게 포트(port) 번호를 기본 두 개를 사용하도록 제작되었습니다.
1. 제어 포트
제어 포트는 포트번호 21번으로 클라이언트와 서버 사이의 명령, 제어 등을 송수신을 담당합니다.
2. 데이터 포트
데이터 포트는 20번으로 클라이언트와 서버 사이의 직접적인 파일 송/수신을 담당합니다.
FTP는 모드도 두 개가 존재합니다. 기본 설정으로는 Active mode로 설정되어 있습니다.
1. Active mode
클라이언트가 서버에게 연결할 데이터 포트를 알려주는 모드
2. Passive mode
서버가 클라이언트에게 연결할 데이터 포트를 알려주는 모드
처음 연결을 시도할 때 21번 포트로 서로 신호를 주어 받고 그 후 데이터 포트를 연결할 때 Active mode는 클라이언트가 서버에게 20번 포트로 연결하라고 알려주면 서버는 클라이언트의 20번 포트로 연결을 하는 것입니다.
하지만 이러한 동작은 실제로 방화벽으로 인하여 연결이 제대로 이어지지 않는 일이 발생하는 경우가 있습니다. 그래서 존재하는 것이 Passive mode입니다.
Passive mode는 Active mode의 반대로 서버 쪽에서 클라이언트에게 연결할 포트를 알려줍니다.
FTP 서버
FTP 서버란 파일을 하나의 장치에서 다른 장치로 전송하는 소프트웨어 애플리케이션을 말합니다. 기본적으로 FTP 서버는 FTP 주소를 가지고 있고 FTP 연결을 수신하는 데 사용되는 컴퓨터라고 생각하시면 됩니다. FTP 서버는 두 가지 간단한 작업을 실행합니다. '받기'와 '보내기'입니다. 간단히 말해 우리는 FTP 서버로부터 파일을 받거나, FTP 서버로 파일을 보냅니다. 파일을 업로드하면 업로드된 파일이 내 개인용 장치에서 서버로 전송되고, 파일을 다운로드하면 다운로드된 파일이 서버에서 개인용 장치로 전송됩니다. 따라서 FTP 서버는 수신자와 전송자 사이에 위치한 중간 지점과 같습니다.
FTP 프로그램 종류
대표적으로 많이 사용하는 FTP 프로그램 종류입니다.
FTP 장단점
1) 유용한 FTP
FTP는 주로 대량의 파일을 처리할 때 사용되는데 특히 웹 개발 시 유용합니다.
웹사이트를 수정할 때 FTP 세션을 통해 파일 전송을 관리하면 특정한 파일 업로드, 이미지 파일 추가, 웹 템플릿 이동 등의 작업을 수월하게 처리할 수 있습니다. 이와 유사하게 IT 전문가들도 FTP를 통해 폐쇄형 시스템 내에서 대량의 서버 배치 파일을 간단하게 전송할 수 있습니다.
FTP는 세상에 첫선을 보인 지 오래되었기 때문에 이미 대부분의 사람들이 이에 대해 잘 알고 있고, FileZilla, WinSCP, Cyberduck 등 FTP를 보다 간편하게 사용할 수 있는 데스크톱 도구도 다양하게 나와있습니다. 또한, 여러 개의 파일을 동시에 전송할 수 있고, 연결이 끊긴 경우 전송을 다시 시작할 수 있으며, 전송 일정을 예약할 수 있다는 것도 유용한 점입니다.
2) 하지만…
FTP의 가장 치명적인 단점은 보안 부분에서는 상당히 취약하는 것입니다. 오로지 빠른 파일 송수신만을 목적으로 두고 고안되었기 때문입니다.
FTP는 오늘날 우리가 사용하는 대부분의 사이버 보안 조치가 개발된 시기보다 앞선 1970년대에 개발되었습니다. 보안 프로토콜로 설계된 것이 아니기 때문에 FTP 전송은 파일을 암호화하지 않습니다. 그래서 데이터 패킷을 캡처하려는 해커들이 패킷 캡처 공격을 통해 비교적 쉽게 비밀번호, 사용자 이름, 그 외 기타 민감한 데이터를 읽을 수 있습니다.
이러한 보안상의 구멍으로 인해 오늘날에는 FTP에 대한 지원이 점점 줄어들고 있고, SFTP, HTTPS, AS2, FTPS처럼 FTP를 대체할 수 있는 옵션도 시장에 다양하게 출시되었습니다. Google Chrome의 경우 2020년부터 FTP 지원을 중단했고, Firefox도 FTP 관련 코드를 모두 삭제했습니다. 그러니 여전히 FTP 서버를 중요한 비즈니스 기능으로 사용하고 있다면 지금이 바로 대안을 찾아야 합니다.
새로운 대안 SFTP
FTP의 대안 중 하나에는 SFTP가 있습니다.
SFTP(SSH 파일 전송 프로토콜)는 SSH(시큐어 셸) 데이터 스트림을 통해 보안 등급이 높은 파일 전송을 실현하는 별도의 프로토콜로 SSH와 같은 방식을 사용합니다. FTP 클라이언트와는 달리 SFTP는 22번 포트를 사용합니다. FTP의 취약한 보안으로 인해 많은 사람이 보안 기능을 기본으로 제공하고 SSH 연결을 사용하는 SFTP를 선호합니다.
1) SFTP 장점
- SFTP는 하나의 연결만 필요하며 데이터 연결이 필요하지 않습니다.
- 연결이 안전하게 보호됩니다.
- SFTP는 기계를 읽을 수 있고 균일한 디렉토리 목록을 자랑합니다.
- 프로토콜에서 제공하는 추가 기능에는 파일 잠금, 속성 조작, 권한 작업 및 더 많은 기능이 포함됩니다.
2) SFTP 단점
- 이 프로토콜은 사람이 읽을 때 “있는 그대로” 기록할 수 없음을 의미하는 이진 통신에 관여합니다.
- SSH 키의 유효성 검사 및 관리는 더 복잡합니다.
- 여러 공급업체의 소프트웨어 타이틀 간에 호환성 문제를 일으킬 수 있는 여러 SFTP 구성 “표준”이 있습니다.
- 프로토콜은 서버 간 복사 외에 재귀 디렉토리에 대한 제거 작업을 제공하지 않습니다.
- .NET 는 VCL에는 기본적으로 SSH/SHTP 지원이 포함되어 있지 않습니다.
> 출처
https://www.websiterating.com/ko/web-hosting/glossary/what-is-ftp/
https://blog.naver.com/mk_crew/222031071648
https://experience.dropbox.com/ko-kr/resources/what-is-ftp
https://coderb.tistory.com/16
https://nhj12311.tistory.com/76
개인정보처리취급방침
개인정보 수집 및 이용에 대한 안내
1. 개인정보의 수집 및 이용 목적
2. 수집하는 개인정보의 항목 및 수집방법
3. 개인정보의 제3자 제공
4. 개인정보의 보유 및 이용기간
5. 개인정보 파기절차와 방법
ㆍ파기절차
이용자가 견적 문의 등을 위해 입력하신 정보는 목적이 달성된 후 내부 방침 및 기타 관련 법령에 의한 정보보호 사유에 따라(보유 및 이용기간 참조) 일정 기간 저장된 후 파기합니다.
ㆍ파기방법 전자적 파일형태로 저장된 개인정보는 기록을 재생할 수 없는 기술적 방법을 사용하여 삭제합니다. 종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기합니다.
6. 이용자의 권리, 의무 및 행사방법
7. 개인정보의 기술적/관리적 보호 대책
8. 개인정보 자동수집 장치의 설치/운영 및 거부에 관한 사항
9. 개인정보보호 책임자 및 담당자
개인정보 관리책임자
성명 이지성
직위 이사
E. lezis@easymedia.net
T. 02-869-3434
개인정보 관리담당자
성명 안진수
직위 과장
E. ajs0720@easymedia.net
T. 02-869-3434(134)
10. 기타 부가방침