蜜罐的搭建及使用
今天整理电脑和备份的时候才发现好多文章都丢了。按时备份确实是应该养成的良好习惯
蜜罐介绍
蜜罐(Honeypot)是一种安全机制,用于诱捕和检测未经授权的用户或黑客。它的核心思想是在网络中设置一个看似有价值的目标,吸引攻击者前来尝试入侵。一旦攻击者接触到蜜罐,安全团队就可以监控他们的行为,收集有关攻击者的信息,甚至反向追踪攻击来源。
蜜罐可以分为以下几类:
低交互蜜罐:这类蜜罐仅提供有限的交互功能,模拟常见的服务和漏洞。它们易于部署和维护,但可能无法捕获高度定制化的攻击。
高交互蜜罐:这类蜜罐提供更真实的系统和服务环境,允许攻击者进行更深入的交互。它们可以提供更多的攻击信息,但部署和维护成本较高。
生产蜜罐:这类蜜罐部署在生产环境中,与真实系统共存。它们可以实时监测和分析针对生产环境的攻击行为。
研究蜜罐:这类蜜罐专门用于研究目的,帮助安全研究人员了解攻击者的行为和动机,以及新兴的攻击技术。
蜜罐的优点包括:
- 捕获零日攻击:蜜罐可以检测到尚未公开的漏洞攻击。
- 了解攻击者行为:通过监控蜜罐中的攻击行为,安全团队可以了解攻击者的意图和技术。
- 保护真实资产:蜜罐可以将攻击者的注意力从真实系统转移到虚假目标上,降低真实系统的风险。
然而,蜜罐也存在一些局限性,如可能被误认为真实系统、可能泄露敏感信息给攻击者等。因此,在部署蜜罐时,需要权衡利弊并谨慎实施。
蜜罐搭建
本文采用的是微步旗下免费蜜罐HFish 它是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。
Fish支持基本网络 服务、OA系统、CRM系统、NAS存储系统、Web服务器、运维平台、安全产品、无线AP、交换机/路由器、邮件系统、IoT设备等90多种蜜罐服务、支持用户制作自定义Web蜜罐、支持流量牵引到免费云蜜网、支持可开关的全端口扫描感知能力、支持可自定义的蜜饵配置、一键部署、跨平台多架构,支持Linux x32/x64/ARM、Windows x32/x64平台和多种国产操作系统、支持龙芯、海光、飞腾、鲲鹏、腾云、兆芯等国产CPU、极低的性能要求、邮件/syslog/webhook/企业微信/钉钉/飞书告警等多项特性,帮助用户降低运维成本,提升运营效率。拿来玩还是一款不错的蜜罐
直接用docker进行部署即可
安装docker环境
yum install -y docker-ce //安装docker
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //关闭防火墙自启
systemctl start docker //开启docker服务
如已经安装docker请忽略这一步
安装运行HFish
docker run -itd --name hfish \
-v /usr/share/hfish:/usr/share/hfish \
--network host \
--privileged=true \
threatbook/hfish-server:latest
直接全部复制然后粘贴运行即可,下图为正在安装和安装完毕
dockers ps -a //可以看到HFish已存在
配置后续自动升级,这也是用docker安装的好处,不需要手动升级蜜罐,一样全部复制粘贴运行即可
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
--label=com.centurylinklabs.watchtower.enable=false \
--privileged=true \
containrrr/watchtower \
--cleanup \
hfish \
--interval 3600
二次登录
当你之前已经安装好后,下次就不需要安装直接开启容器即可
docker ps -a //查看已经安装的容器
docker start hfish //启动hfish
部署登录HFish
登陆地址:https://[server]:4433/web/
初始用户名:admin
初始密码:HFish2021
登录进去后可以发现,首先要先连接数据库才能正常使用,这里我本地是MySQL我就用了
修改数据库远程登录
注意数据库需要设置所有人均可远程登录,否则会连接失败
mysql -uroot -p //连接数据库
use localhost //使用localhost
update user set host = '%' where user = 'root'; //将数据库里面的“user”表里面“host”的“localhost”改为“%”。“%”是允许所有远程都允许远程连接连接,
flush privileges; //刷新权限
select host,user from user; //查看是否修改成功
现在即可连接成功
如果我们想部署在外网的话,SQLite不适应大数据环境和频繁读写的情况,而外网环境一般会遭受较大的流量或频繁的攻击,因此选择MySQL进行部署。
也可以在平台管理的系统配置中进行更换,注意不支持MySQL数据库降级回SQLite,这里MySQL需要自行搭建并创建供HFish存储的库,部署在与HFish相同服务器上的话需要修改端口
使用
可以看到内置了一些默认部署的节点
拿xray扫一下试试,可以看到效果
hifish检测到攻击
查看详细攻击信息以及数据包
可以在节点管理选项中添加新的蜜罐,例如这里添加一个绿盟防火墙蜜罐
在攻击列表中可以看到检测到了攻击
更多玩法可以访问官方文档进行查阅学习: