Halino/Wazuh-QNAP
GitHub: Halino/Wazuh-QNAP
为 Wazuh 提供 QNAP QuLog 日志的解码器与检测规则集,实现对 NAS 设备的认证异常、勒索软件行为、存储故障等安全事件的集中监控与告警。
Stars: 0 | Forks: 0
# 用于 Wazuh 的 QNAP QuLog 解析器
通过让 Wazuh 能够摄取和分析由 **QuLog Center** 作为 syslog 发送的 **QNAP NAS** 日志(QTS / QuTS hero)的 **Decoders** 和 **rules**。
## 包含内容
| 文件 | 用途 |
|------|--------|
| `wazuh/decoders/qnap_decoders.xml` | 解析来自 `qulogd` 的 QuLog `conn log:` 和 `event log:` 消息 |
| `wazuh/rules/qnap_rules.xml` | 身份验证、勒索软件式批量删除、恶意软件、SMART/存储、备份 |
| `wazuh/ossec-qnap.conf.snippet` | `remote`/`localfile` 配置示例 |
| `tests/sample_logs.txt` | 用于 `wazuh-logtest` 的示例日志行 |
## 日志格式
QNAP 通过 `qulogd` 发送两种格式:
```
Jul 9 12:00:00 nas qulogd[..]: conn log: Users: , Source IP: , Computer name: , Connection type: , Accessed resources: , Action:
Jul 9 12:00:00 nas qulogd[..]: event log: Users: , Source IP: , Computer name: , Application: , Category: , Content:
```
提取的字段:`dstuser`、`srcip`、`qnap_host`、`qnap_conntype`、`qnap_resource`、`qnap_action`
(连接日志)以及 `qnap_app`、`qnap_category`、`qnap_content`(事件日志)。
## 规则
| 规则 ID | 等级 | 检测内容 | MITRE |
|---------|-------|---------|-------|
| 110100 | 0 | 分组(任何 QuLog 消息) | — |
| 110101 | 6 | 访问 / 登录失败 | T1078 |
| 110102 | 3 | 登录成功 | — |
| 110103 | 10 | 暴力破解(120 秒内失败 5 次,同一 IP) | T1110 |
| 110104 | 3 | 文件删除(审计) | — |
| 110105 | 0 | Time Machine / macOS 备份维护删除(静音) | — |
| 110106 | 12 | **批量删除**(60 秒内 25 次,同一 IP)— 疑似勒索软件 | T1486 |
| 110107-110109 | 0/12 | NFS 后端 I/O(静音)+ NFS 批量删除关联 | T1486 |
| 110110 | 6 | 文件访问被拒绝(SMB/AFP/WebDAV) | — |
| 110111 | 6 | 安全 / 固件 / 证书事件 | — |
| 110112 | 7 | 硬件 / 存储 / SMART 问题 | — |
| 110113 | 10 | **检测到恶意软件**(防病毒软件 / Malware Remover) | T1486 |
| 110114 | 6 | 备份 / 同步 / 快照失败 | — |
| 110115 | 3 | 快照已移除(保留审计) | — |
| 110116 | 0 | 常规操作 chatter(静音) | — |
| 110117 | 4 | SMART 温度瞬变 | — |
| 110118 | 7 | 持续过热(1 小时内 6 次温度事件) | — |
规则 ID 使用专用的 **110100-110118** 区块。
### 噪音处理
QNAP 日志非常频繁。以下几条规则旨在保持告警流的整洁:
- **NFS 后端 I/O**(`110107`/`110108`)是自动产生且高频的 → 设为静音,但其删除基础数据仍会输入到 NFS 批量删除关联中。
- **Time Machine 维护**(`110105`)会不断删除 `*.sparsebundle/bands/*` → 设为静音,以免其表现类似勒索软件。
- **SMART 温度**瞬变(`110117`)仅在仪表板显示;只有*持续*过热(`110118`)才会触发升级告警。
- **常规的“已完成 / 成功 / 未发现威胁”** chatter(`110116`)→ 设为静音。
## 部署
```
sudo cp wazuh/decoders/qnap_decoders.xml /var/ossec/etc/decoders/
sudo cp wazuh/rules/qnap_rules.xml /var/ossec/etc/rules/
sudo systemctl restart wazuh-manager
```
然后将 QuLog 发送给 Wazuh:**QNAP 控制面板 > QuLog Center** → 将日志发送至 syslog 服务器(你的 Wazuh 管理器或中继服务器,UDP 514)。请参阅 `wazuh/ossec-qnap.conf.snippet`。
## 测试
```
/var/ossec/bin/wazuh-logtest
```
例如,粘贴:
```
Jul 9 12:00:00 nas qulogd[1234]: conn log: Users: admin, Source IP: 203.0.113.10, Computer name: laptop, Connection type: SMB, Accessed resources: /share, Action: Login Fail
```
预期结果:decoder 为 `qnap-conn`,规则为 **110101**(authentication_failed,T1078)。
完整测试集请参见 `tests/sample_logs.txt`。
## 兼容性
- Wazuh 4.x(使用 `pcre2`)。
- 带有 QuLog Center syslog 客户端的 QNAP QTS 5.x / QuTS hero。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)。
标签:NAS, Wazuh, 云计算, 勒索软件检测, 红队行动, 自定义DNS解析器, 规则引擎