IvanKuchin/ftd-acl-optimizer
GitHub: IvanKuchin/ftd-acl-optimizer
一个离线分析 Cisco FTD 访问控制策略 ACE 占用并识别可合并子网的命令行工具,帮助运维在触及平台 ACE 上限前找到优化空间。
Stars: 0 | Forks: 0
# FTD 访问控制规则优化器
Cisco FTD 会将每条访问策略规则转换为底层的 ACE(访问控制条目)。每个平台都有硬性的 ACE 限制,随着策略随时间不断扩展——增加额外的子网、重复的对象、重叠的地址范围——这一限制可能会比预期更快地逼近。
`ftd-acl-optimizer` 会读取 `show access-control-config` 的输出,并逐条规则地告诉你,当前你使用了多少个 ACE,以及在合并相邻、重叠和被遮蔽的子网之后会使用多少个。无需更改设备,也无需访问 FMC——只需一个文本文件和该工具即可。
## 快速入门
**1. 构建**
```
cargo build --release
```
**2. 从 FTD CLI 收集数据**
```
firepower# show access-control-config
```
将输出保存到文件中(例如 `policy.txt`)。
**3. 查看整体策略容量**
```
ftd-acl-optimizer --file policy.txt get acp capacity
```
**4. 查找最具优化潜力的规则**
```
ftd-acl-optimizer --file policy.txt get top-k by-optimization
```
**5. 获取单条规则的详细报告**
```
ftd-acl-optimizer --file policy.txt get rule analysis "My_App_Rule"
```
## 优化内容
该工具会检测规则网络对象中各子网之间的三种关系:
| 类型 | 示例 | 结果 |
|------|---------|--------|
| **相邻** | `10.0.0.0/25` + `10.0.0.128/25` | `10.0.0.0/24` |
| **遮蔽** | `192.168.1.0/24` 包含在 `192.168.0.0/16` 中 | 移除 /24 |
| **重叠** | 两个共享地址的 IP 范围 | 合并后的子网 |
端口/协议优化(相邻的 TCP/UDP 范围)由 FTD 原生处理,并已计入报告的数字中。
## 文档
完整文档请参见此 [`docs/` 索引](README.md):
- [入门指南](guides/getting-started.md)
- [CLI 参考](cli/commands.md)
- [ACE 计算](concepts/ace-calculation.md)
- [优化类型](concepts/optimization-types.md)
- [架构](architecture/overview.md)
- [贡献](development/contributing.md)
标签:ACE限制, ACL优化, Cisco FTD, Docker 部署, Firepower, FMC, IP地址规划, Rust, 可视化界面, 子网合并, 子网重叠, 文档结构分析, 策略优化, 网络安全, 网络安全策略, 网络性能优化, 网络流量审计, 网络自动化, 网络运维, 访问控制策略, 运维工具, 通知系统, 防火墙, 隐私保护