企业内部网络希望部署蜜罐系统,一旦有人尝试进行扫描、渗透、攻击,蜜罐有机会发现和报警。目前开源的蜜罐产品中,开发活跃、产品应用较为广泛的是哪些产品?

您是否有特定的蜜罐类型或功能需求?例如:

  • 低交互(轻量级、模拟部分服务)还是高交互(完整模拟真实系统)?
  • 主要针对哪类攻击?如网络扫描、端口扫描、Web攻击、内网渗透等?
  • 是否需要与SIEM、IDS等安全工具集成? 此外,是否有特定的技术栈要求(如Python、Go)或者运行环境限制(如Linux、Windows)?
  1. 低交互即可
  2. 希望常规的扫描、渗透能够发现
  3. 不需要集成能力,但是希望开源,这样可以自己定制报警方式
  4. 最好运行在 Linux 上,方便使用树莓派部署

我会为您查找当前开源且活跃维护的低交互蜜罐项目,这些项目能够检测常规扫描和渗透攻击,并且可以运行在Linux上,适合树莓派部署。同时,我会关注它们的社区活跃度、功能特点和自定义报警能力。

稍后我会整理一份详细的列表供您参考。

开源低交互蜜罐系统推荐

以下列出几款当前维护活跃的开源低交互蜜罐项目。这些蜜罐都能在 Linux(包括树莓派)上运行,可检测常见的端口扫描和渗透攻击,并提供一定的自定义告警能力。每个项目都附有其主要功能、优缺点以及维护状况等信息:

Cowrie 蜜罐

简介与功能: Cowrie 是一款著名的 SSH/Telnet 蜜罐,最初由 Kippo 演变而来 (GitHub - paralax/awesome-honeypots: an awesome list of honeypot resources)。Cowrie 默认作为中等交互蜜罐运行(模拟交互式 Shell),用于记录暴力破解尝试以及攻击者执行的shell命令 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)。它使用 Python 仿真一个类 UNIX 文件系统环境,使入侵者以为自己获得了主机访问权 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)。Cowrie 会记录攻击者的所有操作,例如登录尝试、输入的命令,以及利用 wget/curl 下载的文件(会被保存供取证分析) (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)。Cowrie 也支持高交互模式,在该模式下它充当代理,将攻击者的会话转发到真正的后端系统进行监控(可选启用) (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)。

优点:

缺点:

  • 专注于SSH和Telnet协议,对其他服务的探测攻击无法直接捕获。如果攻击者针对Web、数据库等服务端口,Cowrie 默认不监听这些端口,需要配合其他蜜罐。
  • 作为中高交互蜜罐,Cowrie功能丰富,相应配置和维护略复杂。需要配置伪文件系统、用户名密码等。如果仅希望简单监听端口获取告警,Cowrie 可能显得“重”了一些。
  • 高交互代理模式虽然提供真实系统交互,但部署需小心,以防攻击者通过代理的真实系统进行进一步渗透(一般应在隔离环境下使用高交互模式)。

维护和社区: Cowrie 项目非常活跃,最近提交和发布频繁。GitHub 上有5.4k星(表明大量关注) (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)。官方文档完善 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/),社区有 Slack 频道方便提问和交流 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)。作为业界使用最广的蜜罐之一,其稳定性和功能在长期实践中得到了验证。

OpenCanary 蜜罐

简介与功能: OpenCanary 是 Thinkst 开源的多协议蜜罐守护程序。它能够模拟多种常见服务(如SSH、HTTP、FTP、SMB、Mysql等),用于诱捕内网或外网中的攻击者 (Honeypot using Raspberry Pi & Opencanary - SecurityBoat Workbook)。OpenCanary 非常轻量,使用Python实现,资源占用极低,可在树莓派等低性能设备上流畅运行 (GitHub - thinkst/opencanary: Modular and decentralised honeypot)。其主要用途是充当“蜜罐诱饵”,在攻击者触碰到伪装服务时立即发送告警 (GitHub - thinkst/opencanary: Modular and decentralised honeypot)。OpenCanary 提供易于配置的JSON文件来启用所需的协议模块,并设定告警输出方式 (GitHub - thinkst/opencanary: Modular and decentralised honeypot)。

优点:

缺点:

  • 交互程度低: OpenCanary 属于低交互蜜罐,只模拟服务握手和简单响应,并不会提供完整的交互会话。这虽然保证安全(攻击者无法真正控制蜜罐),但也意味着无法捕获攻击者后续复杂操作。例如,在SSH蜜罐中,OpenCanary只记录登录企图,而无法记录攻击者登录后执行的具体命令(相比之下Cowrie这类中等交互蜜罐可以)。因此获取的攻击细节有限。
  • 功能相对简单: OpenCanary专注于作为诱饵发出告警,缺少一些高级捕获功能(例如不像Cowrie那样保存攻击者下载的恶意文件)。对于主要目标是即时告警的场景这正符合需求,但若希望深入研究恶意载荷和攻击步骤,可能需要搭配其他蜜罐。
  • 需要合理配置:OpenCanary 默认配置模拟的服务较少,用户需要根据自身环境编辑 JSON 配置来添加需要监听的端口和服务。这增加了一些初始设置工作量。但这也给予了用户高度定制性,算是利弊皆有。

维护和社区: OpenCanary 由安全公司 Thinkst 开源并持续维护。GitHub 上有约2.4k星,开发活动频繁 (GitHub - thinkst/opencanary: Modular and decentralised honeypot)。官方提供了详细文档和配置指南,并有社区分享部署在树莓派的经验 (Honeypot using Raspberry Pi & Opencanary - SecurityBoat Workbook)。作为知名蜜罐框架,其稳定性和易用性已在众多企业和开源社区中得到验证。如果需要一个“小而全”、易于扩展的蜜罐来监控多种服务,OpenCanary 是很好的选择。

Dionaea 蜜罐

简介与功能: Dionaea 是由 Honeynet Project 社区开发的多协议低交互蜜罐,旨在捕获利用漏洞传播的恶意代码(特别是网络蠕虫和漏洞利用载荷) (dionaea low interaction honeypot (forked from dionaea.carnivore.it))。它被视作早期Nepenthes蜜罐的继任者,内置了针对shellcode的检测引擎(libemu)以及嵌入式Python脚本扩展能力 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。Dionaea 可以监听多种常见服务端口,并对已知漏洞进行模拟,从而诱使攻击者发送恶意Payload,进而捕获样本。其支持的协议非常广泛,例如 FTP、HTTP、SMTP、MySQL/MSSQL数据库、Telnet、SMB、SIP、TFTP、UPnP 等等 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot) (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。对于每种协议,Dionaea 会模拟基本的服务响应,让攻击者误以为是真正的服务。一旦攻击者尝试利用漏洞或进行恶意操作,Dionaea 会记录下攻击细节并保存恶意载荷(实现了蜜罐“捕虫”的功能)。

优点:

  • 多协议广覆盖: Dionaea 可同时充当多个常见服务的蜜罐,覆盖从Web到数据库再到文件共享的多种目标。因此,它对端口扫描和各类服务漏洞利用都有探测能力。如果攻击者扫描主机开放端口,Dionaea 所监听的端口都会对探测做出响应(从而记录扫描行为)。如果攻击者尝试利用某服务的漏洞,Dionaea 可以识别并捕获攻击载荷 (dionaea low interaction honeypot (forked from dionaea.carnivore.it))。例如,它可以诱捕针对SMB服务的攻击并获取恶意DLL,或捕获针对数据库的SQL漏洞利用脚本。
  • 捕获恶意样本: 作为专注于捕获攻击载荷的蜜罐,Dionaea 内置了libemu引擎用于检测Shellcode (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。当探测到攻击Payload时,它会将其保存(例如保存恶意二进制或脚本),方便安全人员后续分析。这使Dionaea非常适合用于收集恶意软件样本和监测新型攻击 (dionaea low interaction honeypot (forked from dionaea.carnivore.it))。在网络威胁情报领域,许多蜜网使用Dionaea节点来收集全球流行的恶意文件。
  • 日志与集成: Dionaea 提供灵活的日志和事件输出机制。它支持将日志输出为JSON或写入SQLite数据库,方便进一步处理 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。另外还内置了与 Fail2Ban 的集成(可根据日志自动封锁攻击IP)以及 hpfeeds 支持,可以将捕获的数据实时推送到中央服务器或云端威胁情报平台 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。这意味着用户可以方便地将多个Dionaea蜜罐的数据集中汇总分析,或结合可视化工具。许多开源蜜罐管理平台(如 Modern Honey Network, Community Honey Network)都内置对Dionaea日志的支持,便于部署分布式蜜罐网络。
  • 活跃维护: Dionaea 虽然最早发布已有些年头,但目前由社区(DinoTools 等)持续维护更新 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。GitHub 上约有700+星标,近期仍有提交和Issue讨论,表明其仍在适应新出现的漏洞和协议 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。它在安全研究领域有较长的使用历史,可靠性和稳定性经过考验。

缺点:

  • 部署复杂度较高: 相较纯Python实现的蜜罐,Dionaea 使用C语言和Python混合实现,部署时需要编译安装依赖(例如 libemu、cython 等)。在树莓派上部署可能需要编译ARM架构的依赖库,安装过程略显复杂。不过社区有提供Docker镜像,可以一定程度简化部署。
  • 交互程度有限: 作为低交互蜜罐,Dionaea 并不提供完整的交互会话。例如对FTP/SSH等,它主要记录登录尝试或漏洞利用,而不模拟真实的文件系统或shell环境。这意味着如果攻击者登录成功后尝试执行正常操作,Dionaea不会有深入响应(它关注的是捕获漏洞利用而非记录攻击者后续行为)。对于想观察攻击者步骤的人来说,这是局限性。
  • 资源占用: Dionaea 为了模拟多种服务和运行shellcode检测,引入了不少后台服务和脚本。相比简单的端口监听蜜罐,它占用的内存和CPU稍高。在树莓派这类设备上同时开多个服务可能需要优化配置,以防资源不足。不过一般树莓派3/4可以运行有限几个主要协议模块。
  • 配置维护: 要有效捕获攻击,需要根据流行威胁调整Dionaea的模拟漏洞模块。例如新增某些漏洞协议支持可能需要自行编写模块。此外,捕获的样本需要手工分析判断,对于主要寻求告警的用户来说,Dionaea输出的信息可能过于底层(如十六进制数据包),需要配套分析工具。

维护和社区: Dionaea 是 Honeynet Project 旗下的重要开源项目。虽然社区热度相较Cowrie略低,但开发者仍在更新。例如最新版本加入了对IPv6和TLS的支持等 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)。GitHub 仓库由 DinoTools 维护(约700星),Issue区有一定的讨论和解答。 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot) 在使用过程中,可以查阅其详细的文档 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)以及 Honeynet 提供的教程资源。总体而言,Dionaea 非常适合希望收集攻击样本、研究攻击载荷的场景。如果您的重点是及时发现并记录网络扫描和漏洞攻击行为,Dionaea 能提供底层详尽的数据支撑。

Artillery 蜜罐(Binary Defense)

简介与功能: Artillery 是由 Binary Defense(TrustedSec 的子公司)开源的一款安全工具,集低交互蜜罐、监控和告警于一身 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.)。它的设计初衷是作为入侵的早期预警系统 (Project Artillery - Now a Binary Defense Project - TrustedSec),通过开放常见端口诱捕攻击,再触发报警和防御措施。Artillery 默认会在系统上打开多个常被攻击者扫描的端口(如22/23/80/445等)并侦听连接 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.)。当有人连接这些端口时,Artillery 会立即将其IP加入黑名单(在Linux下写入/var/artillery/banlist.txt)并可选地发送警报通知管理员 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.) (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.)。除了蜜罐功能外,Artillery 还提供简单的文件监控(监视指定目录变更)和SSH暴力破解检测等主机安全功能 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.)。总体来说,Artillery更像是一款融合了蜜罐诱捕和主机入侵检测的小型安全套件。

优点:

缺点:

  • 低交互限制: Artillery 属于纯低交互(几乎零交互)蜜罐。它不真正模拟服务协议,只是打开端口接受TCP握手就立即断开并拉黑。因此无法收集到攻击者发送的具体Payload或登录凭证等信息。它的作用更偏向于告警和阻断,而非蜜罐情报收集。如果攻击者的手法较为隐蔽(例如只连一下就断开),Artillery 只起到记录IP的作用,无法获取更多情报。
  • 可能误报合法扫描: 在内网环境中,Artillery 可能会对合法的端口扫描或运维探测产生误报并拉黑。例如网络管理员的扫描、Nmap的存活探测等动作都会触发它。如果部署在生产网络中,需要谨慎设置白名单或考虑这一副作用。另外自动封堵IP在某些情况下也许并不适合(可能封堵了误判对象),需根据环境决定是否开启。
  • 功能相对基础: 虽然集成了一些监控功能,但Artillery不支持复杂协议模拟和数据保存。例如针对Web漏洞的探测,它无法像Web蜜罐那样记录具体的HTTP请求。对于专业蜜罐用途,Artillery提供的信息可能不够详实。不过作为一线预警工具,这种“简单即可用”的设计初衷不同于研究型蜜罐,因此需要根据使用目标考虑。

维护和社区: Artillery 最初由著名安全专家 Dave Kennedy 开发,后交由 Binary Defense 维护。项目在GitHub上有约1k星标,近年仍有更新 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.)。其文档和Wiki提供了使用指南,TrustedSec 博客也介绍了该工具的背景和用途 (New Tool Release “Artillery” for Linux Protection - TrustedSec)。社区用户主要将其用于小型陷阱或主机自保。在树莓派上部署Artillery非常简单,可作为入侵检测辅助工具长期运行。如果您的主要目标是快速发现并阻止扫描/入侵企图,Artillery 是一个值得考虑的轻量方案。

T-Pot 全套蜜罐平台

简介与功能: T-Pot 是由德国电信安全团队开源的“一体化”蜜罐平台 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。它打包集成了20多种不同的蜜罐服务,涵盖了从传统服务(如Cowrie SSH蜜罐、Dionaea捕获器、蜂窝数据库蜜罐等)到物联网和工业协议蜜罐,以及最新加入的交互式蜜罐等 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。所有这些蜜罐通过Docker容器方式运行,并由ELK(Elasticsearch + Logstash + Kibana)栈汇总日志、提供可视化界面。T-Pot 支持多架构安装,包括x86服务器和ARM架构(arm64)的设备,因此理论上可以部署在树莓派4(8GB内存)上 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform ) (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。部署T-Pot后,它会在主机上开启大量端口,由各个蜜罐模块分别侦听,从而构建一个高度交互的蜜网。管理员可以通过Web界面查看实时攻击地图、统计图表等,非常适合安全团队了解蜜罐捕获的攻击概况。

优点:

  • 一站式全面防护: T-Pot 几乎囊括了主流的蜜罐工具。例如,它内置Cowrie用于SSH/Telnet、Dionaea用于捕获恶意样本、Conpot用于工控协议、Snare用于Web蜜罐、Mailoney用于邮件协议蜜罐等等。也包含了现代攻击的诱捕(如针对Web漏洞的超级蜜罐 Glutton 等 (HosTaGe: a mobile honeypot - The Honeynet Project))。因此,无论攻击者扫描哪个端口、使用哪种手法,T-Pot 某个对应的蜜罐模块都会做出响应记录。它相当于把蜜罐矩阵集成在一个系统中,大幅提高捕获范围。
  • 可视化与分析: T-Pot 最大的亮点之一是开箱即用的 ELK 可视化界面。所有蜜罐日志都会收集到Elasticsearch中,通过预配置的Kibana仪表盘显示攻击来源地图、常见用户名密码、恶意软件类型等信息。对于没有精力自行搭建分析平台的用户,T-Pot 提供了即刻可用的攻击情报分析功能,极大地方便了蜜罐运维。
  • 活跃维护和社区: T-Pot 由德电安全团队持续更新,社区版在GitHub上有7k+星标,活跃度很高 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。每年都会发布新版,更新蜜罐组件和增加新功能(例如近期版本加入对ChatGPT的交互蜜罐试验 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform ))。社区有专门的支持论坛和Wiki,使用者遍布全球。对于初次接触蜜罐的人来说,有大量文档和社区经验可以借鉴,降低了使用门槛。
  • 支持树莓派部署(有条件): 新版本的 T-Pot 已支持在树莓派4上运行(需要8GB内存,64位OS) (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。这使得个人用户也可以用树莓派搭建完整蜜罐环境。然而需要注意树莓派性能有限,可能需要禁用部分蜜罐容器或调整配置才能稳定运行。

缺点:

  • 资源需求高: T-Pot 打包了众多蜜罐和ELK,相应地对硬件要求较高。官方建议至少8-16GB内存和128GB存储 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。在树莓派这类设备上运行属于勉强可行的范围(仅最新的Pi 4 8GB符合最低要求)。对于小内存设备或者性能要求严格的环境,T-Pot 显得过于臃肿。它更适合部署在专用服务器或虚拟机上。
  • 复杂度高: 作为综合平台,T-Pot 安装和配置过程相对复杂(尽管有自动化脚本)。一旦出现问题,排查也涉及Docker、网络、ELK等多个组件。此外,由于包含大量服务,对网络环境可能有较大影响(例如开启很多端口)。对于只需特定蜜罐功能的用户来说,T-Pot 可能显得超出需求。维护T-Pot需要一定的DevOps能力。
  • 不聚焦于单一用途: 如果您的目标很明确(比如只想捕获SSH攻击或者只想收集恶意样本),T-Pot 包含的许多其他组件可能用不上,还徒增管理开销。在这种情况下,或许直接部署单个蜜罐软件会更简洁高效。

维护和社区: T-Pot 作为知名蜜罐套件,拥有完善的版本发布流程和社区支持。GitHub 上高星标和众多Fork表明其受关注程度 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform )。维护团队积极响应问题并融入社区贡献。使用者可以在社区论坛找到安装指南、疑难解答。总的来说,如果您希望**快速拥有一个功能完备的蜜罐“蜜网”**且有足够资源支撑,T-Pot 是理想选择;但如果资源有限或只需局部功能,以上提到的单项蜜罐(Cowrie、OpenCanary等)可能更为实用。


参考文献:

  1. Cowrie 项目简介和特性 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/) (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/);Cowrie 维护者及社区 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/) (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/);GitHub 星标数据 (GitHub - cowrie/cowrie: Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/)
  2. OpenCanary 项目介绍及特性 (Honeypot using Raspberry Pi & Opencanary - SecurityBoat Workbook) (GitHub - thinkst/opencanary: Modular and decentralised honeypot);资源占用和树莓派部署 (GitHub - thinkst/opencanary: Modular and decentralised honeypot);告警机制和SIEM集成 (Honeypot using Raspberry Pi & Opencanary - SecurityBoat Workbook)
  3. Dionaea 支持协议和技术原理 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot) (GitHub - DinoTools/dionaea: Home of the dionaea honeypot) (GitHub - DinoTools/dionaea: Home of the dionaea honeypot);项目目的 (dionaea low interaction honeypot (forked from dionaea.carnivore.it));日志与集成支持 (GitHub - DinoTools/dionaea: Home of the dionaea honeypot)
  4. Artillery 工具说明和功能列表 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.) (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.) (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.);GitHub 项目数据 (GitHub - BinaryDefense/artillery: The Artillery Project is an open-source blue team tool designed to protect Linux and Windows operating systems through multiple methods.)
  5. T-Pot 平台简介 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform );系统需求与树莓派支持 (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform ) (GitHub - telekom-security/tpotce: T-Pot - The All In One Multi Honeypot Platform );GitHub 星标数据