IT이야기/네트워크 이야기

FTP Active Passive mode FTP 액티브 패시브 모드

무지개 보드 2023. 1. 10. 22:32
반응형

최근 현업에서는 FTP 서버에 대한 Passive mode 설정이 권장 또는 필수적으로 진행되고 있습니다.

그 이유가 무엇인지 가볍게 생각해 보면,서버의 클라우드 전환 시에 Active mode 사용 시 포트를 오픈하는데 문제가 되는 경우가 많고 서버 측에서 클라이언트로 통신하는 방향에 대한 보안적인 측면에서의 이슈를 없애기 위함인 것 같습니다.

 

현대의 프로토콜은 하나의 통신을 위해 한 개의 세션만 사용하는 경우가 대부분입니다.

다만 FTP와 같이 특별한 이유로 두 개 이상의 세션을 만드는 경우도 존재합니다.

이는 네트워크 구성에서 종종 걸림돌이 되는데, 서로 다른 두 세션이 하나의 통신을 위해 사용하고 있다는 것을 네트워크 통신 중간의 세션 장비도 인식해야 하며두 세션 중 하나의 세션이 끊어질 경우 단방향 통신만 가능하거나 통신이 불가능할 수 있습니다.

 

모드 설명 전 간단한 FTP 특징을 살펴보겠습니다.

FTP는 두 가지 프로토콜로 구분할 수 있습니다.

  • 데이터 프로토콜

데이터를 전송하는 프로토콜입니다.

  • 컨트롤 프로토콜

데이터 전송이 원활하도록 세션을 제어하는 프로토콜입니다.

FTP는 데이터 프로토콜과 컨트롤 프로토콜이 완전히 분리된 경우 중 대표적인 프로토콜 중 하나입니다.

 

 

 

 

위에서 간단히 설명한 대로 최근 보안상의 이유로 FTP 대신 SFTP를 사용하거나 부득이하게 FTP 사용 시 Passive mode로 설정할 것을 권고하는 경우가 많습니다.

 

 

이미지 출처 :  https://cloudzy.com/knowledge-base/ftp-active-vs-passive-which-one-is-right-to-your-needs/

 

1. FTP Active Mode

Active mode는 일반적인 클라이언트-서버 동작 방식과 달리 컨트롤 프로토콜은 클라이언트에서 서버로 통신하지만

데이터 프로토콜은 서버에서 클라이언트로 데이터를 푸시합니다.

 
  • Active mode 동작 방법
  1. 클라이언트가 FTP 서버에 접속
  2. 클라이언트는 데이터를 수신받기 위해 1023번 이상의 tcp포트를 사용하고, 서버는 tcp 21번 포트를 사용
  3. 클라이언트가 서버에 몇 번 포트를 이용하여 데이터를 수신할 것인지 알림 (ex. 60000)
  4. 서버는 클라이언트에 60000번 포트를 사용해 데이터를 송신하겠다 응답
  5. 서버에서 데이터를 보내고 클라이언트에서 응답하여 데이터를 수신

Active mode 사용 시 서버와 클라이언트 중간에 방화벽이나 세션 장비가 있으면 Active 동작 방식에 맞게 양방향으로 방화벽을 열어야 합니다.

 

이것이 치명적인 단점으로 남게 됩니다.모든 클라이언트 측에서 방화벽을 설정하게 되면 관리가 매우 어려워지기 때문이죠.

따라서 Passive mode를 사용할 것이 권장되게 됩니다.

2. FTP Passive Mode

  • Passive mode 동작 방법
  1. 클라이언트가 FTP 서버에 접속
  2. 클라이언트는 1023번 이상의 tcp 포트를 사용하고, 서버는 tcp 21번 포트를 사용 (Active 와 거의 유사)
  3. 클라이언트가 Passive mode를 사용하겠다고 알림 *(또는 서버에서 Passive mode 만 허용 > 이 방식으로 일반적으로 설정)
  4. 서버는 클라이언트에 데이터 수신에 사용할 포트를 알림, (ex. 50000)
  5. 클라이언트에서 서버에 데이터 요청, 50000번 포트에 데이터 전송

Passive mode 사용 시 클라이언트 > 서버 측으로만 방화벽을 열어주면 되며 FTP에서 passvie mode에 사용하는 데이터 포트의 범위를 설정할 수도 있어 관리가 용이합니다.

 


 

최근 서버 내 FTP 구성을 변경하시는 분들이 많을 것 같은데요. FTP의 특성과, Active mode, Passive mode 를 간단하게 설명드렸는데 소소하게나마 도움이 됐으면 합니다.

반응형