kjh00n의 기록저장소

FTP 본문

시스템 보안 구축

FTP

kjh00n 2024. 11. 5. 10:10

FTP (File Transfer Protocol)

- 파일공유를 목적으로 개발되었다.

- 네트워크 상에서 파일을 전송하기 위한 TCP 기반의 프로토콜

- 사용자인증과 명령전달을 위한 제어연결과 파일 전송을 위한 DATA 연결이 분리되어 있다.

- 제어 연결용 Port : TCP 21번 (핵심)

- Data 전송용 Port : TCP 20번 or Random Port

- 데이터 연결과 제어 연결이 둘 다 맺어져야 서비스 구동가능

제어 연결

- FTP 세션이 연결될 때 생성되는 TCP연결

   ▪ FTP 세션이 유지되는 동안 계속 연결상태를 유지한다.

- FTP 명령과 응답과 같은 제어정보를 전달

- PI (Protocol Interpreter, 프로토콜 해석기)가 제어 연결을 관리하고 명령을 처리한다.

   ▪ 허용된 사용자만 서버에 접근하도록 통제한다.→ 접근제어

   ▪ 허용된 사용자가 사용할 수 있는 자원의 종류를 선정한다.→ 자원선별

FTP 제어 연결 과정

데이터 연결

- 서버와 클라이언트간 공유되는 데이터가 전달될 때마다 따로 생성되는 TCP연결

- 실제파일을 보내고 받는 작업을 처리한다.

- DTP (Data Transfer Process, 데이터 전송 프로세스)가 실제 데이터를 전달하는 동작을 처리한다.

   ▪ DTP 사이에서 연결을 수립한다.

   ▪ 서버의 디렉토리 목록 출력등의 데이터 전송에도 데이터 연결이 필요한다.

 

- 연결 방식

  ▪ ACTIVE 방식

   >Client에서 데이터전송 port를 지정하여 Server에게 전달

   >Server에서 데이터 연결을 시도한다. (Client쪽이 시도하는 것이 아니다.)

   (Server가 Client측의 열려 있는 port를 알고 있다는 의미 → Server의 포트는 고정되어 있기 때문이다.)

   >Client측에서 방화벽이 동작 중 이면 Server가 시도하는 데이터 연결 요청이 차단될 수 있다.

   ★ Port를 알려주는 것은 Client

   Server가 먼저 데이터 연결을 한다.

제어 연결용으로 21 port를 사용하다가 Data를 전송하기 위해 20 port로 변환한다.

Active 방식

  ▪ PASSIVE 방식

   >Server에서 데이터연결 port를 지정하여 Client에게 전달

   >Client에서 데이터 연결을 시도한다.

  Port를 알려주는 것은 Server

  Client가 먼저 데이터 연결을 한다.

Passive 방식

'시스템 보안 구축' 카테고리의 다른 글

FTP 실습  (0) 2024.11.05
FTP 명령어 및 구축  (0) 2024.11.05
DHCP 실습  (0) 2024.11.04
Relay Agent 정의 / 실습  (0) 2024.11.04
DHCP 설정 실습  (0) 2024.11.04