Linux 로깅 시스템 구성과 로그 구조 및 보안 관점에서 중요한 로그 파악 방법을 작성했다.
- journald 로깅 시스템, 로그 구조, 중요 보안 로그
- auditd 로깅 시스템
- Apache Log
- 로그 로테이션
journald
Linux는 systemd라는 init 시스템을 가지고있다. systemd는 리눅스가 부팅될 때 가장 먼저 실행되어 시스템 전체를 초기화하고, 각종 서비스를 켜고 끄는 역할을 한다.
journald는 systemd의 구성요소로 systemd의 서비스로그, 커널 메세지, syslog API 메세지 등의 다양한 프로세스에서 생긴 로그들을 수집해서 저장한다.
journalctl의 전용 명령어를 통해 다양한 조건으로 로그를 검색할 수 있도록 지원한다.

과거 리눅스는 syslogd 라는 텍스트 기반 단순 로깅을 사용했다. 이후 안정성과 가용성을 높인 rsyslogd가 등장했다. 그 뒤 부팅 초기부터 로깅, 색인 및 구조화 지원, 서비스 stdout 자동 수집 등이 되는 jopurnald가 포함된 systemd가 발표됐다
하지만 현재는 journald와 rsyslogd를 혼횽해서 사용된다. journald가 1차적으로 로그를 수집하고, rsyslogd로 포워딩 하여 다양한 출력처로 전달되게 된다. 이러면 journald의 구조화된 수집과 보안성을 활용하고, rsyslogd의 확장성과 출력 유연성도 함께 가져갈 수 있다. 현대의 리눅스 시스템에서 일반적인 구성이다.
jounald 로그 형식
key-value 형식의 구조화된 데이터로 저장된다. 로그 한 건은 여러 필드로 구성되어 로그 입력 소스에 따라 필드 구성이 달라진다.
journalctl를 사용하면 일반 텍스트처럼 변환되어 로그가 출력된다.


이렇게 일반 텍스트로 확인하면 이해하기 쉬운 문자로 로그를 빠르게 확인할 수 있다.

-o verbose 옵션을 통해 로그 원본을 확인하여 연관성 추출이나 여러가지에 활용할 수 있게 된다.
보안 관점에서 중요한 journald 로그
journald는 로그인, 서비스 동작, 인증 실패 등 운영 전반에서 발생하는 보안 이벤트를 광범위하게 기록한다.
journalctl를 통해 해당 키워드나 로그 메세지를 검색하여 추출할 수 있다.
아래의 로그들은 정기적인 로그 검토나 탐지 룰 작성시 핵심 기준이 될 수 있는 키워드 들이다.

auditd
journald는 단순 로그 수집만 할 뿐 감사정책 설정이나 보안 이벤트 추적과 같은 정밀한 감시 및 통제 기능은 제공하지 않는다.
로그인을 했는지, 서비스를 껐는지와 같은 정보를 알려주지만, 왜 그로그가 발생했는가 어떤 시스템 호출이 있었는가 까지는 알 수 없다.
그래서 auditd는 리눅스 커널 수준에서 보안 이벤트들을 추적하고 로그를 생성하는 감사 시스템이다. 누가, 언제, 어떤 리소스에 접근했는가를 정확하게 기록하는데 특화 되어있다.

아래 경로에서 감시할 대상을 설정할 수 있다.
/etc/audit/audit.rules
/etc/audit/rules.d/
생성된 로그는 아래에 텍스트 형식으로 저장된다.
/var/log/audit/audit.log
보안 관점에서 중요한 auditd 로그
auditd는 커널 수준의 정밀한 보안 행위 추적을 담당한다.
높인 정밀도를 가지는 만큼 시스템 자원을 필요로 하기에 로그를 남기려면 추가적인 룰 설정 및 튜닝이 요구된다.
ausearch, auditctl를 통해 아래의 키워드나 로그 메세지를 검색하여 추출할 수 있다.

Apache 웹 서버 로그
많은 침해는 웹서버를 통해서 유입된다. journald와 auditd는 시스템 내부를 보는 눈이라면, Apache로그는 외부로 연결되는 창문을 감시하는 로그다.

공격자가 SQL Injection, 파일 업로드와 같은 공격을 하면 그 흔적은 시스템 로그가 아니라 Apache 로그에만 남게 된다.
Apache 로그는 기본적으로 access.log와 error.log를 남기게 된다.
access.log : 사용자가 언제, 어떤 요청을 했는지 기록한다.
error.log : 웹 서버 자체의 오류, 경고, 예외 상황을 기록한다.

Apache 로그는 Combined Log Format형식으로 로그를 기록한다. 여러 웹 서버 및 분석 도구들이 일관되게 이해할 수 있도록 만든 공통 구조에 Referer와 User-Agent를 추가한 형태이다.

보안 관점에서 주의 김페 봐야 할 Apache 로그
- 이 로그들을 통해 웹 기반 공격을 조기에 식별 할 수 있다.

로그 로테이션 및 보존
로그를 계속 저장하면 너무 커지기 때문에 디스크가 차는 문제가 발생한다.
그래서 리눅스에서는 로그 로테이션이라는 기능을 사용하여 일정 조건이 되면 압축하여 별도로 저장하고 새로운 파일로 기록을 시작한다.
- 시간 및 용량을 기준으로 로그를 로테이션할 수 있다.
- 로테이션 된 로그는 번호를 붙여 저장된다.

journald와 auditd는 자체 로그 로테이션 시스템을 가지고 있어서 각자의 설정 파일을 수정하여 로그 로테이션을 적용할 수 있다.
'침해사고분석' 카테고리의 다른 글
| Wazuh 디코더와 룰 이해 (0) | 2025.09.15 |
|---|---|
| Wazuh XDR 통합 로그 분석 (0) | 2025.09.14 |
| Windows 보안 로그 분석 (0) | 2025.09.14 |
| Wazuh Agent 설치하기 (0) | 2025.09.13 |
| Wazuh XDR 이란? (0) | 2025.09.13 |
IT/네트워크/보안