jnadvid/Reglas_Snort_OT
GitHub: jnadvid/Reglas_Snort_OT
面向 Snort 3 的工控协议防御规则包,覆盖多种主流 OT 协议的高危指令检测与侦察行为发现,附带完整部署与调优文档。
Stars: 0 | Forks: 0
# OCS OT Snort 3 规则包
用于 OT/ICS 网络检测的 Snort 3 防御性规则包。涵盖 Modbus TCP、DNP3、CIP/ENIP、IEC 60870-5-104、MMS/IEC 61850、S7CommPlus 以及横向扫描/工业服务访问的启发式检测。
## 目标
- 检测高影响力的工业指令:写入、重启、直接操作和设定值。
- 检测 OT 侦察:设备识别、对象枚举和工业端口扫描。
- 生成一个可通过 GitHub 进行版本控制的基础库,包含文档、调优、测试和 CI。
- 通过 `sid`、`classtype`、`priority` 和 `metadata` 促进与 SIEM/SOAR 的集成。
## 仓库结构
```
ocs-ot-snort3-rules/
├── rules/ # Reglas Snort 3 por familia OT
│ ├── ocs_ot_modbus.rules
│ ├── ocs_ot_dnp3.rules
│ ├── ocs_ot_cip_enip.rules
│ ├── ocs_ot_iec104_mms_s7.rules
│ └── ocs_ot_cross_protocol.rules
├── lua/ # Ejemplos de inspectores, wizard, binder e includes IPS
│ ├── ocs_ot_inspectors.lua
│ └── ocs_ot_ips_include.lua
├── docs/
│ ├── rule_explanations.md # Explicación regla por regla
│ ├── deployment_guide.md # Instalación y operación
│ ├── tuning_guide.md # Reducción de falsos positivos
│ ├── sid_registry.md # Registro de SIDs locales
│ └── detection_model.md # Modelo de detección y zonas OT
├── scripts/
│ └── validate_rules.sh # Validación local con Snort
├── tests/
│ └── README.md # Cómo añadir pcaps de prueba
├── examples/pcaps/
│ └── .gitkeep # Directorio para muestras internas no públicas
├── .github/
│ ├── workflows/snort-validate.yml
│ └── ISSUE_TEMPLATE/
│ ├── false_positive.md
│ └── new_rule.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
└── README.md
```
## 快速安装
1. 将规则复制到 Snort 的规则目录中,例如:
```
sudo mkdir -p /opt/snort/rules
sudo cp rules/*.rules /opt/snort/rules/
```
2. 将 `lua/ocs_ot_inspectors.lua` 合并到您的 `snort.lua` 中,或者在您的配置中加载等效的代码块。
3. 在测试期间使用 `-R` 单独引入规则:
```
snort -c /etc/snort/snort.lua -T -R /opt/snort/rules/ocs_ot_modbus.rules
```
4. 针对 pcap 进行测试:
```
snort -q -c /etc/snort/snort.lua -r traffic.pcap -R /opt/snort/rules/ocs_ot_modbus.rules -A alert_fast
```
## 部署黄金法则
首先告警。然后进行选择性阻断。在 OT 中,如果未经基线确立、资产盘点和工程师批准就转换为 `drop` 或 `block`,一条技术上正确的规则也可能导致操作中断。
## 主要文档
- [`docs/rule_explanations.md`](docs/rule_explanations.md):每条规则的作用、逻辑、误报情况、调优方法和 SOC 响应。
- [`docs/deployment_guide.md`](docs/deployment_guide.md):如何部署、验证和运行此规则包。
- [`docs/tuning_guide.md`](docs/tuning_guide.md):如何将此规则包适配到实际工厂环境。
- [`docs/sid_registry.md`](docs/sid_registry.md):SID 映射表。
- [`docs/detection_model.md`](docs/detection_model.md):概念检测模型。
## 兼容性
本规则包面向 Snort 3 及其工业检查器/协议选项。部分选项或函数的符号名称可能会因 Snort 3 的版本而异。如果某条规则未通过验证,请运行:
```
snort --help-module modbus
snort --help-module dnp3
snort --help-module cip
snort --help-module iec104
snort --help-module mms
snort --help-module s7commplus
```
随后,调整该符号名称,或将其替换为该版本支持的数字代码。
标签:AMSI绕过, CIP, Cutter, DNP3, ENIP, ICS安全, IEC104, IEC61850, impacket, IPS, Lua, MMS, OT安全, PKINIT, rizin, S7CommPlus, SCADA安全, Snort3, SOAR, 入侵检测系统, 协议分析, 威胁检测, 威胁检测与响应, 安全数据湖, 安全脚本, 安全运营, 工业互联网, 工控安全, 工控防火墙, 扫描框架, 插件系统, 权限提升, 流量监控, 网络安全, 规则包, 隐私保护