用一台闲置服务器给内网装个"金丝雀":OpenCanary 蜜罐部署笔记
内网安全有个残酷现实:防火墙挡的是外面的人,一旦有东西进来了(钓鱼中招、失陷主机),横向移动阶段基本没人看得见。商业 EDR/NDR 太贵?有个零预算的经典方案:蜜罐(honeypot)。
蜜罐的逻辑:假服务,真警报
在内网放一台”看起来有价值”的假机器,开着假的 SSH、SMB、MSSQL、FTP 端口。关键洞察:
没有任何正常业务理由会去碰它。 所以任何扫描它、试图登录它的流量,都是高置信度的坏消息——不是攻击者在横向探测,就是某台机器上的恶意软件在扫内网。
误报率趋近于零,这是蜜罐相对于各种告警泛滥的检测方案最优雅的地方。
金丝雀的价值不在于挡住谁,而在于「被碰 = 出事了」的高置信度信号
零预算落地:VirtualBox + Ubuntu + OpenCanary
不用专门买硬件——找一台有富余资源的 Windows 服务器,VirtualBox 起一台小 VM:
- VM:Ubuntu Server 18.04,一块小虚拟盘、1GB 内存足矣(蜜罐不干重活);
- 网络模式选 Bridged Adapter——这是关键决定。NAT 模式下蜜罐藏在宿主机后面,内网根本”看不见”它;桥接之后它以独立 IP 出现在真实 LAN 上,和其他服务器平起平坐,攻击者扫描网段时才会把它当成一个真目标;
- 装 OpenCanary(docs.opencanary.org):Python 写的轻量蜜罐框架,配置文件里按需打开假服务(SSH/SMB/MSSQL/HTTP/FTP…),把日志/告警指向邮件或 webhook;
- 设置 VM 随宿主机自启——蜜罐最怕「服务器重启后忘了开」,用 VirtualBox 的 autostart 或计划任务把它变成开机必带。
部署后的两个运营要点
- 告警通道要真的有人看:蜜罐一年可能只叫一次,但那一次就是真的。告警发到一个没人看的邮箱等于没装;
- 给它起个诱人的名字:主机名叫
FILESRV-BACKUP比叫HONEYPOT-01有用得多——你在钓的是扫描行为,鱼饵要像鱼饵。
教训
- 小团队的检测能力不是买出来的,是设计出来的——蜜罐用一个下午换来一个几乎零误报的内网哨兵;
- 桥接 vs NAT 这类”网络模式小选项”决定方案成败:蜜罐必须活在真实网段里;
- 把蜜罐 IP 加进自己的资产清单并标注——不然哪天做漏洞扫描,被自己的蜜罐告警吓一跳的就是你自己。