자격증/정보보안기사

인터넷 응용 보안 - FTP의 특징과 보안 취약점

j9m 2022. 10. 7. 10:56
728x90
반응형

FTP

  • 인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜의 하나로 사용자는 FTP 클라이언트 프로그램을 이용하여 FTP 서버에 접속한 후 파일을 송수신한다.
  • FTP는 서버에 파일을 올리거나 다운로드하는 인터넷 표준 프로토콜로 내부적으로 TPC 프로토콜을 사용한다.
  • FTP는 포트를 2개 사용한다. FTP 서버에 전송하기 위한 명령 포트(21번 고정)와 실제 파일을 업로드하거나 다운로드를 하기 위한 데이터 포트를 사용한다.
  • Active Mode인 경우  데이터 포트는 20번을 사용하고 Passive Mode는 FTP 서버가 자신의 데이터 포트를 결정해서 FTP 클라이언트에게 서버 데이터 포트 번호를 보내준다.

 

FTP 접근 통제 파일

파일명 내용
/etc/ftpusers 파일에 적용된 사용자에 대한 FTP 접근 제한
/etc/hosts.deny 특정 IP의 접근 제한
/etc/hosts.allow 특정 IP의 접근 허용

 

FTP Active Mode와 Passive Mode

① Active Mode

  • FTP Client에서 FTP Server 21번 포트로 접속한다.
  • FTP Client에서 FTP Server 20번 포트로 데이터 전송한다.

 

② Passive Mode

  • FTP Cient에서 FTP Server 21번 포트로 접속
  • FTP Server가 FTP Client로 데이터 송수신을 위해서 1024~65535 범위의 Random 포트를 선택
  • FTP Client에서 데이터 송수신을 위해서 Random 포트 사용

 

FTP 종류

종류 내용
FTP  ID 및 Password 인증을 수행하고 TCP 프로토콜을 사용하여 사용자의 데이터를 송수신한다.
tFTP
  • 인증 과정 없이 UDP 기반으로 데이터를 빠르게 송수신한다.
  • 69번 포트만 사용한다.
  • 파일 디렉터리를 볼 수 없다.
  • 로그인 절차가 없다.
sFTP 전송구간에 암호화 기법을 사용하여 기밀성을 제공

 

FTP 보안 취약점

취약점 내용
Bounce Attack 
  • 익명 FTP 서버를 경유하여 호스트를 스캔한다.
  • 네트워크 포트 스캐닝을 위해서 사용한다.
  • FTP 바운스 공격을 통해서 전자메일을 보내는 공격을 Fake Mail이라고 한다.
tftp Attack 
  • 인증절차를 요구하지 않기 때문에 설정이 잘못되어 있으면 누구나 해당 호스트에 접근하여 파일을 다운로드 할 수 있다.
  • FTP보다 간단하다,
Anonymous FTP Attack 
  • 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버 접근 허용
  • 익명 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성이 가능
FTP 서버 취약점 wuftp 포맷 스트링 취약점 및 각종 오버플로 공격
스니핑
  • ID 및 Password 입력 후 접속 시도 시 암호화가 이루어지지 않음
  • 네트워크 스니핑에 취약하다.
Brute Force Attack  패스워드를 무작위로 대입하는 방법을 사용한다.

 

FTP 보안대책

① Anonymous 

  • 사용자의 Root 디렉터리, bin, etc, pub 디렉터리 소유자의 권한을 관리한다.
  • $root/etc/passwd 파일에서 anonymous ftp에 불필요한 항목을 제거한다.

 

② tFTP

  • tftp가 필요한 경우 secure mode로 운영한다.

 

③ inetd FTP 서비스(inetd.conf 설정 파일)

  • FTP를 사용하기 위해서는 /etc/passwd 파일에 FTP 사용자를 설정해야 한다. FTP 사용자는 일반 리눅스 사용자와 동일하지만 로그인할 필요가 없기 때문에 nologin으로 설정한다.

 

참고자료
이기적 정보보안기사 필기
https://www.techtarget.com/searchnetworking/definition/File-Transfer-Protocol-FTP
728x90
반응형