发布时间:2026/9/3 1:12:10
HFish 3.3.1 Linux部署实战:蜜罐构建内网安全防线 简介HFish 3.3.1 Linux版本开源蜜罐系统部署资源包面向企业安全团队、蓝队人员与蜜罐技术研究者用于在内网快速部署攻击诱捕与威胁感知平台弥补安全监测盲区。包内共139个文件约111.6MB涵盖前端静态资源js/css/png/svg、配置与数据文件json/toml/sql/csv、部署脚本sh/pem、说明文档docx/md及管理端客户端程序等结构清晰便于部署维护。目前已有567人学习下载提供默认账号admin密码HFish2021登录后可直接使用多类蜜罐服务、攻击告警、蜜饵配置及可视化态势看板。整体适合需要快速落地蜜罐实践、理解攻击诱捕与内网安全运营的读者也可作为安全防御演练与威胁分析的工具参考。 半夜一点接到客户电话说内网一台服务器跟外网一直有长连接CPU还时不时飙到100%。我登上去翻了半天auth.log里全是密码爆破记录SSH端口被扫了一整夜。这种时候防火墙规则再多也没用攻击者换个IP照样进来。真正能让我睡个安稳觉的是内网里布一张“电网”——有人碰一下我这边立马亮灯。这张电网就是蜜罐。今天想聊的是开源蜜罐HFish 3.3.1在Linux上的下载部署、配置调优和一些实打实的踩坑经验。HFish是目前国内团队维护的、社区很活跃的开源蜜罐系统Golang开发解压即用部署成本比大部分同类产品低不少。无论你是做安全运维、等保合规还是纯粹想搞清攻击者进了内网之后会干什么这篇都能给你一个能落地的参考。我用它挡过真实攻击也踩过不少坑下面把这些经历全写出来。1. HFish是什么内网为什么需要一张“电网”1.1 蜜罐和防火墙的本质区别传统安全设备是“看门狗”IPS、防火墙、WAF都是被动防守——流量过来匹配规则拦或者放。这套逻辑存在一个致命问题攻击者只需要不断换IP、换工具、换手法总能找到规则覆盖不到的盲区。而且防守方永远不知道攻击者进来之后做了什么、拿了什么、想干什么。蜜罐的思路完全不同。它是一台“谁碰谁亮灯”的诱捕器故意开放一些看起来像真实服务的端口比如SSH、MySQL、Redis、Web后台实际上全是假的。正常业务不会去连这些端口只要有人连了那基本可以断定是扫描器或者攻击者。HFish的价值在于把这种“探测行为”变成高置信度的告警同时记录下攻击者的完整操作过程——用了什么工具、敲了什么命令、有没有下载恶意文件等等。1.2 为什么选择HFish 3.3.1选HFish有四个理由Go语言编译的单二进制文件部署极其简单不依赖PHP、Python、Java运行环境也不用额外装数据库。自带中低交互蜜罐覆盖SSH、Telnet、MySQL、Redis、HTTP、FTP、VNC等常用协议开箱即用。支持分布式部署一个管理端可以管控多个节点适合多网段、多机房的场景。3.3.x这个系列在功能完整度和稳定性之间比较平衡插件机制也成熟社区里面相关问题都能搜到。3.3.1这个具体版本我实测下来在CentOS 7.9和Ubuntu 20.04上都能稳定跑内存占用控制在200MB以内对于需要多节点部署的场景非常友好。1.3 部署架构先搞清楚HFish分管理端和节点端两个角色。管理端负责展示数据、下发策略、接收告警节点端负责实际监听端口、模拟服务、捕获攻击行为。两者之间通过加密通道通信不需要额外开放大量端口。我个人习惯的架构是一个管理端部署在安全区然后各个业务网段分别部署一个节点节点只单向连管理端这样可以避免攻击者通过管理端横向移动。2. Linux版本下载与部署准备2.1 下载渠道与版本校验HFish 3.3.1的Linux版本官方发布渠道主要是GitHub Releases和官网下载页。GitHub上搜hishackr/hfish就能找到对应版本的发布记录下载文件名一般是hfish-3.3.1-linux-amd64.tgz这类格式。如果你的服务器不能直接访问外部网络可以在有网的机器上下载好再通过内网传输。下载完成后强烈建议做一次hash校验官方发布说明里会附带sha256在Linux终端执行sha256sum hfish-3.3.1-linux-amd64.tgz把输出的hash值和官方公布的值对比一致再解压。这一步能避免下载到被篡改的包别嫌麻烦。2.2 Linux环境选型与准备HFish 3.3.1的Linux版本我实测支持CentOS 7、Ubuntu 18.04、Debian 9x86_64架构。需要注意的是老系统比如CentOS 6的glibc版本太低会直接跑不起来。如果你有旧系统建议先升级系统或者用Docker方式部署。部署前有几个前置操作检查时间同步。蜜罐对时间精度要求很高时间不准会导致告警时间线错乱排查攻击路径时特别痛苦。安装前执行timedatectl set-ntp true timedatectl status关闭SELinux。在CentOS上SELinux默认 enforcing会导致蜜罐进程无法绑定端口setenforce 0 sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config确认防火墙策略。管理端要开放web管理端口默认是8081可以改节点端要根据需要监听的蜜罐端口开放入站规则。2.3 解压安装与启动管理环境准备完毕开始正式部署。把下载好的压缩包上传到服务器放到你规划好的目录比如/data/hfishmkdir -p /data/hfish tar zxvf hfish-3.3.1-linux-amd64.tgz -C /data/hfish cd /data/hfish ls -la解压后目录里会有一个可执行文件和一个目录其中包含config.ini、web等文件。直接用官方脚本启动./run.sh启动成功后浏览器访问http://服务器IP:8081/web第一次访问会引导你设置管理员账号密码。HFish的管理端口默认是8081可以在配置文件里改。生产环境不建议直接前台运行我习惯写一个systemd服务来管理这样开机自启、崩溃自动拉起都有了[Unit] DescriptionHFish Honeypot Afternetwork.target [Service] Typeforking WorkingDirectory/data/hfish ExecStart/data/hfish/run.sh ExecStop/data/hfish/stop.sh Restartalways RestartSec10 [Install] WantedBymulti-user.target把上面内容保存到/etc/systemd/system/hfish.service然后systemctl daemon-reload systemctl enable hfish systemctl start hfish这样管理起来省心很多不用每次ssh上去手动敲启动命令。3. 核心功能配置与使用细节3.1 管理端初始化和界面认知用浏览器打开管理端地址进入web界面。第一次登录会让你创建管理员密码两遍输入一致后就能进主界面。主界面有几个核心板块仪表盘、攻击列表、威胁情报、蜜罐管理、节点管理、告警配置。新手往往一进来就急着开蜜罐我建议先花几分钟把界面走一遍搞清楚每个板块的作用配置起来会顺手很多。仪表盘展示的是总的攻击次数、攻击来源、被攻击的蜜罐类型分布。攻击列表是核心每条记录包含攻击者IP、攻击时间、攻击目标端口、攻击载荷、攻击者指纹信息。威胁情报模块会自动关联外部IP情报库标注这个IP是否已经在威胁库中。蜜罐管理和节点管理分别对应控制启停蜜罐服务和查看节点连接状态。3.2 蜜罐服务怎么选、怎么开HFish 3.3.1内置了二十多种蜜罐服务覆盖常用协议。最常见的中低交互蜜罐SSH蜜罐模拟SSH登录过程能记录攻击者输入的用户名、密码和执行的命令。MySQL蜜罐模拟MySQL服务器能捕获SQL注入尝试和弱口令爆破。Redis蜜罐模拟Redis未授权访问这个在真实攻击中触发频率很高。HTTP/HTTPS蜜罐模拟Web后台记录攻击路径和扫描行为。Telnet蜜罐很多老设备和物联网设备还在用Telnet攻击者也喜欢扫。配置原则不要贪多按你的内网实际情况来选。业务网段里如果根本没有MySQL服务就不需要开MySQL蜜罐否则反而容易被攻击者识别出是蜜罐。我一般建议每台节点最多开3-5个蜜罐服务模拟真实环境的服务暴露面就够了。对于有状态的高交互蜜罐比如模拟一个完整的Linux系统资源消耗比较大而且需要更复杂的维护新手建议先忽略等熟练了再上。3.3 告警通知配置与调优蜜罐不推送告警等于白装。HFish 3.3.1支持邮件、企业微信、钉钉、飞书、Webhook等多种通知方式。我实际配置下来邮件和Webhook最稳定企业微信也还行。告警配置要点告警阈值不要设太低。刚上线时各种扫描器会疯狂试探蜜罐端口一天几百条告警很正常不设置阈值会被刷屏。设成“同一IP在5分钟内触发3次以上”再告警能过滤掉90%的噪音。告警模板要带上关键信息攻击者IP、攻击时间、攻击目标、攻击载荷摘要。这样手机上看一眼就知道要不要立刻处理不用每次都登录web界面看详情。通知对象要明确。不要发给整个安全群不然连续轰炸几天大家就麻木了。我一般是建一个“蜜罐告警”分组拉值班人员和应急响应负责人。3.4 攻击数据怎么看、怎么用蜜罐的价值在数据。HFish的攻击列表里点开一条记录能看到很详细的信息攻击者的操作系统指纹、浏览器指纹、使用的扫描工具比如sqlmap、nmap的特征、完整攻击载荷。这些信息能帮你在攻击发生后快速判断攻击者是盲目扫描还是定向攻击。定向攻击通常手法更细腻目标更明确需要重点应对。攻击工具类型。不同工具的绕过手法和后续行为不一样判断工具类型能预测攻击者的下一步动作。攻击者是否已经攻陷其他真实业务系统。如果蜜罐里发现攻击者在尝试连接内网其他IP那说明他可能已经突破了一层。还有个实用玩法把HFish产生的攻击者IP丢到边界防火墙上封禁。这个操作可以手动做也可以用HFish的Webhook能力对接防火墙API实现自动化封禁。但我建议谨慎开启自动封禁先观察一周防止误封正常业务IP。4. 部署中踩过的坑与排查实录4.1 端口冲突导致蜜罐服务起不来这是最常遇到的问题。比如你这台机器上已经跑了真实的SSH服务监听22端口又想把SSH蜜罐开在22端口那肯定起不来。HFish会有报错提示但有时候报错不明显只是节点状态显示离线。排查方法netstat -tlnp | grep 22确认端口被占用后要么把蜜罐监听端口改成其他端口比如2222要么把真实服务迁移走。我个人建议蜜罐端口尽量不用默认端口攻击者扫不到还好扫到了反而更容易上钩。4.2 节点显示离线部署多节点时经常碰到这个问题。节点端启动正常但管理端显示节点离线可能的原因有节点和管理端之间的网络不通检查防火墙有没有放行管理端口。节点配置文件里指定的管理端地址不对查看conf目录下的配置文件。时间不同步导致通信认证失败按前面说的把NTP打开。排查时在节点服务器上执行ping 管理端IP telnet 管理端IP 管理端口网络通的再看日志HFish运行日志在logs目录下tail -f查看一般能直接看到错误原因。4.3 磁盘被日志塞满蜜罐在线时间长了攻击日志和审计日志会占用不少磁盘空间。我遇到过一台部署了半年多的节点日志文件把根分区塞满导致web界面打不开、数据库写不进去。解决办法du -sh /data/hfish/logs/定期清理日志或者在配置文件里设置日志轮转。同时监控磁盘使用率超过80%就告警。这个坑不踩一次真的想不到日志增长能那么快。4.4 版本升级与数据迁移从3.2升级到3.3.1官方提供了升级脚本流程是先备份数据目录然后解压新版本覆盖执行升级。花不了多长时间但一定要做备份。我总结的升级步骤# 停服务 systemctl stop hfish # 备份数据目录 cp -a /data/hfish /data/hfish_backup_$(date %Y%m%d) # 解压新版本覆盖 tar zxvf hfish-3.3.1-linux-amd64.tgz -C /data/hfish # 启动服务 systemctl start hfish备份目录保留至少两周再清理确认新版本运行稳定了再删。4.5 管理端的安全加固HFish管理端是攻击者重点关注的目标。如果管理端被攻破整个蜜罐网络就暴露了。我的做法是修改默认管理端口改成不常见的端口号。管理端不对公网开放只允许内网特定IP访问通过防火墙做源IP限制。配置强密码启用双因子认证。HFish 3.3.1支持TOTP二次验证强烈建议开启。管理端和节点端分离部署不要全都塞在一台机器上。这些操作在HFish的设置界面里都能完成不用改代码几分钟就能配好但能大幅提升整体安全性。最后分享一点体会用了HFish一年多我最大的感受是蜜罐的价值不只是发现攻击更是让你知道攻击者做了什么、试图做什么。有一次客户内网被入侵对方的攻击痕迹被清理得很干净常规日志查不出什么最后是HFish里记录的一条命令序列还原出了整个攻击链条。这个价值传统安全设备给不了。如果你想快速验证一下HFish的效果可以部署后自己在内网用nmap扫一下蜜罐端口然后在攻击列表里看数据——你会惊讶地发现连你自己的扫描行为都能被清清楚楚地记录下来。就是这么“可怕”。这套系统本身不难难的是坚持看数据、持续调优告警和策略。布好电网之后记得定期去看日志否则电网也会生锈。本文还有配套的精品资源点击获取

相关新闻

2026/9/3 1:12:10

STC15硬件SPI驱动MAX31865读取PT100温度采集完整方案

简介:基于STC15单片机硬件SPI与MAX31865的PT100测温工程,面向嵌入式学习者与工程师,解决PT100热电阻高精度温度采集问题。包体共18个文件,以C源码和头文件为主,含6个c、7个h,另有Keil工程文件、编译生成的h…

2026/9/3 1:07:10

MapChangeListener 源码深度解析:键值对变化的精准观察者

在深入剖析了 ListChangeListener 之后,我们迎来了 JavaFX 集合框架中的另一位重要成员:MapChangeListener<K, V>。它是 ObservableMap 的专属监听器,负责精确报告 Map 中每一次键值对的插入、更新和删除操作。 MapChangeListener 的设计与 ListChangeListener 有着本…

2026/9/3 1:07:10

聊聊Java开发里那些容易被忽视的并发问题

一个看似人畜无害的HashMap&#xff0c;在并发环境下膨胀时&#xff0c;可能把两个线程的指针同时指向同一个链表头&#xff0c;然后各自写回&#xff0c;导致其中一个线程的插入悄然丢失。更隐蔽的是&#xff0c;当它触发resize时&#xff0c;旧数组到新数组的迁移过程可能让链…

2026/9/3 1:22:11

MCU云快充协议库C语言实现:架构、移植与调试全解析

简介&#xff1a;本资源是一套面向嵌入式开发工程师与充电桩设备厂商的MCU端云快充通信协议C语言实现库&#xff0c;用于快速对接主流云平台快充管理服务&#xff0c;解决充电桩与云端之间登录认证、心跳保活、计费模型交互、实时/离线数据上报及充电指令下发等核心通信需求。压…

2026/9/3 1:22:11

从进制转换到点阵显示:蒸汽火车36进制信息屏DIY实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 1:22:11

STM32 FFT音频频谱可视化:从麦克风采集到OLED动态显示

简介&#xff1a;基于STM32F103与OLED12864的FFT音乐频谱项目完整资料&#xff0c;面向嵌入式初学者、电子爱好者和数字信号处理学习者。项目通过STM32F103采集音频信号&#xff0c;利用FFT算法将时域数据转为频域&#xff0c;并在OLED12864上呈现条形图、波形图等多种动态频谱…

2026/9/3 1:22:11

马克1重坦模型4小时制作指南:从图纸到零件的完整流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 1:22:11

STM32F103RCT6驱动0.96寸OLED:HAL库I2C配置与驱动开发全攻略

简介&#xff1a;本资源是一套基于STM32F103RCT6芯片、采用CubeMX图形化配置与HAL库开发的IC接口OLED显示完整工程&#xff0c;面向嵌入式初学者及单片机课程实践者&#xff0c;解决0.96寸SSD1306 OLED屏在STM32平台上的底层驱动与内容显示难题。工程已实现硬件IC&#xff08;P…

2026/9/3 1:17:10

开题报告写作全解析:从研究问题到文献综述与技术路线

每年开题答辩季&#xff0c;我都会看到一批让人哭笑不得的开题报告。表格填得满满当当&#xff0c;文献列了三四十条&#xff0c;但问一句“你的研究问题具体是什么”&#xff0c;很多同学会愣住。这个现象不是个别专业的问题&#xff0c;而是本科毕业论文写作里最普遍的错位&a…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出&#xff0c;第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器&#xff0c;出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台&#xff0c;直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流&#xff1a;为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历&#xff1a;明明传感器本身性能很好&#xff0c;信号输出却一塌糊涂——噪声大、漂移明显、重复性差&#xff0c;怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起&#xff0c;其实就是嵌入式开发里最常遇到的一类需求&#xff1a;用一块不算贵的 MCU&#xff0c;同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控&#xff0c;主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程&#xff5c;本地 AI 智能体 5 分钟落地&#xff0c;环境配置一次搞定 版本说明&#xff1a;Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热&#xff0c;它就是 OpenClaw&#xff0c;圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦&#xff1f;这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent&#xff0c;但真正开始部署时&#xff0c;往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题&#xff0c;还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南&#xff5c;使用一键包规避环境配置难题 痛点&#xff1a;部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖&#xff0c;版本冲突、环境配置耗费大量时间&#xff0c;OpenClaw 提供一键安装包&#xff0c;降低部署门槛。 适配系统&…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…