linux-failed-logins
/var/log/btmp 파일을 파싱하여 리눅스 시스템의 로그인 실패 이력을 조회합니다. 각 실패 시도의 시각, 사용자 이름, 접속 IP 주소를 구조화된 필드로 반환합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 집계함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
linux-failed-logins [ignore-error=BOOL]
옵션
ignore-error=BOOL/var/log/btmp파일을 읽을 수 없는 경우의 오류 처리 방식 (기본값:f)
t: 오류를 무시하고 빈 결과를 반환합니다.f: 오류를 발생시켜 쿼리 실행을 중단합니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
_time | 날짜 | 로그인 실패 시각 |
user | 문자열 | 로그인을 시도한 사용자 이름 |
src_ip | IP 주소 | 로그인을 시도한 원격지 IP 주소. 로컬 시도인 경우 null을 반환합니다. |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 95040 | no-read-permission | 관리자 권한 없이 실행한 경우 |
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| - | - | /var/log/btmp 파일을 읽을 수 없는 경우 | ignore-error=t이면 빈 결과를 반환하고 정상 종료함. 그렇지 않으면 쿼리 실행을 중단함 |
설명
linux-failed-logins 명령어는 /var/log/btmp 파일을 바이너리 형식으로 파싱하여 로그인 실패 이력을 추출합니다. btmp 파일은 로그인에 실패한 모든 시도를 기록하며, 무차별 대입 공격(brute-force attack) 탐지 등 보안 분석에 활용할 수 있습니다.
/var/log/btmp 파일은 기본적으로 root:utmp 소유이며 제한된 읽기 권한을 가지므로, 파일 접근 권한이 없으면 오류가 발생합니다. 이 경우 ignore-error=t 옵션을 사용하면 오류를 무시하고 빈 결과를 반환합니다.
사용 예
-
전체 로그인 실패 이력 조회
linux-failed-logins시스템의 모든 로그인 실패 이력을 조회합니다.
-
오류 무시 옵션으로 조회
linux-failed-logins ignore-error=t/var/log/btmp파일을 읽을 수 없는 경우에도 오류 없이 빈 결과를 반환합니다. -
특정 사용자에 대한 실패 시도 조회
linux-failed-logins | search user == "root"root사용자에 대한 로그인 실패 시도만 필터링합니다. -
IP 주소별 실패 횟수 집계
linux-failed-logins | stats count by src_ip | sort -count접속 IP 주소별 로그인 실패 횟수를 집계하여 다수의 실패를 기록한 IP를 확인합니다.
호환성
linux-failed-logins 명령어는 소나 4.0 이전 버전부터 제공되었습니다.