지원 로그 포맷

LogTrace가 자동 감지하거나 수동 선택으로 분석할 수 있는 로그 포맷 목록입니다. 각 포맷의 예시 라인과 분석 가능한 항목을 확인하세요.


Nginx access.log

Nginx HTTP Server의 기본 액세스 로그 포맷입니다. Combined Log Format과 JSON 로그를 모두 지원합니다.

예시 라인 (기본 포맷)

`` 203.0.113.42 - - [10/May/2024:03:21:05 +0000] "POST /wp-login.php HTTP/1.1" 401 152 "-" "python-requests/2.28.0" "0.312" `

주요 필드

분석 가능 항목

  • 의심 IP 탐지 및 공격 패턴 분류 (SQLi, XSS, 경로 순회, 브루트포스)
  • 상태 코드 분포, 에러 집중 경로
  • User-Agent 분류 (봇, 스캐너, 브라우저)
  • 응답 시간 기반 P95/P99 성능 지표 ($request_time 포함 시)
  • 시간대별 요청·에러 추이

Apache access.log (Combined Log Format)

Apache HTTP Server의 기본 액세스 로그 포맷입니다.

예시 라인

` 198.51.100.7 - frank [10/Oct/2024:13:55:36 -0700] "GET /admin HTTP/1.1" 403 287 "http://example.com/" "Nikto/2.1.6" `

주요 필드

분석 가능 항목 — Nginx와 동일. 응답 시간 필드(%D, %T)가 포함된 커스텀 포맷도 지원합니다.


AWS ALB 액세스 로그

AWS Application Load Balancer가 S3 버킷에 기록하는 액세스 로그입니다.

예시 라인

` http 2024-10-10T13:55:36.000Z app/my-alb/abc123 203.0.113.42:54321 10.0.0.1:80 0.001 0.003 0.000 200 200 82 301 "GET https://example.com/api/v1/data HTTP/1.1" "curl/7.68.0" - - arn:aws:elasticloadbalancing:... "Root=1-..." "-" "-" 0 2024-10-10T13:55:35.999Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-" `

주요 필드

분석 가능 항목

  • ALB 상태코드와 백엔드 상태코드 불일치 탐지
  • 타임아웃 집중 구간 파악 (request_processing_time = -1)
  • 요청 처리시간 이상 구간 탐지
  • 의심 User-Agent 및 공격 패턴 탐지

AWS CloudFront 로그

AWS CloudFront CDN이 기록하는 액세스 로그입니다. 탭 구분(TSV) 형식이며 헤더 라인을 포함합니다.

예시 라인

` #Version: 1.0 #Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs-bytes time-taken 2024-10-10 13:55:36 LAX1 1234 203.0.113.42 GET d111.cloudfront.net /index.html 200 82 0.312 `

분석 가능 항목

  • 엣지 로케이션별 요청 분포
  • 상태 코드 분포, 에러 집중 경로
  • 의심 IP 및 공격 패턴 탐지

Linux syslog / auth.log

Debian/Ubuntu 계열의 /var/log/auth.log 및 표준 RFC 3164 syslog 형식을 지원합니다. systemd journal 포맷(ISO 8601 타임스탬프)도 자동 감지합니다.

예시 라인

` May 10 03:22:11 web01 sshd[23451]: Failed password for invalid user admin from 203.0.113.42 port 52341 ssh2 May 10 03:22:14 web01 sshd[23451]: Invalid user test from 203.0.113.42 May 10 03:25:01 web01 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/usr/bin/apt update `

분석 가능 항목

  • SSH 인증 실패 집중 IP 탐지 (브루트포스)
  • 유효하지 않은 사용자명 반복 시도
  • sudo 명령어 실행 기록
  • PAM 인증 실패 이벤트
  • 연속 실패 후 MaxAuthTries 차단 이벤트

WordPress 관련 로그

WordPress 서비스를 운영하는 경우, Nginx 또는 Apache 로그에서 아래 경로에 대한 접근 패턴을 집중 탐지합니다.

탐지 대상 경로

필드설명
------------
$remote_addr클라이언트 IP 주소
$time_local요청 수신 시각
$requestHTTP 메서드, 경로, 프로토콜
$statusHTTP 응답 상태 코드
$body_bytes_sent응답 바이트 수
$http_referer참조 URL
$http_user_agent클라이언트 User-Agent
$request_time응답 처리 시간 (초) — 포함 시 성능 분석 가능
필드설명
------------
%h클라이언트 IP 주소
%l식별자 (대부분 하이픈)
%u인증된 사용자명 (없으면 하이픈)
%t요청 수신 시각
"%r"요청 라인 (메서드, 경로, HTTP 버전)
%>s응답 상태 코드
%b응답 바이트 수
"%{Referer}i"참조 URL
"%{User-Agent}i"클라이언트 User-Agent
필드설명
------------
type요청 프로토콜 (http / https / h2 / ws)
time요청 수신 시각 (ISO 8601)
client:port클라이언트 IP와 포트
elb_status_codeALB 응답 상태 코드
target_status_code백엔드 응답 상태 코드
request_processing_timeALB 처리 시간 (-1은 연결 실패)
target_processing_time백엔드 처리 시간
requestHTTP 요청 라인
user_agentUser-Agent 문자열
경로탐지 내용
-----------------
/wp-login.php관리자 로그인 반복 접근 (브루트포스)
/xmlrpc.phpXML-RPC API 브루트포스 및 DDoS 악용
/wp-admin/관리자 영역 무단 접근
/wp-content/plugins/*알려진 플러그인 취약점 탐색
/?author=숫자사용자 열거 시도

LTSV (Labeled Tab-Separated Values)

각 필드에 레이블이 붙은 탭 구분 포맷입니다. Nginx에서 LTSV 포맷으로 출력하도록 설정한 경우 자동 감지됩니다.

예시 라인

` time:2024-10-10T13:55:36+09:00 host:203.0.113.42 req:GET /index.html HTTP/1.1 status:200 size:1234 ua:Mozilla/5.0 reqtime:0.012 `


JSON 로그

주요 필드(time, remote_addr, request, status, body_bytes_sent, http_user_agent, request_time 등)를 포함한 JSON 로그를 자동 감지합니다.

예시 라인

`json {"time":"2024-10-10T13:55:36+09:00","remote_addr":"203.0.113.42","request":"GET /api/v1/users HTTP/1.1","status":200,"body_bytes_sent":482,"http_user_agent":"Mozilla/5.0","request_time":0.042} `


커스텀 로그 포맷 (파서 빌더)

위 포맷 외에 자체 정의한 로그 형식이나 보안 장비 로그는 파서 빌더를 통해 직접 분석할 수 있습니다.

지원 정의 방식

  • 포맷 문자열$remote_addr $time $method $path $status $bytes` 형태로 필드 순서 정의
  • 정규식(Regex) — Named Group으로 필드 추출
  • 필드-스키마 매핑 — 추출한 필드를 IP, 타임스탬프, 상태코드, 경로 등 역할로 지정
커스텀 파서로 필드를 정확히 매핑한 경우, 표준 포맷과 동일한 수준의 탐지와 통계 분석이 가능합니다.