实战记录:在华为云服务器搭建HFish蜜罐,并解决报告导出失败问题【华为开发者空间】

举报
YueXuan 发表于 2026/01/28 13:35:53 2026/01/28
【摘要】 实战记录:在华为云服务器搭建HFish蜜罐,并解决报告导出失败问题【华为开发者空间】

HFish蜜罐搭建

闲来无事,用一台闲置的华为云服务器配置个HFish蜜罐,系统是CentOS 8。

image-20251106181020300

蜜罐基础知识

蜜罐的定义

蜜罐是一种主动防御的欺骗技术,其核心思想是通过部署虚假的主机、服务或信息作为诱饵,诱导攻击者实施攻击。在此过程中,蜜罐能够记录攻击行为、分析攻击手法与工具,并推断攻击者的意图,从而帮助防御方更清晰地识别威胁,并针对性地提升真实系统的安全防护能力。

蜜罐的优势

  1. 误报率低,告警精准由于蜜罐本身不承载真实业务,正常情况下不应被访问,因此任何对其发起的连接或探测行为都具有较高的可疑性。相较于传统检测设备容易将正常业务请求误判为攻击的情况,蜜罐几乎不会产生误报,能够实现高度可信的安全告警。
  2. 深度交互,信息全面蜜罐可模拟多种业务服务甚至对攻击做出合理响应,从而与攻击者进行深度交互。这使得蜜罐能够获取从初始探测到后续攻击链的完整数据,实现对攻击行为的全流程捕获。尤其在SSL加密通信或工业控制等特殊场景中,蜜罐可有效伪装为目标系统,获取非解密的原始攻击载荷。
  3. 主动诱捕,生成威胁情报传统防护往往在攻击探测阶段即告结束,而蜜罐则能主动吸引攻击者深入交互,如诱使其上传恶意工具、连接C2服务器等。这些行为不仅被完整记录,还可进一步提取为高质量的本地威胁情报,赋能于IDS、防火墙等其他安全设备,实现对特定攻击手法(TTPs)的持续检测与预警。
  4. 部署灵活,扩展性强蜜罐通常以软件形态存在,无需调整现有网络结构,即可灵活部署于物理网络、云环境或边缘节点。其轻量化的特性使其能够作为探针广泛分布于网络末端,将安全事件统一上报至态势感知平台,实现对全网威胁的可视化监控。

蜜罐与威胁情报

蜜罐是高质量威胁情报的稳定来源。通过诱使攻击者暴露其攻击工具、基础设施与行为模式,结合其误报率低、信息详实的特性,蜜罐能够持续产出精准的私有威胁情报。这些情报可整合至本地安全分析平台,有效提升对新型攻击的预见性与防护能力。

安装HFish蜜罐

如果部署的环境为Linux,且可以访问互联网,强烈建议使用一键部署脚本进行安装和配置,在使用一键脚本前,请先配置防火墙。

配置防火墙

以root权限运行以下命令,确保配置防火墙开启TCP/4433、TCP/4434

firewall-cmd --add-port=4433/tcp --permanent   #(用于web界面启动)
firewall-cmd --add-port=4434/tcp --permanent   #(用于节点与管理端通信)
firewall-cmd --reload

image-20251106162714128

可能提示需要开启防火墙,使用如下命令:

image-20251106162510856

systemctl status firewalld
systemctl start firewalld
systemctl status firewalld

image-20251106162558843

一键部署HFish蜜罐

以root权限运行以下一键部署命令,输入“1”,安装并运行。

bash <(curl -sS -L https://hfish.net/webinstall.sh)

image-20251106162834638

出现下面提示,表示成功安装。

image-20251106163213209

安装MySQL

使用 yum 安装

首先,尝试一下直接使用 yum 安装 MySQL

yum install mysql-community-server

安装过程中,会提示让我们确认,一律输入 y 按回车即可

如果出现以下错误:

Loading mirror speeds from cached hostfile
没有可用软件包 mysql-community-server。
错误:无须任何处理

表示我们没有添加安装包的源信息,需要安装 MySQL rpm 源信息

安装 MySQL rpm 源信息

打开 http://dev.mysql.com/downloads/repo/yum/

image-20251106180042285

根据你的系统版本,选择对应的安装包,例如我的是CentOS 7.5,这个系统的Linux内核是 Linux 7,所以我选择了红框内的地址,大家依次类推。

拼接下载地址头:http://dev.mysql.com/get/,得到以下地址

 CentOS 7
 http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
 CentOS 8
 http://dev.mysql.com/get/mysql84-community-release-el8-2.noarch.rpm

使用 wget + 刚才拼接的地址,下载安装包源信息

CentOS 7
wget  http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
CentOS 8
wget http://dev.mysql.com/get/mysql84-community-release-el8-2.noarch.rpm

rpm 安装源信息

CentOS 7
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
CentOS 8
rpm -ivh mysql84-community-release-el8-2.noarch.rpm

禁用 MySQL 模块

如果还是出现错误,需要禁用默认启用的 MySQL 模块。

yum module disable mysql

image-20251106171221748

再次安装

再尝试使用 yum 安装MySQL

yum install mysql-community-server

安装过程中,会提示让我们确认,一律输入 y 按回车即可

检查安装是否成功

检查一下刚才的安装是否成功

rpm -qa | grep mysql

输出:

mysql-community-libs-compat-8.0.33-1.el7.x86_64
mysql-community-icu-data-files-8.0.33-1.el7.x86_64
mysql80-community-release-el7-7.noarch
mysql-community-common-8.0.33-1.el7.x86_64
mysql-community-libs-8.0.33-1.el7.x86_64
mysql-community-server-8.0.33-1.el7.x86_64
mysql-community-client-8.0.33-1.el7.x86_64
mysql-community-client-plugins-8.0.33-1.el7.x86_64

输出类似以上内容,表示安装完成

登录和修改密码

我们安装的时候,并没有设置初始密码

所以 mysql 在第一次启动的时候,会自动初始化一个密码

通过以下这行代码,我们可以查看 mysql 自动初始化的密码:

# 第一次启动后,可以查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log

输出(root@localhost: 后面的是密码):
2023-04-21T06:03:27.071550Z 6 [Note] [MY-010454] [Server] A temporary password
is generated for root@localhost: r2to%yZ%a)%s

登录

# 登录mysql,一定要注意:-p和'密码'之间是没有空格的
mysql -u root -p'r2to%yZ%a)%s'

修改 root 密码

注意了,默认的密码策略,需要:大写英文 + 特殊字符 + 数字

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';

创建需要的HFish数据库

CREATE DATABASE HFish001;
show databases;

image-20251106172357982

登录Web界面

华为云服务器需要添加一条安全组规则,允许访问4433端口

image-20251106181213291

完成安装后,通过以下网址、账号密码登录

登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021

如果管理端的IP是192.168.1.1,则登陆链接为:https://192.168.1.1:4433/web/

注意:访问管理端的URL中必须有/web/目录

image-20251106175157010

初次配置需要选择数据库,端口默认3306,数据库名:HFish001,用户名密码为MySQL的数据库密码

image-20251106164928890

配置成功,等待重启

image-20251106172526860

看到下方的管理界面

image-20251106172711580

配置蜜罐服务

选择“节点管理”,可以配置蜜罐服务

image-20251107113140322

华为云服务器需要相应添加安全组规则,开放端口

image-20251107113313689

CentOS内的firewall也需要开放相应端口

安全组规则:8080,9215,6379,9200,9000,8081,135,139,445,1433,3389

 firewall-cmd --add-port=6379/tcp --add-port=9200/tcp --add-port=9000/tcp --add-port=8081/tcp --add-port=135/tcp --add-port=139/tcp --add-port=445/tcp --add-port=1433/tcp --add-port=3389/tcp --add-port=80/tcp --permanent    //firewall批量添加端口
 
 firewall-cmd --reload

测试http://[ip]:[port],相应的服务已经可以访问了

image-20251107113512203

稍等片刻,就可以看到攻击者的记录了

image-20251107113743753

其它配置

配置白名单

在系统配置内,选择“白名单配置”,填入自己的网段可以减少管理蜜罐时产生的误报

image-20251107114238724

数据大屏

image-20251109152230667

报告导出word无法打开问题解决

我在使用HFish蜜罐导出自动生成的周报时遇到问题,下载下来的word(.docx)文件无法打开,显示错误如下。网上修复的方法试了很多,最后找到一种真正有效的方法。

可以在网站上预览:

image-20251114220404344

image-20251114220427065

通过Word打开显示错误如下:

image-20251114220224883

image-20251114220332844

我的Office版本为2021,2019版本也会遇到这个问题。

562c9b288224fcba368ca2ae21f52afb

解决方法:

使用WPS可以正常打开下载下来的。或者用WPS另存为.doc文件后,word也可以正常打开。

image-20251116223834022

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。