maxias13/ftd_snort_2_rule_extractor
GitHub: maxias13/ftd_snort_2_rule_extractor
一款通过 SSH 连接 Cisco FTD,自动发现入侵策略并提取 Snort 2 规则导出为 XLSX 的工具。
Stars: 0 | Forks: 0
# FTD Snort 2 规则提取器
一个通过 SSH 连接 Cisco FTD 的工具,自动发现所有入侵防御策略,提取 Snort 2 规则,并导出为格式化的 XLSX 文件。
## 功能
- 通过 SSH 连接 FTD 并自动进入 **专家模式**
- 自动发现设备上的所有 **入侵防御策略(检测引擎)**
- 提取 **内置规则**(SID < 1,000,000)和 **本地规则**(SID 1,000,000 – 9,999,999)
- 将结果导出为 **多工作表 XLSX** 文件,每个策略对应一个工作表
- 生成 **汇总表**,包含所有策略的规则数量统计
## 安装
```
pip install -r requirements.txt
```
**依赖项**
- `paramiko` — SSH 连接
- `openpyxl` — XLSX 文件生成
## 使用方法
```
python ftd_snort_2_rule_extractor.py
```
启动时会显示交互式提示:
```
============================================================
FTD Snort 2 Rule Extractor
============================================================
FTD IP address : 192.168.1.1
Username : admin
Password : ********
```
## 输出文件
```
FTD_Snort2_AllPolicies_20240418_123456.xlsx
```
| 工作表 | 内容 |
|-------|---------|
| Summary | 所有策略及其规则数量统计列表 |
| [策略名称] | 该策略的规则列表(每个策略一个工作表) |
**规则表列**
| GID | SID | 规则状态 | 消息 | 规则 |
|-----|-----|------------|---------|------|
**规则状态值**
| 值 | 描述 |
|-------|-------------|
| `Generate Events` | 告警动作(启用) |
| `Drop and Generate Events` | 丢弃 / sdrop / 拒绝动作 |
| `Disable` | 已禁用的规则 |
## 工作原理
### 入侵策略发现
按顺序扫描以下路径以定位检测引擎目录:
```
/ngfw/var/sf/detection_engines
/var/sf/detection_engines
/ngfw/var/cisco/detection_engines
```
### 本地规则提取(4 次遍历)
提取内置规则后,按以下顺序搜索本地规则:
1. `hifistatic.json` — 从 FMC 部署的本地规则(JSON 结构解析)
2. `*/intrusion/*local.rules` — 入侵策略目录内的本地规则文件
3. `*local.rules` — 在所有检测引擎路径中扩展搜索
4. `grep -rlE 'sid\s*:\s*[1-9][0-9]{6}'` — 在 `/ngfw/var/sf/` 下进行全模式搜索
### 诊断模式
如果未找到任何本地规则,工具会自动运行目标 SID 搜索并打印诊断输出。这有助于检测 FMC 部署尚未推送到 FTD 设备的情况。
## 注意事项
- FTD 登录账户必须拥有进入 `expert` 模式以及运行 `sudo` 命令的权限。
- 在规则数量庞大的环境中,提取可能需要数分钟。
- SSH 连接时自动接受主机密钥(`AutoAddPolicy`)。
## 支持的 FTD 版本
运行 Snort 2 引擎的 Cisco FTD(FTD 7.x 及更早版本,或使用 Snort 2 策略的环境)
标签:Cisco, FTD, NGFW, openpyxl, paramiko, PB级数据处理, pip, SEO: Cisco FTD Snort 规则提取, SEO: FTD SSH 自动化, SEO: Snort 2 rule extractor, SEO: XLSX 导出规则, SID规则, SSH, XLSX导出, 专家模式, 依赖管理, 关键字: FTD, 关键字: Snort 2, 关键字: 规则提取, 内置规则, 参数化配置, 多工作表, 安全数据导出, 安全运维, 摘要统计, 日志导出, 本地规则, 检测引擎, 网络设备, 网络调试, 自动化, 规则提取, 逆向工具, 防火墙