1. VSFTPD 로그 설정 확인
리눅스의 VSFTPD와 같은 FTP 서버의 접속 로그 확인을 위해서는 아래와 같이 /etc/vsftpd/vsftpd.conf 경로에 xferlog_enable=YES 설정이 되어 있어야 합니다.
▶ 위 설정의 /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가 설치가 안되었는데 위 글을 읽고 계신건 아니겠지요?
'컴퓨터 > Linux' 카테고리의 다른 글
Redhat, Centos,Ubuntu,debian, Suse 등 모든 리눅스의 버전을 확인하는 방법 (0) | 2023.08.30 |
---|---|
passwd: Authentication token manipulation error 오류 해결 6가지 방법 (0) | 2023.08.28 |
CentOS에서 하드웨어 정보를 확인하는 모든 명령어 모음 (0) | 2023.03.28 |
Centos jdk1.8 다운로드 및 설치 (0) | 2023.02.03 |
centos 성능 모니터링 방법 : top (0) | 2023.01.29 |