网络安全控制审查工具

一个使用模型上下文协议(MCP)服务器和大型语言模型(LLMs)进行自动化网络安全控制(NSC)配置审查和网络分段分析的教育实验室练习。

  • by JoshDoesIT
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 JoshDoesIT/Network-Security-Control-Reviews-with-MCP-and-LLMs

使用说明

使用MCP和LLM进行网络安全控制审查

概述

一个教育性的实验室练习,演示如何使用带有LLM的模型上下文协议(MCP)服务器来执行自动网络安全控制(NSC)配置审查和网络分段分析。本实验室使用AWS安全组和网络ACL作为网络安全控制的示例,使安全专业人员能够使用自然语言查询与NSC配置“对话”。虽然此实现侧重于AWS,但该架构可扩展以支持其他NSC类型,包括Azure网络安全组(NSG)、GCP防火墙规则、OCI安全列表和传统的本地防火墙。

主要特点

  • 只读MCP服务器 -解析和查询NSC配置
  • 自然语言查询 -使用LLM通过会话查询分析NSC规则和分段
  • 网络分段测试环境 -AWS测试环境,带有演示NSC配置的生产和开发VPC
  • 细分测试 -使用NSC规则测试区域/VPC之间的网络分段

快速开始

  1. 使用Terraform设置AWS环境 -跟随 AWS设置指南 使用“基础结构即代码”部署测试基础结构(VPC、安全组、网络ACL)
  2. 安装并配置MCP服务器 -跟随 MCP设置指南 安装依赖项并连接到LLM
  3. 开始查询 -从AWS加载NSC配置,并使用自然语言查询(如 LLM使用示例.

项目结构

.
├── mcp-server/          # MCP server implementation
│   ├── src/
│   │   ├── parsers/    # NSC parsers
│   │   └── tools/       # MCP tool definitions
│   └── tests/          # Unit tests (mocked) and integration tests (real AWS)
├── terraform/          # Terraform Infrastructure as Code (IaC) for AWS test environment
│   └── main.tf         # Defines VPCs, Security Groups, Network ACLs, and rules
└── docs/               # Documentation

MCP服务器工具

MCP服务器提供查询NSC配置的工具。此实现使用AWS安全组和网络ACL作为示例:

  • list_vpcs -列出AWS帐户中的所有VPC,并按标签进行筛选
  • get_config -直接从AWS加载NSC配置(AWS安全组和网络ACL)
  • query_rules -按各种条件(源、目标、端口、协议、标签)查询NSC规则,或获取所有不带参数的规则

示例用例

  • NSC配置审查 -审查网络安全控制规则,以确定过于宽松的配置、安全漏洞和合规性问题
  • 细分测试 -使用NSC规则验证生产和开发网络之间的网络隔离,并检测违反网络分段策略的NSC规则

看 LLM使用示例 有关使用AWS安全组和网络ACL的详细示例。

文档

网络安全控制(NSCs)

本实验室使用AWS安全组和网络ACL作为实例演示NSC审查。NSC是管理网络流量的规则和政策,包括但不限于:

  • AWS安全组:有状态的实例级防火墙(本实验室使用的示例)
  • AWS网络ACL:无状态子网级防火墙(本实验室使用的示例)
  • Azure网络安全组(NSG):Azure的NSC实现
  • 谷歌云平台(GCP)防火墙规则:GCP的NSC实施
  • Oracle云基础架构(OCI)安全列表:OCI的NSC实施
  • 传统的室内防火墙:帕洛阿尔托、Check Point、Fortinet、思科

可扩展性

这种MCP服务器架构被设计为可扩展的。虽然当前的实施使用AWS安全组和网络ACL作为示例,但您可以扩展它以支持其他NSC类型:

  1. 创建解析器:按照中的模式实现解析器类 mcp-server/src/parsers/aws_security_groups.py 或 aws_network_acls.py
  2. 添加MCP工具:扩展 mcp-server/src/tools/nsc_tools.py 支持新的NSC解析器
  3. 更新文档:添加新NSC类型的示例和使用说明

看 mcp-server/src/parsers/README.md 用于可扩展性文档和示例。

学习目标

完成本实验后,您应该能够:

  • 基础设施即代码(Terraform):使用Terraform部署和管理AWS基础设施,包括VPC、安全组、网络ACL及其规则
  • MCP服务器开发:了解MCP服务器如何实现LLM与结构化数据的交互
  • NSC分析:使用自然语言和LLM查询NSC配置
  • 安全审查:识别NSC规则中的安全和细分问题
  • NSC架构:了解不同AWS NSC类型(安全组与网络ACL)在不同层(实例级与子网级)的操作方式

许可证

MIT许可证-有关详细信息,请参阅许可证文件