안녕하세요.
FTP 서버 구성하여 외부에서 접속하려고 하는데 연결이 되지 않아 문의드립니다..
현재 확인해 본 사항으로는
1.FTP 서버 방화벽 설정: 데이터 포트로 지정한 범위 인바운드 방화벽 등록
2.UTM 설정: 외부 포트->FTP 서버 21 포트로 Port 포워딩 설정
3.FTP 클라이언트 서버 방화벽 설정: 데이터 포트로 지정한 범위 아웃바운드 방화벽 등록
4.계정 설정: FTP용 계정 생성/폴더 공유 및 사용자 권한 지정
현재 FTP 클라이언트에서 발생하는 오류메세지는 '서버와의 연결을 다시 설정했습니다' 입니다.
방화벽에서 패킷 확인해본 결과 어느정도 클라이언트-서버간에 패킷을 주고받는 것으로 보였는데요, 연결이 안되서 FTP 서버쪽에서 패킷 덤프 떠봤습니다..
위 캡쳐를 보시면, FTP 서버측에서 Password 요구 패킷을 보낸 후 클라이언트 측에서 바로 FIN 패킷을 보냅니다ㅠㅠ..
무슨 사유로 FIN패킷을 보내며 연결이 종료되는지 너무 궁금합니다..
5개의 답변이 있습니다.
여러 조언 감사합니다.
현재까지 방화벽/계정/권한 모두 확인해본 결과 클라이언트-서버 간에 FTP 제어 통신이 일부 되는것으로 보입니다.
현재 상황은 본문에 작성했던 바와 같이
Client->Server ID전달
Server->Client PW 요구
Client->Server RST
이렇게 연결이 끝이나네요 ...클라이언트에서 FTP 접속 시 PW를 입력하는데, 왜 갑자기 RST 패킷을 보내는지에 대한 답은 아직 못찾았습니다ㅠㅠ..
보안을 생각하신다면 SFTP를 사용해보세요.
포트도 포트포워딩보다는 서버에서 포트를 변경해서 해보세요.
FTP는 제어용 포트와 Data 송수신용 포트가 따로 있죠.
제어용 포트를 이용하여 서버에 접속한 후에, 다시 Data 전송용 포트를 열어서 클라이언트와 통신을 하는 형태가 되기 때문에 클라이언트에서 서버에 접속할 수 있는 상태만 가능하다고 데이터를 전송할 수 있는 것이 아니라 서버에서 클라이언트로 접속할 수 있는 상태도 허용되어줘야 (액티브 모드) 데이터를 전송할 수 있게 되고요.
서버에서 클라이언트로 접속이 어려운 상태라면 패시브 모드를 사용해서 연결해야 데이터 송수신을 정상적으로 할 수 있게 됩니다.
서버측 방화벽에서 20, 21 포트 모두 열려 있어야 제어 접속과 데이터 송수신 접속이 가능 하겠고요.
SUZ | 3년 이상 전
안녕하세요.
답변 감사합니다. 현재 클라이언트쪽으로 접속이 어려워 패시브 모드를 사용중입니다.
따라서 서버에서는 데이터채널 포트와 21번 포트만 오픈해놓은 상태입니다..
패킷덤프 결과 제어채널 연결이 일부 되다가 RST 패킷을 받고 연결이 종료되고 있는데, 이는 왜그럴까요?..
UTM에서도 21번포트를 오픈해줘야 합니다.~
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 패킷을 날리며 연결이 종료되네요 ...