보안 로그 분석
IT 위키
더 많은 작업
- Security Log Analysis; 보안 로그 분석
- 시스템·애플리케이션·보안장비·네트워크가 남긴 기록을 수집하고 분석해 침해 시도와 이상 행위를 찾아내고 사고 원인을 추적하는 활동
로그는 "누가, 언제, 무엇을 했는가"를 보여 주는 기본 증거로, 실시간 탐지(관제), 침해사고 조사(디지털 포렌식), 법적·감사 요구 충족에 모두 쓰인다. 여러 장비의 로그를 시간 순으로 맞춰 보려면 NTP로 시각을 동기화해 두어야 한다.
| 파일 | 내용 | 확인 방법 |
|---|---|---|
| /var/log/secure | 인증 관련 기록(su, sudo, SSH 로그인 성공·실패). 데비안 계열은 /var/log/auth.log | 텍스트(grep, tail) |
| /var/log/messages | 커널과 대부분의 서비스가 남기는 일반 시스템 메시지 | 텍스트 |
| /var/log/wtmp | 로그인·로그아웃·재부팅 이력(성공한 로그인) | last
|
| /var/log/btmp | 로그인 실패 이력. 무작위 대입 공격 확인에 쓴다 | lastb
|
| /var/log/lastlog | 계정별 마지막 로그인 시각과 접속지 | lastlog
|
| /var/run/utmp | 현재 로그인한 사용자 | who, w
|
wtmp, btmp, lastlog, utmp는 바이너리 파일이므로 전용 명령(리눅스 last, 리눅스 lastb, 리눅스 lastlog, 리눅스 who)으로 읽는다.
| 이벤트 ID | 의미 | 분석 관점 |
|---|---|---|
| 4624 | 계정 로그온 성공 | 로그온 유형(2 대화형, 3 네트워크, 10 원격 대화형 등)과 출발지 IP 확인 |
| 4625 | 계정 로그온 실패 | 짧은 시간에 반복되면 무작위 대입 공격 의심 |
| 4634 | 계정 로그오프 | 4624와 짝지어 세션 시간 파악 |
| 4672 | 새 로그온에 특수 권한 할당 | 관리자급 권한 로그온 추적 |
| 4720 | 사용자 계정 생성 | 공격자의 백도어 계정 생성 탐지 |
| 1102 | 감사 로그 삭제 | 흔적 지우기 시도의 강한 징후 |
감사 정책 설정은 윈도우 감사 로그 참고.
Common Log Format(CLF)은 다음 7개 필드로 구성된다.
192.168.0.10 - kim [27/Sep/2026:10:15:32 +0900] "GET /index.php?id=1 HTTP/1.1" 200 5120
| 필드 | 예 | 설명 |
|---|---|---|
| 클라이언트 주소 | 192.168.0.10 | 요청한 호스트 IP |
| identd | - | RFC 1413 식별자(대부분 -) |
| 사용자 | kim | HTTP 인증 사용자명 |
| 시각 | [27/Sep/2026:10:15:32 +0900] | 요청 수신 시각 |
| 요청 줄 | "GET /index.php?id=1 HTTP/1.1" | 메서드, URI, 프로토콜 |
| 상태 코드 | 200 | 응답 코드 |
| 크기 | 5120 | 응답 본문 바이트 수 |
Combined Log Format은 여기에 "Referer"와 "User-Agent" 두 필드를 더한 형식이다. 분석할 때는 URI의 ' or 1=1, <script>, ../ 같은 공격 문자열, 짧은 시간의 대량 404 응답(스캐닝), 비정상 User-Agent(자동화 도구)를 찾는다. GET 요청의 파라미터는 남지만 POST 본문은 남지 않는다는 점에 유의한다.
- 공격자는 침입 후 로그를 지우거나 고치므로, 로그를 원격 로그 서버나 SIEM으로 실시간 전송해 별도로 보관한다.
- 로그 파일에 해시값을 계산해 두거나 WORM(한 번 쓰고 여러 번 읽는) 저장소를 써서 위·변조를 확인·방지한다.
- 로그 파일 권한을 제한하고, 순환(rotation) 정책으로 로그 유실을 막는다.
- 법적 보존 기간을 지킨다. 예를 들어 개인정보처리시스템 접속기록은 개인정보의 안전성 확보조치 기준에 따라 일정 기간 보관하고 정기적으로 점검해야 한다(ISMS-P 인증 기준 2.9.4.로그 및 접속기록 관리 참고).
- wtmp는 last, btmp는 lastb, lastlog는 lastlog, utmp는 who·w로 확인한다는 짝이 필기·실기 모두 자주 나온다.
- 윈도우 이벤트 ID 4624(성공), 4625(실패), 1102(로그 삭제)는 반드시 외운다.
- CLF 필드 순서와 Combined 형식에 추가되는 Referer·User-Agent를 알아 두고, 로그 한 줄에서 공격 유형을 판별하는 실기 문제에 대비한다.