使用Docker搭建HFish蜜罐陷阱

几个星期以前我试着使用Docker搭建了一套基于HFish的蜜罐系统,从现有掌握的数据来看主要的攻击来自境外也许攻击者们对北京地区的机房比较感兴趣,绝大多数的攻击都是ssh弱口令扫描。我搭建这套蜜罐系统需求是收集弱口令字典以及将恶意IP通过web hook加入到iptables中。

HFish

HFish是一款安全、简单可信赖的跨平台蜜罐软件,允许商业和个人用户免费使用。

特点

安全可靠:主打低中交互蜜罐,简单有效;

蜜罐丰富:支持SSH、FTP、TFTP、MySQL、Redis、Telnet、VNC、Memcache、Elasticsearch、Wordpress、OA系统等10多种蜜罐服务,支持用户制作自定义Web蜜罐;

开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业威胁、飞书、自定义WebHook告警输出;

快捷管理:支持单个安装包批量部署,支持批量修改端口和服务;

跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台;

架构

HFish由控制端和节点端组成,控制端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受控制端的控制并负责构建蜜罐服务。

基于Docker容器搭建HFish

建议将自己服务器上已安装的SSH、Mysql、FTP等服务端口号改为10000端口以上,保证不跟HFish冲突。

端口说明

21为FTP端口
22为SSH端口
23为Telnet端口
69为TFTP端口
3306为Mysql端口
5900为VNC端口
6379为Redis端口
8080为暗网端口
8081为HTTP代理池端口
8989为插件端口
9000为Web端口
9001为系统管理后台端口
9200为Elasticsearch端口
11211为Memcache端口

创建volume卷

docker volume create hfish_data

部署容器

默认帐号密码均为:admin

docker run -itd \
--name hfish \
-p 21:21 \
-p 22:22 \
-p 23:23 \
-p 69:69 \
-p 3306:3306 \
-p 5900:5900 \
-p 6379:6379 \
-p 8080:8080 \
-p 8081:8081 \
-p 8989:8989 \
-p 9000:9000 \
-p 9001:9001 \
-p 9200:9200 \
-p 11211:11211 \
-v hfish_data:/opt
--restart=always \
imdevops/hfish:latest

添加防火墙规则

iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL -o docker0 -j MASQUERADE
service iptables save

数据大屏

这个数据大屏看起来挺唬人但是有个Bug,在右上角的时间以及中间列表区域的攻击时间与真实时间不一致。