리눅스에서 로그란?
커널, 시스템 서비스 등이 남기는 기록으로, 타임스탬프+호스트+심각도+메시지의 구조
OS 레벨의 이벤트는 OS 로그 시스템이 구조화된 형식에 맞추어, 계층과 서비스 종류에 따라 다양한 로그가 남음
윈도우는 Event log, 리눅스는 journald라는 로그시스템
수집->집계->파싱 및 정규화-> 저장->보관의 사이

journald
리눅스에는 systemd라는 init 시스템이 있음
→ 리눅스 부팅시 가장 먼저 실행되어 시스템 전체를 초기화하고 서비스 켜고 끄는 역할
journald는 systemd의 구성요소이고 서비스록, 커널메시지, syslog API메시지 수집 및 저장 역할
로그인/아웃, 크론 작업 실행, 서비스 시작 및 종료, 관리자 명령 실행 등 기록
로그는 바이너리 형식으로 /var/log/journald에 저장
journalctl의 전용 명령어로 로그 검색 지원
원래 리눅스는 syslog라는 텍스트 기반 로그 데몬을 사용했지만 기존 init 모델 한계 극복을 위해 rsyslog가 새롭게 등장함
→ rsyslogd에는 없는 구조화, 색인 기능을 제공하는 journald이 등장
journald 로그 형식
key-value 형식으로 데이터를 저장함, journalctl 사용하면 텍스트로 변환해서 로그 출력
_EXE | 로그 생성한 파일 경로 |
_CMDLINE | 실행 명령어 |
_UID/_GID | 해당 프로세스 사용자 ID/그룹 ID |
journalctl -u sshd.service 같은 명령어를 입력하면 이렇게 출력
Apr 09 10:22:49 localhost.localdomain su[866]: pam_unix(su-l:session): session opened for user solr by (uid=0)<
Apr 09 10:22:49 localhost.localdomain systemd[1]: Started Session c1 of user solr.<
Apr 09 10:22:49 localhost.localdomain systemd[1]: Created slice User Slice of solr.<
Apr 09 10:22:49 localhost.localdomain su[866]: (to solr) root on none
중요한 journald 로그
journald는 로그인, 서비스 동작, 인증 실패 등 보안 이벤트를 광범위하게 기록
sudo, su, root | 루트 권한 획득 시도 | 비인가 root 권한 사용 감지 |
useradd, usermod | 사용자 계정 변경 기록 | 불필요한 사용자 추가 탐지 |
CRON | 예약된 명령어 자동 실행 | 백도어 설치, 자동화 공격 탐 |
auditd
journald는 로그 수집을 한뿐 정밀한 감시나 통제 기능은 없음
auditd는 커널 수준에서 보안 이벤트를 추적하고 로그를 생성함
특정 파일 디렉터리 접근이나 권한 상승같은 세밀한행위 추적 가능
/var/log/audit/audit.log에 별도로 텍스트 형식으로 저장
중요한 auditd 로그
EXECVE | 명령실행, 백도어실행, 수상한 프로세스 실행 탐지 |
CONFIG_CHANGE | 감사 정책 변경 기록 |
USER_CMD | 사용자가 실행한 명령어 전체 기록, 비인가 명령 실행 확인할 때 사용 |
SYSCALL | 시스템 콜 호출 정보, uid, pid 등 포 |
Apache 웹 서버 로그
시스템 로그보다 상위 계층에서 동작하고 웹 서버에서 발생한 클라이언트의 요청, 응답 기록
access log, error.log 기록이 있고 텍스트 형식으로 저장
여러 웹 서버가 이해할 수 있게 만든 공통구조에 referer, user-agent를 추가한 형식
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
클라이언트 IP, 타임스탬프, request line, 상태코드, referer, 유저, 유저 에이전트 등이 포함
보안관점에서 아파치 로그를 살펴봐야 하는 징후
이상 URI/경로, 비정상http 메서드, 대량 요청(브루트 포싱), 큰 응답 크기(response size)
'Defensive' 카테고리의 다른 글
[엔드포인트보안] Wazuh 아키텍처와 역할 (2) | 2025.08.12 |
---|---|
[엔드포인트보안] Wazuh XDR에 대해 알아보자 (1) | 2025.08.10 |
[정보보호제품군 실습훈련] OPNSense 방화벽 Outbound NAT를 활용한 네트워크 주 은닉 실습 (1) | 2025.07.10 |
[정보처리기사 실기] 1. 요구사항 확인 - 현행 시스템 분석 (1) | 2025.07.04 |
[정보보호제품군 실습훈련] OPNSense 방화벽의 IPS 플러그인을 이용한 유해패턴 탐지 실습 (0) | 2025.07.02 |