FTP 즉, 파일 전송 프로토콜은 인터넷과 같은 TCP/IP 기반 네트워크에서 클라이언트와 서버 간에 컴퓨터 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다.
기사의 마지막 부분에서 작은 내용을 찾을 수 있습니다. test 그것은 당신을 허용합니다 평가하다 이번 독서를 통해 얻은 지식
FTP는 한 위치에서 다른 위치로 파일을 안전하게 전송할 수 있는 방법이며 서버에서 파일을 관리할 수도 있습니다.
FTP에는 Active FTP와 Passive FTP의 두 가지 연결 모드가 있습니다.
활성 FTP
활성 FTP에서는 클라이언트에서 서버의 명령 포트로 연결이 시작됩니다. 클라이언트가 파일 전송을 요청하면 서버는 클라이언트에 대한 데이터 연결을 다시 시작합니다.
Active FTP의 정보 흐름은 다음과 같습니다.
- 클라이언트는 임의의 포트(N)에서 서버의 포트 21(FTP용 포트)에 연결하고 서버에 PORT 명령을 보냅니다. 이 명령은 연결할 포트(포트 N+1)를 서버에 알려줍니다.
- 서버가 이 명령을 받으면 데이터 포트(보통 포트 20)에서 클라이언트가 지정한 포트(N+1)에 연결하고 데이터 전송을 시작합니다.
액티브 FTP의 장점
- 서버 구성이 더 쉬워집니다. 활성 FTP는 단일 포트(포트 21)만 열고 수신하면 되므로 서버 측에서 구성하기가 더 쉽습니다.
액티브 FTP의 단점
- 방화벽 문제: 방화벽 뒤에 있는 클라이언트는 종종 Active FTP에 문제가 발생합니다. 이는 방화벽이 서버에서 시작된 데이터 연결을 원치 않는 것으로 간주하여 차단하기 때문입니다.
- 보안 요구사항: 서버가 클라이언트에 대한 데이터 연결을 시작하므로 공격자가 이를 악용할 수 있으므로 보안 위험이 있을 수 있습니다.
즉, Active FTP는 유용하고 서버 측에서 구성하기 쉽습니다. 그러나 클라이언트 방화벽에 문제가 있을 수 있으며 특정 보안 위험이 있을 수 있습니다.
이러한 이유로 많은 조직에서는 서버에서 구성하기가 더 어려울 수 있지만 방화벽 문제가 적고 데이터 연결에 대한 더 나은 제어를 제공하는 수동 FTP를 사용하기로 선택합니다.
활성 FTP는 일반적으로 다음 시나리오에서 사용됩니다.
엄격한 방화벽 제한이 있는 서버: FTP 서버가 들어오는 연결에 사용할 수 있는 포트를 제한하는 엄격한 보안 정책을 갖춘 방화벽 뒤에 있는 경우 포트 21만 열고 수신하면 활성 FTP가 실행 가능한 옵션이 될 수 있습니다.
서버 리소스 제한: Active FTP에서 서버는 모든 데이터 연결에 대해 단일 포트만 열고 수신하면 됩니다. 이는 서버의 리소스가 제한되어 있고 수동 FTP에서 요구하는 대로 여러 포트 열기를 처리할 수 없는 경우 유용할 수 있습니다.
네트워크 제어: 일부 네트워크 관리자는 데이터 연결을 더 효과적으로 제어할 수 있는 Active FTP를 선호할 수 있습니다. 활성 FTP에서는 서버가 데이터 연결을 시작합니다. 이는 관리자가 데이터 전송을 더 효과적으로 제어할 수 있음을 의미합니다.
수동 FTP
Passive FTP는 Active FTP 데이터 연결에서 방화벽과 라우터의 문제를 극복하기 위해 설계되었습니다. 능동 FTP와 달리 수동 FTP에서는 서버와의 연결(명령 연결 및 데이터 연결)을 모두 시작하는 것이 클라이언트입니다.
Passive FTP의 정보 흐름은 다음과 같습니다.
- 클라이언트는 임의의 포트(N)에서 서버의 포트 21(FTP용 포트)에 연결하고 PASV 명령 서버에. 이 명령은 서버가 패시브 모드에 있으며 데이터 연결을 위한 포트를 사용하여 서버의 응답을 기다리고 있음을 서버에 알려줍니다.
- 서버는 포트 21에서 클라이언트의 포트 N으로 응답하여 데이터 연결을 수신할 권한이 없는 포트(1023보다 큼)를 제공합니다.
- 그런 다음 클라이언트는 다른 임의의 포트(N+1)에서 서버가 지정한 권한이 없는 포트로 두 번째 연결을 시작합니다. 연결이 설정되면 데이터 전송이 시작됩니다.
수동 FTP의 장점
- 방화벽 및 라우터 문제 극복: 방화벽과 라우터는 일반적으로 클라이언트 시작 연결을 허용하므로 수동 FTP에는 일반적으로 능동 FTP에서 발생하는 방화벽 문제가 없습니다.
- 향상된 보안: 클라이언트가 모든 연결을 시작하므로 서버로부터의 공격 위험이 적습니다.
수동 FTP의 단점
- 더 복잡한 서버 구성: 수동 FTP에서는 서버가 데이터 연결을 위해 권한이 없는 여러 포트를 제공하고 열 수 있어야 하며 이는 활성 FTP보다 구성 및 관리가 더 어려울 수 있습니다.
- 서버 부하 증가: 서버는 클라이언트가 시작한 여러 연결을 처리해야 하므로 더 많은 서버 리소스가 필요할 수 있습니다.
결론적으로, Passive FTP는 Active FTP에서 자주 발생하는 방화벽 문제에 대한 솔루션을 제공하며 향상된 보안도 제공할 수 있습니다. 그러나 서버에서 구성하기가 더 어려울 수 있으며 더 많은 서버 리소스가 필요할 수 있습니다.
수동 FTP는 일반적으로 다음 시나리오에서 사용됩니다.
방화벽 뒤의 클라이언트: 수동 FTP는 클라이언트가 들어오는 연결을 허용하지 않는 방화벽 뒤에 있을 때 유용합니다. 수동 FTP에서는 모든 연결을 시작하는 것이 클라이언트이므로 방화벽은 일반적으로 이러한 연결을 허용합니다.
NAT(네트워크 주소 변환): 클라이언트가 NAT 뒤에 있는 경우 NAT가 서버에서 시작한 데이터 연결을 처리하는 방법을 모르기 때문에 Active FTP에 문제가 있을 수 있습니다. 수동 FTP를 사용하면 모든 연결이 클라이언트에 의해 시작되므로 이 문제를 피할 수 있습니다.
보안 : 일부 조직에서는 보안 고려 사항으로 인해 수동 FTP를 선호할 수 있습니다. 모든 연결은 클라이언트에 의해 시작되므로 서버로부터의 공격 위험이 적습니다.
대규모 데이터 전송: 수동 FTP는 각 전송마다 고유한 데이터 연결이 있기 때문에 많은 수의 동시 데이터 전송을 처리할 수 있습니다. 이는 많은 동시 데이터 전송이 필요한 시나리오에서 유용할 수 있습니다.
Cisco 장치의 구성 예
활성 FTP 구성
이 경우 라우터가 FTP 연결을 시작하는 인터페이스를 정의했으며 FTP 연결에 사용할 사용자 이름과 비밀번호를 지정했습니다.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
수동 FTP 구성
'ip ftp passive' 명령은 라우터가 Active FTP 대신 Passive FTP를 사용하도록 구성합니다. FTP 연결을 위한 사용자 이름과 비밀번호는 Active FTP와 동일한 방식으로 구성할 수 있습니다.
Router(config)# ip ftp passive
MikroTik 장치의 구성 예
활성 FTP 구성
이 '가져오기' 명령은 MikroTik 라우터(클라이언트)에서 FTP 서버로의 파일 전송을 시작합니다. 기본 모드는 활성 FTP입니다.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
수동 FTP 구성
'passive: yes' 옵션을 추가하면 'fetch' 명령이 Active FTP 대신 Passive FTP를 사용하게 됩니다.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
활성 FTP와 수동 FTP 연결 모드 비교표
활성 FTP | 수동 FTP | |
---|---|---|
이점 | 1. 서버에서 더 쉬워진 구성: 단일 포트만 열고 수신하면 됩니다. | 1. 클라이언트가 모든 연결을 시작하므로 방화벽 및 NAT 관련 문제가 줄어듭니다. |
2. 서버 리소스에 대한 수요 감소: 서버는 단일 포트만 열고 수신하면 됩니다. | 2. 모든 연결은 클라이언트에 의해 시작되므로 보안이 향상됩니다. | |
3. 향상된 네트워크 제어: 서버가 데이터 연결을 시작합니다. | 3. 각 전송에는 자체 데이터 연결이 있으므로 많은 수의 동시 데이터 전송을 처리할 수 있습니다. | |
단점 | 1. 방화벽 및 클라이언트 측 NAT 문제: 서버에서 시작한 데이터 연결을 차단할 수 있습니다. | 1. 서버 구성이 더욱 복잡해졌습니다. 여러 포트를 제공하고 열어야 합니다. |
2. 가능한 보안 위험: 서버는 클라이언트에 대한 데이터 연결을 시작합니다. | 2. 서버 리소스에 대한 수요 증가: 서버는 클라이언트가 시작한 여러 연결을 처리해야 합니다. |