Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DShield-SIEM — DShield 传感器日志采集与 ELK | Kitploit
工具/GitHubGitHub/bruneaug/dshield-siem
防御工具威胁源与聚合器网络安全威胁情报入侵检测事件响应日志分析
GitHubbruneaug/dshield-siem

DShield-SIEM

DShield 传感器日志采集与 ELK

查看仓库
509291个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

使用 Elasticsearch 进行 DShield 传感器日志收集

简介

这是对 Scott Jensen 在 ISC Storm Center 网站上以 BACS 论文形式首次发布的内容及其在 Github 上发布的脚本的一个分支和重大更新。
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

为什么要使用它?

这个 docker 是专门为与 DShield 蜜罐 配合使用而定制构建的,用于收集和解析日志并汇总数据,以便于研究目的的搜索。建议的安装方式是将 DShield 传感器安装在运行 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 位
  • 最低 10+ GB - 建议 12 GB 内存
    • 如果分配给每个容器(见下文)的内存量超过 2GB,请考虑增加服务器的内存容量。
  • 4-8 核
  • 添加 2 个分区,一个用于操作系统,另一个用于 docker
  • 至少分配 300 GB 分区给 /var/lib/docker
  • Ubuntu 重启后,设置 docker 分区
  • 为 VM 添加一个 300 GB 的分区

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

确认 docker 服务正在运行<br>````
sudo systemctl status docker.service

更新 /etc/hosts

将以下 ELK 服务器名称 es01 kibana fleet-server heartbeat logstash filebeat filebeat01
添加到 /etc/hosts 中 IP 地址和服务器名称之后:
```` 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

将 vm.max_map_count 添加到 sysctl

编辑 sysctl.conf 文件:
```` sudo vi /etc/sysctl.conf

将以下内容添加到文件底部:<br>````
vm.max_map_count=262144

添加并保存它。这是在使用 Docker 时用于 Elasticsearch 的。

确保防火墙已关闭````

sudo iptables -nL

![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 中的 Memory Limits 是 docker 将为每个 ELK 容器分配的最大内存。
Elasticsearch 默认为 3GB,但如果你的资源充足,可以扩大。
编辑 .env 文件并为自己的 ELK Stack 进行配置
```` vi .env

- 如果需要更改,请更新 **.env** 文件中的以下变量,以匹配您的 ELK 服务器 DNS 信息、主机名、IP 地址和默认 elastic 密码: <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
- 如果您想更改默认的 nameserver 信息以及目标地址的本地专用网络位置(即 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

脚本 **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

安装完成

<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

图片

下载工具