AnbyMata의 해킹 노트

[Blue Team] EP.6 - Linux 로그 기초 본문

Blue Team (SOC)/Linux Log Analysis

[Blue Team] EP.6 - Linux 로그 기초

AnbyMata 2026. 4. 19. 22:00

[6-1] Linux의 주요 관찰 행위 유형

Auth & System (인증 및 권한)

- 사용자 로그인/로그아웃 - SSH 접속이나 Console을 통한 접근 기록 확인

- 권한 상승 - sudo나 su 명령을 통해 일반 사용자의 관리자 권한 획득 시도 감지

 

Process & System (프로세스 및 서비스)

- 명령 실행 - 사용자가 입력한 Shell 명령어, cron(예약된 작업), systemd(시스템 서비스)의 실행 상태 추적

- 서비스 제어 - 특정 서비스의 시작, 중지, 변경 이력 관찰

 

File & Network (파일 및 네트워크)

- 파일 시스템 변화 - 중요한 설정 파일이나 데이터의 생성, 수정, 삭제 행위 모니터링

- 네트워크 연결 - Outbound(외부로 나가는 통신)과 Inbound(들어오는 접속)을 파악

 

Audit (감사)

- 위의 행위들을 정밀하게 기록하는 Audit 시스템을 통해 세부 증거 수집

 

 

[6-2] 로그 기록의 생성 과정

1. 사용자 입력

 - 관리자가 `sh admin@host` 같은 명령으로 접속 시도

 

2. sshd (서비스)

 - SSH 데몬이 연결 요청을 수신하고 수락 여부 결정


3. PAM (인증 모듈)

 - 계정 정책과 비밀번호를 검증해 실제 로그인 허용 여부 판단

 

4. Shell 생성

 - 인증 완료 시 사용자가 명령을 내릴 수 있는 Shell (session)이 열림

 

5. 명령 실행 (sudo...)

 - 사용자의 권한 상승이나 특정 명령은 추가적인 흔적이 남음

 

6. 최종 기록

 - 이 모든 과정은 auth.log 나 secure 파일에 기록되어 SIEM에 수집됨

 

 

확인해야 할 주요 흔적들

- auth.log - 인증의 성공과 실패 여부 확인하는 1순위 데이터

- syslog - 시스템 전반의 운영 및 세션 정보

- wtmp - 사용자의 로그인 및 로그아웃 기록

- auditd - 리눅스 커널 수준에서 발생하는 파일 접근, 시스템 호출 등의 상세 행위 기록

 

 

[6-3] 데이터 소스별 특징

System Log (auth.log, syslog)

- 생성 주체: OS / 서비스

- 저장 위치: /var/log/*

- 조작 가능성: 중간 (root로 삭제 가능)

- 신뢰 수준: 높음

- 주요 활용: auth.log로 인증, 시스템 이벤트 확인

 

Journal (systemd-journald)

- 생성 주체: systemd

- 저장 위치: /run/log/journal

- 조작 가능성: 중간

- 신뢰 수준: 높음

- 주요 활용: 서비스 단위 추적 및 빠른 로그 조회

 

Shell History

- 생성 주체: 사용자 Shell

- 저장 위치: ~/.bash_history

- 조작 가능성: 높음 (삭제/우회 쉬움)

- 신뢰 수준: 낮음~중간

- 주요 활용: 분석의 보조 단서로만 활용

 

Audit Log

- 생성 주체: 커널 감사

- 저장 위치: /var/log/audit/

- 조작 가능성: 낮음~중간

- 신뢰 수준: 매우 높음

- 주요 활용: 명령어 실행, 파일 접근 등의 정밀 분석

 

Telemetry

- 생성 주체: 보안 에이전트

- 저장 위치:클라우드, SIEM

- 조작 가능성: 낮음 (외부 저장)

- 신뢰 수준: 매우 높음

- 주요 활용: 프로세스 트리 (EDR), 네트워크 이상 감지

 

 

[6-4] 로그 관리 방식

syslog (전통 방식)

- 작동 원리: 애플리케이션이 syslog() 함수를 호출하여 로그 전달

- 저장 형식: /var/log/* 경로에 텍스트 파일로 저장

- 조회 방법: cat, tail, grep 등의 텍스트 도구 사용

- 특징: logrotate 를 통해 파일 회전 및 압축 관리

 

journald (현대 방식)

- 작동 원리: systemd 서비스가 직접 journald 로 로그 전송

- 저장 형식: /run/log/journal 에 바이터리 형식으로 저장

- 조회 방법: journalctl 전용 명령어로만 조회 가능

- 특징: 바이너리 구조로 빠른 검색과 메타데이터 포함 가능

 

 

[6-5] 로그 구성 요소

 

시간 - 이벤트가 발생한 정확한 시간

- Apr 18 15:27:55 → 정상 업무 시간대인지, 직전/직후에 연관된 다른 행위가 있는지 파악하는 기준

 

호스트 - 이벤트가 발생한 서버 식별

- web03 → 자산의 중요도로 분석 우선 순위 결정

 

프로세스 - 이벤트를 기록한 서비스와 PID(프로세스 ID)

- sshd[21032] → SSH 서비스가 기록 주체임을 확인

 

결과 - 행위의 성공 여부

- Failed password → 성공 여부에 따라 위협의 심각도 결정

 

세부 정보 - 어떤 계정으로 어디서 접근했는지에 대한 구체적인 데이터

- root / 174.22.123.44 → root 계정으로 174.22.123.44 IP에서 접근함

 

 

[6-6] 로그 해석의 핵심 context

사용자 context - 행위 주체는?

- 일반 사용자, 관리자, VIP, 퇴사자의 계정... → 위험도 파악

 

자산 context - 발생한 서버는?

- 인터넷에 노출된 웹 서버, 내부망의 핵심 데이터 서버... → 자산의 중요도 파악

 

시간 context - 발생한 시간은?

- 정상 업무 시간, 야간/주말, 정기 배치 작업 시간

 

네트워크 context - 접속한 위치는?

- 내부망, VPN, Bastion(점프 서버)을 통한 접근, 해외 IP, 신규 IP

 

변경 context - 사전에 승인 여부는?

- 공식적인 점검, 최근 배포나 패치 작업과 연관된 행위

 

 


[Blue Team] EP.6 - Linux 로그 기초. END.