增加了蜜饵章节,修改了环境要求章节

This commit is contained in:
my417 2021-08-16 15:25:38 +08:00
parent 7b13692a90
commit 5857bab409
4 changed files with 108 additions and 64 deletions

View File

@ -1,7 +1,7 @@
> HFish基本结构 > HFish基本结构
HFish由控制端server和节点端client组成控制端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受控制端的控制并负责构建蜜罐服务。 HFish由管理端server和节点端client组成管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
> HFish各模块关系图 > HFish各模块关系图

View File

@ -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/
```
此外服务端还会开放另外两个端口节点数据回传端口默认为4434SSH服务默认访问端口为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 ```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 - **tcp/4433端口和tcp/22端口 “只能” 被安全区的管理设备访问**
直接部署安装方式服务端的过程中对于Mysql数据的安装和配置需要root权限。Server端的部署和使用不需要root权限。 - **tcp/4434端口“必须能”被蜜罐节点访问**;
```
### 节点端安全要求
### 节点的安全配置 > 节点直接面对攻击者,建议遵循以下安全配置:
> 节点因为是直接面对攻击者的,安全配置是节点安全的重要保障 1. 如果用户同时有外网和内部需求,强烈建议用户分别在外网和内网部署完全独立的两套控制端和节点端;
2. 如果有节点需要能被外网访问那么建议把节点和控制端部署在DMZ区
1. 外网节点和内网节点不能共用 3. 外网节点除了能访问控制端的tcp/4434端口外不能有权限访问内网中的任何资产
2. 如果有节点需要能被外网访问那么建议把节点和服务端部署在DMZ区。 4. 内网节点除了开放蜜罐服务相应端口外其它任何端口都不应该在网络中能被用户访问到。考虑安全区设备有维护节点主机的需求可以向有限的设备开放ssh端口
3. 外网节点除了能访问Server端的4434默认端口外不能有权限访问内网中的任何资产。
4. 内网节点除了开放蜜罐服务相应端口外其它任何端口都不应该在网络中能被用户访问到。考虑安全区设备有维护节点主机的需求可以向有限的设备开放ssh端口。

40
docs/5-3-lures.md Normal file
View File

@ -0,0 +1,40 @@
### 什么是蜜饵
蜜饵泛指任意伪造的高价值文件(例如运维手册、邮件、配置文件等),用于引诱和转移攻击者视线,最终达到牵引攻击者离开真实的高价值资产并进入陷阱的目的。
### 使用场景
HFish的蜜饵在 **牵引** 攻击者的功能上增加了 **精确定位失陷** 能力,即每个蜜饵都是 **唯一的**,攻击者入侵用户主机后,如果盗取蜜饵文件中的数据并从任意主机发起攻击,防守者仍能知道失陷源头在哪里。
举个例子:
```wiki
攻击者侵入企业内部某台服务器在其目录中找到一个payment_config.ini文件文件中包含数据库主机IP地址和账号密码
攻击者为隐藏自己真实入侵路径,通过第三台主机访问数据库主机……
```
在以上场景中payment_config.ini为蜜饵所谓的数据库主机是另外一台位于安全区域的蜜罐而攻击者得到的所谓账号密码也是虚假且唯一的防守者可以根据其得到攻击者真实的横向移动路径。
由于蜜饵只是静态文件所以蜜饵适合部署在任何主机和场景中例如作为附件通过邮件发送检测邮件是否被盗、在攻防演练期间上传到百度网盘或github上混淆攻击者视线、压缩改名成backup.zip放置在Web目录下守株待兔等待攻击者扫描器上钩……
### HFish的蜜饵
HFish的蜜饵模块由 **分发接口****蜜饵** 文件两部分组成,
其中 **分发接口** 实际位于节点端启用或禁用开关位于控制端的节点管理页面任意一个节点的详情页面中默认监听tcp/7878端口
任何一台节点都可以作为节点分发服务器使用,如下图:
![image-20210816142529](http://img.threatbook.cn/hfish/43741629095294_.pic_hd.jpg)
启用后,用户可以从需要部署蜜饵的主机上访问如下地址,得到一个唯一的蜜饵文件:
```shell
wget http://[节点IP]:7878/download/bait -O node_account.conf
```
用户可以在【账号资产】-【蜜饵数据】页面查看到已经生成的蜜饵。

View File

@ -21,6 +21,7 @@
- 威胁实体 - 威胁实体
- [攻击来源](5-1-source) - [攻击来源](5-1-source)
- [账号资产](5-2-asset) - [账号资产](5-2-asset)
- [蜜饵介绍](5-3-lures)
- 系统配置 - 系统配置
- [情报对接](6-1-intel) - [情报对接](6-1-intel)
- [通知配置](6-2-message) - [通知配置](6-2-message)