Skip to content

oss-knu/log-audit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

Teleport + Logstash + OpenSearch 로그 수집 가이드

Teleport에서 발생하는 Audit Logs를 Logstash를 통해 OpenSearch에 저장하고, OpenSearch Dashboard에서 확인 및 필터링하는 부분.



🏗️ 아키텍처 개요

Teleport → Logstash → OpenSearch → OpenSearch Dashboard
  • Teleport: 인증/접속/세션 이벤트 로그 생성
  • Logstash: 로그 수집 및 OpenSearch 전송
  • OpenSearch: 로그 저장 및 검색
  • OpenSearch Dashboard: 로그 시각화 및 필터링



⚙️ Teleport 설정 (teleport.yaml)

Teleport에서 Audit 로그를 로컬 파일로 저장하도록 설정합니다.

version: v3
teleport:
  nodename: root-cluster
  data_dir: /var/lib/teleport
  log:
    output: data/log/teleport.log # 로그를 지정된 위치에 저장.
    severity: INFO
    format:
      output: json # json으로 formatting함.
...

(root-cluster)



📦 Logstash 설정 (Pipeline 역할)

Logstash가 Teleport-Opensearch를 연결하는 Pipeline 역할을 함.

input: Teleport 로그 파일

input {
  file {
    path => "../../data/logs/teleport.log" # 로컬 파일을 읽음.
    codec => json
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}

output: OpenSearch를 설정.

output {
  opensearch {
    hosts => ["https://opensearch:9200"]
    user => "logstash"
    password => "your_password"
    index => "audit-events-%{+YYYY.MM.dd}" # index를 지정하여 보냄.
    ssl => true
  }
}



🔎 OpenSearch Dashboard에서 로그 확인

인덱스 패턴 생성

  • audit-events-* 패턴으로 생성
  • Discover 메뉴에서 최근 로그 확인

필드 기반 필터

  • event_type: "login"
  • event_type: "auth"

쿼리 예시:

GET audit-events-*/_search
{
  "query": {
    "term": {
      "event_type": "login"
    }
  }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors