使用MCP和LLM进行网络安全控制审查
Illustrative diagram showing the architecture of the NSC Reviews with MCP and LLMs
概述
一个教育性的实验室练习,演示如何使用带有LLM的模型上下文协议(MCP)服务器来执行自动网络安全控制(NSC)配置审查和网络分段分析。本实验室使用AWS安全组和网络ACL作为网络安全控制的示例,使安全专业人员能够使用自然语言查询与NSC配置“对话”。虽然此实现侧重于AWS,但该架构可扩展以支持其他NSC类型,包括Azure网络安全组(NSG)、GCP防火墙规则、OCI安全列表和传统的本地防火墙。
主要特点
- 只读MCP服务器 -解析和查询NSC配置
- 自然语言查询 -使用LLM通过会话查询分析NSC规则和分段
- 网络分段测试环境 -AWS测试环境,带有演示NSC配置的生产和开发VPC
- 细分测试 -使用NSC规则测试区域/VPC之间的网络分段
快速开始
- 使用Terraform设置AWS环境 -跟随 AWS设置指南 使用“基础结构即代码”部署测试基础结构(VPC、安全组、网络ACL)
- 安装并配置MCP服务器 -跟随 MCP设置指南 安装依赖项并连接到LLM
- 开始查询 -从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/ # DocumentationMCP服务器工具
MCP服务器提供查询NSC配置的工具。此实现使用AWS安全组和网络ACL作为示例:
list_vpcs-列出AWS帐户中的所有VPC,并按标签进行筛选get_config-直接从AWS加载NSC配置(AWS安全组和网络ACL)query_rules-按各种条件(源、目标、端口、协议、标签)查询NSC规则,或获取所有不带参数的规则
示例用例
- NSC配置审查 -审查网络安全控制规则,以确定过于宽松的配置、安全漏洞和合规性问题
- 细分测试 -使用NSC规则验证生产和开发网络之间的网络隔离,并检测违反网络分段策略的NSC规则
看 LLM使用示例 有关使用AWS安全组和网络ACL的详细示例。
文档
- AWS设置指南 -使用安全组和网络ACL设置AWS测试环境(NSC示例)
- MCP设置指南 -MCP服务器安装、配置和安全凭据管理
- LLM使用示例 -使用AWS安全组和网络ACL进行NSC审查和分段测试的详细示例
- 故障排除 -常见问题和解决方案
网络安全控制(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类型:
- 创建解析器:按照中的模式实现解析器类
mcp-server/src/parsers/aws_security_groups.py或aws_network_acls.py - 添加MCP工具:扩展
mcp-server/src/tools/nsc_tools.py支持新的NSC解析器 - 更新文档:添加新NSC类型的示例和使用说明
看 mcp-server/src/parsers/README.md 用于可扩展性文档和示例。
学习目标
完成本实验后,您应该能够:
- 基础设施即代码(Terraform):使用Terraform部署和管理AWS基础设施,包括VPC、安全组、网络ACL及其规则
- MCP服务器开发:了解MCP服务器如何实现LLM与结构化数据的交互
- NSC分析:使用自然语言和LLM查询NSC配置
- 安全审查:识别NSC规则中的安全和细分问题
- NSC架构:了解不同AWS NSC类型(安全组与网络ACL)在不同层(实例级与子网级)的操作方式
许可证
MIT许可证-有关详细信息,请参阅许可证文件
