SiteQ8/ics-iot-ot-hardening

GitHub: SiteQ8/ics-iot-ot-hardening

面向工业控制系统、物联网和运营技术环境的综合安全加固框架,集漏洞扫描、多标准合规评估、协议分析和网络监控于一体。

Stars: 10 | Forks: 2

# 🏭 ICS/IoT/OT 加固框架 ### 开源工业网络安全平台 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/Version-2.0.0-00f0ff.svg)](https://github.com/SiteQ8/ics-iot-ot-hardening/releases) [![Python 3.9+](https://img.shields.io/badge/Python-3.9+-3776ab.svg)](https://www.python.org/downloads/) [![Contributions Welcome](https://img.shields.io/badge/Contributions-Welcome-brightgreen.svg)](CONTRIBUTING.md) [![IEC 62443](https://img.shields.io/badge/IEC_62443-Aligned-blue.svg)](#compliance-standards) [![NIST 800-82](https://img.shields.io/badge/NIST_SP_800--82-Aligned-blue.svg)](#compliance-standards) [![NERC CIP](https://img.shields.io/badge/NERC_CIP-Aligned-blue.svg)](#compliance-standards) [![MITRE ATT&CK](https://img.shields.io/badge/MITRE_ATT%26CK_ICS-Mapped-red.svg)](#compliance-standards) [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED.svg)](Dockerfile) [![Kuwait 🇰🇼](https://img.shields.io/badge/Made_in-Kuwait_🇰🇼-007A3D.svg)](https://github.com/SiteQ8) **针对工业控制系统 (ICS)、物联网 和运营技术 (OT) 环境的综合安全加固工具包。包括自动化扫描、多标准合规性评估、网络分段工具、协议安全分析和交互式 Web 仪表板。** [**🌐 在线仪表板演示**](https://siteq8.github.io/ics-iot-ot-hardening/gui/) · [**📖 文档**](docs/) · [**🐛 报告 Bug**](https://github.com/SiteQ8/ics-iot-ot-hardening/issues) · [**💡 请求功能**](https://github.com/SiteQ8/ics-iot-ot-hardening/issues)
## 📸 截图 ### 安全仪表板 — 概览

ICS Security Dashboard Overview

### ICS 漏洞扫描器

ICS Vulnerability Scanner Demo

### 多标准合规性

Compliance Dashboard

### CLI 界面

CLI Interface Demo

## 🎯 为什么选择这个框架? 工业控制系统面临着传统 IT 安全工具无法解决的独特网络安全挑战。本框架通过为 OT 环境量身打造的工具弥补了这一差距: - **ICS 协议感知** — 理解 Modbus、DNP3、S7comm、OPC UA、EtherNet/IP、BACnet、IEC 61850 等 12 种工业协议 - **Purdue 模型架构** — 所有工具均围绕 ISA-95/Purdue 参考模型(L0–L5 + DMZ)设计 - **安全优先方法** — 尊重 OT 可用性要求的非侵入式扫描选项 - **多标准合规性** — 同时依据 IEC 62443、NIST SP 800-82、NERC CIP、MITRE ATT&CK for ICS 和 CIS Controls 进行评估 - **实战检验** — 加固脚本已在 Siemens、Allen-Bradley、Schneider、ABB 和 GE 环境中得到验证 ## ✨ 特性 ### 🔍 ICS 漏洞扫描器 针对 PLC、RTU、HMI、SCADA 服务器和现场设备的自动化扫描,支持 ICS 协议检测。支持完整、快速、特定协议和固件验证扫描。 ### 📊 交互式 Web 仪表板 功能齐全的安全运营仪表板,具备 Purdue 模型可视化、实时指标、交互式评估工具和合规性仪表。可作为 GitHub Pages 站点部署。 ### 🛡️ 多标准合规引擎 同时针对 5+ 项安全标准进行评估,包含差距分析、控制映射和跨 1,200+ 项控制的补救跟踪。 ### 🔥 防火墙规则生成器 针对 Purdue 模型分段的自动防火墙规则生成。输出 iptables、Cisco ASA 和 Palo Alto 格式。 ### 🖥️ CLI 工具包 丰富的命令行界面,带有进度条、颜色编码输出和可导出报告(JSON、HTML、PDF)。 ### 📡 协议安全分析器 对 12 种 ICS 协议进行深度检查,并针对每种协议进行安全态势评估,包括身份验证、加密和访问控制检查。 ### 🔧 系统加固脚本 针对 Windows ICS 节点、Linux 服务器、SCADA 应用程序和 HMI 工作站的预置加固脚本,符合 CIS benchmarks。 ### 📈 OT 网络监控 针对工业网络流量的实时异常检测,并提供 SIEM 集成连接器(Splunk、QRadar、Elastic)。 ### 🐳 Docker 就绪 全面支持 Docker 和 docker-compose,用于所有框架组件的隔离部署。 ## 🚀 快速开始 ### 安装 **选项 1:pip install(推荐)** ``` pip install ics-hardening ``` **选项 2:从源码安装** ``` git clone https://github.com/SiteQ8/ics-iot-ot-hardening.git cd ics-iot-ot-hardening pip install -e ".[full]" ``` **选项 3:Docker** ``` docker build -t ics-hardening . docker run --rm ics-hardening --help ``` ### 首次评估 ``` # 发现您网络上的 ICS assets ics-harden assets --cidr 10.100.0.0/16 # 运行全面的安全评估 ics-harden assess --target 10.100.0.0/16 --level deep --output report.json # 生成 Purdue model 防火墙规则 ics-harden network --cidr 10.100.0.0/16 # 多标准合规报告 ics-harden report --format html --output compliance.html # 启动 web dashboard cd gui && python -m http.server 8080 # 打开 http://localhost:8080 ``` ### CLI 命令 | 命令 | 描述 | |---------|-------------| | `ics-harden assess` | 运行具有可配置深度的 ICS 安全评估 | | `ics-harden harden` | 应用加固配置(支持 dry-run) | | `ics-harden network` | 网络分段分析和防火墙生成 | | `ics-harden report` | 生成多标准合规报告 | | `ics-harden assets` | 资产发现和清单 | | `ics-scan` | 独立的 ICS 漏洞扫描器 | | `ics-comply` | 独立的合规性检查器 | | `ics-monitor` | 实时 OT 网络监控 | ## 🏗️ 架构 ``` ics-iot-ot-hardening/ ├── gui/ # 🌐 Interactive Web Dashboard (GitHub Pages) │ └── index.html # Single-page security operations center ├── src/ics_hardening/ # 📦 Python Package │ ├── cli.py # CLI entry point (Click + Rich) │ └── modules/ # Framework modules ├── scripts/ # 🔧 Automation Scripts │ ├── assessment/ # Vulnerability assessment tools │ ├── compliance/ # CBK/IEC/NIST compliance checkers │ ├── networksecurity/ # Firewall gen, traffic analyzer, scanner │ ├── system-hardening/ # Windows & Linux hardening scripts │ │ ├── linux/ # Linux CIS benchmark hardening │ │ └── windows/ # Windows ICS node hardening │ ├── siem/ # SIEM integration connectors │ ├── shodan/ # Shodan exposure monitoring │ └── app/ # SCADA/HMI app hardening ├── tools/ # 🛠️ Custom Security Tools │ └── asset-discovery/ # OT asset inventory scanner ├── monitor/ # 📡 Network Monitoring │ └── anomaly-detector.py # ICS traffic anomaly detection ├── templates/ # 📋 Configuration Templates │ ├── firewall-rules/ # Firewall rule templates │ ├── policies.md # Security policy templates │ └── procedures.md # Operational procedures ├── docs/ # 📖 Documentation │ ├── screenshots/ # Dashboard & tool screenshots │ ├── framework.md # Core framework documentation │ ├── implementation/ # Implementation guides │ ├── kuwait.md # Kuwait/GCC specific guidance │ └── gcc.md # GCC regional considerations ├── tests/ # ✅ Test Suite ├── docker-compose.yml # 🐳 Multi-container deployment ├── Dockerfile # Container build config ├── pyproject.toml # Python packaging (PEP 621) └── requirements.txt # Core dependencies ``` ## 🔒 安全控制覆盖范围 ### Purdue 模型区域 | 区域 | 层级 | 描述 | 提供的工具 | |------|-------|-------------|----------------| | Enterprise | L5 | ERP、邮件、业务系统 | 网络隔离、访问策略 | | Site Business | L4 | 历史数据库、OPC 网关、报表 | 数据二极管配置、网关加固 | | **Industrial DMZ** | **DMZ** | **跳板机、补丁管理** | **分段规则、跳板机设置** | | Operations | L3 | SCADA 服务器、HMI 服务器、工程站 | SCADA 加固、会话控制 | | Supervisory | L2 | HMI 面板、区域控制器 | HMI 锁定、USB 策略 | | Basic Control | L1 | PLC、RTU、DCS 控制器 | PLC 安全配置、固件验证 | | Process | L0 | 传感器、执行器、现场设备 | 物理安全、防篡改检测 | ### ICS 协议安全 | 协议 | 端口 | 风险等级 | 安全特性 | |----------|------|------------|-------------------| | Modbus TCP/RTU | 502 | 🔴 严重 | 无原生身份验证/加密 | | DNP3 | 20000 | 🟠 高 | 可用安全认证 v5 | | IEC 61850 MMS | 102 | 🟠 高 | 支持 GOOSE 认证 | | OPC UA | 4840 | 🟡 中 | 内置 X.509、TLS | | EtherNet/IP (CIP) | 44818 | 🟠 高 | CIP 安全扩展 | | BACnet/IP | 47808 | 🟠 高 | 极少的原生安全性 | | MQTT | 1883/8883 | 🟡 中 | 可用 TLS、ACL | | CoAP | 5683/5684 | 🟡 中 | DTLS、OSCORE | | PROFINET | 动态 | 🟠 高 | 完整性类别 | | S7comm/S7comm+ | 102 | 🔴 严重 | S7comm+ 增加了加密 | | IEC 60870-5-104 | 2404 | 🟠 高 | TLS 包装器选项 | | HART-IP | 5094 | 🟡 中 | 有限的身份验证 | ## 📋 合规标准 本框架将控制项映射到以下国际标准: | 标准 | 控制项 | 描述 | |----------|----------|-------------| | **ISA/IEC 62443** | 96 | 工业自动化和控制系统安全 | | **NIST SP 800-82** | 82 | ICS 安全指南 (Rev. 3) | | **NERC CIP** | 62 | 电力公用事业关键基础设施保护 | | **MITRE ATT&CK for ICS** | 66 | ICS 的对抗战术和技术 | | **CIS Controls v8** | 48 | 互联网安全中心控制项(OT 适配版) | | **CBK CORF** | 876 | 科威特中央银行网络与运营弹性框架 | ## 🐳 Docker 部署 ``` # 构建并运行 full stack docker-compose up -d # 使用 host network access 运行 standalone scanner docker-compose run --rm ics-scanner --target 10.0.0.0/24 --type full # 运行网络监控器 docker-compose run --rm ics-monitor --interface eth0 # 查看日志 docker-compose logs -f ics-dashboard ``` ## 🤝 贡献 欢迎贡献!详情请参阅 [贡献指南](CONTRIBUTING.md)。 **优先贡献领域:** - 其他 ICS 协议解析器(PROFIBUS、Foundation Fieldbus) - 特定供应商的加固指南(Honeywell、Yokogawa、Emerson) - 云连接 OT 安全(Azure IoT Hub、AWS IoT Greengrass) - OT 特定的威胁情报源 - 其他合规标准(ISO 27019、IEC 62351) - 本地化及 GCC/MENA 区域指南 ## 📄 许可证 本项目采用 MIT 许可证授权 — 详情请参阅 [LICENSE](LICENSE) 文件。 ## 🔗 相关资源 - [CISA ICS 公告](https://www.cisa.gov/topics/industrial-control-systems) - [NIST 网络安全框架](https://www.nist.gov/cyberframework) - [ISA/IEC 62443 标准](https://www.isa.org/standards-and-publications/isa-standards/isa-iec-62443-series-of-standards) - [MITRE ATT&CK for ICS](https://attack.mitre.org/techniques/ics/) - [SANS ICS 安全](https://www.sans.org/industrial-control-systems-security/) ## 👤 作者 **Ali AlEnezi (SiteQ8)** - GitHub: [@SiteQ8](https://github.com/SiteQ8) - Email: [site@hotmail.com](mailto:site@hotmail.com) - Location: Kuwait 🇰🇼
**⭐ 如果您觉得有用,请给本仓库点个 Star! ⭐** Made with ❤️ in Kuwait 🇰🇼 for the global ICS security community *符合 NIST SP 800-82 · IEC 62443 · NERC CIP · MITRE ATT&CK for ICS · CIS Controls v8*
标签:DNS枚举, Docker, ICS安全, IEC 62443, impacket, MITRE ATT&CK ICS, NERC CIP, NIST 800-82, OT安全, PKINIT, PLC安全, Python, Scada安全, Web仪表盘, 加密, 协议分析, 合规性评估, 子域枚举, 安全加固框架, 安全基线, 安全防御评估, 对称加密, 工业互联网, 工业防火墙, 工控安全, 教学环境, 无后门, 权限提升, 漏洞扫描器, 物联网安全, 网络分段, 网络安全工具, 自动化审计, 请求拦截, 运营技术安全, 逆向工具