mirror of
https://gitee.com/lauix/HFish
synced 2025-02-24 03:32:15 +08:00
增加了蜜饵章节,修改了环境要求章节
This commit is contained in:
parent
7b13692a90
commit
5857bab409
@ -1,7 +1,7 @@
|
||||
|
||||
> HFish基本结构
|
||||
|
||||
HFish由控制端(server)和节点端(client)组成,控制端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受控制端的控制并负责构建蜜罐服务。
|
||||
HFish由管理端(server)和节点端(client)组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
|
||||
|
||||
|
||||
> HFish各模块关系图
|
||||
|
129
docs/2-1-env.md
129
docs/2-1-env.md
@ -1,85 +1,88 @@
|
||||
### HFish的网络环境
|
||||
|
||||
> Server端应部署在安全区,只向少部分有网络管理权限和安全分析能力工作的人员和设备开放web和ssh端口
|
||||
|
||||
服务端用于配置管理的web页面开启了https,默认访问端口为4433,默认页面在web目录下。(端口和目录,可以在config.ini中自行配置)。
|
||||
|
||||
```url
|
||||
# 举个例子如果您Server端的ip为192.168.11.11,那么您应该在浏览器中输入如下的URL进行访问。
|
||||
|
||||
https://192.168.11.11:4433/web/
|
||||
```
|
||||
|
||||
此外服务端还会开放另外两个端口,节点数据回传端口默认为4434,SSH服务默认访问端口为22。
|
||||
|
||||
- **tcp/4433端口和tcp/22端口 “只能” 被安全区的管理设备访问**;
|
||||
- **tcp/4434端口“必须能”被蜜罐节点访问**;
|
||||
|
||||
|
||||
|
||||
> HFish服务端会主动访问如下网络域名
|
||||
|
||||
HFish支持IPv4和IPv6地址环境,可以在完全隔离互联网的内部网络工作,但为了最大限度感知真实威胁和对接云端接口消费威胁情报,以及接受自动化升级服务,微步在线强烈建议客户允许HFish服务端访问互联网,为兼顾安全性和服务可用性,推荐用户仅允许HFish服务端主动访问如下网络域名、地址和端口:
|
||||
|
||||
|
||||
|
||||
| 目的IP | 协议/端口 | 对应域名 | 访问目的 |
|
||||
| ------------------------------------------------------------ | --------- | ------------------- | ------------------------------------------------ |
|
||||
| 103.210.21.74 | TCP/443 | hfish.io | 用于官网升级功能,建议开启 |
|
||||
| 该域名使用CDN解析,建议用户在实际网络中解析后开放权限 | TCP/443 | hfish.cn-bj.ufileos.com | 用于分发安装和升级包 |
|
||||
| 106.75.36.224 123.59.72.253 123.59.51.113 106.75.36.226 117.50.17.104 | TCP/443 | api.threatbook.cn | 用于威胁情报查询,如果未启用该功能,无需开放 |
|
||||
| 该域名使用CDN解析,建议用户在实际网络中解析后开放权限 | TCP/443 | open.feishu.cn | 用于飞书告警功能,如果未使用该功能,无需开放 |
|
||||
| 该域名使用CDN解析,建议用户在实际网络中解析后开放权限 | TCP/443 | oapi.dingtalk.com | 用于钉钉告警功能,如果未使用该功能,无需开放 |
|
||||
| 该域名使用CDN解析,建议用户在实际网络中解析后开放权限 | TCP/443 | qyapi.weixin.qq.com | 用于企业微信告警功能,如果未使用该功能,无需开放 |
|
||||
|
||||
|
||||
|
||||
注意:HFish服务端仅需要通过NAT模式访问互联网,基于安全考虑,微步在线不建议用户将HFish服务端管理接口暴露在互联网。
|
||||
|
||||
1. 如果使用邮件通知,请开启相应邮件服务器的访问权限。
|
||||
|
||||
2. 与此同时我们还支持 5 路syslog日志的发送,便于您的安全设备联动。请根据自己的情况开放权限。
|
||||
|
||||
|
||||
|
||||
|
||||
### Server端的资源要求
|
||||
|
||||
|
||||
### 主机资源要求
|
||||
|
||||
> 蜜罐对资源的要求根据攻击数量的区别差异很大,通常来说部署在内网的蜜罐,对性能的要求很低。
|
||||
>
|
||||
> 但接入公网的蜜罐对性能就会有更大的需求。
|
||||
|
||||
针对我们过往的测试的情况,我们给出两个配置,一个最低配置,一个是我们的推进配置。如果您的蜜罐打算接到公网,并有比较大的攻击流量,请跟进资源占用情况,提升主机的配置。
|
||||
针对过往测试情况,我们给出两个配置。注意,如果您的蜜罐部署在互联网,会遭受到较大攻击流量,建议提升主机的配置。
|
||||
|
||||
```wiki
|
||||
最低配置:Server端 1c2g100G、节点1c1g50G
|
||||
最低配置:控制端 1c2g100G、节点端 1c1g50G
|
||||
|
||||
建议配置:Server端 2c4g200G、节点1c2g50G
|
||||
建议配置:控制端 2c4g200G、节点端 1c2g50G
|
||||
|
||||
日志磁盘占用,受攻击数量影响较大,我们建议Server端配置200G硬盘空间以上。
|
||||
(日志磁盘占用,受攻击数量影响较大,我们建议控制端配置200G硬盘空间以上)
|
||||
```
|
||||
|
||||
### 联网要求
|
||||
|
||||
> HFish控制端会主动访问如下网络域名
|
||||
|
||||
HFish支持IPv4和IPv6地址环境,可以在完全隔离互联网的内部网络工作,但为了最大限度感知真实威胁和对接云端接口消费威胁情报,以及接受自动化升级服务,微步在线强烈建议客户允许HFish控制端访问互联网,为兼顾安全性和服务可用性,推荐用户仅允许HFish控制端主动访问如下网络域名、地址和端口:
|
||||
|
||||
| 目的IP | 协议/端口 | 对应域名 | 访问目的 |
|
||||
| ------------------------------------------------ ------- | --------- | ------------------- | ------------------------------------------------ |
|
||||
| 103.210.21.74 | TCP/443 | hfish.io | 用于官网升级功能,建议开启 |
|
||||
| 该域名使用CDN解析,建议在实际网络中解析后开放权限 | TCP/443 | hfish.cn-bj.ufileos.com | 用于分发安装和升级包 |
|
||||
| 106.75.36.224 123.59.72.253 123.59.51.113 106.75.36.226 117.50.17.104 | TCP/443 | api.threatbook.cn | 用于威胁情报查询,如果未启用该功能,无需开放 |
|
||||
| 该域名使用CDN解析,建议在实际网络中解析后开放权限 | TCP/443 | open.feishu.cn | 用于飞书告警功能,如果未使用该功能,无需开放 |
|
||||
| 该域名使用CDN解析,建议在实际网络中解析后开放权限 | TCP/443 | oapi.dingtalk.com | 用于钉钉告警功能,如果未使用该功能,无需开放 |
|
||||
| 该域名使用CDN解析,建议在实际网络中解析后开放权限 | TCP/443 | qyapi.weixin.qq.com | 用于企业微信告警功能,如果未使用该功能,无需开放 |
|
||||
|
||||
|
||||
|
||||
注意:
|
||||
|
||||
1. HFish控制端仅需要通过NAT模式访问互联网,基于安全考虑,不建议用户将HFish控制端控制端口TCP/4433暴露在互联网;
|
||||
|
||||
2. 如果使用邮件通知,请开启相应邮件服务器的访问权限;
|
||||
|
||||
3. HFish支持 5 路syslog日志发送,便于与安全设备联动,请根据实际情况开放权限;
|
||||
|
||||
|
||||
|
||||
### 部署权限要求
|
||||
|
||||
> 控制端对root权限的需求
|
||||
|
||||
```wiki
|
||||
1. 如果您使用的是官网推荐的install.sh脚本安装,安装目录被释放到opt目录下,过程需要root权限;
|
||||
|
||||
2. 如果您下载安装包手动安装,在默认使用SQLite数据库情况下,控制端的部署和使用不需要root权限,但如何替换SQLite改为MySQL数据,则MySQL安装和配置需要root权限;
|
||||
```
|
||||
|
||||
> 节点端对root权限的需求
|
||||
|
||||
```wiki
|
||||
节点端安装和运行无需root权限,但是由于操作系统限制,非root权限运行的节点无法监听低于tcp/1024的端口;
|
||||
```
|
||||
|
||||
|
||||
### 控制端安全要求
|
||||
|
||||
### Server端的权限审核
|
||||
> 控制端应部署在安全区,只向少部分有网络管理权限和安全分析能力工作的人员和设备开放web和ssh端口
|
||||
|
||||
控制端用于配置管理的web页面开启了https,默认访问端口为tcp/4433,端口和登录URL,可以在config.ini中自行配置。
|
||||
|
||||
如果控制端主机的IP为192.168.11.11,那么应该在浏览器中输入如下的URL进行访问。
|
||||
|
||||
https://192.168.11.11:4433/web/
|
||||
|
||||
|
||||
此外控制端还会开放另外两个端口,节点数据回传端口tcp/4434和SSH服务默认访问端口tcp/22。
|
||||
|
||||
> 对root权限的需求
|
||||
强烈建议:
|
||||
|
||||
```wiki
|
||||
直接部署安装方式服务端的过程中,对于Mysql数据的安装和配置需要root权限。Server端的部署和使用不需要root权限。
|
||||
```
|
||||
- **tcp/4433端口和tcp/22端口 “只能” 被安全区的管理设备访问**;
|
||||
- **tcp/4434端口“必须能”被蜜罐节点访问**;
|
||||
|
||||
|
||||
### 节点端安全要求
|
||||
|
||||
### 节点的安全配置
|
||||
> 节点直接面对攻击者,建议遵循以下安全配置:
|
||||
|
||||
> 节点因为是直接面对攻击者的,安全配置是节点安全的重要保障
|
||||
|
||||
1. 外网节点和内网节点不能共用
|
||||
2. 如果有节点需要能被外网访问,那么建议把节点和服务端部署在DMZ区。
|
||||
3. 外网节点除了能访问Server端的4434(默认)端口外,不能有权限访问内网中的任何资产。
|
||||
4. 内网节点除了开放蜜罐服务相应端口外,其它任何端口都不应该在网络中能被用户访问到。考虑安全区设备有维护节点主机的需求,可以向有限的设备开放ssh端口。
|
||||
1. 如果用户同时有外网和内部需求,强烈建议用户分别在外网和内网部署完全独立的两套控制端和节点端;
|
||||
2. 如果有节点需要能被外网访问,那么建议把节点和控制端部署在DMZ区;
|
||||
3. 外网节点除了能访问控制端的tcp/4434端口外,不能有权限访问内网中的任何资产;
|
||||
4. 内网节点除了开放蜜罐服务相应端口外,其它任何端口都不应该在网络中能被用户访问到。考虑安全区设备有维护节点主机的需求,可以向有限的设备开放ssh端口;
|
||||
|
40
docs/5-3-lures.md
Normal file
40
docs/5-3-lures.md
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
### 什么是蜜饵
|
||||
|
||||
蜜饵泛指任意伪造的高价值文件(例如运维手册、邮件、配置文件等),用于引诱和转移攻击者视线,最终达到牵引攻击者离开真实的高价值资产并进入陷阱的目的。
|
||||
|
||||
### 使用场景
|
||||
|
||||
HFish的蜜饵在 **牵引** 攻击者的功能上增加了 **精确定位失陷** 能力,即每个蜜饵都是 **唯一的**,攻击者入侵用户主机后,如果盗取蜜饵文件中的数据并从任意主机发起攻击,防守者仍能知道失陷源头在哪里。
|
||||
|
||||
举个例子:
|
||||
|
||||
```wiki
|
||||
攻击者侵入企业内部某台服务器,在其目录中找到一个payment_config.ini文件,文件中包含数据库主机IP地址和账号密码,
|
||||
攻击者为隐藏自己真实入侵路径,通过第三台主机访问数据库主机……
|
||||
```
|
||||
|
||||
在以上场景中,payment_config.ini为蜜饵,所谓的数据库主机是另外一台位于安全区域的蜜罐,而攻击者得到的所谓账号密码也是虚假且唯一的,防守者可以根据其得到攻击者真实的横向移动路径。
|
||||
|
||||
由于蜜饵只是静态文件,所以蜜饵适合部署在任何主机和场景中,例如作为附件通过邮件发送(检测邮件是否被盗)、在攻防演练期间上传到百度网盘或github上混淆攻击者视线、压缩改名成backup.zip放置在Web目录下守株待兔等待攻击者扫描器上钩……
|
||||
|
||||
|
||||
### HFish的蜜饵
|
||||
|
||||
HFish的蜜饵模块由 **分发接口** 和 **蜜饵** 文件两部分组成,
|
||||
|
||||
其中 **分发接口** 实际位于节点端,启用或禁用开关位于控制端的节点管理页面任意一个节点的详情页面中,默认监听tcp/7878端口,
|
||||
|
||||
任何一台节点都可以作为节点分发服务器使用,如下图:
|
||||
|
||||

|
||||
|
||||
|
||||
启用后,用户可以从需要部署蜜饵的主机上访问如下地址,得到一个唯一的蜜饵文件:
|
||||
|
||||
```shell
|
||||
wget http://[节点IP]:7878/download/bait -O node_account.conf
|
||||
```
|
||||
|
||||
用户可以在【账号资产】-【蜜饵数据】页面查看到已经生成的蜜饵。
|
||||
|
@ -21,6 +21,7 @@
|
||||
- 威胁实体
|
||||
- [攻击来源](5-1-source)
|
||||
- [账号资产](5-2-asset)
|
||||
- [蜜饵介绍](5-3-lures)
|
||||
- 系统配置
|
||||
- [情报对接](6-1-intel)
|
||||
- [通知配置](6-2-message)
|
||||
|
Loading…
Reference in New Issue
Block a user