방화벽 - 활성 FTP와 수동 FTP의 차이점은 무엇입니까?




클라이언트 프로토콜 (5)

누구든지 액티브 및 패시브 FTP의 차이점을 알려주시겠습니까? 어느 것이 더 낫습니까?


Answers

나는 최근에 내 작업장에서이 질문에 답했다. 그래서 내가 여기서 더 말을해야한다고 생각한다. FTP를 사용하여 이전 답변의 추가 소스로 사용되는 방법을 설명하기 위해 이미지를 사용합니다.

활성 모드 :

수동 모드 :


활성 모드 구성에서 서버는 임의의 클라이언트 측 포트에 연결을 시도합니다. 따라서 해당 포트는 사전 정의 된 포트 중 하나가 아닐 가능성이 있습니다. 결과적으로 연결 시도가 방화벽에 의해 차단되고 연결이 설정되지 않습니다.


수동 구성에서는 클라이언트가 연결을 시작하기 때문에이 문제가 발생하지 않습니다. 물론 서버 측에서도 방화벽을 가질 수 있습니다. 그러나 서버는 클라이언트에 비해 많은 수의 연결 요청을받을 것으로 예상되므로 서버 관리자가 상황에 적응하고 패시브 모드 구성을 충족 할 수있는 포트를 선택해야합니다.

따라서 수동 모드 FTP를 지원하도록 서버를 구성하는 것이 가장 좋습니다. 그러나 패시브 모드는 클라이언트가 무작위 서버 포트에 연결되어야하기 때문에 공격에 취약 할 수 있습니다. 따라서이 모드를 지원하려면 서버가 여러 포트를 사용할 수있을뿐만 아니라 방화벽에서 모든 포트에 대한 연결을 허용해야합니다.

위험을 줄이려면 좋은 해결책은 서버의 포트 범위를 지정한 다음 방화벽의 해당 포트 범위 만 허용하는 것입니다.

자세한 내용은 공식 문서 를 읽으십시오.


액티브 및 패시브는 FTP가 실행할 수있는 두 가지 모드입니다.

배경으로 FTP는 실제로 클라이언트와 서버 사이의 두 개의 채널 인 명령과 데이터 채널을 사용하며 실제로는 별도의 TCP 연결입니다.

명령 채널은 명령 및 응답을위한 것이고 데이터 채널은 실제로 파일을 전송하기위한 것입니다.

명령 정보와 데이터를 별도의 채널로 분리하여 현재 데이터 전송이 완료 될 때까지 기다리지 않고도 서버에 명령을 보낼 수 있습니다. RFC에 따라이 명령은 명령 종료, 현재 전송 중단 및 상태 가져 오기와 같이 명령의 하위 집합에만 필요합니다.

활성 모드에서 클라이언트는 명령 채널을 설정하지만 서버 는 데이터 채널 설정을 담당합니다. 예를 들어 클라이언트 컴퓨터가 방화벽으로 보호되고 외부 당사자의 허가받지 않은 세션 요청을 허용하지 않는 경우 실제로 문제가 될 수 있습니다.

패시브 모드에서 클라이언트는 채널을 모두 설정 합니다 . 우리는 이미 활성 모드에서 명령 채널을 설정한다는 것을 이미 알고 있으며 여기서도 마찬가지입니다.

그러나 클라이언트에 다시 연결하려고 시도하는 대신 서버 (명령 채널에서)가 서버 재량으로 포트에서 수신 을 시작하도록 요청합니다.

이 과정에서 서버는 클라이언트가 수신 대기하도록 선택한 포트 번호를 클라이언트에 반환하여 클라이언트가 서버에 연결하는 방법을 알 수 있도록합니다.

클라이언트가이를 알고 나면 데이터 채널을 성공적으로 생성하고 계속 진행할 수 있습니다.

자세한 내용은 RFC : https://www.ietf.org/rfc/rfc959.txt 에서 확인할 수 있습니다.


활성 모드 - 클라이언트는 서버에 PORT 명령을 실행하여 IP 및 포트 번호를 "능동적으로"제공하여 데이터 연결을 클라이언트로 다시 보냅니다.

패시브 모드 - 클라이언트는 PASV 명령을 실행하여 서버가 IP 및 포트 번호를 제공하기 위해 "수동적으로"대기 한 후 클라이언트가 서버에 대한 데이터 연결을 생성 함을 나타냅니다.

위의 좋은 답변이 많이 있지만이 블로그 게시물에는 유용한 그래픽이 포함되어 있으며 매우 확실한 설명을 제공합니다. https://titanftp.com/2018/08/23/what-is-the-difference-between-active-and-passive-ftp/


활성 모드 : -server가 연결을 시작합니다.

패시브 모드 : -client가 연결을 시작합니다.


현재 Azure Portal 에서 App Services로 이동 / APP DEPLOYMENT 섹션 / Deployment credentials / 관련 자격을 선택 / 새 자격 증명을 입력하고 저장 하여 배포 자격 증명을 설정할 수 있습니다.

이전 세대의 하늘빛 포털 에서 WEB APPS / 관련 항목 / 대시 보드 / 배치 자격 증명 재설정으로 이동하여 배포 자격 증명을 설정할 수 있습니다.

siteName \ userName 을 로그인 이름으로 지정했는지 확인하십시오. 사이트 이름 부분은 필수입니다!

웹 컨텐츠의 기본 디렉토리는 많은 FTP 클라이언트의 초기 디렉토리로 설정할 수있는 \ site \ wwwroot 입니다.