Elastic Stack을 통한 로그모니터링을 구성하고, 임계치 알람에 대한 부분은 Kibana를 이용하려했으나,

현재 이용중인 모니터링은 전부 telegram을 통해 알람을 받고있기에 별도 플러그인이 제공되지않는것으로 보여,

webhook을 이용한 방법으로 진행해야한다. 여러가지 서칭 중  

사내 개발자에게 추천받은 오픈소스인 ElastAlert으로 임계치 알람에 대한 부분을 진행하려고한다.

 

Docs ElastAlert2

 

Getting Started — ElastAlert 2 0.0.1 documentation

ElastAlert 2 can easily be run as a Docker container or directly on your machine as a Python package. If you are not interested in modifying the internals of ElastAlert 2, the Docker container is recommended for ease of use. As a Kubernetes deployment The

elastalert2.readthedocs.io

위 내용을 참조하여 설치를 진행했다.

 

설치시 문서에 나와있는것처럼 파이썬 3.12 이상 설치하여야 정상적으로 동작한다.

아래는 샘플로 auditbeat index에서 파일 변조를 감지하여 telegram을 통해 Alert을 발송하는 룰이다.

es_host: 127.0.0.1
es_port: 9200
name: ElastAlert FileIntegrity rule
type: any
index: auditbeat-*
num_events: 1
timeframe:
   minutes: 30
filter:
- term:
    event.module: "file_integrity"
alert:
- "telegram"
telegram_bot_token: ""
telegram_room_id: ""
alert_subject_args : [ "event.module" ]
alert_subject :  "{0} Alert"
alert_text_args: ["@timestamp", "host.name","host.ip","file.path","event.type","event.action"]
alert_text_type: alert_text_only
alert_text : |
  time : {0}
  Host : {1}({2})
  FilePath : {3}
  Messages : ⚠️ {3} 파일이 변조({4}) 되었습니다. 확인이 필요합니다({5}).⚠️

실제 테스트 알람

 

PCI-DSS 인증을 받게 되어, 기존에 없던 실시간 로그모니터링 시스템구축 프로젝트를 개인적으로 진행하게 되었다. 

로그모니터링 시스템은 상용툴도 있지만, 비용적인 측면을 고려하여 오픈소스 기반의 툴을 찾아보게 되었다.

여러 툴을 알아보던중 가장 유명한 ElasticSearch+Kibana+Logstash+Beats를 이용한 Elastic Stack으로 진행하게되었다.

 

1. 어떤방식으로 구성할것인가?

기본적으로 내부적으로 rsyslog를 통한 로그 수집 서버가 존재하여, 해당 서버에 beats를 올린뒤

로그모니터링 서버에 모니터링을 진행 할 특정 로그를 보내어,  

logstash를 통해 필요한 부분만 파싱하여 ElasticSearch에 보내고 Kibana를 통해 시각화 구성,

모니터링 룰에 따라 ElastAlert을 통해 Telegram 메시지를 발송하려고한다.

추가로 각서버에 MetricBeat를 통해 Metric 모니터링도 진행하고자한다. 로그분석서버의 경우 Docker-Compose를 통해 ELK를 같은 컨테이너 네트워크상에 구성해볼 예정이다.

 

 

2. 어떤 로그를 모니터링할것인가?

PCI-DSS 요건을 살펴보면  아래와 같이 매일 보안로그 및 보안이벤트가 검토되고있는지를 체크하는부분이 있다. 

PCI-DSS version 3.2.1 일부 발췌

모든 보안 장비 및 보안로그에 대한 모니터링이 이루어져야하지만,

1차적으로 운용중인 서버의 OS 보안 로그를 통해 적용해보고자 하며, 추후엔 보안 장비 로그까지 모니터링하고자한다.

 

 

+ Recent posts