
DShield Sensor Log Collection with ELK
이 프로젝트는 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 센서를 사용한 로그 수집이 어떻게 이루어지는지에 대한 개요를 제공합니다.
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png
이 도커는 DShield Honeypot과 함께 사용하도록 맞춤 제작된 것으로, 로그를 수집하고 파싱하며 데이터를 수집하여 연구 목적으로 쉽게 검색할 수 있게 합니다. 권장 설치 방법은 DShield 센서를 Raspberry Pi에 Raspbian OS를 사용하거나 Ubuntu 24.04 LTS를 실행하는 시스템(네트워크 내부 또는 선택한 클라우드)에 설치하는 것입니다.
참고: 아래 지침에 따라 별도의 서버에 설치해야 합니다.
참고: ELK 서버 구성 요소를 업데이트하려면 다음 단계를 따르세요:
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update
사용자($) 계정으로 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
docker 서비스가 실행 중인지 확인하세요<br>````
sudo systemctl status docker.service
다음 ELK 서버 이름 es01 kibana fleet-server heartbeat logstash filebeat filebeat01을
IP 주소와 서버 이름 뒤의 /etc/hosts에 추가하세요:
````
sudo vi /etc/hosts
다음을 /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.conf 파일을 편집하세요:
````
sudo vi /etc/sysctl.conf
파일 하단에 다음을 추가하세요:<br>````
vm.max_map_count=262144
추가하고 저장하세요. Docker를 사용할 때 Elasticsearch를 위한 것입니다.
sudo iptables -nL

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

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

netstat을 사용하면 이 4개의 서비스가 수신 중이어야 합니다.
```
netstat -an | grep '80|9200|9300|8220|5601|5044|5066|5067|5068|9600'
다음과 같은 출력이 표시되어야 합니다:<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
# Kibana 인터페이스에 접속하기
docker가 모든 ELK docker 구성 요소 설치를 마친 후, 이제 Ubuntu 서버 IP를 사용하여 ELK 스택에 로그인할 차례입니다.<br>
- 사용자 이름: **elastic**, 기본 비밀번호(변경되지 않은 경우): **student**로 Kibana에 로그인합니다.<br>
웹 접속: https://serverIP

# ELK 스택 관리 구성
ELK 스택 상태를 확인하려면 Management -> Stack Monitoring으로 이동하여 스택 모니터링을 구성해야 합니다.<br>
- 이 단계는 설치 시 Stack Monitoring이 자동으로 설정되지 않은 경우에만 필요합니다.<br>
- "_또는 자체 모니터링으로 설정_"을 선택합니다.<br>
- 모니터링이 현재 꺼져 있음 -> 선택: _모니터링 켜기_<br>


# 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
- 출력은 다음과 같이 표시됩니다:<br>
673FB617E15CCCE73F9B647EF99449642A19CFC1D75BF5772047DA99DB950844
- 고급 YAML 구성에 적용할 Elasticsearch CA 인증서 내용을 가져옵니다. 복사가 잘 되지 않으므로 명령을 직접 입력하세요.<br>````
sudo cat /tmp/ca.crt | sed -r 's/(.*)/ \1/g'
올바른 형식은 위의 Troubleshooting fleet-server-examples 안내 URL에 있는 예시를 따르십시오.
_sed_는 CA 인증서를 대상으로 한 이전 명령에 4개의 공백을 추가합니다.
인증서 정보를 추가한 후, 이 설정을 저장하고 적용합니다.
이어서 저장(Save) 및 배포(Deploy)를 진행합니다.

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

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

이 정보는 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)
이것은 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

Elastic Agent를 성공적으로 등록했습니다.
현재 위치에서 올바르게 설치되었는지 확인하세요.
````
./elastic-agent status
./elastic-agent restart (if you got what appears to be errors, force a restart and check the status)

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

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

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

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

# Fleet Server Policy 예시

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

## 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>

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

threat intel이 일치하면 SIEM에 다음 활동이 표시되며 이제 조사할 수 있습니다:<br>


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

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

# 유용한 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