Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DShield-SIEM — DShield Sensor Log Collection with ELK | Kitploit
도구/GitHubGitHub/bruneaug/dshield-siem
Defensive ToolsThreat Feeds & AggregatorsNetwork SecurityThreat IntelligenceIntrusion DetectionIncident ResponseLog Analysis
GitHubbruneaug/dshield-siem

DShield-SIEM

DShield Sensor Log Collection with ELK

저장소 보기
5096일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DShield 센서 로그 수집과 Elasticsearch

소개

이 프로젝트는 Scott Jensen이 BACS 논문으로 작성하고 Github에 공개한 스크립트를 ISC Storm Center 웹사이트에 처음 게시한 내용을 포크하여 대폭 업데이트한 것입니다.
https://github.com/fkadriver/Dshield-ELK
https://isc.sans.edu/diary/DShield+Sensor+Monitoring+with+a+Docker+ELK+Stack+Guest+Diary/30118

분석에 DShield-SIEM을 사용하는 방법에 대한 좋은 참고 자료입니다: https://isc.sans.edu/diary/30962/

DShield SIEM 네트워크 흐름

DShield 센서를 사용한 로그 수집이 어떻게 이루어지는지에 대한 개요를 제공합니다.
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png

왜 사용하나요?

이 도커는 DShield Honeypot과 함께 사용하도록 맞춤 제작된 것으로, 로그를 수집하고 파싱하며 데이터를 수집하여 연구 목적으로 쉽게 검색할 수 있게 합니다. 권장 설치 방법은 DShield 센서를 Raspberry Pi에 Raspbian OS를 사용하거나 Ubuntu 24.04 LTS를 실행하는 시스템(네트워크 내부 또는 선택한 클라우드)에 설치하는 것입니다.

참고: 아래 지침에 따라 별도의 서버에 설치해야 합니다.

  • Ubuntu 24.04 및 26.04 LTS 또는 Proxmox LXC 컨테이너에서 테스트되었습니다.
  • 1단계: Ubuntu 구축
  • 2단계: docker 및 ELK 설치
  • 3단계: DShield 센서에 Filebeat 설치 및 구성

Ubuntu 설정

기업에서 보안 로그를 수집하고 DShield SIEM과 같은 네트워크를 모니터링하는 시스템과 마찬가지로, 이 시스템은 DShield 센서와 별개의 서버에 설치해야 합니다.

  • Ubuntu 24.04 LTS Live Server 64-Bit
  • 최소 10GB 이상 - 권장 12GB RAM
    • 각 컨테이너에 할당된 RAM 용량(아래 참조)이 2GB를 초과하는 경우 서버 RAM 용량을 늘리는 것을 고려하세요.
  • 4-8 코어
  • 파티션 2개 추가: 하나는 OS용, 다른 하나는 docker용
  • /var/lib/docker에 할당된 최소 300GB 파티션
  • Ubuntu가 재부팅된 후 docker 파티션을 설정합니다.
  • VM에 300GB 파티션 추가

Elastic 설치 패키지

ELK 현재 버전: 8.19.15 (2026년 4월 30일 업데이트)

  • Kibana
  • Elasticsearch
  • Logstash
  • Elastic-Agent
  • Filebeat
  • Heartbeat
  • Metricbeat

추가 소프트웨어

  • CyberChef
  • Mitre ATT&CK - Attack Navigator

참고: ELK 서버 구성 요소를 업데이트하려면 다음 단계를 따르세요:
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update

docker 설치

사용자($) 계정으로 docker를 설치합니다:```` sudo apt-get install ca-certificates curl gnupg network-manager txt2html sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg Note: You may need to take the next line, remove the backlash () and put everythin in a single line in Notepad to run this echo. echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update && sudo apt upgrade sudo reboot (if update were applied) sudo apt-get install -y jq docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pip sudo systemctl enable docker sudo systemctl start docker.service

root@kitploit:~
docker 서비스가 실행 중인지 확인하세요<br>````
sudo systemctl status docker.service

/etc/hosts 업데이트

다음 ELK 서버 이름 es01 kibana fleet-server heartbeat logstash filebeat filebeat01을
IP 주소와 서버 이름 뒤의 /etc/hosts에 추가하세요:
```` sudo vi /etc/hosts

root@kitploit:~
다음을 /etc/hosts의 ELK 서버 IP 주소 뒤에 추가하세요<br>
127.0.0.1 sensor es01 ...<br>
192.168.25.80 sensor es01 ...<br>````
es01 kibana fleet-server heartbeat logstash filebeat filebeat01

sysctl vm.max_map_count에 추가

sysctl.conf 파일을 편집하세요:
```` sudo vi /etc/sysctl.conf

root@kitploit:~
파일 하단에 다음을 추가하세요:<br>````
vm.max_map_count=262144

추가하고 저장하세요. Docker를 사용할 때 Elasticsearch를 위한 것입니다.

방화벽이 꺼져 있는지 확인````

sudo iptables -nL

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/50066/61adc10f495abf67cd0f3a004a0fde2497402c3bafa0db0bc07a9464e21804d9.png)

# DShield ELK 구성 및 설치
사용자($) 계정으로 다음 명령을 실행하세요:<br>````
git clone https://github.com/bruneaug/DShield-SIEM.git
mkdir scripts
mv DShield-SIEM/AddOnScripts/*.sh scripts
chmod 754 scripts/*.sh
cd ~/DShield-SIEM

참고: 설치 전에 .env 파일(ls -la로 확인 가능)을 편집하여 원하는 변경을 할 수 있습니다.
- elastic의 현재 _기본 비밀번호_는 student입니다.
.env의 메모리 제한은 docker가 각 ELK 컨테이너에 할당할 최대 메모리입니다.
기본적으로 Elasticsearch에 3GB이지만 리소스가 있다면 늘릴 수 있습니다.
.env 파일을 편집하여 자신의 ELK Stack에 맞게 구성하세요.
```` vi .env

root@kitploit:~
- ELK 서버 DNS 정보, 호스트 이름, IP 및 기본 Elastic 패스워드를 변경하려면 **.env** 파일에서 다음 변수들을 업데이트하십시오: <br>
  - HOSTNAME="ubuntu"
  - DNS_SERVER="9.9.9.9"
  - IPADDRESS="192.168.25.231"
  - ELASTIC_PASSWORD=student
  - ES_MEM = Elasticsearch -> 4g, KB_MEM = Kibana -> 2g
- 기본 네임서버(들) 정보와 대상 주소의 로컬 사설 네트워크 위치(예: DShield 센서 매핑 - 현재 **오타와, 캐나다**로 설정됨)를 변경하려면 docker를 로드하기 전에 다음 디렉터리의 파일들을 편집하십시오:<br>````
  cd logstash/pipeline
  • logstash-200-filter-cowrie.conf
    • logstash-201-filter-iptables.conf
    • logstash-202-filter-cowrie-webhoneypot.conf
      이 기본값을 유지하거나 각 파일을 편집하여 변경할 수 있습니다.

ELK 인프라 모니터링 구성

heartbeat.yml을 편집하여 센서 IP(PI로 명명됨)를 자신의 센서 IP로 변경하십시오. Kibana heartbeat는 서비스 상태를 확인하고 사용 가능한지 여부를 판단합니다.
이 IP와 호스트네임을 센서에 맞게 업데이트하십시오. 참고: 모니터링하려는 센서가 둘 이상인 경우 동일한 5줄을 복사하여 추가할 수 있습니다.

이는 Observability -> Uptime Monitors에서 확인할 수 있습니다.
image

이 줄은 센서 IP 주소입니다. TCP 12222에 연결하는 동안 응답을 받지 못하면 인터페이스에서 다운으로 표시합니다.
이는 ELK 서버가 센서로부터 응답을 확인하기 위해 시작합니다.
이 줄을 업데이트하십시오: hosts: ["192.168.25.165"]
```` vi ~/DShield-SIEM/heartbeat/heartbeat.yml

root@kitploit:~
**change_perms.sh** 스크립트는 docker 구성 요소의 설치를 시작하기 전에 일부 파일을 구성합니다.<br>
또한 이 스크립트는 대시보드 쿼리에 사용되는 IP 주소를 ELK 스택의 IP로 업데이트합니다.<br>````
~/scripts/change_perms.sh
~/scripts/get_researchers.sh

이제 docker compose를 실행하여 ELK 서버 애플리케이션을 빌드하세요.
이를 통해 Kibana, Elasticsearch, elastic-agent, Logstash를 빌드하고 Cowrie 파서, 구성 파일 및 대시보드를 로드합니다.
```` sudo docker compose up -d

root@kitploit:~
Installation Completed

<img width="375" height="354" alt="image" src="https://assets.kitploit.com/production/public/readmes/50066/b192e2cc430ca7eaa43934ebde637400b29d23212dce39e81f521b0806df1bc0.png" />

# 서버 신뢰 인증서에 ca.crt 추가
- ca.crt를 서버 신뢰 인증서 목록에 추가```
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /usr/local/share/ca-certificates/dshield.crt
```
- 신뢰할 수 있는 인증서 업데이트 ```
 sudo update-ca-certificates
```
### Kibana에 대시보드 및 SIEM 시그니처 추가
이 명령은 DShield SIEM 대시보드와 SIEM 시그니처를 Kibana에 로드합니다.<br>```
~/scripts/dashboard-setup.sh
```
### Docker 디렉터리 목록
이 명령은 모든 Elasticsearch 구성 요소가 설치된 후 사용 중인 docker 디렉터리 목록을 표시합니다.<br>
Elasticsearch에 데이터가 추가됨에 따라 아래 명령어나 ELK 내에서 스토리지에 사용할 수 있는 디스크 용량을 모니터링할 수도 있습니다.<br>````
sudo du --human-readable --max-depth 1 --no-dereference --one-file-system /var/lib/docker

image

다음 ELK 서비스가 설정되어 있습니다

netstat을 사용하면 이 4개의 서비스가 수신 중이어야 합니다.
``` netstat -an | grep '80|9200|9300|8220|5601|5044|5066|5067|5068|9600'

root@kitploit:~
다음과 같은 출력이 표시되어야 합니다:<br>
<pre>
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN  ---> Local CyberChef
tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN  ---> Kibana Web Access
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN  ---> Local Attack Navigator
tcp        0      0 0.0.0.0:8220            0.0.0.0:*               LISTEN  ---> elastic-agent Service
tcp        0      0 0.0.0.0:9200            0.0.0.0:*               LISTEN  ---> Elasticsearch Service
tcp        0      0 0.0.0.0:9300            0.0.0.0:*               LISTEN  ---> Elasticsearch Cluster Service
tcp        0      0 0.0.0.0:5044            0.0.0.0:*               LISTEN  ---> Logstash Data Collection
tcp        0      0 0.0.0.0:5066            0.0.0.0:*               LISTEN  ---> Metricbeat Stack Node Information
tcp        0      0 0.0.0.0:5067            0.0.0.0:*               LISTEN  ---> Filebeat Stack Node Information
tcp        0      0 0.0.0.0:5068            0.0.0.0:*               LISTEN  ---> Filebeat Stack Node Information (Process ISC Threat Intel to Logstash)  
tcp        0      0 0.0.0.0:9600            0.0.0.0:*               LISTEN  ---> Logstash Stack Node and Pipeline Information
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::5601                 :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN
tcp6       0      0 :::8220                 :::*                    LISTEN
tcp6       0      0 :::9200                 :::*                    LISTEN
tcp6       0      0 :::9300                 :::*                    LISTEN
tcp6       0      0 :::5044                 :::*                    LISTEN
tcp6       0      0 :::5066                 :::*                    LISTEN
tcp6       0      0 :::5067                 :::*                    LISTEN
tcp6       0      0 :::5068                 :::*                    LISTEN
tcp6       0      0 :::9600                 :::*                    LISTEN
</pre>

# Kibana에서 기본 Filebeat 템플릿 로드하기
이렇게 하면 기본 템플릿과 대시보드가 설치되며, 원격 DShield 센서의 netflow 데이터를 저장하는 데 사용할 수 있습니다.<br>
Logstash가 데이터 저장을 시작하려면 다음 명령을 실행해야 합니다. 첫 번째 단계는 filebeat에 로그인하는 것입니다:<br>````
sudo docker exec -ti filebeat bash

다음으로, 이 Filebeat 명령을 실행하여 Kibana에 템플릿을 로드하세요:
```` ./filebeat setup -e

root@kitploit:~
# Kibana 인터페이스에 접속하기
docker가 모든 ELK docker 구성 요소 설치를 마친 후, 이제 Ubuntu 서버 IP를 사용하여 ELK 스택에 로그인할 차례입니다.<br>
- 사용자 이름: **elastic**, 기본 비밀번호(변경되지 않은 경우): **student**로 Kibana에 로그인합니다.<br>
웹 접속: https://serverIP

![image](https://assets.kitploit.com/production/public/readmes/50066/fba7fa8349e3d5e1fffc81bcb15fc9188c48505874b45ca14452d3db9b8a7940.png)

# ELK 스택 관리 구성
ELK 스택 상태를 확인하려면 Management -> Stack Monitoring으로 이동하여 스택 모니터링을 구성해야 합니다.<br>

- 이 단계는 설치 시 Stack Monitoring이 자동으로 설정되지 않은 경우에만 필요합니다.<br>
- "_또는 자체 모니터링으로 설정_"을 선택합니다.<br>
- 모니터링이 현재 꺼져 있음 -> 선택: _모니터링 켜기_<br>
![image](https://assets.kitploit.com/production/public/readmes/50066/8f3c95494efb450e7ffad8f1fc2b8ccef595c2328eab8a3ea8d0d5913eb78e62.png)


![image](https://assets.kitploit.com/production/public/readmes/50066/937bc942f103644cb8d2dc1e934e82f34b02203c8acde2a9c1f3db8553684e82.png)

# fleet-agent 구성
fleet-agent(ELK 스택에서 실행되는 elastic-agent)는 위협 인텔리전스를 수집하는 데 사용됩니다.<br>

- 드롭다운 메뉴에서 Management → Fleet →Settings → Edit Outputs (Actions)를 선택합니다.<br>
- SSH로 서버에 로그인합니다.<br>
- ca.crt 인증서를 /tmp로 복사합니다.<br>````
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /tmp

Elasticsearch CA 신뢰 지문 사본을 가져오세요
```` sudo openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g

root@kitploit:~
- 출력은 다음과 같이 표시됩니다:<br>
673FB617E15CCCE73F9B647EF99449642A19CFC1D75BF5772047DA99DB950844

- 고급 YAML 구성에 적용할 Elasticsearch CA 인증서 내용을 가져옵니다. 복사가 잘 되지 않으므로 명령을 직접 입력하세요.<br>````
sudo cat /tmp/ca.crt | sed -r 's/(.*)/    \1/g'

올바른 형식은 위의 Troubleshooting fleet-server-examples 안내 URL에 있는 예시를 따르십시오.
_sed_는 CA 인증서를 대상으로 한 이전 명령에 4개의 공백을 추가합니다.

  • Hosts를 https://es01:9200으로 변경합니다.

인증서 정보를 추가한 후, 이 설정을 저장하고 적용합니다.
이어서 저장(Save) 및 배포(Deploy)를 진행합니다.

image image

설정(Settings)에서 Fleet server 호스트를 편집하거나 Add Fleet Server를 선택하여 다음과 같이 구성합니다.

image

다음 단계는 Agent Policy 선택 → Add Agent → Enroll in Fleet → Add Fleet Server입니다.

  • 이름(Name) 입력: es01
  • URL 입력: https://fleet-server:8220
  • 마지막으로: Generate Fleet Server policy 선택
  • 선택 항목: RPM Fleet-Server SSL Configuration 예시는 이 페이지를 참조하십시오:
    https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/fleet-server-examples.txt

image

이 정보는 Fleet Server를 설정할 때 필요합니다.
SSH로 fleet-server에 로그인하고 에이전트를 설정하기 전에 fleet-server가 실행 중인지 확인하십시오:
```` sudo docker exec -ti fleet-server bash ./elastic-agent status (check it is running) ./elastic-agent restart (if it doesn't appear to be running, force a restart, and recheck the status)

root@kitploit:~
이것은 fleet server에 복사해야 하는 내용의 예시입니다. fleet server의 es가 https://es01:9200인지 확인하십시오.<br>
인증서가 자체 생성되었으므로 port=8220 뒤에 굵은 섹션을 추가하십시오. 이렇게 하면 에이전트가 업데이트를 적용하게 됩니다.<br>

토큰과 지문은 이 예시와 다를 것입니다.<br>

아래의 elastic-enrol agent를 복사하고, 자신의 서버에서 가져온 다음 2줄을 교체하십시오. 나머지는 모두 동일하게 유지하십시오.<br>
<pre>
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
</pre>

fleet-agent에 로그인한 상태에서, 자신의 fleet-agent에 elastic-agent를 등록하십시오:

이 템플릿을 사용하여 인증서를 설치하고, 반드시 자신의 것으로 교체하십시오<br>
fleet-server-service-token 및 fleet-server-es-ca-trusted-fingerprint<br>````
elastic-agent enroll \
--url=https://fleet-server:8220 \
--fleet-server-es=https://es01:9200 \
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca=/certs/es01/es01.crt \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
--fleet-server-port=8220 \
--certificate-authorities=/certs/ca/ca.crt \
--fleet-server-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-cert-key=/certs/fleet-server/fleet-server.key \
--elastic-agent-cert=/certs/fleet-server/fleet-server.crt \
--elastic-agent-cert-key=/certs/fleet-server/fleet-server.key \
--fleet-server-es-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-es-cert-key=/certs/fleet-server/fleet-server.key

현재 설정을 대체합니다. 계속하시겠습니까? [Y/n]: Y

image

Elastic Agent를 성공적으로 등록했습니다.

현재 위치에서 올바르게 설치되었는지 확인하세요.
```` ./elastic-agent status ./elastic-agent restart (if you got what appears to be errors, force a restart and check the status)

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/50066/dacf9f3a4c64b99fcf619a308cdf9bd69ef1500a3c40abed39a93d6955a5c446.png)

이제 Fleet Server가 연결되었으니 이 창을 닫고 다음 단계로 진행하겠습니다.

![image](https://assets.kitploit.com/production/public/readmes/50066/287c7f66c75928f875105276583e36ba5b0a13b623afbf135a4beabe95ff521f.png)


Elastic Management → Fleet에서 Agents를 새로고침하면 다음과 같이 표시됩니다:

![image](https://assets.kitploit.com/production/public/readmes/50066/94397f8eb1e423477efc100fd4b6c83a3bd2e3376a6a2f06c32639128a6c912a.png)

이제 서버는 허니팟 로그에 대해 Security(SIEM 부분)에서 사용할 Threat Intel Agents를 설치할 준비가 되었습니다.<br>
다음 단계는 Agent policies → Fleet Server Policy → Add integration을 선택하는 것입니다:<br>
이 Dashboard를 사용하여 elastic-agent가 수집한 메트릭을 확인하세요:<br>
![image](https://assets.kitploit.com/production/public/readmes/50066/2b066c97de7a12d11b9b6c154541e0b8ab01991b7b5d9f1d4d1b3b4211768223.png)


- AlienVault OTX 선택 및 추가 (API 키 필요)<br>
- AbuseCH 선택 (API 키 필요)<br>
- Threat Intelligence Utilities 선택<br>
- Elasticsearch<br>
- Kibana 선택<br>
- Docker 선택<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/175377a7a348b449a3afa4bdd3bd6cb6a46c2e8c2672a8f36a0ef310ed4b0eb6.png)

# Fleet Server Policy 예시

![image](https://assets.kitploit.com/production/public/readmes/50066/4e3c594d3f064864b2521306c0cf45da93cb11d1f6a91e1b327d7dcfa379b96e.png)

- Elastic Management → Installed Integration에서<br>
- 설치된 각 integration을 선택한 다음 Settings를 선택하고 _keep the policy up to date_ 탭을 활성화하세요:<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/32c207719c11a7b2edf5e006ea97ed8c1557530d0826f002517484d56172d0c8.png)

## Security → Rules 구성

- Rules → Detection rules (SIEM) → Add Elastic rules 선택
- Search Tags에서 Rule Type: Threat Intel (최소한 다음 4개 규칙 추가)
- 해당 4개 규칙을 설치하고 활성화
  - Threat Intel Indicator Match - Cowrie (docker가 모든 ELK 스택 구성 요소를 로드할 때 로드되고 활성화되는 커스텀 규칙)
  - Threat Intel Windows Registry Indicator Match
  - Threat Intel Hash Indicator Match
  - Threat Intel URL Indicator Match
- 규칙을 살펴보고 허니팟 데이터에 대해 테스트하려는 다른 규칙을 활성화할 수 있습니다.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/c01aa5fadf403fd7ca026a9a25c93e0f838e1ef66b39e3a58007063b8cd3ae4b.png)


## Alert trend에서 규칙으로 캡처된 활동 검토
위의 threat intel 중 일부가 elastic-agent에 추가되고 초기 설치 중에 cowrie*가 Management -> Advanced Settings에 추가된 경우, 이제 ELK 스택의 SIEM 부분에 있는 alert trends에서 일치하는 규칙을 추적할 수 있습니다.<br>
이것은 Management → Stack Management → Advanced Settings의 출력입니다.<br>
 ![image](https://assets.kitploit.com/production/public/readmes/50066/f4c587e5a62c5dc6b6358a059e80b320211d6aece01ea23f1c2afa60beaa54e0.png)

 threat intel이 일치하면 SIEM에 다음 활동이 표시되며 이제 조사할 수 있습니다:<br>
 
![image](https://assets.kitploit.com/production/public/readmes/50066/e73e300695e54d4cb7c55ada132886e262711a232dbde73acb817ad16a0b457f.png)
![image](https://assets.kitploit.com/production/public/readmes/50066/20c192551974a78bc2fce7200629a8e03421a85ac2c768a11b185fa51ab1d6a1.png)


# DShield Sensor에서 Filebeat 설정 - ELK로 로그

다음 단계는 DShield Sensor에 Filebeat 패키지를 추가하여 로그를 Elasticsearch로 보내는 것입니다.<br>

다음 명령을 사용하여 Filebeat를 설치하려면 다음 단계를 따르세요. 이 명령은 참조 [3]에서 가져온 것입니다: <br>````
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update 

사용 중인 아키텍처에 맞는 버전 설치

설치 후, filebeat에 **홀드(hold)**를 설정하여 filebeat 버전을 변경하지 않고도 센서를 업데이트할 수 있습니다. filebeat
버전은 항상 Elasticsearc/Kibana 도커 버전과 일치해야 합니다. Linux - X86_64``` wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-amd64.deb sudo apt install ./filebeat-8.19.15-amd64.deb sudo apt-mark hold filebeat

root@kitploit:~
<ins>PI - aarch64</ins>```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-arm64.deb
sudo apt install ./filebeat-8.19.15-arm64.deb
sudo apt-mark hold filebeat

filebeat를 업데이트하려면, 때가 되면 hold를 해제해야 합니다. 해제하기 전에 먼저 filebeat에 hold가 걸려 있는지 확인하세요
``` sudo apt-mark showhold sudo apt-mark unhold filebeat

root@kitploit:~
If you want to use Zeek on your DShield sensor, review these installation [단계](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Configure_Zeek_DShield_Sensor.md)

### 클라우드 센서 설정 - Filebeat -> Home Router -> Logstash
클라우드 센서에서 로컬 ELK 스택에 연결하려면 다음을 수행해야 합니다:
- 홈 라우터가 ELK 스택 로컬 IP 주소로 NAT하도록 구성하세요<br>
- 센서에서 홈 라우터에 연결하려면 라우터 IP 주소를 사용하세요(IP가 변경될 경우를 대비해 홈 IP에 호스트 이름을 추가하는 것을 권장합니다)<br>
- 최종 연결은 다음과 같아야 합니다: sensor -> NAT Router IP -> ELK Stack

### 모든 센서 파일을 DShield 센서로 전송
이 URL을 따라 DShield 센서와 관련된 모든 파일을 다운로드하세요<br>
https://github.com/bruneaug/DShield-Sensor````
git clone https://github.com/bruneaug/DShield-Sensor.git
sudo cp ~/DShield-Sensor/filebeat/filebeat.yml /etc/filebeat/filebeat.yml
  • filebeat.yml을 편집하고 IP 주소 또는 호스트 이름을 Logstash에서 사용하는 IP와 일치하도록 logstash 파서(192.168.25.23)로 변경합니다.
  • 이 IP 주소는 로컬 IP 또는 클라우드 센서(예: OVH, AWS, Azure 등)를 사용하는 경우 ISP 라우터의 IP일 수 있습니다.
  • 클라우드 센서를 사용하는 경우, ISP 라우터의 IP는 라우터에서 DShield SIEM으로 포트 포워딩(5044)되어야 합니다.
    ```` sudo vi /etc/filebeat/filebeat.yml
root@kitploit:~
output.logstash:<br>
  hosts: ["192.168.25.23:5044"]<br>
  #hosts: ["logstash.com:5044"]<br>

### Filebeat 문제 해결````
sudo su -
filebeat test config

예상 출력: Config OK
```` filebeat test output

root@kitploit:~
<pre>
logstash: 192.168.25.231:5044...
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 192.168.25.231
    dial up... OK
  TLS... WARN secure connection disabled
  talk to server... OK
</pre>

## Filebeat 시작````
sudo systemctl enable filebeat
sudo systemctl start filebeat
sudo systemctl status filebeat

Filebeat 추적 파일

Filebeat는 log.json이라는 파일에 처리한 이벤트를 추적합니다. 이 파일이 삭제되면 filebeat가 다시 시작될 때 이전에 Elasticsearch로 보낸 모든 이벤트가 다시 처리됩니다.
이 파일의 위치:
sudo su -```` cd /var/lib/filebeat/registry/filebeat

root@kitploit:~
ELK 서버가 재구축되어 모든 로그를 다시 보내려는 경우, _filebeat를 중지하고 log.json을 삭제한 다음 filebeat를 재시작하세요_.
일반적으로 ELK Stack 대시보드에 반영되는 데 시간이 걸립니다. 로그가 ELK Stack으로 전송되고 있는지 확인하려면 다음을 수행할 수 있습니다.<br>
- tail -f log.json
- 대시보드가 따라잡는 동안 지난 30일의 기록을 확인하세요.

# 인터페이스 - Logs DShield Sensor 개요
대시보드에 액세스하려면 Analytics -> Dashboard -> 	**[Logs DShield Sensor] Overview**를 선택하세요.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/3780acfd85837ddc01d1dc8fd4f56de873a09416d7b488959bee52c1c1155c51.png)

## 워크스테이션 브라우저에 ca.crt 추가하기
ELK 서버에서 사용하는 ca.crt를 Kibana에 추가하려면 이 [페이지](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Workstation_Browser_CA_Certificate.md)의 단계를 따르세요.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/75b1b24c5a0e625a5827bf8b75697228550f8c270a5fec1f96b91524a4b82cb0.png)

# 유용한 Docker 명령어
유용한 docker 명령어 목록은 이 페이지를 참조하세요.<br>
https://github.com/bruneaug/DShield-SIEM/edit/main/Troubleshooting/docker_useful_commands..md

# 콘솔에서 Elastic 정보
이 명령들은 Dev Tool -> Console에서 실행됩니다.<br>

GET _nodes/http?pretty	(모든 노드의 목록과 정보를 가져옵니다)<br>
GET _security/_authenticate<br>
GET /_cat/nodes?v=true<br>

# 학생들이 작성한 DShield 분석 스크립트 및 코드
BACS 프로그램 학생들이 로그 분석을 돕기 위해 작성한 스크립트와 코드 목록입니다.<br>

Jesse La Grew [cowrieprocessor](https://github.com/jslagrew/cowrieprocessor)<br>
jrjobe [DShield-Cowrie-json-Parser](https://github.com/jrjobe/DShield-Cowrie-json-Parser)<br>
ham-sauce [vt_cowrie](https://github.com/ham-sauce/vt_cowrie)<br>
NickTheSecurityDude [dshield-honeypot-scripts](https://github.com/NickTheSecurityDude/dshield-honeypot-scripts/tree/main) 및 [LinkedIn Post](https://www.linkedin.com/pulse/how-i-used-honeypot-track-analyze-cyberattacks-nicholas-gilbert-jcste)<br>
Josh Gilman [DShieldKickStarter](https://github.com/iamjoshgilman/DShieldKickStarter)<br>
kcustom11 [dshield-azure](https://github.com/kcustom11/dshield-azure) Azure Terraform<br>
Boggby [ec2-honeypot-template](https://github.com/Boggby/ec2-honeypot-template)<br>
amelete11235
 [homelab](https://github.com/amelete11235/homelab/blob/main/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM.md) DShiel SIEM Raspberry 5<br>
William Constantino [Cowrie logfile_investigation with Python](https://github.com/JJWCons/log-scripts/blob/main/logfile_investigation.py)<br>
William Constantino [Cowrie single_multi_IP with Python](https://github.com/JJWCons/log-scripts/blob/main/single_multi_IP.py)<br>
Steven C. Peterson [DShield Model Context Protocol](https://github.com/datagen24/dsheild-mcp)<br>
Nathan Smisson [dshield-tooling](https://github.com/neurohypophysis/dshield-tooling)<br>

# 참조
[1] https://isc.sans.edu/tools/honeypot/<br>
[2] https://www.elastic.co/downloads/beats/filebeat<br>
[3] https://www.elastic.co/guide/en/beats/filebeat/8.8/setup-repositories.html#_apt<br>
[4] https://isc.sans.edu/diary/DShield+Honeypot+Activity+for+May+2023/29932<br>
[5] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+to+Elasticsearch/29458<br>
[6] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+Analysis/29412<br>
[7] https://github.com/jslagrew/cowrieprocessor/blob/main/submit_vtfiles.py<br>
[8] https://handlers.sans.edu/gbruneau/elastic.htm<br>
[9] https://www.elastic.co/guide/en/fleet/current/secure-connections.html<br>
[10] https://www.docker.elastic.co/<br>
[11] https://github.com/gchq/CyberChef<br>
[12] https://github.com/mitre-attack/attack-navigator/pkgs/container/attack-navigator
도구 다운로드