이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:

오늘은 FTP 프로토콜의 Passive Mode Active Mode에 대해서 알아보죠. ^^

왜 알아봐야 하느냐? 관제센터에서 근무하면 FTP 서비스포트 오픈에 대한 방화벽 정책을 수립하게 됩니다. 이 경우 Active Mode Passive Mode를 모르게 되면 고객사에서 전화가 와서 서비스가 안된다고 해도 해결을 해주지 못하게 됩니다. 난감하죠…--;;;

물론 방화벽 내 Session Helper문제였다면 금방 해결이 되겠지만 그렇지 않고 정말 Mode의 문제였다면 절대 몰라서는 안되겠죠! ^^

 

그럼 알아보도록 하죠.

앞서 말했다시피 FTP Protocol의 통신모드에는 Passive Mode Active Mode가 존재하게 됩니다.
왜 사람들이 Passive mode가 Active mode보다 보안상 안전하다고 말하는지는 다음 설명을 잘 읽고 생각해 보시기 바랍니다..^^

 

먼저 Active Mode입니다.

 

                                           [그림 1. 최초 접속요청]

[그림 1]과 같이 먼저 Client Server 21번 포트로 접근하여 Login요청을 하게 됩니다. Server는 당연히 정상적인 접근일 경우 그에 대해 승인을 하고 Login을 할 수 있게 되겠죠.

 

                               [그림 2. Data전송을 위한 절차]

 

Client Login을 하게 되면 [그림 2]와 같이 Server에게 “Data전송을 위해서 내 쪽의 xxxx포트로 접속해라고 알려주게 됩니다. 그럼 Server20번 포트를 이용하여 Client가 알려준 포트로 접속을 하고 Data를 전송하게 되죠.

 

위와 같은 절차로 이루어지는 것이 Active Mode입니다.

 

다음은 Passive Mode입니다.


                                        [
그림 3. 최초 접속요청]

 

Passive Mode 경우도 일단 최초 Login 절차까지는 동일합니다. Server 21번포트로 접속을 하게 되고 Server는 승인을 하게 되죠.

 

                                  [그림 4. Data전송을 위한 절차]

 

하지만 Data전송을 할 때 Active Mode와는 달리 Client Server쪽에서 알려준 임의포트와 연결하여 Data를 송수신하게 됩니다.

 

위의 과정을 설명만으로 알려드리도 아시겠지만 예를 들어서 알려드리도록 하겠습니다..^^

 

먼저 Active mode입니다.

 

실습환경

1. Server IP : 10.20.30.207

2. Client IP : 10.20.30.206

 

Client Server 21번 포트로 접속합니다.



FTP서버(10.20.30.207)에 로그인하여 Data를 전송하면 연결상태는 다음과 같아 집니다.



그림과 같이 FTP서버(10.20.30.207) 20번 포트를 이용하여 Client(10.20.30.206) Data를 주고

받고 있습니다. 더 자세히 Client(10.20.30.206)에서 자신의 포트 번호를 알려주는 과정을 알고

싶은 경우 Wireshark 등의 패킷캡쳐 프로그램을 사용하여 패킷을 확인하여 알아볼 수 있으나..

그 부분은 궁금하신 분이 직접 해 보시는 것도 괜찮겠죠? (절대 귀찮아서가 아닙니다. --;;)

 

다음은 Passive mode입니다.

 

접속은 똑같이 21번 포트로 접속하게 됩니다.

 



그 후 Passive mode의 경우는 FTP서버(10.20.30.207)의 임의포트로 Client(10.20.30.206)가 접속합니다.

 



물론 FTP의 동작방식인 Active mode Passive mode를 아시는 분들이 대다수라 생각됩니다.

하지만 모르는 분들을 위해서 작성한 것이니 아시더라도 복습한다 생각해 주세요 ^^
저작자 표시 비영리 변경 금지
신고
****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by 비회원

댓글을 달아 주세요

  1. Favicon of http://boanin.tistory.com BlogIcon 보안인닷컴 2010.08.12 18:40 신고  댓글주소  수정/삭제  댓글쓰기

    ftp에 대한 자세한 포스팅이네요. 잘 읽었습니다.

  2. hindsfeet 2010.08.12 22:33 신고  댓글주소  수정/삭제  댓글쓰기

    학창 시절 배웠던 내용이 새록새록 떠오르네요^^
    감사합니다.

  3. Favicon of http://boanin.tistory.com BlogIcon CreFunX 2010.08.13 12:09 신고  댓글주소  수정/삭제  댓글쓰기

    많이 사용하고 있는 FTP 서비스의 동작방식에 대해 다시한번 생각해보게 되었습니다.
    감사합니다.~

  4. Favicon of http://honeyperl.tistory.com BlogIcon h0ney 2010.08.14 12:13 신고  댓글주소  수정/삭제  댓글쓰기

    네트워크의 움직임을 눈으로 보려면 이런 이론적 바탕을 배경으로

    패킷을 직접 까보며 전송되는 데이터를 보는것이 기억에 오래 남더라구요

    대부분 ftp의 port 는 21번을 사용하지만

    sftp의 port인 22번도 중요 포인트~

  5. Favicon of http://deniallog.tistory.com BlogIcon Denial 2010.08.17 09:25 신고  댓글주소  수정/삭제  댓글쓰기

    이야~ 재미있게 잘 풀어주셨네요^^ 다음번에도 기대하겠습니다.

  6. 구독자 2010.08.17 20:50 신고  댓글주소  수정/삭제  댓글쓰기

    잘 봤습니다. 근데 그림4에서 잘 모르시는 분들은 혼란이 올거같습니다. 서버에서 포트할당이 이루어지고 클라이언트에서 접속인데 그림으로 보면 클라이언트에서 접속하고 서버에서 포트할당하는걸로 보여집니다.

  7. 멍지효좋아 2013.01.30 09:55 신고  댓글주소  수정/삭제  댓글쓰기

    포스팅 글 잘 읽었습니다. 고생하셨어요~
    읽는 중에 질문이 하나 생겼습니다.
    패시브 모드가 액티브 모드보다 보안상 안전하다고 하는 부분을 곰곰히 생각해 봤는데요
    서버를 운용하는 입장에서 말하자면 액티브가 더 안전한 것 아닌가요?
    패시브 모드의 경우 더 많은 포트를 개방해야 하니까 말이죠..아마도?

  8. Favicon of http://hack-cracker.tistory.com BlogIcon Hackerrior 2017.04.28 15:34 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 자료 감사합니다. 자료 조금만 참고하겠습니다 !
    http://hack-cracker.tistory.com/