赞
踩
目录
蜜罐 技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务 或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获 和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
误报少,告警准确
蜜罐作为正常业务的 "影子" 混淆在网络中,正常情况下不应被触碰,每次触碰都可以视为威胁行为。例如,在其它检测型产品中,将正常请求误判为攻击行为的误报很常见,而对于蜜罐来说,几乎不存在正常请求,即使有也是探测行为。
检测深入,信息丰富
不同于其它检测型安全产品,蜜罐可以模拟业务服务甚至对攻击的响应,完整获取整个交互的所有内容,最大深度的获得攻击者探测行为之后的N个步骤,可检测点更多,信息量更大。
例如,对于SSL加密 或工控环境,蜜罐可以轻松伪装成业务,得到完整攻击数据。
主动防御,预见未来,生产情报
在每个企业,几乎每分钟都在发生这样的场景:潜伏在互联网角落中的攻击者发起一次攻击探测,防守方业务不存在安全漏洞,IDS告警后事情就不了了之了。
而应用蜜罐型产品后,转换为主动防御思路: 蜜罐响应了攻击探测,诱骗攻击者认为存在漏洞,进而发送了更多指令,包括从远端地址下载木马程序,而这一切不仅被完整记录下来,还可以转化为威胁情报供给传统检测设备,用于在未来的某个时刻,准确检测主机失陷。
可以发现,转换为主动防护思路后,威胁检测由针对单次、多变的攻击上升到应用威胁情报甚至TTPs(Tactics,Techniques, and Procedures)检测。
*失陷指标(Indicators of Compromise,IOC)
环境依赖少,拓展视野
由于是融入型安全产品,蜜罐不需要改动现有网络结构,并且很多蜜罐是软件形态,对各种虚拟和云环境非常友好,部署成本低。 蜜罐可以广泛部署于云端和接入交换机下游末梢网络中,作为轻量级探针,将告警汇聚到态势感知或传统检测设备中分析和展示。
显而易见蜜罐 是非常准确、稳定和恰当的情报感知探针。 蜜罐最大的价值是诱使攻击者展示其能力和资产,再配合误报少,信息丰富等一系列优势,配合态势感知或本地情报平台可以稳定生产私有威胁情报。
HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。
HFish具有超过40种蜜罐环境、提供免费的云蜜网、可高度自定义的蜜饵能力、一键部署、跨平台多架构、国产操作系统和CPU支持、极低的性能要求、邮件/syslog/webhook/企业微信/钉钉/飞书告警等多项特性,帮助用户降低运维成本,提升运营效率。
HFish采用B/S架构,系统由管理端和节点端组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
在HFish中,管理端只用于数据的分析和展示,节点端进行虚拟蜜罐,最后由蜜罐来承受攻击。
在最小化测试的情况,您可以直接通过安装管理端,通过管理端内的内置节点,直接进行蜜罐服务测试。
HFish当前具备如下几个特点:
安全可靠:主打低中交互蜜罐,简单有效;
功能丰富:支持基本网络 服务、OA系统、CRM系统、NAS存储系统、Web服务器、运维平台、无线AP、交换机/路由器、邮件系统、IoT设备等40多种蜜罐服务,支持用户制作自定义Web蜜罐,支持用户进行流量牵引到云蜜网、可开关的扫描感知能力、支持可自定义的蜜饵配置;
开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业微信、飞书、自定义WebHook告警输出;
快捷管理:支持单个安装包批量部署,支持批量修改端口和服务;
跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台、国产操作系统、龙芯、海光、飞腾、鲲鹏、腾云、兆芯硬件。
HFish支持的部署主机
HFish采用B/S架构,系统由管理端和节点端组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
Windows | Linux X86 | |
---|---|---|
管理端(Server) | 支持64位 | 支持64位 |
节点端(Client) | 支持64位和32位 | 支持64为和32位 |
HFish内网所需配置
通常来说部署在内网的蜜罐,对性能的要求较低,接入公网的蜜罐会有更大的性能需求。
针对过往测试情况,我们给出两个配置。注意,如果您的蜜罐部署在互联网,会遭受到较大攻击流量,建议提升主机的配置。
管理端 | 节点端 | |
---|---|---|
建议配置 | 2核4g200G | 1核2g50G |
最低配置 | 1核2g100G | 1核1g50G |
注意:日志磁盘占用情况受攻击数量影响较大,建议管理端配置200G以上硬盘空间。
HFish外网所需配置(必须更换mysql数据库)
通常说接入公网的蜜罐会有更大的性能需求。
针对过往测试情况,我们给出两个配置。注意,如果您的蜜罐部署在互联网,会遭受到较大攻击流量,建议提升主机的配置。
管理端(必须更换mysql数据库) | 节点端 | |
---|---|---|
建议配置 | 5个节点以内,4核8g200G。 | 1核2g50G |
最低配置 | 2核4g100G | 1核1g50G |
注意:日志磁盘占用情况受攻击数量影响较大,建议管理端配置200G以上硬盘空间。
部署权限要求
管理端对root权限的需求
如果使用官网推荐的install.sh脚本安装,需要root权限,安装目录会位于opt目录下;
如果下载安装包手动安装,在默认使用SQLite数据库情况下,管理端的部署和使用不需要root权限,但如果要替换SQLite改为MySQL数据,则MySQL安装和配置需要root权限;
节点端对root权限的需求
节点端安装和运行无需root权限,但是由于操作系统限制,非root权限运行的节点无法监听低于tcp/1024的端口;
特别注意:Centos 是我们的原生开发和主力测试系统,我们最优推荐各位使用Centos系统进行安装。
当前HFish启动后会有两个进程,其中"hfish"进程为管理进程,负责监测、拉起和升级蜜罐主程序,"管理端"进程为蜜罐主程序进程,其执行蜜罐软件程序。
Linux版本HFish管理端数据库及配置文件都存储在 /usr/share/hfish 目录下,重装时会自动读取目录下的配置和数据。
如果您部署的环境为Linux,且可以访问互联网。我们为您准备了一键部署脚本进行安装和配置,在使用一键脚本前,请先配置防火墙
请防火墙开启4433、4434,确认返回success(如之后蜜罐服务需要占用其他端口,可使用相同命令打开。)
- firewall-cmd --add-port=4433/tcp --permanent #(用于web界面启动)
- firewall-cmd --add-port=4434/tcp --permanent #(用于节点与管理端通信)
- firewall-cmd --reload
使用root用户,运行下面的脚本。
bash <(curl -sS -L https://hfish.net/webinstall.sh)
完成安装
- 登陆链接:https://[ip]:4433/web/
- 账号:admin
- 密码:HFish2021
本次测试使用Linux下联网环境安装,其他环境安装请参考官方手册。
测试环境是我的VPS。
选择1,安装和运行HFish
等待安装完毕。
配置VPS的防火墙后可以打开管理界面(注意url后写全部包括web)
自己测试使用SQLite数据库。
首先修改密码,因为部署在互联网。
登录以后可以看到节点状态和攻击状态
管理端部署完成后,访问Web管理页面始终无法打开
解决办法:
1、确认浏览器访问地址是 https://[server]:4433/web/,注意不可缺少“/web/”这个路径
2、确认管理端进程的运行情况和TCP/4433端口开放情况,如果不正常需要重启管理端进程
- # 检查 hfish-server的进程是否运行正常
- ps ax | grep ./hfish | grep -v grep
-
- # 检查TCP/4433端口是否正常开放
- ss -ntpl
3、检查管理端主机是否开启了防火墙,导致目前无法访问,必要情况,考虑关闭防火墙
- #centos7 检查防火墙状态
- systemctl status firewalld
-
- #centos7 检查防火墙开放端口
- firewall-cmd --list-ports
4、Linux环境使用date命令确认系统时间的准确
5、如果以上都没有问题,请将server和client日志提供给我们
- 节点端日志在安装目录的logs文件夹内,文件名为client.log
- Linux管理端日志在/usr/share/hfish/log文件夹内,文件名为server.log
- Windows管理端日志在C:\Users\Public\hfish\log文件夹内,文件名为server.log
节点状态为红色离线
解决办法:
1、检查节点到管理端的网络连通情况,以下是几种常见情况
- 节点每60秒连接管理端的TCP/4434端口一次,180秒内连接不上即显示为离线。
- 刚完成部署或网络不稳定的时候会出现显示为离线。
- 通常情况,等待2~3分钟,如果节点恢复绿色在线,那蜜罐服务也会从绿色启用,变成绿色在线。
2、如果确认网络访问正常,节点在管理端上始终离线,需要检查节点上的进程运行情况。如果进程运行异常,需要杀死全部关联进程后,重启进程,并记录错误日志。
- # 检查./client的进程是否运行正常
- ps ax | grep -E 'services|./client' | grep -v grep
如果以上都没有问题,请将server和client日志提供给我们
- 节点端日志在安装目录的logs目录内,文件名为client.log
- Linux管理端日志在/usr/share/hfish/log文件夹内,文件名为server.log
- Linux管理端日志在C:\Users\Public\hfish\log文件夹内,文件名为server.log
-
- Linux节点端后台运行方案:
- nohup .~/client >>nohup.out 2>&1 &
-
- Linux开机自启动方案
- echo 'nohup .~/client >>nohup.out 2>&1 &' >> /etc/rc.local
-
- Linux定时任务方案
- echo '* * * * * nohup .~/client >>nohup.out 2>&1 &' >> /var/spool/cron/crontabs/root
节点在线,部分蜜罐服务在线,部分蜜罐服务离线
可通过触碰状态旁边的问号,确认离线原因。
bind:address already in use解决办法:
该报错情况往往是因为端口冲突
- 这个问题常见默认22端口的SSH服务,刚启动client的时候服务在线,过了一会儿后服务离线。
- 使用ss -ntpl命令检查该蜜罐服务的端口是否被占用?如果被占用,建议修改该业务的默认端口。
-
- Windows操作系统上,如果用户启用了tcp端口监听,大概率会发现TCP 135、139、445、3389端口冲突,
- 这是用于Windows默认占用了这些端口,不建议在Windows上监听TCP 135、139、445、3389端口。
-
- Linux操作系统端口冲突解决方案:
- lsof -i:[port]
- kill [pin]
- 重新启用该端口的蜜罐
**变更服务模板后,蜜罐新服务访问不到 **
- 在HFish当前的产品结构中,管理端**永远不会**主动连接节点进行节点配置的变更。
- 管理端仅负责生成一个配置,等待节点每60秒尝试连接管理端拉取。
-
- 蜜罐服务被攻击的结果,会实时上报到管理端。
=========================================================
以上内容大部分参考HFish官方文档,本篇是介绍和安装,下篇计划更新详细使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。