FTP(File Transfer Protocol)란?
FTP (File Transfer Protocol) 핵심 정리
1. FTP란?
- 파일 전송 프로토콜: 인터넷(WWW) 상에서 클라이언트와 서버가 파일을 주고받기 위한 통신 규약
- 응용 계층 프로토콜: TCP/IP 5계층 구조 중 응용 계층(Application Layer)에 위치
- 목적: 네트워크에 연결된 컴퓨터 간 데이터 교환을 원활히 하기 위해 개발
2. FTP 구조
- FTP는 두 개의 연결을 사용함:
구분 | 설명 |
---|---|
제어 연결(Control Connection) | 클라이언트 ↔ 서버 간 명령/응답 전달용 연결포트 번호 21번 사용 |
데이터 연결(Data Connection) | 실제 파일 전송용 연결포트 번호는 20번 또는 임시 포트(1024 이후) 사용 |
- 데이터 연결은 파일 전송 시마다 새로 설정되고 전송 후 종료됨
3. FTP의 전송 방식
- Active Mode:
- 클라이언트가 포트를 열고, 서버가 데이터 연결을 "적극적으로" 연결
- Passive Mode:
- 서버가 포트를 열고, 클라이언트가 데이터 연결을 "적극적으로" 연결
- 방화벽 문제 해결용으로 더 많이 사용됨
4. 보안 문제
- FTP는 암호화가 없는 평문(plain text)으로 정보 전송
→ 사용자 ID, 비밀번호, 전송 파일 내용이 그대로 노출 - 패킷 분석 도구(Wireshark)로 보면 로그인 정보와 명령어가 그대로 보임
- 보안 설계가 미흡해서 정보 탈취에 매우 취약
- 현재는 보안이 강화된 SFTP 또는 FTPS 사용 권장
<참고자료>
