几个星期以前我试着使用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,在右上角的时间以及中间列表区域的攻击时间与真实时间不一致。