增加了蜜罐优势段落

This commit is contained in:
my417 2021-08-11 14:55:24 +08:00
parent b8eeee9018
commit 1ba797c4ee
6 changed files with 131 additions and 84 deletions

View File

@ -1,6 +1,48 @@
**蜜罐** 技术本质上是一种对攻击方进行 **欺骗的技术**,通过布置一些作为 **诱饵的主机**、**网络服务** 或者 **信息**,诱使攻击方对它们实施攻击,从而可以对攻击行为进行 **捕获****分析**,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
**蜜罐** 好比是 **情报收集系统**。蜜罐好像是故意让人攻击的目标,**引诱黑客前来攻击**。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。 ### 什么是蜜罐
**蜜罐** 技术本质上是一种对攻击方进行 **欺骗的技术**,通过布置一些作为 **诱饵的主机**、**网络服务** 或者 **信息**,诱使攻击方对它们实施攻击,从而可以对攻击行为进行 **捕获****分析**,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
### 蜜罐的优势
> **误报少,告警准确**
蜜罐作为正常业务的 "**影子**" 混淆在网络中,正常情况下不应被触碰,每次触碰都可以视为威胁行为。
例如,在其它检测型产品中,将正常请求误判为攻击行为的误报很常见,而对于蜜罐来说,几乎不存在正常请求,即使有也是探测行为。
> **检测深入,信息丰富**
不同于其它检测型安全产品,蜜罐可以 **模拟业务服务甚至对攻击的响应**完整获取整个交互的所有内容最大深度的获得攻击者探测行为之后的N个步骤可检测点更多信息量更大。
例如对于SSL加密或工控环境蜜罐可以轻松伪装成业务得到完整攻击数据。
> **主动防御,预见未来,生产情报**
在每个企业,几乎每分钟都在发生这样的场景:
潜伏在互联网角落中的攻击者发起一次攻击探测防守方业务不存在安全漏洞IDS告警后事情就不了了之了。
而应用蜜罐型产品后,转换为 **主动防御思路**
蜜罐响应了攻击探测,诱骗攻击者认为存在漏洞,进而发送了更多指令,包括从远端地址下载木马程序,而这一切不仅被完整记录下来,还可以转化为威胁情报供给传统检测设备,用于在未来的某个时刻,准确检测主机失陷。
可以发现,转换为主动防护思路后, **威胁检测由针对单次、多变的攻击上升到应用威胁情报甚至TTPs检测**
> **环境依赖少,拓展视野**
由于是融入型安全产品,蜜罐**不需要**改动现有网络结构,并且很多蜜罐是软件形态,对各种虚拟和云环境非常友好,部署成本低。
蜜罐可以广泛部署于**云端**和**接入交换机下游末梢网络中**,作为**轻量级探针**,将告警汇聚到态势感知或传统检测设备中分析和展示。
### 蜜罐和威胁情报的关系
显而易见 **蜜罐** 是非常准确、稳定和恰当的 **情报感知探针**
蜜罐最大的价值是 **诱使攻击者展示其能力和资产**,再配合误报少,信息丰富等一系列优势,配合态势感知或本地情报平台可以稳定生产私有威胁情报。

View File

@ -1,6 +1,6 @@
### 常见问题排查 ### 常见问题排查
> 节点红色离线而蜜罐服务却是绿色的启用? > 节点状态为红色离线,蜜罐服务却是绿色启用?
![](https://hfish.cn-bj.ufileos.com/images/WechatIMG3065.jpg) ![](https://hfish.cn-bj.ufileos.com/images/WechatIMG3065.jpg)
@ -11,26 +11,26 @@
1. 检查节点到管理端的网络连通情况,并等待…… 1. 检查节点到管理端的网络连通情况,并等待……
```shell ```shell
节点每90秒连接server的4433端口一次180秒内连接不上即显示离线。 节点每90秒连接server的TCP/4433端口一次180秒内连接不上即显示离线。
在刚刚完成部署或网络不稳定的时候会出现这种情况。 在刚刚完成部署或网络不稳定的时候会出现这种情况。
这种时候等2~3分钟如果节点恢复绿色在线那通常过一会儿蜜罐服务也会从绿色的启用变成绿色的在线。 通常情况等待2~3分钟如果节点恢复绿色在线那蜜罐服务也会从绿色启用变成绿色在线。
``` ```
2. 检查管理端防火墙以及ACL策略是否放行了节点对server 4434端口访问的权限 2. 检查管理端防火墙以及ACL策略是否放行了节点对server 4434端口访问
```shell ```shell
#可以用wget进行测试 # 从节点主机发起wget测试
wget 127.0.0.1:4433 wget [服务器地址]:4434
``` ```
3. 如果确认网络访问正常节点在server那里始终离线,需要检查节点上的进程运行情况。如果进程运行异常,需要杀死全部关联进程后,重启进程,并记录错误日志。 3. 如果确认网络访问正常节点在server始终离线,需要检查节点上的进程运行情况。如果进程运行异常,需要杀死全部关联进程后,重启进程,并记录错误日志。
```shell ```shell
#检查./client的进程是否运行正常 # 检查./client的进程是否运行正常
ps aux | grep client ps ax | grep -E 'services|./client' | grep -v grep
#检查./service的进程是否运行正常 # 检查./service的进程是否运行正常
ps aux | grep service ps ax | grep ./server | grep -v grep
``` ```
@ -39,25 +39,28 @@
解决办法: 解决办法:
1. 确认server进程的运行情况和4433端口开放情况如果不正常需要重启server进程并记录错误日志 1. 确认浏览器访问地址是 https://[server]:4433/web/注意不可缺少“web”这个路径
2. 确认server进程的运行情况和4433端口开放情况如果不正常需要重启server进程并记录错误日志
```shell ```shell
#检查./server的进程是否运行正常 # 检查./server的进程是否运行正常
ps aux | grep server ps ax | grep ./server | grep -v grep
#检查端口是否正常开放 # 检查tcp/4433端口是否正常开放
ss -ntpl ss -ntpl
#节点端日志在安装目录下client/logs文件夹内,文件名称为
client.log
#蜜罐服务的日志在节点端安装目录下client/service/蜜罐服务名称 文件夹,文件名称为
蜜罐服务名称.log 蜜罐服务名称.log
``` ```
2. 检查堡垒机是否开放了对server4433端口的访问 3. 检查server主机是否开启了防火墙
4. 如果以上都没有问题请将server和client日志提供给我们
```shell
# 节点端日志在安装目录的logs文件夹内文件名为client.log
# 控制端日志在安装目录的logs文件夹内文件名为server-*.log
```
> 节点在线,部分蜜罐服务在线,部分蜜罐服务离线 > 节点在线,部分蜜罐服务在线,部分蜜罐服务离线
@ -65,28 +68,29 @@
1. 确认蜜罐服务进程是否还在运行? 1. 确认蜜罐服务进程是否还在运行?
```shell ```shell
#检查./service的进程是否运行正常 # 检查service的进程是否运行正常如果进程退出建议查看service的日志
ps aux | grep service ps ax | grep service | grep -v grep
```
#如果进程确实挂了,查看服务的日志
```
2. 确认是否端口冲突? 2. 确认是否端口冲突?
```shell ```shell
这个问题常见默认22端口的SSH服务刚启动client的时候服务在线过了一会儿后服务离线。 这个问题常见默认22端口的SSH服务刚启动client的时候服务在线过了一会儿后服务离线。
用ss -ntpl检查该蜜罐服务的端口是否被占用如果被占用建议修改该业务的默认端口。 用ss -ntpl检查该蜜罐服务的端口是否被占用如果被占用建议修改该业务的默认端口。
```
在Windows操作系统上如果用户启用了tcp端口监听大概率会发现tcp 135、139、445、3389端口冲突
这是用于Windows默认占用了这些端口不太建议在Windows上使用tcp 135、139、445、3389端口的蜜罐。
```
> 变更服务模板后,蜜罐新服务访问不到 > 变更服务模板后,蜜罐新服务访问不到
```shell ```shell
在HFish当前的产品结构中管理端永远不会主动连接节点进行节点配置的变更。 在HFish当前的产品结构中管理端永远不会主动连接节点进行节点配置的变更。
而是在管理端上生成一个配置,等待节点来拉取。 而是在管理端上生成一个配置,等待节点来拉取。
节点每90秒尝试连接管理端一次获取到变更数据后还需要从管理端上拉取新的服务解压服务包并运行。 节点每90秒尝试连接管理端一次获取到变更数据后还需要从管理端上拉取新的服务解压服务包并运行。
运行服务的结果会在下一个90秒回连时上报到管理端。 运行服务的结果会在下一个90秒回连时上报到管理端。
这个流程最慢的话可能会有一个3分钟左右延时。 这个流程最慢的话可能会有一个3分钟左右延时。
所以刚刚变更蜜罐服务后,请大家稍微等等。 所以刚刚变更蜜罐服务后,请大家稍微等等。
``` ```

View File

@ -1,5 +1,6 @@
- HFish介绍 - HFish介绍
- [什么是蜜罐](1-1-honeypot) - [什么是蜜罐](1-1-honeypot)
- [使用场景](1-4-honeypot)
- [HFish特点](1-2-spec) - [HFish特点](1-2-spec)
- [HFish原理](1-3-workflow) - [HFish原理](1-3-workflow)
- 快速开始 - 快速开始

View File

@ -11,7 +11,7 @@
2.新增TCP端口监听服务支持最高对10个自定义端口的灵活监听。 2.新增TCP端口监听服务支持最高对10个自定义端口的灵活监听。
3.新增蜜罐服务的支持单个节点最高可添加10种蜜罐服务。 3.新增蜜罐服务的支持单个节点最高可添加10种蜜罐服务。
4.新增windows开机自启动能力防止意外关机导致的程序退出。 4.新增windows开机自启动能力防止意外关机导致的程序退出。
5.修复告警策略中,修改配置不生效的问题 5.修复告警策略中,修改配置不生效的问题。
6.修复数据清理时扫描数据攻击IP及账号资产未进行清理的问题。 6.修复数据清理时扫描数据攻击IP及账号资产未进行清理的问题。
7.修复部分使用交互问题。 7.修复部分使用交互问题。
``` ```
@ -30,41 +30,41 @@
```wiki ```wiki
HFish HFish
│ server #控制端文件 │ server #控制端文件
│ config.ini #控制端配置文件 │ config.ini #控制端配置文件
│ README.md #安装使用说明 │ README.md #安装使用说明
│ version #版本信息 │ version #版本信息
│ ssl.key #SSL私钥 │ ssl.key #SSL私钥
│ ssl.pem #SSL证书 │ ssl.pem #SSL证书
│ tools #控制台工具目前功能为重置控制台web登录密码 │ tools #控制台工具目前功能为重置控制台web登录密码
└───db └───db
│ │ hfish.db #sqlite数据 │ │ hfish.db #sqlite数据
│ │ ipip.ipdb #ip归属地信息 │ │ ipip.ipdb #ip归属地信息
│ │ │ │
│ └───sql │ └───sql
│ └───mysql │ └───mysql
│ │ V<% version %>__mysql.sql #mysql数据库用户升级文件 │ │ V<% version %>__mysql.sql #mysql数据库用户升级文件
│ │ │ │
│ └───sqlite │ └───sqlite
│ │ V<% version %>__sqlite.sql #sqlite数据库用户升级文件 │ │ V<% version %>__sqlite.sql #sqlite数据库用户升级文件
└───logs └───logs
│ │ server-年-月-日.log #server日志文件 │ │ server-年-月-日.log #server日志文件
└───packages └───packages
│ │ install.sh #节点部署时安装脚本 │ │ install.sh #节点部署时安装脚本
│ │ node_account.conf #蜜饵源文件 │ │ node_account.conf #蜜饵源文件
│ │ │ │
│ └───linux-x86 #Linux 服务包 │ └───linux-x86 #Linux 服务包
│ │ client │ │ client
│ │ service-*.tar.gz │ │ service-*.tar.gz
└───static #web服务预览图 └───static #web服务预览图
│ └───services │ └───services
│ │ …… │ │ ……
└───web #控制台web文件 └───web #控制台web文件
│ │ …… │ │ ……
``` ```

View File

@ -1,5 +1,5 @@
> 2.5.0版本Windows版本自动升级流程遇到问题正在第一优先级修复。 > 2.5.0版本Windows版本自动升级流程遇到问题正在第一优先级修复。
> 当前linux节点安装时候结束后会有两行异常报错该报错不影响节点安装过程使用。正在修复 > 当前linux节点安装时候结束后会有两行异常报错该报错不影响节点安装过程使用。正在修复
> 已知多网卡情况下client上线有问题。

View File

@ -1,52 +1,52 @@
# 卸载蜜罐的流程 # 卸载蜜罐的流程
> 卸载 server > 卸载server端
1. 杀死 server 进程 1. 杀死server进程
```shell ```shell
# 结束 server 进程 # 结束server进程
root@HFish~$ ps ax | grep ./server | grep -v grep root@HFish~$ ps ax | grep ./server | grep -v grep
8435 ? Sl 97:59 ./server 8435 ? Sl 97:59 ./server
root@HFish:~$ sudo kill -9 8435 root@HFish:~$ sudo kill -9 8435
``` ```
2. 删除 server 文件夹 2. 删除server文件夹
```shell ```shell
# 使用 install.sh 安装的 HFish 会被部署到/opt/hfish目标删除即可 # 使用install.sh安装的HFish会被部署到/opt/hfish目标删除即可
root@HFish~$ sudo rm -rf /opt/hfish root@HFish~$ sudo rm -rf /opt/hfish
``` ```
3. 清理数据库(如果使用的是 SQLite 数据库请忽略) 3. 清理数据库如果使用的是SQLite数据库请忽略
```shell ```shell
# 删除 HFish 数据库 # 删除HFish数据库
root@HFish:~$ mysql -h127.0.0.1 -uroot -p root@HFish:~$ mysql -h127.0.0.1 -uroot -p
Enter password:*******默认密码详见config.ini配置文件 Enter password:*******默认密码详见config.ini配置文件
mysql> DROP DATABASE hfish; mysql> DROP DATABASE hfish;
# 停止 MySQL 服务 # 停止MySQL服务
root@HFish:~$ sudo systemctl stop mysqld root@HFish:~$ sudo systemctl stop mysqld
root@HFish:~$ sudo systemctl disable mysqld root@HFish:~$ sudo systemctl disable mysqld
``` ```
4. 还原 SSH Firewall 配置 4. 还原SSH和Firewall配置
```shell ```shell
# 清除 SSH config 内对于访问来源的限制 # 清除SSH config内对于访问来源的限制
root@HFish~$ sudo vi /etc/ssh/sshd_config root@HFish~$ sudo vi /etc/ssh/sshd_config
注释掉以 AllowUsers root@ 开头的行 注释掉以 AllowUsers root@ 开头的行
# 重启 SSH 服务 # 重启SSH服务
root@HFish~$ sudo systemctl restart sshd root@HFish~$ sudo systemctl restart sshd
# 清除 Firewall 服务的规则(请根据实际情况删除!) # 清除Firewall服务的规则请根据实际情况删除
root@HFish~$ sudo firewall-cmd --permanent --list-all | grep ports | head -n 1 | \ root@HFish~$ sudo firewall-cmd --permanent --list-all | grep ports | head -n 1 | \
cut -d: -f2 | tr ' ' '\n' | xargs -I {} firewall-cmd --permanent --remove-port={} cut -d: -f2 | tr ' ' '\n' | xargs -I {} firewall-cmd --permanent --remove-port={}
# 重启 Firewall 服务 # 重启Firewall服务
root@HFish~$ sudo systemctl restart firewalld root@HFish~$ sudo systemctl restart firewalld
``` ```
@ -54,11 +54,11 @@ root@HFish~$ sudo systemctl restart firewalld
> 卸载节点端 > 卸载节点端
1. 杀死 client services 进程 1. 杀死client和services进程
```shell ```shell
# 结束 client 和 services 进程 # 结束 client 和 services 进程
root@HFish~$ sudo ps ax | grep -E 'services|./client' | grep -v grep root@HFish~$ ps ax | grep -E 'services|./client' | grep -v grep
10506 ? Sl 134:20 ./client 10506 ? Sl 134:20 ./client
1685739 ? Sl 0:00 services/mysql/mysql 0.0.0.0:3306 true 1685739 ? Sl 0:00 services/mysql/mysql 0.0.0.0:3306 true
1685743 ? Sl 0:00 services/redis/redis 0.0.0.0:6379 true 1685743 ? Sl 0:00 services/redis/redis 0.0.0.0:6379 true
@ -69,32 +69,32 @@ root@HFish~$ sudo ps ax | grep -E 'services|./client' | grep -v grep
root@HFish:~$ sudo kill -9 10506 1685739 1685743 1685747 1685751 1685755 root@HFish:~$ sudo kill -9 10506 1685739 1685743 1685747 1685751 1685755
``` ```
2. 删除 client 文件夹 2. 删除client文件夹
```shell ```shell
# 使用 install.sh 安装的 HFish 会被部署到/opt/hfish目标删除即可 # 使用 install.sh 安装的 HFish 会被部署到/opt/hfish目标删除即可
root@HFish~$ sudo rm -rf /opt/hfish root@HFish~$ sudo rm -rf /opt/hfish
``` ```
3. 还原 SSH Firewall 配置 3. 还原SSH和Firewall配置
```shell ```shell
# 还原默认 SSH 端口 # 还原默认SSH端口
root@HFish~$ sudo vi /etc/ssh/sshd_config root@HFish~$ sudo vi /etc/ssh/sshd_config
- 把 Port 22122 注释掉或修改为默认的22 - 把 Port 22122 注释掉或修改为默认的22
# 清除 SSH config 内对于访问来源的限制 # 清除SSH config内对于访问来源的限制
root@HFish~$ sudo vi /etc/ssh/sshd_config root@HFish~$ sudo vi /etc/ssh/sshd_config
注释掉以 AllowUsers root@ 开头的行 注释掉以 AllowUsers root@ 开头的行
# 重启 SSH 服务 # 重启SSH服务
root@HFish~$ sudo systemctl restart sshd root@HFish~$ sudo systemctl restart sshd
# 清除 Firewall 服务规则(请根据实际情况删除!) # 清除Firewall服务规则请根据实际情况删除
root@HFish~$ sudo firewall-cmd --permanent --list-all | grep ports | head -n 1 | \ root@HFish~$ sudo firewall-cmd --permanent --list-all | grep ports | head -n 1 | \
cut -d: -f2 | tr ' ' '\n' | xargs -I {} firewall-cmd --permanent --remove-port={} cut -d: -f2 | tr ' ' '\n' | xargs -I {} firewall-cmd --permanent --remove-port={}
# 重启 Firewall 服务 # 重启Firewall服务
root@HFish~$ sudo systemctl restart firewalld root@HFish~$ sudo systemctl restart firewalld
``` ```