본문 바로가기
리눅스

[리눅스] FTP(File Transfer Protocol) 동작철차, 로그 분석 및 총 정리!

by 시스코킹 2020. 9. 16.
반응형

 FTP(File Transfer Protocol)

* FTP(File Transfer Protocol) 파일 전송 프로토콜

파일을 주고 받기 위해 사용되는 대표적인 프로토콜

OSI 계층상에서 7Layer(애플리케이션 계층)에 위치한다.

디폴트는 active 모드이며, passive 모드로의 변경은 FTP 클라이언트가 결정한다.

 

 

-사용포트

1. 제어 포트: 21

2. 데이터 전송용 포트

    액티브 모드인 경우: 20

    패시브 모드인 경우: 1024번 이상의 임의의 포트

 

Active Mode VS Passive Mode

 

-FTP Bounce Attack (FTP를 이용한 공격기법)

FTP서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 공격

FTP서버의 전송 목적지 주소를 임의로 지정하여, FTP 서버를 경유해 임의의 목적지로 메시지나 자료를 전송하도록 할 수 있다.

-포트 스캐닝

FTP 바운스 공격은 포트 스캐닝에 많이 사용된다.

FTP 서버를 통해 FTP PORT 명령을 임의의 서버로 replay하여 포트의 open여부를 확인한다.

 

 

-[리눅스] FTP 등을 통해 파일이 전송된 기록이 저장된 로그 파일: xferlog

위치: /var/log/xferlog

 

-[리눅스] FTP 로그 분석 ( /var/log/xferlog)

Thu May 17 11:54:41 2018 6 q.fran.kr 1234567 /home/user/test1.mp3 b _ i r itwiki ftp 0 * c

 

(Thu May 17 11:54:41 2018) (6) (q.fran.kr) (1234567) (/home/user/test1.mp3) (b) (_) (i) (r) (itwiki) (ftp) (0) (*) (c)

 

1. 전송 날짜와 시간(Thu May 17 11:54:41 2018)

 

2. 전송 시간 (6)

 

3. 원격 호스트 주소 (q.fran.kr)

 

4. 전송된 파일의 크기 (1234567)바이트

 

5. 전송 파일명-파일의 전체경로 (/home/user/test1.mp3)

 

6. 전송 파일 유형 (b)

2가지가 존재

a=ascii(문자, 텍스트)

b=binary(파일)

 

7. 액션플래그 (_)

_=행위가 일어나지 않음

C=파일이 압축된 경우

U=파일이 압축되지 않은 경우

T=tar로 묶여 있음

 

8. 전송 방향 ( i )

종류: i,o,d가 있습니다.

i = 파일을 업로드하여 서버로 들어오는 것(incoming)

o = 파일을 다운로드하여 서버에서 나가는 것(outgoing)

d = 파일을 삭제(delete)하는 것을 나타냅니다.

 

9. 엑세스 모드 ( r )

사용자가 접근한 방식이나 형태를 나타내는 것

종류: r,a,g

r = 시스템의 사용자 계정

a = 익명사용자(anonymous)

g = 비밀번호가 있는 게스트 계정

 

10. 사용자명 ( itwiki )

로그인한 사용자명

 

11. 서비스명 ( ftp )

호출된 서비스를 나타내는 것으로, 일반적으로 FTP

 

12. 사용자의 인증 방식 (0)

사용자의 인증 방법

0인 경우 없음을 나타내고 1인 경우 RFC 931 authentication

 

13. 인증 사용자 ID ( * )

인증 메소드가 되돌려주는 사용자 ID입니다. *는 인증된 사용자 ID를 사용할 수 없는 경우

 

14. 완료 상태 ( c )

전송의 완료 상태를 나타내 줍니다.

c = 전송이 완료된 상태를 나타냅니다. (complete)

i - 전송이 실패된 상태를 나타냅니다. (incomplete)

반응형

댓글