SharedIT | 묻고 답하기(AMP)

FTP 연결 관련 문의

안녕하세요.

FTP 서버 구성하여 외부에서 접속하려고 하는데 연결이 되지 않아 문의드립니다..

현재 확인해 본 사항으로는

  • 1.FTP 서버 방화벽 설정: 데이터 포트로 지정한 범위 인바운드 방화벽 등록

  • 2.UTM 설정: 외부 포트->FTP 서버 21 포트로 Port 포워딩 설정

  • 3.FTP 클라이언트 서버 방화벽 설정: 데이터 포트로 지정한 범위 아웃바운드 방화벽 등록

  • 4.계정 설정: FTP용 계정 생성/폴더 공유 및 사용자 권한 지정

현재 FTP 클라이언트에서 발생하는 오류메세지는 '서버와의 연결을 다시 설정했습니다' 입니다.

방화벽에서 패킷 확인해본 결과 어느정도 클라이언트-서버간에 패킷을 주고받는 것으로 보였는데요, 연결이 안되서 FTP 서버쪽에서 패킷 덤프 떠봤습니다..

위 캡쳐를 보시면, FTP 서버측에서 Password 요구 패킷을 보낸 후 클라이언트 측에서 바로 FIN 패킷을 보냅니다ㅠㅠ.. 

무슨 사유로 FIN패킷을 보내며 연결이 종료되는지 너무 궁금합니다..



Tags : 태그가 없습니다.

5개의 답변이 있습니다.

SUZ
  0 추천 | 3년 이상 전

여러 조언 감사합니다.

현재까지 방화벽/계정/권한 모두 확인해본 결과 클라이언트-서버 간에 FTP 제어 통신이 일부 되는것으로 보입니다.

현재 상황은 본문에 작성했던 바와 같이 

Client->Server  ID전달

Server->Client PW 요구

Client->Server RST 

이렇게 연결이 끝이나네요 ...클라이언트에서 FTP 접속 시 PW를 입력하는데, 왜 갑자기 RST 패킷을 보내는지에 대한 답은 아직 못찾았습니다ㅠㅠ..

빨간신발
  0 추천 | 3년 이상 전

보안을 생각하신다면 SFTP를 사용해보세요.

포트도 포트포워딩보다는 서버에서 포트를 변경해서 해보세요.

wansoo
  0 추천 | 3년 이상 전

FTP는 제어용 포트와 Data 송수신용 포트가 따로 있죠.

제어용 포트를 이용하여 서버에 접속한 후에, 다시 Data 전송용 포트를 열어서 클라이언트와 통신을 하는 형태가 되기 때문에 클라이언트에서 서버에 접속할 수 있는 상태만 가능하다고 데이터를 전송할 수 있는 것이 아니라 서버에서 클라이언트로 접속할 수 있는 상태도 허용되어줘야 (액티브 모드) 데이터를 전송할 수 있게 되고요.

서버에서 클라이언트로 접속이 어려운 상태라면 패시브 모드를 사용해서 연결해야 데이터 송수신을 정상적으로 할 수 있게 됩니다.

서버측 방화벽에서 20, 21 포트 모두 열려 있어야  제어 접속과 데이터 송수신 접속이 가능 하겠고요.

SUZ | 3년 이상 전

안녕하세요.

답변 감사합니다. 현재 클라이언트쪽으로 접속이 어려워 패시브 모드를 사용중입니다.

따라서 서버에서는 데이터채널 포트와 21번 포트만 오픈해놓은 상태입니다..

패킷덤프 결과 제어채널 연결이 일부 되다가 RST 패킷을 받고 연결이 종료되고 있는데, 이는 왜그럴까요?..

차바라기
  0 추천 | 3년 이상 전

UTM에서도 21번포트를 오픈해줘야 합니다.~

Genghis Khan
  0 추천 | 3년 이상 전

2번에서 보면 외부에서접속하려는 ip 지정이

안되어졌네요

소스ip 만 등록하면 되고 그리고 데스티네이션은

ftp서버가 되겠고 20,21번 포트를 열어주면 됩니다

또한 방화벽 위단에 ftp포트가 deny 막혀있음 안되니 확인

하시구요 왜냐면 위 정책을 따라 갑니다

SUZ | 3년 이상 전

답변 감사드립니다..

UTM 에서 클라이언트 IP 지정 해놓았습니다ㅠㅠ..

윗단의 방화벽인 UTM에서는 20번, 21번 포트 오픈이 부담스러워 외부 포트 설정 후 내부 FTP 서버 21번 포트로 포워딩 해주고있는데요.

UTM에서도 21 포트 오픈이 필요할까요? 참고로 패시브 모드 사용예정입니다..

Genghis Khan | 3년 이상 전

보안을 위해서라면 21번 포트는 안열죠~
포트를 6021로 변경해서 하세요

그래서 외부 사용자에게 해당 포트 6621던 6621던 변경해서 알려주면 됩니다

Genghis Khan | 3년 이상 전

먼저 서버에서 포트 변경 후 utm 방화벽에서 동일하게 설정하면 됩니다

보안 룰은 항상 지키새요

SUZ | 3년 이상 전

답변 감사합니다..

포트포워딩을 통해 외부 방화벽에서는 21번을 열지 않고 내부에서만 오픈하여 사용하고 있습니다.

제어채널 연결도 일부 되는 것 같은데 연결 도중 Client에서 RST 패킷을 날리며 연결이 종료되네요 ...