본문 바로가기
운영체제 (LNX,WIN)

Wazuh(HIDS), Suricata(NIDS)를 Elastic Stack과 통합하여 보안 분석 개선

by 날으는물고기 2023. 10. 25.

Wazuh(HIDS), Suricata(NIDS)를 Elastic Stack과 통합하여 보안 분석 개선

Wazuh는 오픈 소스 보안 정보 및 이상 징후 검출 도구로, 보안 모니터링, 이벤트 로깅 및 보안 이상 징후 검출을 위한 효과적인 플랫폼입니다. 이것은 Elastic Stack (Elasticsearch, Logstash, Kibana)와 통합하여 로그 분석 및 보안 이상 징후 감지를 용이하게 만듭니다.

Wazuh를 구축하고 활용하는 방법을 단계별로 설명하겠습니다.

 

단계 1: 시스템 요구 사항 확인
Wazuh를 설치하기 전에 시스템 요구 사항을 확인하세요. 이것은 메모리, CPU, 디스크 공간 등의 하드웨어 요구 사항과 호환되는 운영 체제(예: Ubuntu, CentOS)를 포함합니다.

 

단계 2: Wazuh 설치
Wazuh는 에이전트와 매니저로 구성됩니다. 에이전트는 모니터링 대상 호스트에 설치되고, 매니저는 중앙 집중식 서버 역할을 합니다.

2.1. 매니저 설치

  • Elastic Stack과 함께 Wazuh 매니저를 설치합니다. Elasticsearch, Logstash, Kibana가 이미 설치되어 있어야 합니다.

2.2. 에이전트 설치

  • 에이전트를 대상 호스트에 설치합니다. 에이전트 설치 패키지는 Wazuh 웹사이트에서 다운로드할 수 있습니다.

 

단계 3: 구성 파일 설정
3.1. 매니저 설정

  • /var/ossec/etc/ossec.conf 파일을 수정하여 Wazuh 매니저의 구성을 설정합니다.
  • 필요한 경우, 확장 기능 및 로깅 설정을 수정합니다.

3.2. 에이전트 설정

  • 에이전트의 설정 파일 (/var/ossec/etc/ossec.conf)을 수정하여 매니저의 IP 주소 및 포트를 지정합니다.

 

단계 4: 에이전트 등록

  • 에이전트를 등록하여 매니저와 연결합니다.
  • sudo /var/ossec/bin/agent-auth -m MANAGER_IP 명령을 사용하여 에이전트를 등록합니다.

 

단계 5: 보안 이상 징후 모니터링

  • Wazuh는 설정된 규칙에 따라 이상 징후를 감지하고 경고를 생성합니다.
  • 로그 및 이벤트는 Elasticsearch에 저장되고 Kibana를 통해 시각화 및 검색할 수 있습니다.

 

단계 6: 대시보드 및 시각화 설정

  • Kibana를 사용하여 Wazuh 대시보드 및 시각화를 설정합니다.
  • Wazuh Kibana 앱을 설치하고, Elasticsearch 인덱스를 연결하고, 대시보드 및 시각화를 생성합니다.

 

단계 7: 경고 및 대응 설정

  • Wazuh는 경고를 생성하고 대응 조치를 취할 수 있도록 설정할 수 있습니다.
  • 경고를 이메일로 보내거나, 스크립트를 실행하거나, 다른 대응 도구와 통합할 수 있습니다.

 

단계 8: 모니터링 및 유지 관리

  • Wazuh를 지속적으로 모니터링하고 보안 규칙을 업데이트하여 새로운 위협에 대비합니다.
  • 에이전트 및 매니저 로그를 주기적으로 검토하여 시스템의 보안 상태를 모니터링합니다.

 

위의 단계를 따르면 Wazuh를 구축하고 활용할 수 있습니다. Wazuh는 강력한 보안 모니터링 및 이상 징후 검출 솔루션으로, 보안 운영 환경을 향상시키는 데 도움이 될 것입니다.

단계 1: Elastic Stack, Wazuh, Suricata 설정

  1. Elastic Stack을 설정하고 운영 환경에서 보안 분석을 위해 활용합니다. Elastic Stack은 보안 정보의 수집, 저장, 시각화, 및 분석을 위한 플랫폼으로 사용됩니다.
  2. Wazuh와 Suricata를 선택하고 구성합니다. Wazuh는 호스트 기반 침입 탐지 시스템(HIDS)이며, Suricata는 네트워크 기반 침입 탐지 시스템(NIDS)입니다. 이 두 시스템은 시그니처 기반 탐지를 기반으로 하여 보안 이벤트를 생성합니다.

단계 2: Elastic Stack과 Wazuh, Suricata 통합

  1. Wazuh 에이전트를 호스트에 배포하여 로그 분석, 파일 통합 모니터링, 루트킷 탐색, 취약성 탐색, 구성 평가 및 사건 응답을 활성화합니다. 이 에이전트는 중앙 집중식 Wazuh 서버로 보고합니다.
  2. Suricata를 사용하여 네트워크 트래픽을 모니터링하고 Suricata 센서를 설정합니다. Suricata는 네트워크 트래픽을 검사하여 악성 활동과 일치하는 패턴을 감지하고 알림을 생성합니다.
  3. Suricata의 JSON 출력을 Wazuh 에이전트가 읽을 수 있도록 설정합니다. Wazuh 에이전트는 Suricata NIDS 알림을 수집하여 Wazuh 서버로 전송합니다.
  4. Wazuh 로그 분석 규칙을 통해 Suricata 알림을 처리하고, 보안 이벤트를 생성합니다.

단계 3: Elastic 머신 러닝 작업 구성

  1. Elastic 머신 러닝을 사용하여 악성 실행자를 탐색하기 위한 작업을 설정합니다. 이 예제에서는 "모집단 분석" 작업을 사용합니다.
  2. 모집단 분석 작업은 일정 기간 동안 IP 주소의 일반적인 행동을 학습하고, 비정상적으로 동작하는 IP 주소를 식별합니다.
  3. 머신 러닝 작업 결과로 비정상적인 행동을 나타내는 IP 주소 목록을 생성합니다.

단계 4: 침입 시도 조사

  1. 이상 현상을 나타내는 IP 주소 목록 중에서 특정 IP 주소에 대한 조사를 시작합니다.
  2. Suricata NIDS 및 Wazuh HIDS에 의해 생성된 알림을 확인합니다.
  3. Suricata 알림은 네트워크 트래픽을 기반으로 하며, Wazuh HIDS 알림은 호스트 레벨에서 생성됩니다.
  4. 알림을 통해 소스 IP 주소가 악성 행동을 시도하고 있다는 정보를 얻습니다. 이 정보는 다양한 시그니처 및 이상 징후를 통해 확인됩니다.

단계 5: 보안 대응

  1. Wazuh Active Response 모듈을 사용하여 IP 주소에 대한 자동 응답을 활성화합니다.
  2. 악성 실행자의 침입 시도를 중단하기 위해 방화벽 규칙을 자동으로 추가합니다.

단계 6: 결과와 결론

  1. Elastic Stack을 사용하여 Wazuh와 Suricata의 통합 결과를 시각화하고 분석합니다.
  2. 머신 러닝 작업과 다른 분석 도구를 통해 보안 분석가가 침입 시도와 악성 실행자를 효과적으로 식별하고 대응할 수 있도록 도움을 줍니다.
  3. 위협 탐색 및 보안 가시성이 향상되며, 보안 이벤트의 효과적인 관리와 대응이 가능해집니다.

이러한 단계를 따르면 Elastic Stack, Wazuh, Suricata 및 머신 러닝을 통합하여 보안 분석을 향상시킬 수 있습니다.

Elastic Stack, Wazuh, Suricata를 설치, 설정 및 구성하기 위해서는 다양한 단계가 필요하며, 각 단계에 대한 기본적인 개요와 중요 코드 예제를 제공하겠습니다. 각 단계에 따라 필요한 코드와 설정을 진행하세요.

 

1. Elastic Stack 설치 및 설정

  • Elasticsearch, Logstash, Kibana를 설치하고 구성합니다.
# Elasticsearch 설치
sudo apt-get install default-jre
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.x.x-amd64.deb
sudo dpkg -i elasticsearch-7.x.x-amd64.deb
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

# Logstash 설치
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.x.x.deb
sudo dpkg -i logstash-7.x.x.deb
sudo systemctl enable logstash
sudo systemctl start logstash

# Kibana 설치
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.x.x-amd64.deb
sudo dpkg -i kibana-7.x.x-amd64.deb
sudo systemctl enable kibana
sudo systemctl start kibana

2. Wazuh 설치 및 설정

  • Wazuh를 설치하고 구성합니다.
# Wazuh Manager 설치
curl -so install.sh https://packages.wazuh.com/4.x/debian/9.x/install.sh && chmod +x install.sh
sudo ./install.sh

# Wazuh Agent 설치 (호스트에서 실행)
curl -so install-agent.sh https://packages.wazuh.com/4.x/debian/9.x/install-agent.sh && chmod +x install-agent.sh
sudo ./install-agent.sh
  • Wazuh 구성 파일 (/var/ossec/etc/ossec.conf)에서 Wazuh Manager와 Agent 간의 통신 설정을 구성합니다.
<ossec_config>
  <client>
    <server-ip>WAZUH_MANAGER_IP</server-ip>
  </client>
</ossec_config>

3. Suricata 설치 및 설정

  • Suricata를 설치하고 구성합니다.
sudo apt-get install suricata

# Suricata 설정 파일 편집
sudo nano /etc/suricata/suricata.yaml
  • Suricata 설정 파일 (suricata.yaml)에서 네트워크 인터페이스 및 로그 경로 설정을 확인 및 수정합니다.
af-packet:
  - interface: eth0

...

output:
  - eve-log:
      enabled: yes
      filetype: regular
      filename: suricata-eve.json

4. Elastic Stack과 Wazuh, Suricata 통합

  • Wazuh와 Suricata를 Elastic Stack에 통합하기 위해 Logstash 구성 파일을 작성하고 수정합니다.
sudo nano /etc/logstash/conf.d/02-wazuh.conf
  • 02-wazuh.conf 파일을 열고 Wazuh와 Suricata 로그를 Logstash로 전송하는 파이프라인을 구성합니다.
input {
  file {
    path => "/var/ossec/logs/alerts/alert.json"
    type => "wazuh-alert"
  }
  file {
    path => "/var/log/suricata/suricata-eve.json"
    type => "suricata-eve"
  }
}

filter {
  if [type] == "wazuh-alert" {
    # Wazuh 관련 필터
  }
  if [type] == "suricata-eve" {
    # Suricata 관련 필터
  }
}

output {
  elasticsearch {
    hosts => ["ELASTICSEARCH_HOST"]
    user => "ELASTICSEARCH_USER"
    password => "ELASTICSEARCH_PASSWORD"
  }
}
  • 필터와 출력 부분은 실제 필요에 따라 수정합니다. Wazuh와 Suricata 로그의 파싱 및 필터링을 수행합니다.

5. 보안 대응 설정

  • Wazuh를 사용하여 악성 실행자에 대한 자동 응답을 구성합니다. 예를 들어, 방화벽 규칙을 추가하여 IP 주소를 차단하거나 다른 대응 조치를 수행합니다.

 

이러한 단계를 따르면 Elastic Stack, Wazuh, Suricata를 설치하고 설정하여 보안 분석을 향상시킬 수 있습니다. 각 단계의 세부적인 설정과 코드는 실제 환경 및 요구 사항에 따라 조정해야 합니다.

728x90

댓글