0x00 背景
HFish
是一款基于 Golang
开发的跨平台多功能主动诱导型开源蜜罐框架系统,为了企业安全防护做出了精心的打造,全程记录黑客攻击手段,实现防护自主化。
- 多功能 不仅仅支持
HTTP(S)
蜜罐,还支持SSH
**、SFTP
、Redis
、Mysql
、FTP
、Telnet
、暗网
** 等 - 扩展性 提供
API
接口,使用者可以随意扩展蜜罐模块 (WEB
**、PC
、APP
** ) - 便捷性 使用
Golang
+SQLite
开发,使用者可以在Win
+Mac
+Linux
上快速部署一套蜜罐平台
由于蜜罐系统开启众多端口,外部攻击者通过暴力破解进行扫描端口,会造成HFish崩溃,经过测试,由于并发太高,会造成程序出现异常,导致程序进程退出。
0x01 安装HFish
1.安装运行服务端(升级版本)
说明:适用蜜罐系统维护人员,HFish的版本会更新,例如0.6.4会更新成其他版本
上传软件HFish-0.6.5-linux-amd64到服务器目录:/root
cd /opt
mv /tmp/HFish-0.6.5-linux-amd64 /opt/HFish
cd HFish/
chmod 777 -R db
chmod 755 HFish
chmod 755 upgrade
nohup ./HFish run &
打开web界面:http://10.10.7.8:8099/login
默认用户:admin/=HFish@2020=
更改后的账号密码:admin/fs@ADMIN2021
2. 安装运行客户端(升级版本)
上传软件HFish-0.6.5-linux-amd64到服务器目录:/root
执行命令:
cd /opt
mv /root/HFish-0.6.5-linux-amd64 /opt/HFish
cd HFish/
rm -fr admin images logs static
# 客户端命名:10.10.0.45:dev-01 10.1.21.237:pro-01 10.0.6.227 :pro-02
sed -i 's/Server/dev-01/g' config.ini # 若无sed,则使用vi 编辑,config.ini下的admin配置不要删除。
cp upgrade .hfish_0.6.5_upgrade #该文件主要用于自动升级,若无法联网,则无法升级。
chmod 777 -R db
chmod 755 HFish
chmod 755 .hfish_0.6.5_upgrade
nohup ./HFish run &
0x02 安装supervisor
supervisor是一个用python语言编写的进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编写代码来控制。
关于网上文档纠正:自从 2019年10月发布了Supervisor 4.1.0 ,自该版本起,meld3依赖包已经被替代,无需再进行安装。
平台支持:软件可以运行在Linux (Ubuntu), Mac OS X (10.4, 10.5, 10.6)、 Solaris (10 for Intel) 和 FreeBSD 6.1;不支持在Windows下运行;Python 3.4 或 3.4 + 或者 Python 2.7
官方文档:http://www.supervisord.org/
GitHub地址:https://github.com/Supervisor/supervisor
1.在线安装
当我们的服务器存在网络,可以联网进行安装的的时候,可以使用在线安装的方式。
yum install python-setuptools
easy_install supervisor
echo_supervisord_conf
2.离线安装
下载安装setuptools:https://pypi.org/project/setuptools/ 点击 【Release history】
注意python 和setuptools的版本对应关系,由于此处机器是Python2 ,所以使用:https://pypi.org/project/setuptools/41.0.0/#modal-close
下载安装supervisor:https://github.com/Supervisor/supervisor
解压上传到服务器
[root@HFish setuptools-41.0.0]# python setup.py install
[root@HFish supervisor-4.2.1]# python setup.py install
0x03 supervisor
A.创建 /etc/supervisor 目录:
mkdir /etc/supervisor
B.echo_supervisord_conf 生成supervisord.conf:
echo_supervisord_conf > /etc/supervisor/supervisord.conf
C.修改/etc/supervisor/supervisord.conf文件内容:
vi /etc/supervisor/supervisord.conf
;include
;files = relative/directory/*.ini
改成:
include
files = /etc/supervisor/*.ini
D.创建子进程HFish_monitor.ini
[root@HFish supervisor]# vi /etc/supervisor/HFish.ini
[program:HFish]
command=nohup ./HFish run &
process_name=HFish
directory=/opt/HFish-0.6.4-linux-amd64
autostart=true
startretries=10
autorestart=unexpected
E.指定配置文件启动
supervisord -c /etc/supervisor/supervisord.conf
0x04 运行supervisor
supervisorctl update #重启配置文件修改过的程序,配置没有改动的进程不会收到影响而重启
supervisorctl reload # 载入最新的配置文件,停止原有的进程并按照新的配置启动
supervisorctl status # 查看程序状态
supervisorctl stop HFish # 关闭 program_name 程序
supervisorctl start pHFish # 启动 program_name 程序
supervisorctl restart HFish # 重启 program_name 程序
supervisorctl reread #读取有更新(增加)的配置文件,不会启动新添加的程序,也不会重启任何程序
0x05 参考文章
https://hfish.io/docs/#/deploy/bug
http://www.supervisord.org/installing.html