Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
tpotce — 🍯 T-Pot - 全能多蜜罐平台 🐝 | Kitploit
工具/GitHubGitHub/telekom-security/tpotce
防御工具OSINT (开源情报)数据包嗅探与分析漏洞分析信息收集网络安全威胁情报入侵检测学习与教育日志分析OSINT (开源情报) 分类第 7 名
9.4k1.4k15天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubtelekom-security/tpotce

tpotce

🍯 T-Pot - 全能多蜜罐平台 🐝

查看仓库

T-Pot - 一体化多蜜罐平台

T-Pot

T-Pot 是一个一体化、可选分布式、多架构(amd64、arm64)的蜜罐平台,支持20多种蜜罐和无数可视化选项,使用 Elastic Stack、动态实时攻击地图以及大量安全工具来进一步提升欺骗体验。

TL;DR

  1. 满足系统要求。T-Pot 安装需要至少 8-16 GB RAM、128 GB 可用磁盘空间以及可用(出站非过滤)互联网连接。
  2. 下载或使用正在运行的支持的发行版。
  3. 使用尽可能少的包/服务安装 ISO(需要 ssh)。
  4. 安装 curl:如果尚未安装,运行 $ sudo [apt, dnf, zypper] install curl。
  5. 以非 root 用户身份从 $HOME 运行安装程序:``` env bash -c "$(curl -sL https://github.com/telekom-security/tpotce/raw/master/install.sh)"
root@kitploit:~
* 遵循说明,阅读消息,检查可能的端口冲突并重启

<!-- TOC -->
- [T-Pot - 全合一多蜜罐平台](#t-pot---the-all-in-one-multi-honeypot-platform)
- [摘要](#tldr)
- [免责声明](#disclaimer)
- [技术概念](#technical-concept)
  - [蜜罐与工具](#honeypots-and-tools)
  - [技术架构](#technical-architecture)
  - [服务](#services)
  - [用户类型](#user-types)
- [系统要求](#system-requirements)
  - [在虚拟机中运行](#running-in-a-vm)
  - [在物理硬件上运行](#running-on-hardware)
  - [在云中运行](#running-in-a-cloud)
  - [所需端口](#required-ports)
  - [基于 LLM 的蜜罐](#llm-based-honeypots)
    - [Ollama](#ollama)
    - [ChatGPT](#chatgpt)
- [系统部署位置](#system-placement)
- [安装](#installation)
  - [选择你的发行版](#choose-your-distro)
  - [树莓派 4(8GB)支持](#raspberry-pi-4-8gb-support)
  - [获取并安装 T-Pot](#get-and-install-t-pot)
  - [macOS 与 Windows](#macos--windows)
  - [Red Hat Enterprise Linux](#red-hat-enterprise-linux)
  - [安装类型](#installation-types)
    - [标准 / 中心](#standard--hive)
    - [分布式](#distributed)
  - [卸载 T-Pot](#uninstall-t-pot)
- [首次启动](#first-start)
  - [独立首次启动](#standalone-first-start)
  - [分布式部署](#distributed-deployment)
    - [规划与证书](#planning-and-certificates)
    - [部署传感器](#deploying-sensors)
    - [移除传感器](#removing-sensors)
  - [社区数据提交](#community-data-submission)
  - [可选 HPFEEDS 数据提交](#opt-in-hpfeeds-data-submission)
- [远程访问与工具](#remote-access-and-tools)
  - [SSH](#ssh)
  - [T-Pot 登录页](#t-pot-landing-page)
  - [Kibana 仪表盘](#kibana-dashboard)
  - [攻击地图](#attack-map)
  - [Cyberchef](#cyberchef)
  - [Elasticvue](#elasticvue)
  - [Spiderfoot](#spiderfoot)
- [配置](#configuration)
  - [T-Pot 配置文件](#t-pot-config-file)
  - [自定义 T-Pot 蜜罐与服务](#customize-t-pot-honeypots-and-services)
- [维护](#maintenance)
  - [常规更新](#general-updates)
  - [更新脚本](#update-script)
  - [每日重启](#daily-reboot)
  - [已知问题](#known-issues)
    - [Docker 镜像下载失败](#docker-images-fail-to-download)
    - [T-Pot 网络故障](#t-pot-networking-fails)
  - [启动 T-Pot](#start-t-pot)
  - [停止 T-Pot](#stop-t-pot)
  - [T-Pot 数据目录](#t-pot-data-folder)
  - [日志持久化](#log-persistence)
  - [恢复出厂设置](#factory-reset)
  - [查看容器与镜像](#show-containers-and-images)
  - [黑洞](#blackhole)
  - [向 Nginx(T-Pot WebUI)添加用户](#add-users-to-nginx-t-pot-webui)
  - [导入导出 Kibana 对象](#import-and-export-kibana-objects)
    - [导出](#export)
    - [导入](#import)
- [故障排查](#troubleshooting)
  - [日志](#logs)
  - [内存与存储](#ram-and-storage)
- [联系方式](#contact)
  - [问题反馈](#issues)
  - [讨论](#discussions)
- [许可证](#licenses)
- [致谢](#credits)
  - [以下项目的开发者和开发社区](#the-developers-and-development-communities-of)
  - [**以下公司及组织**](#the-following-companies-and-organizations)
  - [**当然还有***YOU***,感谢你加入社区!**](#and-of-course-you-for-joining-the-community)
- [用户评价](#testimonials)
- [感谢 💖](#thank-you-)
<!-- TOC -->
<br><br>

# 免责声明
- 你需自行负责安装和运行 T-Pot。请谨慎选择你的部署方式,因为系统被攻破的可能性永远无法完全排除。
- 如需快速帮助,请查阅 [Issues](https://github.com/telekom-security/tpotce/issues) 和 [Discussions](https://github.com/telekom-security/tpotce/discussions)。
- 该软件以最大努力原则设计和提供。作为一个社区及开源项目,它使用了大量其他开源软件,可能存在错误和问题。请负责任地报告问题。
- 蜜罐——从设计上来说——不应存放任何敏感数据。请确保你没有添加任何敏感数据。
- 默认情况下,你的数据会提交到 [Sicherheitstacho](https://www.sicherheitstacho.eu/start/main)。你可以在配置文件(`~/tpotce/docker-compose.yml`)中通过 [移除](#community-data-submission) `ewsposter` 部分来禁用它。但请记住,分享即是关爱!
<br><br>

# 技术概念
T-Pot 的主要组件已被迁移到 `tpotinit` Docker 镜像中,这使得 T-Pot 现在可以支持多个 Linux 发行版,甚至包括 macOS 和 Windows(尽管两者功能受限于 Docker Desktop 的功能集)。T-Pot 使用 [docker](https://www.docker.com/) 和 [docker compose](https://docs.docker.com/compose/) 来实现同时运行尽可能多的蜜罐和工具的目标,从而最大限度地利用宿主机的硬件资源。
<br><br>

## 蜜罐与工具
- T-Pot 为以下蜜罐提供了 Docker 镜像:<br>
[adbhoney](https://github.com/huuck/ADBHoney)、
[beelzebub](https://github.com/beelzebub-labs/beelzebub)、
[ciscoasa](https://github.com/Cymmetria/ciscoasa_honeypot)、
[citrixhoneypot](https://github.com/MalwareTech/CitrixHoneypot)、
[conpot](http://conpot.org/)、
[cowrie](https://github.com/cowrie/cowrie)、
[ddospot](https://github.com/aelth/ddospot)、
[dicompot](https://github.com/nsmfoo/dicompot)、
[dionaea](https://github.com/DinoTools/dionaea)、
[elasticpot](https://gitlab.com/bontchev/elasticpot)、
[endlessh](https://github.com/skeeto/endlessh)、
[galah](https://github.com/0x4D31/galah)、
[go-pot](https://github.com/ryanolee/go-pot)、
[glutton](https://github.com/mushorg/glutton)、
[h0neytr4p](https://github.com/pbssubhash/h0neytr4p)、
[hellpot](https://github.com/yunginnanet/HellPot)、
[heralding](https://github.com/johnnykv/heralding)、
[honeyaml](https://github.com/mmta/honeyaml)、
[honeypots](https://github.com/qeeqbox/honeypots)、
[honeytrap](https://github.com/armedpot/honeytrap/)、
[ipphoney](https://gitlab.com/bontchev/ipphoney)、
[log4pot](https://github.com/thomaspatzke/Log4Pot)、
[mailoney](https://github.com/phin3has/mailoney)、
[medpot](https://github.com/schmalle/medpot)、
[miniprint](https://github.com/sa7mon/miniprint)、
[redishoneypot](https://github.com/cypwnpwnsocute/RedisHoneyPot)、
[rdphoneypot](https://gitlab.com/bontchev/rdphoneypot)、
[sentrypeer](https://github.com/SentryPeer/SentryPeer)、
[snare](http://mushmush.org/)、
[tanner](http://mushmush.org/)、
[wordpot](https://github.com/gbrindisi/wordpot)

同时还包含以下工具:
* [Autoheal](https://github.com/willfarrell/docker-autoheal) —— 自动重启健康检查失败容器的工具。
* [Cyberchef](https://gchq.github.io/CyberChef/) —— 用于加密、编码、压缩和数据分析的 Web 应用。
* [Elastic Stack](https://www.elastic.co/videos) —— 用于美观地可视化 T-Pot 捕获的所有事件。
* [Elasticvue](https://github.com/cars10/elasticvue/) —— 用于浏览和与 Elasticsearch 集群交互的 Web 前端。
* [Fatt](https://github.com/0x4D31/fatt) —— 基于 pyshark 的脚本,用于从 pcap 文件及实时网络流量中提取网络元数据和指纹。
* [T-Pot-Attack-Map](https://github.com/telekom-security/t-pot-attack-map) —— T-Pot 的动画攻击地图。
* [P0f](https://lcamtuf.coredump.cx/p0f3/) —— 纯被动流量指纹识别工具。
* [Spiderfoot](https://github.com/smicallef/spiderfoot) —— 开源情报自动化工具。
* [Suricata](https://suricata.io/) —— 网络安全管理引擎。

... 为你提供尽可能出色的一体化体验,以及一个易于使用的多蜜罐系统。
<br><br>


## 技术架构
![架构图](https://assets.kitploit.com/production/public/readmes/4462/3fe1e953817d210102d0a4c79a55bebd32d23014d6ddefa058719411cfc9d178.png)

源代码和配置文件完全存储在 T-Pot GitHub 仓库中。Docker 镜像已构建并预配置好,适用于 T-Pot 环境。

各个 Dockerfile 和配置位于 [docker 文件夹](https://github.com/telekom-security/tpotce/tree/master/docker)中。
<br><br>

## 服务
T-Pot 提供多种服务,大致分为五组:
1. 操作系统提供的系统服务
    * SSH 用于安全的远程访问。
2. Elastic Stack
    * Elasticsearch 用于存储事件。
    * Logstash 用于接收、发送事件至 Elasticsearch。
    * Kibana 用于在精心渲染的仪表盘上展示事件。
3. 工具
    * NGINX 提供安全的远程访问(反向代理)到 Kibana、CyberChef、Elasticvue、GeoIP 攻击地图、Spiderfoot,并允许 T-Pot 传感器将事件数据安全地传输到 T-Pot 中心。
    * CyberChef —— 用于加密、编码、压缩和数据分析的 Web 应用。
    * Elasticvue —— 用于浏览和与 Elasticsearch 集群交互的 Web 前端。
    * T-Pot 攻击地图 —— T-Pot 的动画攻击地图。
    * Spiderfoot —— 开源情报自动化工具。
4. 蜜罐
    * 基于所选 `docker-compose.yml` 从 23 个可用蜜罐中选取的一组蜜罐。
5. 网络安全监控 (NSM)
    * Fatt —— 基于 pyshark 的脚本,用于从 pcap 文件及实时网络流量中提取网络元数据和指纹。
    * P0f —— 纯被动流量指纹识别工具。
    * Suricata —— 网络安全监控引擎。
<br><br>

## 用户类型
在 T-Pot 的安装和使用过程中,你会用到两种不同类型的账户。请务必了解不同账户类型的差异,因为认证错误的最常见原因**莫过于此**。

| 服务             | 账户类型    | 用户名 / 组        | 描述                                                         |
|:----------------|:------------|:-------------------|:-------------------------------------------------------------|
| SSH             | 操作系统     | `<OS_USERNAME>`    | 安装操作系统时选择的用户。                                   |
| Nginx           | 基本认证     | `<WEB_USER>`       | 安装 T-Pot 时你选择的 `<web_user>`。                         |
| CyberChef       | 基本认证     | `<WEB_USER>`       | 安装 T-Pot 时你选择的 `<web_user>`。                         |
| Elasticvue      | 基本认证     | `<WEB_USER>`       | 安装 T-Pot 时你选择的 `<web_user>`。                         |
| Geoip 攻击地图  | 基本认证     | `<WEB_USER>`       | 安装 T-Pot 时你选择的 `<web_user>`。                         |
| Spiderfoot      | 基本认证     | `<WEB_USER>`       | 安装 T-Pot 时你选择的 `<web_user>`。                         |
| T-Pot           | 操作系统     | `tpot`             | `tpot` 用户/组始终由 T-Pot 服务保留。                        |
| T-Pot 日志      | 基本认证     | `<LS_WEB_USER>`    | `LS_WEB_USER` 自动管理。                                     |


<br><br>

# 系统要求

根据 [支持的 Linux 发行版镜像](#choose-your-distro)、中心/传感器、在 [物理硬件](#running-on-hardware) 上安装、在 [虚拟机](#running-in-a-vm) 或其他环境中的不同情况,成功安装 T-Pot 所需的操作系统、内存、存储和网络条件各不相同(你始终可以根据需要调整 `~/tpotce/docker-compose.yml` 和 `~/tpotce/.env` 来满足这些要求)。
<br><br>

| T-Pot 类型 | 内存  | 存储       | 描述                                                                                 |
|:-----------|:------|:-----------|:-------------------------------------------------------------------------------------|
| 中心 (Hive) | 16GB  | 256GB SSD  | 经验法则:蜜罐、传感器和数据越多,所需的内存和存储就越大。                          |
| 传感器      | 8GB   | 128GB SSD  | 由于蜜罐日志会保留 30 天(`~/tpotce/data`),存储需求取决于攻击流量大小。            |

T-Pot 需要…
- 通过 DHCP 或静态分配的 IPv4 地址
- 一个有效、无代理的互联网连接
…才能成功安装和运行。
<br><br>
*如果你需要代理支持或其他非标准功能,应查阅 [支持的 Linux 发行版镜像](#choose-your-distro) 的文档和/或 [Docker 文档](https://docs.docker.com/)。*
<br><br>

## 在虚拟机中运行
所有 [支持的 Linux 发行版镜像](#choose-your-distro) 都可以在虚拟机中运行,因此 T-Pot 也能正常运行。以下虚拟机已测试/报告可工作:
* [UTM(Intel 与 Apple Silicon)](https://mac.getutm.app/)
* [VirtualBox](https://www.virtualbox.org/)
* [VMWare Fusion](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion) 和 [VMWare Workstation](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion)
* KVM 也有报告可工作。

***一些配置/设置提示:***
- 虽然 Intel 版本运行稳定,但 Apple Silicon (arm64) 支持存在已知问题,在 UTM 中可能需要在初始安装操作系统时将 `Display` 切换到 `Console Only`,之后再切换回 `Full Graphics`。
- 在配置过程中,你可能需要为网络接口启用混杂模式,以便 fatt、suricata 和 p0f 正常工作。
- 如果你想使用无线网卡作为 T-Pot 的主网卡,请注意并非所有网络接口驱动程序都支持所有无线网卡。例如,在 VirtualBox 中,你必须选择网卡的 *"MT SERVER"* 型号。
<br><br>

## 在物理硬件上运行
T-Pot 仅受 [支持的 Linux 发行版镜像](#choose-your-distro) 的硬件支持限制。建议在购买专用硬件前检查 HCL(硬件兼容性列表)并用支持的发行版测试 T-Pot。
<br><br>

## 在云中运行
T-Pot 已在以下环境中测试通过并已知可运行:
* Telekom OTC(使用安装后方法)
…其他环境可能也可运行,但尚未测试。

一些用户报告在其他云服务商和托管商上有成功的安装,例如 Azure 和 GCP。硬件要求可能有所不同。如果不确定,应查阅 [Issues](https://github.com/telekom-security/tpotce/issues) 和 [Discussions](https://github.com/telekom-security/tpotce/discussions) 并进行功能测试。从 T-Pot 24.04.0 开始,我们确保去除了已知会干扰基于云安装的设置。
<br><br>

## 所需端口
除了操作系统通常需要的端口(例如获取 DHCP 租约、DNS 等)之外,T-Pot 还需以下端口用于传入/传出连接。请查阅 [T-Pot 架构](#technical-architecture) 获取可视化表示。此外,某些端口会显示为重复,这是正常的,因为它们在不同的版本中使用。| Port                                                                                                                                  | 协议 | 方向 | 描述                                                                                         |
|:--------------------------------------------------------------------------------------------------------------------------------------|:---------|:----------|:----------------------------------------------------------------------------------------------------|
| 80, 443                                                                                                                               | tcp      | 出站 | T-Pot 管理:安装、更新、日志(例如 OS、GitHub、DockerHub、Sicherheitstacho 等)                        |
| 11434                                                                                                                                 | tcp      | 出站 | 基于 LLM 的蜜罐:访问你的 Ollama 安装                                             |
| 64294                                                                                                                                 | tcp      | 入站 | T-Pot 管理:传感器数据传输到 hive(通过 NGINX 反向代理至 127.0.0.1:64305) |
| 64295                                                                                                                                 | tcp      | 入站 | T-Pot 管理:SSH 访问                                                                     |
| 64297                                                                                                                                 | tcp      | 入站 | T-Pot 管理:NGINX 反向代理访问                                                      |
| 5555                                                                                                                                  | tcp      | 入站 | 蜜罐:ADBHoney                                                                                  |
| 22                                                                                                                                    | tcp      | 入站 | 蜜罐:Beelzebub (需要 LLM)                                                                 |
| 5000                                                                                                                                  | udp      | 入站 | 蜜罐:CiscoASA                                                                                  |
| 8443                                                                                                                                  | tcp      | 入站 | 蜜罐:CiscoASA                                                                                  |
| 443                                                                                                                                   | tcp      | 入站 | 蜜罐:CitrixHoneypot                                                                            |
| 80, 102, 502, 1025, 2404, 10001, 44818, 47808, 50100                                                                                  | tcp      | 入站 | 蜜罐:Conpot                                                                                    |
| 161, 623                                                                                                                              | udp      | 入站 | 蜜罐:Conpot                                                                                    |
| 22, 23                                                                                                                                | tcp      | 入站 | 蜜罐:Cowrie                                                                                    |
| 19, 53, 123, 1900                                                                                                                     | udp      | 入站 | 蜜罐:Ddospot                                                                                   |
| 11112                                                                                                                                 | tcp      | 入站 | 蜜罐:Dicompot                                                                                  |
| 21, 42, 135, 443, 445, 1433, 1723, 1883, 3306, 8081                                                                                   | tcp      | 入站 | 蜜罐:Dionaea                                                                                   |
| 69                                                                                                                                    | udp      | 入站 | 蜜罐:Dionaea                                                                                   |
| 9200                                                                                                                                  | tcp      | 入站 | 蜜罐:Elasticpot                                                                                |
| 22                                                                                                                                    | tcp      | 入站 | 蜜罐:Endlessh                                                                                  |
| 80, 443, 8080, 8443                                                                                                                   | tcp      | 入站 | 蜜罐:Galah (需要 LLM)                                                                     |
| 8080                                                                                                                                  | tcp      | 入站 | 蜜罐:Go-pot                                                                                    |
| 80, 443                                                                                                                               | tcp      | 入站 | 蜜罐:H0neytr4p                                                                                 |
| 21, 22, 23, 25, 80, 110, 143, 443, 993, 995, 1080, 5432, 5900                                                                         | tcp      | 入站 | 蜜罐:Heralding                                                                                 |
| 3000                                                                                                                                  | tcp      | 入站 | 蜜罐:Honeyaml                                                                                  |
| 21, 22, 23, 25, 80, 110, 143, 389, 443, 445, 631, 1080, 1433, 1521, 3306, 3389, 5060, 5432, 5900, 6379, 6667, 8080, 9100, 9200, 11211 | tcp      | 入站 | 蜜罐:qHoneypots                                                                                |
| 53, 123, 161, 5060                                                                                                                    | udp      | 入站 | 蜜罐:qHoneypots                                                                                |
| 631                                                                                                                                   | tcp      | 入站 | 蜜罐:IPPHoney                                                                                  |
| 80, 443, 8080, 9200, 25565                                                                                                            | tcp      | 入站 | 蜜罐:Log4Pot                                                                                   |
| 25                                                                                                                                    | tcp      | 入站 | 蜜罐:Mailoney                                                                                  |
| 2575                                                                                                                                  | tcp      | 入站 | 蜜罐:Medpot                                                                                    |
| 9100                                                                                                                                  | tcp      | 入站 | 蜜罐:Miniprint                                                                                 |
| 6379                                                                                                                                  | tcp      | 入站 | 蜜罐:Redishoneypot                                                                             |
| 3389                                                                                                                                  | tcp      | 入站 | 蜜罐:RDPHoneypot                                                                               |
| 5060                                                                                                                                  | tcp/udp  | 入站 | 蜜罐:SentryPeer                                                                                |
| 80                                                                                                                                    | tcp      | 入站 | 蜜罐:Snare (Tanner)                                                                            |
| 8090                                                                                                                                  | tcp      | 入站 | 蜜罐:Wordpot                                                                                   |

端口和 SaaS 服务的可用性可能因地理位置而异。

某些蜜罐需要出站连接才能达到完整功能(例如 Cowrie 或 Log4Pot),以便它们下载攻击者的恶意软件。请参阅各个蜜罐的文档了解更多信息,可通过关注指向其仓库的[链接](#technical-concept)进行。

## 基于 LLM 的蜜罐
我们认为基于 LLM 的蜜罐标志着欺骗/蜜罐领域游戏规则改变的**开始**。因此,从 **T-Pot 24.04.1** 版本开始,引入了两个基于 LLM 的蜜罐:**Beelzebub** 和 **Galah**。这些蜜罐需要安装 **Ollama**,并且需要在 [T-Pot 配置文件](#t-pot-config-file)中进行配置。您也可以在该文件中为 **ChatGPT** 支持调整设置,但请注意,还需要修改 docker compose 文件(`~/tpotce/compose/llm.yml`)以适配这些调整。<br><br>
请按照[蜜罐与工具](#honeypots-and-tools)部分中的链接进一步了解 **Beelzebub** 和 **Galah**。

### Ollama
🚨 **不建议在基于 CPU 的情况下使用**,即使是为了测试也不行。<br><br>
要设置和运行 **Ollama**,请参考 [Ollama GitHub 仓库](https://github.com/ollama/ollama)中的说明。对于入门级或测试用途,可以使用 **Nvidia RTX 4060 Ti 16GB** 或同等设备(Ollama 也支持 AMD 的 ROCm),搭配 **openchat** 和 **Llama3** 等模型。总体而言,对于基于 LLM 的系统,使用的硬件越好、越多,结果就越快、越准确,特别是当任务被卸载到多个 GPU 和更大的模型时。

### ChatGPT
这些蜜罐的 ChatGPT 支持将与 T-Pot 相关保持未经测试。
<br><br>

# 系统放置
建议在开始向互联网暴露之前,先熟悉 T-Pot 和蜜罐的工作原理。如需快速入门,可在虚拟机中运行 T-Pot 安装。
<br><br>
一旦熟悉了工作原理,您应选择一个怀疑有入侵者或来自入侵者的网络(例如互联网)。否则,T-Pot 很可能不会捕获任何攻击(除非您想证明某个观点)!对于初学者,建议将 T-Pot 放置在无过滤区域,所有 TCP 和 UDP 流量都转发到 T-Pot 的网络接口。为避免探测 T-Pot 的管理端口,应将 T-Pot 放在防火墙后面,将 1-64000 端口范围内的所有 TCP/UDP 流量转发到 T-Pot,同时仅允许来自受信任 IP 的端口 > 64000 的访问,和/或只暴露与您的用例相关的[端口](#required-ports)。如果您希望捕获未知端口上的恶意软件流量,则不应限制转发的端口,因为 glutton 和 honeytrap 会动态绑定任何未被其他蜜罐守护进程占用的 TCP 端口,从而更好地展示您的设置所面临的风险。
<br><br>

# 安装
[下载](#choose-your-distro)一个[支持的 Linux 发行版镜像](#choose-your-distro),按照 [TL;DR](#tldr) 说明操作,或者 `git clone` T-Pot 仓库并运行安装程序 `~/tpotce/install.sh`。在正在运行且受支持的 Linux 系统上运行 T-Pot 是可行的,但建议进行全新安装以避免与运行中的服务发生端口冲突。T-Pot 安装程序需要直接访问互联网,如[此处](#required-ports)所述。
<br><br>

## 选择你的发行版
**操作步骤:**

1. 从下方列表下载一个受支持的 Linux 发行版。(注意:Red Hat Enterprise Linux >= 8 受支持,但因其基于订阅的性质而省略。详情请参见 [Red Hat Enterprise Linux](#red-hat-enterprise-linux))。
2. 安装过程中选择**最小**、**网络安装**或**服务器**版本,这些版本仅安装必要的软件包。
3. **永远不要**安装图形桌面环境(如 Gnome 或 KDE)。T-Pot 会因端口冲突而无法正常工作。
4. 确保安装 SSH,以便可以远程连接到机器。

| 发行版名称                                                                  | x64                                                                                                                                   | arm64                                                                                                                                   |
|:-----------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|
| [Alma Linux OS 9.x Minimal ISO](https://almalinux.org)                                | [下载](https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9.8-x86_64-minimal.iso)                                        | [下载](https://repo.almalinux.org/almalinux/9/isos/aarch64/AlmaLinux-9.8-aarch64-minimal.iso)                                        |
| [Debian 13 网络安装](https://www.debian.org/CD/netinst/index.en.html)       | [下载](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.5.0-amd64-netinst.iso)                                 | [下载](https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-13.5.0-arm64-netinst.iso)                                   |
| [Fedora Server 42 网络安装](https://fedoraproject.org/server/download)      | [下载](https://download.fedoraproject.org/pub/fedora/linux/releases/42/Server/x86_64/iso/Fedora-Server-netinst-x86_64-42-1.1.iso) | [下载](https://download.fedoraproject.org/pub/fedora/linux/releases/42/Server/aarch64/iso/Fedora-Server-netinst-aarch64-42-1.1.iso) |
| [OpenSuse Tumbleweed 网络镜像](https://get.opensuse.org/tumbleweed/#download) | [下载](https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso)                                   | [下载](https://download.opensuse.org/ports/aarch64/tumbleweed/iso/openSUSE-Tumbleweed-NET-aarch64-Current.iso)                      |
| [Rocky Linux OS 9.x Minimal ISO](https://rockylinux.org/download)                     | [下载](https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.8-x86_64-minimal.iso)                                      | [下载](https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.8-aarch64-minimal.iso)                                      |
| [Ubuntu 24.04.x Live Server](https://ubuntu.com/download/server)                   | [下载](https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso)                                                    | [下载](https://cdimage.ubuntu.com/releases/24.04/release/ubuntu-24.04.3-live-server-arm64.iso)                                        |

<br>

## Raspberry Pi 4 (8GB) 支持
| 发行版名称                                                | arm64                                                                                                                                               |
|:-----------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------|
| [Raspberry Pi OS (**64位, Lite**)](https://www.raspberrypi.com) | [下载](https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64-lite.img.xz) |

<br><br> 
## 获取并安装 T-Pot
1. 克隆 GitHub 仓库:`$ git clone https://github.com/telekom-security/tpotce` 或者按照 [TL;DR](#tldr) 操作,跳过本节。
2. 切换到 **tpotce/** 文件夹:`$ cd tpotce`
3. 以非 root 用户身份运行安装程序:`$ ./install.sh`:
    * ⚠️ ***根据您选择的 Linux 发行版,安装程序将执行以下操作:***
        * 将 SSH 端口更改为 `tcp/64295`
        * 禁用 DNS Stub 监听器以避免与蜜罐发生端口冲突
        * 将 SELinux 设置为监控模式
        * 将公共区域的防火墙目标设置为 ACCEPT
        * 添加 Docker 仓库并安装 Docker
        * 安装推荐的软件包
        * 移除已知会引起问题的软件包
        * 将当前用户添加到 docker 组(允许无需 `sudo` 即可与 Docker 交互)
        * 添加 `dps`、`dpsw` 和 `dim` 别名以获得格式化的容器和镜像概览
        * 添加 `la`、`ll` 和 `ls` 别名(用于 `exa`,一个改进的 `ls` 命令)
        * 添加 `mi`(用于 `micro`,一个 `vi` 和/或 `nano` 的优秀替代品)
        * 显示主机上的开放端口(与 T-Pot 的[必需](https://github.com/telekom-security/tpotce#required-ports)端口进行比较)
        * 添加并启用 `tpot.service` 到 `/etc/systemd/system`,以便 T-Pot 可以自动启动和停止
4. 按照安装程序说明操作,您至少需要输入一次您的用户(`sudo` 或 `root`)密码
5. 检查安装程序消息中的错误以及可能导致端口冲突的开放端口
6. 重启:`$ sudo reboot`
<br><br>## macOS 与 Windows

有时在 macOS 或 Windows 上快速启动一个 T-Pot 实例会很方便,例如用于开发、测试或仅仅为了乐趣。由于 Docker Desktop 的限制较多,并非所有蜜罐类型或 T-Pot 功能都得到支持。同时请记住,默认情况下 macOS 和 Windows 防火墙会阻止远程访问,因此测试仅限于宿主机。生产环境建议在 [Linux](#choose-your-distro) 上运行 T-Pot。<br>
要启动运行,只需按照以下步骤操作:
1. 安装适用于 [macOS](https://docs.docker.com/desktop/setup/install/mac-install/) 或 [Windows](https://docs.docker.com/desktop/setup/install/windows-install/) 的 Docker Desktop。
2. 克隆 GitHub 仓库:`git clone https://github.com/telekom-security/tpotce`(在 Windows 中确保代码以 `LF` 而不是 `CRLF` 检出!)
3. 进入目录:`cd ~/tpotce`
4. 复制 `cp compose/mac_win.yml ./docker-compose.yml`
5. 通过运行 `~/tpotce/genuser.sh`(macOS)或 `~/tpotce/genuserwin.ps1`(Windows)创建一个 `WEB_USER`
6. 调整 `.env` 文件,将 `TPOT_OSTYPE=linux` 改为 `mac` 或 `win`:   ```
   # OSType (linux, mac, win)
   #  Most docker features are available on linux
   TPOT_OSTYPE=mac
  1. 您必须自行确保没有端口冲突阻止 T-Pot 启动。
  2. 启动 T-Pot:docker compose up 或 docker compose up -d(如果希望 T-Pot 在后台运行)。
  3. 停止 T-Pot:CTRL-C(如果在前台运行)和/或 docker compose down -v 完全停止 T-Pot。

Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) 是一个比较特殊的案例,因为:

  1. 连接到 Red Hat 仓库需要 Red Hat 订阅。如果目标机器未订阅,您将无法更新操作系统或安装新软件包。如果您的服务器未关联 Red Hat 订阅,安装将失败!
  2. Ansible 由安装程序从 RHEL 特定仓库安装。请勿尝试从上游仓库安装。
  3. Docker 从 EPEL 安装,EPEL 由安装脚本安装。请勿尝试从社区安装脚本安装。
  4. T-Pot 仅在 RHEL >= 8 上成功安装。其中一个便利依赖项 (grc) 依赖于 Python 2,该版本在 RHEL 7 之后被移除。该依赖项已从 T-Pot 的 RHEL 安装中排除。

安装类型

标准版 / Hive

使用 T-Pot 标准版 / Hive 时,所有服务、工具、蜜罐等将安装在同一台主机上,该主机同时作为 Hive 端点。请确保满足系统要求。您可以根据个人使用场景调整 ~/tpotce/docker-compose.yml,或使用 ~/tpotce/compose/customizer.py 创建自定义配置,以满足您的定制化 T-Pot 需求。 安装完成后,您可以进入首次启动。

分布式

T-Pot 的分布式版本至少需要两台主机:

  • T-Pot Hive:标准 T-Pot 安装(请先安装此项!),
  • 以及 T-Pot Sensor:仅托管蜜罐和部分工具,并将日志数据传输到 Hive。
  • Sensor 需按照分布式部署中的说明完成安装后才能启动。

卸载 T-Pot

T-Pot 的卸载功能仅在支持的 Linux 发行版上可用。
要卸载 T-Pot,请运行 ~/tpotce/uninstall.sh 并按照卸载程序的说明操作,您至少需要输入一次密码。
卸载完成后,请重启机器:sudo reboot

首次启动

T-Pot 安装程序成功完成后,需要重启系统(sudo reboot)。重启后,您可以使用安装系统时设置的用户登录。登录方式根据用户类型确定:

  • 用户:[<OS_USERNAME>]
  • 密码:[密码]

您可以通过 SSH 登录命令行:ssh -l <OS_USERNAME> -p 64295 <your.ip>:

  • 用户:[<OS_USERNAME>]
  • 密码:[密码,建议使用 SSH 密钥]

您也可以通过浏览器登录并访问 T-Pot WebUI 和工具:https://<your.ip>:64297

  • 用户:[<WEB_USER>]
  • 密码:[密码]

独立首次启动

除了登录并通过 dps 检查所有服务和蜜罐是否正确启动外,无需额外操作。您可以使用 dim 查看已安装的 Docker 镜像及其 CREATED 创建时间,然后登录 Kibana 和/或 Geoip Attack Map 监控攻击。

分布式部署

规划与证书

分布式部署需要进行规划,因为 T-Pot Init 只会为 Hive 主机的 IP 创建自签名证书,这通常适用于简单场景。由于 logstash 在连接时会检查有效证书,如果分布式设置中 Hive 需要通过多个 IP(例如 RFC 1918 和公共 NAT IP)甚至域名访问,则会导致连接错误,因为证书无法验证——这种场景需要一个包含通用名称和 SAN(使用者备用名称)的证书。
在部署任何传感器之前,请确保已正确规划域名和 IP,以避免证书问题。更多详情请参阅问题 #1543。
根据您的 IP/域名设置调整示例,并按照以下命令更改 Hive 的证书:``` sudo systemctl stop tpot

sudo openssl req
-nodes
-x509
-sha512
-newkey rsa:8192
-keyout "$HOME/tpotce/data/nginx/cert/nginx.key"
-out "$HOME/tpotce/data/nginx/cert/nginx.crt"
-days 3650
-subj '/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd'
-addext "subjectAltName = IP:192.168.1.200, IP:1.2.3.4, DNS:my.primary.domain, DNS:my.secondary.domain"

sudo chmod 774 $HOME/tpotce/data/nginx/cert/* sudo chown tpot:tpot $HOME/tpotce/data/nginx/cert/*

sudo systemctl start tpot

root@kitploit:~
The T-Pot 配置文件(`.env`)允许通过设置 `LS_SSL_VERIFICATION=none` 来禁用从 **Sensor** 到 **Hive** 的 logstash 连接的 SSL 验证。出于安全原因,仅建议在实验室或测试环境中使用。<br><br>
如果您选择为由 CA(例如 Let's Encrypt)签名的 **Hive** 使用有效证书,那么 logstash 以及 **Sensor** 应该能够无问题地连接并将日志传输到 **Hive**。

### 部署传感器
一旦您按照安装程序的指示重新启动了 **Sensor**,您就可以通过登录 **Hive** 并进入 `cd ~/tpotce` 文件夹来继续进行分布式部署。在继续实际部署之前,请确保您已理解[规划与证书](#planning-and-certificates)。

如果您还没有生成 SSH 密钥,请生成一个,以便安全登录 **Sensor** 并允许 `Ansible` 在传感器上运行 playbook:
1. 运行 `ssh-keygen`,按照指示操作并将密码短语留空:   ```
   Generating public/private rsa key pair.
   Enter file in which to save the key (/home/<your_user>/.ssh/id_rsa):
   Enter passphrase (empty for no passphrase):
   Enter same passphrase again:
   Your identification has been saved in /home/<your_user>/.ssh/id_rsa
   Your public key has been saved in /home/<your_user>/.ssh/id_rsa.pub
  1. 通过运行 ssh-copy-id -p 64295 <Sensor_SSH_USER>@<Sensor_IP>): ``` /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/<your_user>/.ssh/id_rsa.pub" The authenticity of host '[<Sensor_IP>]:64295 ([<Sensor_IP>]:64295)' can't be stablished. ED25519 key fingerprint is SHA256:naIDxFiw/skPJadTcgmWZQtgt+CdfRbUCoZn5RmkOnQ. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys <your_user>@172.20.254.124's password:

    Number of key(s) added: 1

    Now try logging into the machine, with: "ssh -p '64295' '<your_user>@<Sensor_IP>'" and check to make sure that only the key(s) you wanted were added.

    root@kitploit:~
  2. 按照建议的说明测试连接:ssh -p '64295' '<your_user>@<Sensor_IP>'。

  3. 密钥成功部署后,运行 ./deploy.sh 并按照说明操作。

移除传感器

在传感器的 $HOME/tpotce/.env 配置中找到 TPOT_HIVE_USER 环境变量(它是一个 base64 编码的字符串)。然后在 Hive 的 $HOME/tpotce/.env 配置中找到 LS_WEB_USER 环境变量中相同的字符串。删除该字符串并重启 T-Pot。
现在你可以安全地删除传感器机器。

社区数据提交

T-Pot 的提供是为了让所有对蜜罐感兴趣的人都能访问它。默认情况下,捕获的数据会被提交到社区后端。该社区后端利用这些数据为 Sicherheitstacho 提供信息。 你可以通过按照以下步骤从 ~/tpotce/docker-compose.yml 中删除 # Ewsposter service 来退出提交:

  1. 停止 T-Pot 服务:systemctl stop tpot
  2. 打开 ~/tpotce/docker-compose.yml:micro ~/tpotce/docker-compose.yml
  3. 删除以下行,保存并退出 micro(CTRL+Q):```

Ewsposter service

ewsposter: container_name: ewsposter restart: always depends_on: tpotinit: condition: service_healthy networks: - ewsposter_local environment: - EWS_HPFEEDS_ENABLE=false - EWS_HPFEEDS_HOST=host - EWS_HPFEEDS_PORT=port - EWS_HPFEEDS_CHANNELS=channels - EWS_HPFEEDS_IDENT=user - EWS_HPFEEDS_SECRET=secret - EWS_HPFEEDS_TLSCERT=false - EWS_HPFEEDS_FORMAT=json image: ${TPOT_REPO}/ewsposter:${TPOT_VERSION} pull_policy: ${TPOT_PULL_POLICY} volumes: - ${TPOT_DATA_PATH}:/data - ${TPOT_DATA_PATH}/ews/conf/ews.ip:/opt/ewsposter/ews.ip

root@kitploit:~
4. 启动 T-Pot 服务:`systemctl start tpot`

我们鼓励不要禁用数据提交,因为这是社区方法的主要目的——正如大家所知,**分享即是关爱** 😍
<br><br>

## 选择加入 HPFEEDS 数据提交
作为可选功能,您可以将 T-Pot 数据分享给第三方 HPFEEDS 代理。
1. 按照[此处](#community-data-submission)的说明停止 T-Pot 服务,并打开 `~/tpotce/docker-compose.yml`。
2. 向下滚动到 `ewsposter` 部分,根据需要调整 HPFEEDS 设置。
3. 如果需要添加 CA 证书,请将其放入 `~/tpotce/data/ews/conf`,并设置 `EWS_HPFEEDS_TLSCERT=/data/ews/conf/<你的_ca.crt>`。
4. 启动 T-Pot 服务:`systemctl start tpot`。
<br><br>

# 远程访问与工具
您可以通过 SSH(使用 **`tcp/64295`**)远程访问您的主机 / T-Pot,T-Pot 还附带了一些服务和工具,让您的研究任务更加轻松。
<br><br>

## SSH
根据[用户类型](#user-types),您可以通过 SSH 登录访问命令行:`ssh -l <操作系统用户名> -p 64295 <你的IP>`:

- 用户:**[`<操作系统用户名>`]**
- 密码:**[密码]**
<br><br>

## T-Pot 登录页面
根据[用户类型](#user-types),您可以通过浏览器打开 `https://<你的IP>:64297` 访问 T-Pot 登录页面:

- 用户:**[`<WEB_USER>`]**
- 密码:**[密码]**

![T-Pot 界面](https://assets.kitploit.com/production/public/readmes/4462/7e70eb82c25026577169f745794728206ca655c2fac5155262c645bf0290158e.png)
<br><br>

## Kibana 仪表盘
在 T-Pot 登录页面上,只需点击 `Kibana`,即可跳转到 Kibana。您可以从大量针对 T-Pot 支持的蜜罐定制的仪表盘和可视化界面中进行选择。

![仪表盘](https://assets.kitploit.com/production/public/readmes/4462/d363122f1d233abb0f1818c0e69ed6ac1f4a2f139d5d924bcf7d6fc2b0b7f8bc.png)
<br><br>

## 攻击地图
在 T-Pot 登录页面上,只需点击 `攻击地图`,即可跳转到攻击地图。由于攻击地图使用 WebSocket,您可能需要重新输入 `<WEB_USER>` 的凭证。

![攻击地图](https://assets.kitploit.com/production/public/readmes/4462/a9a8e7024bebe87b98b754ee1fcaf877dee35b0b35404525cfc7b4bcf63778b5.png)
<br><br>

## Cyberchef
在 T-Pot 登录页面上,只需点击 `Cyberchef`,即可跳转到 Cyberchef。

![Cyberchef](https://assets.kitploit.com/production/public/readmes/4462/4e8c0b3e528dad69e932ee8fefc6c0367c93b144fc22b5cbfdfc21401a212540.png)
<br><br>

## Elasticvue
在 T-Pot 登录页面上,只需点击 `Elasticvue`,即可跳转到 Elasticvue。

![Elasticvue](https://assets.kitploit.com/production/public/readmes/4462/0a40257ee96c7713158d952dd3eaeaaa65ef587883f3545592072793819d4a22.png)
<br><br>

## Spiderfoot
在 T-Pot 登录页面上,只需点击 `Spiderfoot`,即可跳转到 Spiderfoot。

![Spiderfoot](https://assets.kitploit.com/production/public/readmes/4462/018e445ac80bc3a63e3504e5f46335b67870f5afe102fe59b308f5b64886e79e.png)
<br><br>

# 配置

## T-Pot 配置文件
T-Pot 提供了一个配置文件,其中包含不仅用于 Docker 服务(即蜜罐和工具)的变量,还用于 Docker Compose 环境。配置文件隐藏在 `~/tpoce/.env` 中。还有一个示例文件(`env.example`),其中包含默认配置。<br>
在首次启动之前,运行 `~/tpotce/genuser.sh` 或按照[此处](#add-users-to-nginx-t-pot-webui)的描述手动设置 `WEB_USER`。

## 自定义 T-Pot 蜜罐和服务

在 `~/tpotce/compose` 中,您将找到调整 T-Pot 标准 / Hive 安装所需的一切:```
customizer.py
llm.yml
mac_win.yml
mini.yml
mobile.yml
sensor.yml
standard.yml
tarpit.yml
tpot_services.yml

.yml 文件是 Docker Compose 文件,每个文件代表一组不同的蜜罐和工具,其中 tpot_services.yml 是 customizer.py 用于创建自定义 Docker Compose 文件的模板。

要激活一个 Compose 文件,请按以下步骤操作:

  1. 使用 systemctl stop tpot 停止 T-Pot。
  2. 复制 Docker Compose 文件 cp ~/tpotce/compose/<dockercompose.yml> ~/tpotce/docker-compose.yml。
  3. 使用 systemctl start tpot 启动 T-Pot。

要创建自定义的 Docker Compose 文件:

  1. 进入 cd ~/tpotce/compose 目录。
  2. 运行 python3 customizer.py。
  3. 脚本将引导你创建自己的 docker-compose.yml。由于某些蜜罐和服务占用相同的端口,它会检查是否存在端口冲突,并通知冲突的服务。然后你可以通过调整 docker-compose-custom.yml 手动解决冲突,或者重新运行脚本。
  4. 使用 systemctl stop tpot 停止 T-Pot。
  5. 复制自定义 Docker Compose 文件:cp docker-compose-custom.yml ~/tpotce 然后 cd ~/tpotce。
  6. 通过运行 docker-compose -f docker-compose-custom.yml up 检查一切是否正常。如果出现错误,请参考 Docker Compose 规范 进行修复。很可能只是一个端口冲突,你可以通过编辑 Docker Compose 文件来调整。
  7. 如果一切正常,按下 CTRL-C 停止容器,然后运行 docker-compose -f docker-compose-custom.yml down -v。
  8. 用新的且已成功测试的自定义 Docker Compose 文件替换原文件:mv ~/tpotce/docker-compose-custom.yml ~/tpotce/docker-compose.yml。

维护

T-Pot 设计为低维护。由于几乎所有内容都通过 Docker 镜像提供,基本上你不需要做任何事情,只需让它运行即可。我们会定期升级 Docker 镜像以降低被攻陷的风险;但是你应该仔细阅读本节内容。

如果更新失败,提交问题或进行讨论将有助于未来改进,但提供的解决方案 始终 是执行 全新安装,因为我们 无法 对丢失的数据提供任何支持!

通用更新

T-Pot 的安全取决于 支持的 Linux 发行版镜像 提供的更新。请确保查看操作系统文档,并确保操作系统定期安装更新。默认情况下(~/tpotce/.env),TPOT_PULL_POLICY=always 将确保每次 T-Pot 启动时,Docker 都会检查新的 Docker 镜像,并在创建容器之前下载它们。

更新脚本

T-Pot 的发布版本通过 GitHub 提供,可以使用 ~/tpotce/update.sh 拉取。
如果你对 T-Pot 配置文件做了任何重要更改,请务必先创建备份!
更新可能带来不可预见的后果。请备份机器或对你的工作最有价值的文件!

更新脚本将执行以下操作...

  • 无情地覆盖本地更改,以与 T-Pot 主分支同步
  • 创建 ~/tpotce 文件夹的完整备份
  • 更新 ~/tpotce 中的所有文件,使其与 T-Pot 主分支同步
  • 从 ~/tpotce/data/ews/conf 还原自定义的 ews.cfg 和 T-Pot 配置(~/tpotce/.env)。

每日重启

默认情况下,T-Pot 会添加每日重启任务,并包括一些清理工作。你可以使用 sudo crontab -e 调整此行。``` #Ansible: T-Pot Daily Reboot 42 2 * * * bash -c 'systemctl stop tpot.service && docker container prune -f; docker image prune -f; docker volume prune -f; /usr/sbin/shutdown -r +1 "T-Pot Daily Reboot"'

root@kitploit:~
## 已知问题
以下问题已知存在,只需按照描述的步骤即可解决。
<br><br>

### Docker 镜像下载失败
不久前,Docker 引入了下载[速率限制](https://docs.docker.com/docker-hub/download-rate-limit/#:~:text=Docker%20Hub%20limits%20the%20number,pulls%20per%206%20hour%20period.)。如果您频繁通过单一或共享 IP 下载 Docker 镜像,该 IP 地址可能已耗尽 Docker 下载速率限制。登录您的 Docker 账户以提升速率限制。```
sudo su -
docker login

T-Pot 网络故障

T-Pot 被设计为仅在具有单个网络接口卡(NIC)的机器上运行。T-Pot 会尝试获取具有默认路由的接口,但并不能保证总能成功。最好在仅有一个 NIC 的机器上使用 T-Pot。

启动 T-Pot

T-Pot 服务在每次重启时自动启动和停止(在安装过程中通过 sudo crontab -l 设置为每天重启一次)。
如果您想手动启动 T-Pot 服务,可以通过 systemctl start tpot 来实现,并通过 dpsw 观察容器的启动过程。

停止 T-Pot

T-Pot 服务在每次重启时自动启动和停止(在安装过程中通过 sudo crontab -l 设置为每天重启一次)。
如果您想手动停止 T-Pot 服务,可以通过 systemctl stop tpot 来实现,并通过 dpsw 观察容器的关闭过程。

T-Pot 数据文件夹

来自蜜罐、工具和 T-Pot 相关服务的所有持久日志文件都存储在 ~/tpotce/data 中。这包括不会传输到 Elastic Stack 的收集到的工件。

日志持久化

所有日志数据都存储在 T-Pot 数据文件夹 中,并将根据 TPOT_PERSISTENCE_CYCLES=<1-999> 在 T-Pot 配置文件 ~/tpotce/.env 中设置的周期数进行持久化。默认值为 30。
Elasticsearch 索引由 tpot 索引生命周期策略管理,该策略可以直接在 Kibana 中调整(确保勾选“包含托管系统策略”)。 IndexManagement1

默认情况下,tpot 索引生命周期策略将索引保留 30 天。这在存储和速度之间提供了良好的平衡。但您可以根据需要调整策略。 IndexManagement2

恢复出厂设置

存储在 T-Pot 数据文件夹 中的所有日志数据(当然,Elasticsearch 索引除外)都可以通过运行 clean.sh 来清除。 有时事情可能会损坏到无法修复,而将 T-Pot 重置为出厂默认设置从未如此简单(确保先执行 cd ~/tpotce)。

  1. 使用 systemctl stop tpot 停止 T-Pot。
  2. 将 ~/tpotce/data 文件夹移动/备份到安全位置(此步骤可选,以防万一)。
  3. 使用 sudo rm -rf ~/tpotce/data 删除 ~/tpotce/data 文件夹。
  4. 将 T-Pot 重置到最后一次获取的提交:``` cd ~/tpotce/ git reset --hard
root@kitploit:~
5. 现在你可以运行 `~/tpotce/install.sh`。
<br><br>

## 显示容器和镜像
你可以通过运行 `dps` 或 `dpsw [间隔]` 来显示所有与 T-Pot 相关的容器。`间隔 (秒)` 将定期重新运行 `dps`。使用 `dim` 显示本地可用的 Docker 镜像,包括 `CREATED` 列。
<br><br>

## 黑洞模式
黑洞模式将 T-Pot 以某种隐身模式运行,避免永久访问公共已知的扫描器,从而降低暴露的可能性。虽然这当然总是一场猫鼠游戏,但黑洞功能会将来自[已知大规模扫描器](https://raw.githubusercontent.com/stamparm/maltrail/master/trails/static/mass_scanner.txt)的所有请求进行空路由,同时仍然通过 Suricata 捕获事件。
<br>
该功能通过在 `~/tpotce/.env` 中设置 `TPOT_BLACKHOLE=DISABLED` 来激活,然后运行 `systemctl stop tpot` 和 `systemctl start tpot` 或 `sudo reboot`。
<br>
启用此功能将大幅降低攻击者的可见性,从而导致活动减少。但如前所述,这既不能保证完全隐身,也不能防止某些蜜罐服务的指纹识别。
<br><br>

## 向 Nginx (T-Pot WebUI) 添加用户
Nginx (T-Pot WebUI) 允许你添加任意数量的 `<WEB_USER>` 账户(根据[用户类型](#user-types))。<br>
要**添加**新用户,运行 `~/tpotce/genuser.sh`。<br>
要**删除**用户,打开 `~/tpotce/.env`,找到 `WEB_USER` 并删除对应的 base64 字符串(解码:`echo <base64_string> | base64 -d`,或打开 CyberChef 并加载 "From Base64" 配方)。<br>
要使更改生效,你需要使用 `systemctl stop tpot` 和 `systemctl start tpot` 或 `sudo reboot` 重启 T-Pot。
<br><br>

## 导入和导出 Kibana 对象
一些 T-Pot 更新将要求你更新 Kibana 对象。无论是支持新的蜜罐还是改进现有的仪表板或可视化。确保先***导出***,以免丢失你的任何调整。

### 导出
1. 进入 Kibana
2. 点击 "Stack Management"
3. 点击 "Saved Objects"
4. 点击 "Export <no.> objects"
5. 点击 "Export all"
这将导出一个包含所有对象的 NDJSON 文件。始终运行完整导出以确保包含所有引用。

### 导入
1. [下载 NDJSON 文件](https://raw.githubusercontent.com/telekom-security/tpotce/refs/heads/master/docker/tpotinit/dist/etc/objects/kibana_export.ndjson.zip) 并解压。
2. 进入 Kibana
3. 点击 "Stack Management"
4. 点击 "Saved Objects"
5. 点击 "Import" 并保持默认设置(检查现有对象并自动覆盖冲突),如果你没有对 Kibana 对象进行个人更改。
6. 浏览选择 NDJSON 文件
当被询问:"如果任何对象已存在,您是否要自动覆盖它们?" 你回答 "是的,覆盖所有"。
<br><br>

# 故障排除
一般来说,T-Pot 以***现状***提供,不提供任何支持承诺。可以开启问题和讨论,但请准备好包含基本必要信息,以便社区能够提供帮助。
<br><br>

## 日志
* 检查你的容器是否运行正常:`dps`
* 检查本地可用的 Docker 镜像及其年龄:`dim`
* 检查你的系统资源是否耗尽:`htop`、`docker stats`
* 检查是否存在端口冲突:```
systemctl stop tpot
grc netstat -tulpen
mi ~/tpotce/docker-compose.yml
docker-compose -f ~/tpotce/docker-compose.yml up
CTRL+C
docker-compose -f ~/tpotce/docker-compose.yml down -v
  • 检查单个容器日志:docker logs -f <container_name>
  • 检查 tpotinit 日志:cat ~/tpotce/data/tpotinit.log

内存与存储

Elastic Stack 非常消耗内存,特别是 logstash 和 elasticsearch。如果 Elastic Stack 不可用、没有收到任何日志或持续崩溃,很可能是内存或存储问题。
当 T-Pot 持续尝试重启服务/容器时,运行 docker logs -f <container_name>(可以是 logstash 或 elasticsearch),检查是否有涉及内存的警告或失败。

存储问题可以通过 htop 更轻松地识别。

联系

T-Pot 以 原样 开源提供,不 承诺任何支持(请参阅免责声明)。

如果您是安全研究人员,并希望负责任地报告问题,请联系我们的 CERT。

问题

请在我们的 GitHub Issues 上报告问题(错误),但请先进行 故障排除。

不提供解决错误信息的问题将被关闭或转换为 讨论。

请先使用搜索功能,类似问题可能已被处理或讨论过,解决方案就在搜索中。

讨论

一般问题、想法、展示与分享等可以在我们的 GitHub Discussions 上提出。

请使用搜索功能,类似讨论可能已经开启,答案就在搜索中。

许可证

T-Pot 所基于的软件使用以下许可证。
GPLv2: conpot, galah, dionaea, honeytrap, suricata
GPLv3: adbhoney, elasticpot, ewsposter, log4pot, fatt, heralding, ipphoney, miniprint, redishoneypot, rdphoneypot, sentrypeer, snare, tanner
Apache 2 License: cyberchef, dicompot, elasticsearch, go-pot, h0neytr4p, logstash, kibana, MIT license: , , , , , , , , Unlicense: 其他: , , , , AGPL-3.0: :

致谢

如果没有开源和我们引以为豪的发展社区,T-Pot 将无法实现!我们感谢以下人员和组织(不仅限于此):

以下项目的开发者和开发社区

  • adbhoney, beelzebub, ciscoasa, citrixhoneypot, conpot, cowrie, ddospot, dicompot, dionaea, docker, elasticpot, elasticsearch, elasticvue, endlessh, ewsposter, fatt, galah, glutton, go-pot, h0neytr4p, hellpot, heralding, honeyaml, honeypots, honeytrap, ipphoney, , , , , , , , , , , , , , , ,

以下公司和组织

  • docker, elastic.io, honeynet project

当然还有 您 加入社区!


感言

迄今为止,我们收到的最好的反馈之一是来自 Conpot 开发者的一句话:
"[...] 我强烈推荐 T-Pot,它……不完全是瑞士军刀……更像是一个配备了瑞士军刀的瑞士士兵。在坦克里。一辆瑞士坦克。[...]"

以及来自 @robcowart(ElastiFlow 的创建者):
"#TPot 是最完善的交钥匙蜜罐解决方案之一。对于任何希望分析和理解恶意行为者行为及其对组织构成威胁的人来说,这都是必备之物。"

谢谢 💖

下载工具
  • 使用 systemctl start tpot 启动 T-Pot。

  • docker

    autoheal
    beelzebub
    ciscoasa
    ddospot
    elasticvue
    glutton
    hellpot
    honeyaml
    maltrail

    endlessh

    citrixhoneypot
    cowrie
    mailoney
    Elastic License
    Wordpot

    honeypots

    公共领域 (CC)
    Harvard Dataverse


    kibana
    logstash
    log4pot
    mailoney
    maltrail
    medpot
    miniprint
    p0f
    redishoneypot
    rdphoneypot
    sentrypeer
    spiderfoot
    snare
    tanner
    suricata
    wordpot