FTP(File Transfer Protocol)
파일을 전송하는 통신 규약
FTP 서버에 파일들을 업로드 및 다운로드할 수 이도록 해주는 프로토콜이며,
FTP 서버와 FTP클라이언트 간에 통신에서 이루어 진다.
Active 모드
클라이언트가 서버에 접속을 하는 것이 아닌 서버가 클라이언트에 접속을 하는 것.
기본으로 동작 모드(Active)를 사용하며 20번 또는 1024번 이후의 데이터(Data) 포트는 데이터를 전송하는데 사용하게 되고, 21번 포트는 접속시에 사용되는 명령(Command )포트입니다.
-
- 클라이언트는 서버의 21번 포트로 접속한 후에 자신이 사용할 두 번째 포트를 서버에 미리 알려줍니다.
-
- 서버는 클라이언트의 요청에 응답합니다. (acks)
-
- 서버의 20번 데이터 포트는 클라이언트가 알려준 두 번째 포트로의 접속을 시도합니다.
-
- 클라이언트가 서버의 요청에 응답합니다. (acks)
Passive 모드
Active 모드의 단점을 해결한 패시브모드이며
서버가 클라이언트에 접속하는 액티브모드와는 다르게 클라이언트가 임의포트로 접속.
-
- 클라이언트가 커맨드 포트로 접속을 시도합니다. (Passive 모드 연결)
-
- 서버에서는 사용할 두 번째 포트를 클라이언트에게 알려줍니다.
-
- 클라이언트는 다른 포트를 열어 서버가 알려준 포트로 접속을 시도합니다.
-
- 서버가 클라이언트의 요청에 응답합니다. (acks)
연결 방식에 따른 주의사항
Active Mode의 경우는 클라이언트 측의 방화벽에 20번 포트가 차단되어 있다면, 데이터 채널 연결이 불가능해집니다.
연결은 되더라도 데이터 조회부터 실패되는 경우가 발생할 수 있습니다.
따라서 서버측은 20번 포트는 아웃바운드(OUTBOUND, 내 서버에서 외부서버로 보내는 요청) 허용,
클라이언트는 인바운드(INBOUND, 외부에서 내 서버로 들어오는 요청) 허용이 방화벽 설정에 필요합니다.
Passive Mode의 경우는 서버 측의 데이터 채널 포트가 막혀있는 경우 데이터 채널 연결이 불가능하게 됩니다.
그리고 앞서 소개한 것처럼 데이터 채널 포트의 범위를 지정할 수 있는데,
별도로 지정하지 않는 경우는 1024 ~ 65535번의 포트를 사용하게 됩니다.
따라서 INBOUND 모두 허용이 필요하게 되는데, 서버 측에서 데이터 채널 포트 범위를 지정하여
특정 범위의 포트만 허용해주면 모든 포트 허용의 문제를 어느 정도 해결할 수 있습니다.
linux에서 패시브 모드 활성화 하는 법
#vi /etc/vsftpd/vsftpd.conf
pasv_enable=YES //패시브 모드 활성화
pasv_min_port=50001
pasv_max_port=50005
//패시브모드에서 사용할 포트 범위 설정
#vi /etc/sysconfig/iptables
-A INPUT -m state —state NEW -m tcp —dport21 -j ACCEPT
-A INPUT -m state —state NEW -m tcp —dport50001 -j ACCEPT
-A INPUT -m state —state NEW -m tcp —dport50005 -j ACCEPT
systemctl restart iptables //iptables 방화벽 설정 적용하여 재시작
/etc/init.d/vsftpd restart //vsftpd 재시작
WINDOWS에서 패시브 모드 설정하는 법
1.방화벽 인바운드 설정
새규칙 → 포트,프로그램,사용자지정 중 포트선택
→TCP 선택 후 특정 로컬 포트 50001-50005
→다음 후 이름에 FTP PASSIVE PORT 기입.
2.IIS 관리자에서 포트 지정
IIS 관리자 → FTP 방화벽 지원 클릭
→ 데이터 채널 포트 범위 50001-50005 설정 및 적용(또는 저장)
FTP 재시작
'Server > Linux' 카테고리의 다른 글
| linux history 날짜 및 시간 출력 (0) | 2021.11.25 |
|---|---|
| linux 계정 패스워드 만료일 및 수정일 확인 및 수정 (0) | 2021.11.24 |
| selinux 현재 상태 확인 및 비활성화 (영구, 임시) (0) | 2021.11.24 |
| linux 매시간마다 자동 시간동기화 (0) | 2021.11.24 |
| SAMBA 설치 및 사용 (0) | 2021.10.30 |
댓글