分类
生活随笔

搭建开源蜜罐HFish

蜜罐 技术本质上是一种对攻击方进行 欺骗的技术,通过布置一些作为 诱饵的主机、网络服务 或者 信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行 捕获 和 分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。

什么是蜜罐

蜜罐 技术本质上是一种对攻击方进行 欺骗的技术,通过布置一些作为 诱饵的主机、网络服务 或者 信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行 捕获 和 分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。

蜜罐 好比是 情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。

HFish 是一款基于 Golang 开发的跨平台多功能主动诱导型蜜罐框架系统,为了企业安全防护测试做出了精心的打造

  • 多功能 不仅仅支持 HTTP(S) 蜜罐,还支持 SSH、SFTP、Redis、Mysql、FTP、Telnet、暗网 等
  • 扩展性 提供 API 接口,使用者可以随意扩展蜜罐模块 ( WEB、PC、APP )
  • 便捷性 使用 Golang 开发,使用者可以在 Win + Mac + Linux 上快速部署一套蜜罐平台

安装环境要求:

Ubuntu18.04

Docker

修改SSH端口

编辑ssh配置文件
sudo vi /etc/ssh/sshd_config
去掉端口注释并设置端口
Port 16000
重启ssh服务
sudo systemctl restart ssh

安装Docker

#安装Docker
sudo apt install docker.io
#启动Docker
sudo systemctl start docker
#设置开启启动docker
sudo systemctl enable docker

拉取Docker镜像

sudo docker pull imdevops/hfish

单节点部署

因为我只有一台服务器,我选择的单节点部署

sudo docker run -d --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 --restart=always imdevops/hfish:latest
  • 默认帐号密码均为:admin,如需修改可以通过在run的后面加 -e USERNAME= -e PASSWORD= 传入环境变量进行修改。
  • 默认数据库连接为:Sqlite,如需使用Mysql可以通过在run的后面加环境变量 -e MYSQL_USER= -e MYSQL_PASSWORD= -e MYSQL_IP= -e MYSQL_PORT= -e MYSQL_DATABASE= 传入Mysql数据库连接信息。
  • 如需做数据持久化存储,可在run的后面加 -v $PWD:/opt 挂载数据卷到宿主机上,避免容器删除数据丢失。
  • 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端口

如果机器多的话,可以选择集群部署

集群部署

主节点部署

sudo docker run -d --name hfish-master -p 21:21 -p 22:22 -p 23:23 -p 69:69 -p 3306:3306 -p 5900:5900 -p 6379:6379 -p 7879:7879 -p 8080:8080 -p 8081:8081 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 9200:9200 -p 11211:11211 --restart=always imdevops/hfish:latest

客户端节点部署

sudo docker run -d --name hfish-client -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 9200:9200 -p 11211:11211 -e CLUSTER_IP=master_ip:7879 -e NODE_NAME=clinet --restart=always imdevops/hfish:latest
  • 7879为集群通信RPC端口
  • 环境变量CLUSTER_IP为集群主节点IP地址
  • 环境变量NODE_NAME为客户端节点名称,集群唯一,不可重名

使用说明

  • 在后续使用过程中,如需修改配置文件或代码。使用如下命令进入容器内修改:docker exec -it 容器名 sh
  • 程序安装路径:/opt/HFish
  • 修改需要重启程序才能生效的,直接重启容器即可
  • 提供的Web Demo仅作功能展示用,可根据需要进行修改
  • 升级部署需要 docker rmi imdevops/hfish:latest 删除本地镜像,在拉取最新镜像

发表评论

电子邮件地址不会被公开。 必填项已用*标注