정보보호론/애플리케이션 보안

FTP 보안

retro_blue 2020. 9. 14. 21:49
반응형

■ FTP (File Transfer Protocol) : File을 전달하는 프로토콜

 - 인터넷상의 컴퓨터들 간에 파일을 교환하기 위한 표준 프로토콜(IETF RFC 959)이며, 인터넷의 TCP/IP 응용 서비스 중 하나

 - 인터넷을 통하여 어떤 한 컴퓨터에서 다른 컴퓨터로 파일을 송ㆍ수신할 수 있도록 지원하는 방법과 그런 프로그램을 통칭하기도 함

 - FTP를 이용하면 자신이 원하는 프로그램이나 각종 데이터를 무료나 저렴한 가격에 살 수 있다

 - 용량이 큰 파일도 빠르게 송ㆍ수신할 수 있다

 - 파일을 송ㆍ수신할 때에는 정당한 자격, 즉 원격 호스트 컴퓨터를 이용할 수 있는 사용자 ID와 패스워드(password)가 있어야 원하는 원격 호스트 컴퓨터에 접속할 수 있다

 

 

★ FTP 연결

 - FTP를 이용해서 특정한 디렉터리로 File을 주고 받을 수 있는 것(Telnet은 Host에서 원격지 서버를 제어하는 것)

 - FTP는 파일을 주거나 받을 때 사용한다

 - 정상적인 서비스 Connection을 위해서는 2개의 포트 (20:전송, 21:제어)를 사용한다. 즉 20번 포트에서 File을 전송하고, 21번 포트에서 제어한다

 - 만약 FTP에 접속했는데 로그인까지는 성공하지만 파일 목록이 안 나오거나 전송이 안 되면 방화벽에서 막고 있는 것이다 (포트는 0~65535 사이에 번호 부여 가능, 서버에서는 1024~65535 사이의 포트는 안전을 위해 막음)

 - /etc/ftpusers 에 사용자 ID를 등록하여 접근을 제한할 수 있다

 - 클라이언트에서 FTP모드를 Active 또는 Passive 모드로 전환할 수 있다

 

** FTP로 연결할 때 접근이 통제되는 파일

구분 설명
/etc/ftpusers
(/etc/vsftpd/ftpusers)
FTP 접속 제한 계정 등록 (이 파일 안에 ID가 존재하면 FTP 접속이 거부됨)
/etc/hosts.deny 특정한 IP의 접근 제한
/etc/hosts.allow 특정한 IP의 접근 허용

 

 

■ Active Mode (능동모드)와 Passive Mode (수동모드)

 1) Active Mode (능동모드)

  - Active Mode : 원격사용자가 사용할 수 있는 포트를 서버단에서 지정해 사용한다

  - 서버관리자가 포트를 지정할 수 있다. 이게 더 안전하며 FTP의 Default 셋팅이다. 단 로그인은 잘 되는데 클라이언트에 방화벽이 있ㅇ면 File을 못 받아온다

 

 2) Passive Mode (수동모드)

  - Passive Mode : 원격사용자가 임의의 포트로 접속해 사용한다

  - 20 (Data 전송), 21 (Command 제어) 포트를 사용하고 1024~65535 사이의 포트 2개를 임의적으로 사용한다. 따라서 서버관리자는 평소에 닫혀있는 1024~65535 포트를 모두 열어야 해서 보안위협이 증가된다

 

■ FTP의 보안 취약점

 - 임의의 계정으로 로그인 시도를 반복적으로 수행하여 사용자 계정의 패스워드를 유추할 수 있는 취약점이 있다

 - 사용자 인증정보 유출 방지를 위한 보안대책으로 SCP, SFTP, FTPS 등이 있다

 - FTP 보안대책으로 반드시 서비스 사용이 필요하지 않은 경우 FTP 서비스 사용을 금지하는 것이 좋다

 

■ 익명 FTP (anonymous FTP)

 - 공개된 FTP 서버를 익명 FTP 서버라고 하며, 그 호스트에 대해서는 누구든지 계정 없이도 anonymous 또는 ftp라는 로그인명으로 FTP를 실행할 수 있는데, 이것을 익명 FTP라고 한다

 - 암호는 필요 없으며 사용자의 이메일 주소를 입력하면 된다. 로그인한 다음에는 자유로이 파일에 접근할 수 있다. 프리웨어나 문서 등을 공급하는 수단으로 사용된다

 - 익명 FTP는 아이디로 anonymous나 ftp를 사용한다. 그리고 패스워드로 guest 또는 이메일 주소를 사용하기도 한다. 이때 입력하는 비밀번호(guest, 이메일 주소)는 실제 비밀번호가 아니며 누가 접속하고 있는지 서버가 로그에 기록하는 데 쓰일 뿐으로 유효하지 않은 임의ㅡ이 이메일 주소를 등록해도 체크하지 않는다

 

■ FTP bounce(바운스) 공격

 - 설계 헛점 이용, 즉 서버가 클라이언트에 데이터 전송 시 프로토콜 확인 과정이 없음을 이용한 공격

 - FTP 바운스 공격 (FTP Bounce Attack)은 FTP 서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 공격으로, 익명 FTP 서버를 경유하여 호스트를 스캔하여 FTP 서버를 통해 임의의 네트워크 접속을 릴레이 함으로써 수행한다

 

★ FTP와 TFTP 비교 (TFTP : Trivial File Transfer Protocol)

 - TFTP는 FTP와 마찬가지로 파일을 전송하기 위한 프로토콜이지만 FTP보다 더 단순한 방식으로 파일을 전송한다

 - TFTP는 FTP와 비슷한 역할을 하지만 인증과정을 거치지 않고 바로 원격 파일을 읽거나 저장할 수 있는 프로토콜이다. 따라서 데이터 전송 과정에서 데이터가 손실될 수 있는 등 불안정하다는 단점을 가지고 있다. 하지만 FTP처럼 복잡한 프로토콜을 사용하지 않기 때문에 구현이 간단하다. 임베디드 시스템에서 운영체제 업로드로 주로 사용된다

FTP TFTP
TCP 기반 UDP 기반
20, 21번 포트 69번 포트
로그인 절차가 있다 로그인 절차가 없다
파일디렉터리를 볼 수 있다 파일디렉터리를 볼 수 없다

 - TFTP 서비스는 보안상 취약하므로 서비스하지 않는 것이 좋지만 꼭 사용해야 하는 상황이라면 TCP Wrapper를 사용하여 접근 가능한 디렉터리를 제한해야 한다

 

 

반응형

'정보보호론 > 애플리케이션 보안' 카테고리의 다른 글

스팸메일 대책  (0) 2020.09.14
전자우편 보안통신규약  (0) 2020.09.14
이메일 보안  (0) 2020.09.14