Search

장비별 역할

ELK stack

ELK?

Elasticsearch

수집된 로그 데이터를 저장하고 검색할 수 있는 분산 검색 엔진

Logstash

그 데이터를 수집하고 변환하여 Elasticsearch로 전달
Filebeat와 같은 로그 수집기를 사용하여 파일 로그를 수집하거나, syslog 서버에서 직접 로그를 수신할 수도 있음
연동 방법
Filebeat : 경량 로그 수집기 각 서버에 설치하여 로그 파일의 변화를 모니터링하고 Logstash 또는 Elasticsearch로 직접 로그를 전송한다. 일반적으로 Filebeat는 모니터링할 서버들에 설치되고, Logstash에 로그를 전송하는 설정 진행한다.
Syslog 수집: Logstash는 syslog 프로토콜을 통해 네트워크에서 로그를 수집할 수 있다. 각 서버에서 syslog를 Logstash 서버로 전송하도록 설정하면 Logstash가 이를 수집하고, 필요한 변환 작업을 거친 후 Elasticsearch에 저장한다.

Kibana

Elasticsearch에 저장된 로그 데이터를 시각화
다양한 대시보드를 만들고, 수집된 로그 데이터를 분석할 수 있다.

ELK Stack?

ELK 에 Beats 개념이 추가된 형태
Beats : 경량 데이터 수집기(에이전트)들의 모음 주요 Beats 의 종류
Filebeat: 파일에서 로그 데이터를 수집
Metricbeat: 시스템 및 서비스의 성능 메트릭을 수집
Packetbeat: 네트워크 트래픽 데이터를 수집
Heartbeat: 서비스의 가용성을 모니터링
Auditbeat: 보안 관련 데이터를 수집
Winlogbeat: Windows 이벤트 로그

HIDS (Host-based Intrusion Detection System)

Wazuh

서버와 클라이언트 시스템에서 발생하는 보안 이벤트를 모니터링하고 분석
다양한 로그(예: 시스템 로그, 파일 무결성 로그, 애플리케이션 로그 등)를 수집하고, 중앙에서 이를 분석하여 보안 위협을 탐지
ELK 스택(특히 Elasticsearch와 Kibana)과 통합되어, 수집된 데이터를 저장하고 시각화 가능

이벤트 로깅

Sysmon

Windows 시스템에서 특정 보안 이벤트(예: 프로세스 생성, 네트워크 연결, 파일 및 레지스트리 변경 등)를 상세히 기록하는 도구
Wazuh 에이전트와 함께 사용되어, Sysmon이 생성한 보안 로그를 수집하고 분석

HIDS 와 NIDS 의 장단점

HIDS

정의

개별 호스트(서버나 컴퓨터)에 설치되어, 그 호스트 내부에서 발생하는 보안 이벤트와 로그를 모니터링하고 분석하는 시스템

장점

세부적인 모니터링
개별 호스트 내부에서 발생하는 이벤트를 모니터링하기 때문에, 파일 무결성 체크(FIM), 사용자 활동, 프로세스 생성/종료, 시스템 호출 등의 세부적인 정보를 수집 및 분석 가능
암호화된 트래픽 분석 가능
HIDS는 호스트 내부에서 동작하기 때문에, 암호화된 트래픽이나 로컬에서 발생하는 이벤트를 직접 모니터링 가능
정확한 이벤트 정보
HIDS는 구체적인 보안 이벤트(예: 파일 변경, 시스템 설정 변경 등)를 포착할 수 있으므로, 정확하고 상세한 보안 경고를 제공

단점

호스트에 대한 부담
HIDS는 각 호스트에 설치되어 동작하므로, CPU, 메모리 등 시스템 자원을 사용하게 됨. 특히 리소스가 제한된 시스템에서 성능에 영향을 미칠 수 있습니다.
네트워크 전체 가시성 부족
HIDS는 개별 호스트만 모니터링하기 때문에, 네트워크 전체에서 발생하는 이벤트나 공격을 포착하지 못할 수 있음 예를 들어, 네트워크 레벨에서의 DDoS 공격을 탐지하는 데는 한계가 있다.
설치와 유지보수
HIDS는 모든 호스트에 설치하고 유지관리해야 하므로, 대규모 환경에서 관리가 복잡할 수 있음

NIDS

정의

네트워크를 모니터링하여, 네트워크 트래픽에서 발생하는 비정상적인 활동이나 공격 징후를 탐지하는 시스템

장점

네트워크 전체 가시성
네트워크에 연결된 모든 장치와 트래픽을 모니터링하기 때문에, 네트워크 전체에서 발생하는 공격을 탐지할 수 있다. 네트워크의 여러 장치 간 통신을 분석할 수 있어, 분산된 공격(DDoS 등)을 감지하는 데 유리
중앙 집중식 관리
NIDS는 네트워크 경계에서 모든 트래픽을 모니터링하므로, 모든 장치에 설치할 필요 없이 중앙에서 관리할 수 있다.
경량 모니터링
NIDS는 네트워크 트래픽을 모니터링하기 때문에, 호스트에 직접 설치할 필요가 없고, 따라서 호스트의 자원을 소비하지 않음

단점

암호화된 트래픽 분석 불가
NIDS는 네트워크 트래픽을 모니터링하기 때문에, SSL/TLS로 암호화된 트래픽을 해독하여 분석하는 데 한계가 있음
세부적인 호스트 활동 탐지 불가
NIDS는 네트워크 레벨에서 동작하기 때문에, 호스트 내부에서 발생하는 세부적인 이벤트(예: 파일 변경, 프로세스 실행 등)를 탐지할 수 없음
네트워크 성능에 영향
네트워크의 모든 트래픽을 모니터링하기 때문에, 네트워크 부하가 증가하거나 대역폭이 부족할 경우 성능에 영향을 미칠 수 있음

Prometheus

역할

메트릭 수집
시스템, 애플리케이션, 그리고 네트워크 장비 등에서 메트릭 데이터를 수집
주기적으로 설정된 타겟에서 메트릭을 스크랩(scrape)하여, 이 데이터를 자체적인 시계열 데이터베이스에 저장
모니터링 및 경고
수집된 메트릭 데이터를 기반으로 경고 규칙을 설정할 수 있으며, 설정된 조건에 따라 경고를 생성하고 알림을 전송

구성방법

Prometheus 설치
MON 서버에 Prometheus를 설치 Prometheus는 공식적으로 제공되는 바이너리나 패키지 관리자를 통해 쉽게 설치 가능
Prometheus 설정
prometheus.yml 설정 파일에서 스크랩할 타겟을 정의 예를 들어, 모니터링할 시스템의 IP 주소와 포트를 설정하여 해당 시스템에서 메트릭을 수집할 수 있음
Exporter 설정
Prometheus는 직접 메트릭을 수집할 수 없는 시스템이나 애플리케이션의 경우, Exporter(예: Node Exporter, Windows Exporter)를 설치하여 메트릭을 노출하도록 설정
Exporter? 타겟 시스템이 Prometheus가 이해할 수 있는 형식으로 메트릭을 노출할 수 있도록 돕는 경량 도구 Prometheus는 Pull 모델을 사용하여, 메트릭 데이터를 수집한다. 즉, Prometheus 서버가 주기적으로 설정된 타겟(엔드포인트)에 요청을 보내고, 해당 타겟이 제공하는 메트릭 데이터를 가져오는 방식 그러나 많은 운영 체제나 애플리케이션은 기본적으로 HTTP 엔드포인트에서 메트릭을 제공하지 않기 때문에 Exporter를 설치하여 노출이 가능하도록 한다

Grafana

역할

데이터 시각화
Prometheus와 같은 데이터 소스에서 수집된 메트릭 데이터를 시각화하는 도구
대시보드를 통해 실시간으로 시스템 상태를 모니터링하고, 메트릭 데이터를 분석
대시보드 구성
Grafana에서 다양한 위젯을 사용해 시각화된 데이터를 대시보드로 구성할 수 있으며, Prometheus에서 수집한 메트릭 데이터를 기반으로 여러 형태의 그래프, 차트, 게이지 등을 생성

구성방법

Grafana 설치
MON 서버에 Grafana를 설치 Grafana는 공식 사이트에서 제공하는 설치 패키지를 사용하거나, Docker 등을 통해 설치할 수 있음
Prometheus 데이터 소스 설정
Grafana에 로그인한 후, Prometheus를 데이터 소스로 추가 이를 통해 Prometheus에서 수집한 메트릭을 Grafana에서 시각화할 수 있음
대시보드 생성
다양한 메트릭을 시각화할 수 있는 대시보드를 생성하고, 필요에 따라 경고 설정도 할 수 있음

최종 의견

윈도우 측 구성

Wazuh
Sysmon
Beats
Windows Expoter
Sysmon 의 이벤트 로그를 Wazuh 에 통합 관리 및 분석, MON 서버로 전송 Beats 를 이용하여 추가적인 데이터를 수집 (MON 서버의 ELK Stack 으로 전송)

서버 측 구성

Wazuh
Beats
Node Exporter
기본 개념은 윈도우와 동일 리눅스에서 사용 불가한 Sysmon 을 제외하고 동일하게 구성

MON 구성

ELK Stack
Wazuh
Prometheus
Grafana

pfSense

Snort

부하관리

IPS와 HIDS가 모두 사용되는 환경이기 때문에 부하 관리가 필요 모니터링 범위 조정 및 로그 수집 시간 조정을 통한 부하 관리가 필요함 모니터링 범위 : 사용하는 서비스에 한해서 수집 로그 수집 시간 : 트래픽이 적은 시간대는 수집 빈도를 조정

필요한 것

구성도 재작성
IP 대역 정리
구성 확정
클라우드에 모드시큐리티 붙이면 IPS 는 필요 없는지 확인 해야함 or WAF 만 붙이는게 최선인지