背景
蜜罐(Honeypot)是一种主动防御技术:故意暴露"看似有价值但实际是诱饵"的服务,吸引攻击者来探测/爆破/上传,全程记录攻击者行为,作为威胁情报和反制的依据。
HFish 是国内微步在线(github.com/hacklcx/HFish)开源的蜜罐平台,特点:
- 部署简单:Docker 一行命令
- 多协议支持:SSH、Telnet、FTP、MySQL、Redis、HTTP、HTTPS、Web 登录等 20+ 蜜罐服务
- Web 控制台:实时看攻击源、攻击方式、被攻击蜜罐
- 告警联动:支持钉钉、企业微信、飞书告警
- 威胁情报对接:与微步 XTI 等威胁情报平台集成
适用场景:
- 真实生产网络旁路部署,感知来自内/外的攻击
- 暴露在公网,吸引扫描器、勒索病毒、挖矿木马的"先头部队"
- 安全运营中心(SOC)补充威胁情报
前置知识:
- Docker 基础
- Linux 端口/防火墙
- 安全运营基础(告警分诊)
重要原则:蜜罐必须部署在独立网络或旁路,绝不能跟真实业务混用——一旦攻击者通过蜜罐横向移动到生产网,损失巨大。
一、部署架构
HFish 部署两种角色:
| |
最小化部署(单节点):
- Web 控制台:TCP
4433(HTTPS) - 数据回传:TCP
4434 - SSH 蜜罐:TCP
22(可选,与真实 SSH 冲突需改端口) - 其他蜜罐:FTP 21、Telnet 23、MySQL 3306、Redis 6379、HTTP 80 等
⚠️ 端口冲突:如果生产机器 SSH 是
22,HFish 的 SSH 蜜罐需要改端口(如2222),或者用iptables做端口转发:把到达22的攻击流量先到 HFish(用 iptables-m statistic --mode random概率引流),再让真实 SSH 兜底。
二、Docker 一键部署
2.1 启动命令
| |
参数解释:
| 参数 | 作用 |
|---|---|
--net=host | 蜜罐服务监听主机端口,必须 host 模式 |
--privileged=true | 蜜罐需要权限(如模拟 iptables 阻断) |
-v /home/docker/hfish:/usr/share/hfish | 持久化数据、配置 |
--restart=always | 守护进程挂了自动拉起 |
2.2 升级
| |
2.3 配置文件位置
容器内 /usr/share/hfish/config.toml 挂载到宿主 /home/docker/hfish/config.toml,改完配置重启容器:
| |
三、初始化 Web 控制台
3.1 登录
浏览器访问 https://<蜜罐IP>:4433/web/login。
首次登录会提示初始化管理员密码,原始默认:
- 账号:
admin - 密码:
HFish2021
强烈建议:登录后立刻改密码(系统设置 → 账户管理),并开启二次验证。
3.2 初始配置
- 集群节点:默认就是单机版,多节点需要"添加子节点"
- 蜜罐模板:内置 20+ 模板(SSH/Telnet/FTP/MySQL/Redis/HTTP 等)
- 告警通道:钉钉机器人、企业微信、飞书、SMTP
四、蜜罐模板与典型部署
4.1 启用 SSH 蜜罐
最常被攻击的蜜罐:
- 模板:选 “SSH 22” 或自定义端口
- 模拟 banner:伪装成 OpenSSH 7.4(CentOS 7 默认)
- 弱口令字典:内置常见
root/123456、admin/admin等
攻击者尝试登录时,HFish 会故意放慢响应(避免被识别为蜜罐),同时记录尝试的用户名/密码/源 IP/时间。
4.2 启用 MySQL 蜜罐
- 端口:
3306 - banner:伪装成 MySQL 5.7.38
- 漏洞模拟:可模拟
cve-2021-27928等已知漏洞的响应
4.3 启用 HTTP/HTTPS 登录页蜜罐
- 内置仿登录页面(OA、邮箱、VPN、RouterOS)
- 攻击者输入的账号密码全部记录
- 上传文件时接收并保存到分析目录
4.4 启用 Web 蜜罐(含 CVE 仿真)
内置 WordPress、Struts2、ThinkPHP、Confluence 等 30+ Web 蜜罐模板,攻击者访问会触发"漏洞利用尝试"记录。
五、告警对接
5.1 钉钉机器人
| |
5.2 企业微信 / 飞书
类似钉钉,填 Webhook URL 即可。
5.3 Syslog / SIEM
| |
HFish 会把攻击事件以 CEF/LEEF 格式推送到 SIEM(如 Splunk、ELK、QRadar)。
六、威胁情报价值
蜜罐数据最大的价值是威胁情报:
- 攻击源 IP:可以批量加入防火墙黑名单
- 攻击载荷:上传的 WebShell、勒索病毒样本,可喂给沙箱分析
- 攻击者画像:通过历史记录建立攻击者画像(IP 段、UA、TLS fingerprint)
- 新漏洞预警:HFish 内置最新 CVE 仿真模板,新漏洞爆发几小时内就有攻击数据
七、生产部署建议
7.1 旁路部署(推荐)
| |
HFish 服务器单独一个网段,不与生产网互通。攻击者即使拿到蜜罐 shell 也"逃不出去"。
7.2 分布式节点
大型企业多机房部署:
- 中心节点(北京):聚合所有数据,Web 控制台
- 边缘节点(上海/广州/深圳):跑蜜罐服务,回传数据到中心
/etc/hfish/cluster.toml:
| |
7.3 防止蜜罐被识别
- 响应时间随机化:HFish 自带
- Banner 真实化:选对目标系统的版本
- 避免过于完美:故意留一些"小破绽"让攻击者觉得是真实系统
- 不要主动告警给攻击者:蜜罐被识破后,攻击者会切换通道
7.4 容量规划
| 蜜罐数量 | 建议配置 | 日志量级 |
|---|---|---|
| 1-5 个 | 2 核 4G | 1-10 MB/天 |
| 5-20 个 | 4 核 8G | 10-100 MB/天 |
| 20-50 个 | 8 核 16G | 100MB-1GB/天 |
| 50+ | 集群 | 1GB+/天 |
八、常见问题
8.1 蜜罐被反扫
攻击者通过 IP 段扫描发现"全是蜜罐",会标记后跳过。对策:
- 真实业务系统旁挂几个蜜罐(不是全部)
- 蜜罐与真实服务用不同 IP 段
8.2 蜜罐被攻破后反向被利用
经典场景:蜜罐的 SSH 蜜罐被攻破 → 攻击者用 SSH 蜜罐的跳板去打别人 → 蜜罐 IP 被列入 RBL 黑名单。
对策:
- 蜜罐出口严格限制(iptables OUTPUT 限制只能连到日志服务器)
- 启用
iptables蜜罐流量主动劫持到本地黑洞
8.3 HFish 容器起不来
| |
九、卸载
| |
小结
HFish 是国内最易上手的蜜罐平台:
- Docker 一行命令即可部署
- Web 控制台实时看攻击,比纯文本日志好用 10 倍
- 告警对接钉钉/企微/SIEM,让安全运营团队能即时响应
- 威胁情报输出:攻击源 IP、攻击手法、上传样本
生产部署三原则:
- 旁路部署,不与生产网互通
- 限制出口,蜜罐被攻破后不能跳板
- 真实化配置,banner、响应时间贴近目标系统
下一步:
- 用
T-Pot(多蜜罐整合平台)做欧洲风格的蜜罐矩阵 - 把蜜罐数据接入 SOAR(如华为 Intewell、阿里云安全编排)
- 与 ATT&CK 框架对齐,看攻击者覆盖了哪些战术
2024 视角:蜜罐 + XDR + 主动防御的"现代融合"
2021 那篇是 HFish 蜜罐单点部署的实战。2024 视角下,蜜罐已经融入 XDR(Extended Detection and Response)生态。
一、蜜罐 + XDR 的"杀伤链"早期发现
- 传统蜜罐价值:记录攻击、收集样本、威胁情报。
- 2024 升级:蜜罐数据接入 XDR / SIEM 后,能在攻击者"横向移动"前发现他们:
| |
- XDR 平台:CrowdStrike Falcon XDR / Microsoft Defender XDR / 阿里云 XDR / 华为 HSS XDR。
二、HFish 2024 的版本变化
- HFish 3.0+(2022 起)支持:
- 蜜罐指纹模拟:模拟真实业务系统(MySQL 8.0.30 vs MySQL 5.7.38 的 banner 差异)
- 多租户:多个业务部门用同一套 HFish,按部门隔离数据
- WebSocket 蜜罐:模拟 Web 服务的实时连接
- 蜜罐集群:中心-边缘架构(中心管数据,边缘跑蜜罐)
| |
三、T-Pot 2024:蜜罐"全家桶"事实标准
- T-Pot(由 T-Mobile Security 维护)2024 已是蜜罐"全家桶"标准——20+ 蜜罐工具 一键集成:
| |
- T-Pot 2024 自带:
- 蜜罐:Cowrie(SSH/Telnet)、Dionaea(FTP/SMB)、Glastopf(HTTP)、Conpot(ICS/SCADA)、Honeysap(SAP)、Mailoney(SMTP)、Rdpy(RDP)等
- 可视化:Kibana + Elasticsearch(攻击大屏)
- 威胁情报:自动对接 MISP、AlienVault OTX
四、蜜罐 + eBPF 的"高级对抗"
- 2024 高级蜜罐用 eBPF 拦截系统调用,比用户态蜜罐更难被检测:
| |
- Tracee 能检测到:
- 反弹 shell(bash connect)
- 容器逃逸
- 隐藏进程
- 凭证读取
- 文件篡改
五、云原生时代的"蜜罐 Pod"
- 2024 蜜罐可以跑在 K8s 里——以 Pod 形式存在:
| |
- 优势:蜜罐被攻击 → K8s 自动重启 / 漂移 / 隔离。
- 风险:被攻击者反控 K8s 集群。必须配 NetworkPolicy 严格限制:
| |
六、ATT&CK 框架的"蜜罐数据映射"
2021 那篇提到"与 ATT&CK 框架对齐"。2024 实战:
- ATT&CK 矩阵(v14,2023-10):14 大战术、200+ 技术、600+ 子技术。
- 蜜罐数据打 ATT&CK 标签——每次攻击记录映射到具体技术:
| 攻击者行为 | ATT&CK 技术 |
|---|---|
| 扫 SSH 22 端口 | T1046(Network Service Scanning) |
| 试 root/123456 登录 | T1110.001(Password Guessing) |
| 反弹 shell | T1059.004(Unix Shell) |
| 写 crontab | T1053.003(Cron) |
| 横向 SMB | T1021.002(SMB/Windows Admin Shares) |
- 价值:让 SOC 知道攻击者覆盖了哪些战术、差哪些战术(= 防护盲点)。
七、HFish 的"蜜罐溯源"能力
- 蜜罐溯源:故意在蜜罐里放"假数据"(伪造的用户名、API key、token),攻击者拿走后会回连蜜罐:
- 浏览器指纹(Canvas 指纹、WebGL 指纹)
- 真 IP(WebRTC 暴露)
- QQ / 微信 ID(社交钓鱼)
| |
- 2024 法规:蜜罐溯源不能主动攻击攻击者(“反杀"违法),但被动记录完全合法。
源文档:os/linux/第三方tools/safe/hfish/hfish.md(Docker 部署、初始账号、Web 控制台)
