본문 바로가기
컴퓨터/Linux

vsftpd 접속 로그 해석

by 토크미 2023. 8. 30.
반응형

1. VSFTPD 로그 설정 확인

 

리눅스의 VSFTPD와 같은 FTP 서버의 접속 로그 확인을 위해서는 아래와 같이 /etc/vsftpd/vsftpd.conf 경로에 xferlog_enable=YES 설정이 되어 있어야 합니다.

centos의 vsftpd 기본 설정 화면

▶ 위 설정의 /etc/vsftpd/vsftpd.conf  설정 내용의 의미는 아래와 같습니다.


anonymous_enable=NO: 익명 사용자의 접속을 허용하지 않음을 나타냅니다. 익명으로 접속하여 파일을 업로드하거나 다운로드하는 것이 불가능합니다.

local_enable=YES: 로컬 사용자의 접속을 허용함을 나타냅니다. 시스템에 등록된 사용자가 vsftpd 서버에 접속할 수 있습니다.

write_enable=YES: 로컬 사용자가 파일을 업로드할 수 있는 권한을 허용함을 나타냅니다. 이 옵션을 활성화하면 로컬 사용자는 서버에 파일을 업로드할 수 있습니다.

local_umask=022: 로컬 사용자로부터 업로드된 파일의 기본 퍼미션 마스크를 설정합니다. 새로운 파일의 기본 퍼미션은 022로 설정됩니다.

dirmessage_enable=YES: 디렉토리 안에 ".message" 파일이 있을 경우 해당 내용을 접속한 클라이언트에게 표시하도록 설정합니다.

xferlog_enable=YES: 전송 로그를 기록하도록 설정합니다. 파일 전송 관련 로그를 기록하여 추적할 수 있게 합니다.
(xferlog_enable=YES 설정을 사용할 때, vsftpd는 전송 로그를 기록합니다.
로그 파일은 xferlog_file 옵션을 사용하여 지정된 경로에 저장됩니다. 기본적으로는 /var/log/xferlog 경로에 저장됩니다.
만약 xferlog_file 옵션을 설정하지 않았다면, 기본 경로에 로그 파일이 생성됩니다. 설정 파일에서 xferlog_file 옵션을 지정하여 로그 파일의 경로를 변경할 수 있습니다.)

connect_from_port_20=YES: 데이터 연결을 위해 20번 포트를 사용하도록 설정합니다. (FTP의 데이터 연결은 일반적으로 20번 포트를 사용합니다.)

xferlog_std_format=YES: 전송 로그의 형식을 표준화된 형태로 설정합니다.

listen=NO: vsftpd가 포트 21에서 들어오는 접속을 기다리지 않도록 설정합니다. 일반적으로 독립 실행형 FTP 서버의 경우 NO로 설정됩니다.

listen_ipv6=YES: IPv6 주소를 통한 접속을 허용함을 나타냅니다.

pam_service_name=vsftpd: vsftpd 인증을 처리하기 위해 PAM (Pluggable Authentication Modules) 서비스 이름을 지정합니다.

userlist_enable=YES: 사용자 리스트 파일을 사용하여 특정 사용자가 접속할 수 있는지 여부를 제어합니다.

tcp_wrappers=YES: TCP 래퍼 서비스를 통한 접근 제어를 활성화합니다. hosts.allow 및 hosts.deny 파일을 통해 접속을 허용 또는 거부할 수 있습니다.

 

2. 로그 분석 : 파일 업로드, 다운로드, 삭제 이력

 

앞서 설명한것처럼 /etc/vsftpd/vsftpd.conf 설정파일에 xferlog_file 옵션이 있으면 해당 옵션에 지정된 경로에 로그가 저장되며 해당 옵션이 없으면 기본 경로인  /var/log/xferlog 저장됩니다.

#cat /var/log/xferlog
Thu Aug 3 13:43:49 2023 1 ::ffff:192.168.10.46 282 /home/user1/desktop.ini b _ i r user1 ftp 0 * c

 

▶위  로그 첫줄을 컬럼별로 해석하면 아래와 같습니다.

날짜와 시간 : 2023년 8월 3일 화요일 13시 43분 49초
로그라인 : 1
접속 IP 주소 : 192.168.10.46
파일 크기 : 282 바이트
전송 파일 : /home/user1/desktop.ini
전송 방향 : 파일업로드(클라이언트가 서버로 업로드)
파일 송수신 모드 : 바이너리(b)
로그인한 사용자 : user1
FTP 프로토콜 : ftp
전송 완료 여부 : 성공(0)
보안 경고 : 없음(c)

▶ 추가로 전송뱡향부터 보안경고까지의 로그 표시값은 아래를 참고하십시오.

전송 방향
i: 업로드(incoming)
o: 다운로드(outgoing)
d: 삭제(delete)

파일 송수신 모드
b: 바이너리(binary)
t: 텍스트(text)

로그인한 사용자
r: 시스템 사용자(system user)
a: 익명 사용자(anonymous)
g: 게스트 사용자(guest user)

FTP 프로토콜
ftp: FTP
tftp: TFTP

전송 완료 여부
0: 성공(success)
1: 실패(fail)

보안 경고
c: 없음(no warning)
w: 경고(warning)
e: 오류(error)

 

혹시 vsftpd가 설치가 안되었는데 위 글을 읽고 계신건 아니겠지요?

 

반응형