SonicWall MCP服务器
通过模型上下文协议进行专业SonicWall日志分析和威胁检测
🧪 需要社区测试
⚠️ 重要: 这个项目需要社区测试和验证!\ 👥 我们需要您的帮助,在真实的SonicWall设备和环境中进行测试。 - 🔍 测试IT 使用SonicWall设置 - 🐛 报告问题 通过GitHub问题 - 🔧 修复bug 并提交PR - 📝 改进文档 基于实际使用情况 - 💡 贡献功能 以及增强功能 您的测试和贡献将有助于为每个人准备好这部作品!
一个生产就绪的MCP服务器,通过自然语言查询提供SonicWall防火墙日志的智能分析。 完全符合MCP 2025-06-18规范 全面支持SonicOS7.x和8.x,包括准确的API端点和版本特定功能。
  ](https://hub.docker.com/) 
✨ 特性
- 🔍 自然语言日志分析 -使用会话式AI查询防火墙日志
- 🛡️ 实时威胁检测 -高级威胁相关性和行为分析
- 🌐 完整的SonicOS支持 -适用于7.x和8.x版本的精确API端点
- 🎯 版本感知集成 -自动端点解析和特征检测
- 🚀 企业就绪 -全面安全的生产部署
- 📊 高级分析 -网络智能和安全指标
- 🔒 符合MCP 2025-06-18标准 -最新协议符合增强的JSON-RPC 2.0
- ⚡ 高性能 -具有智能TTL管理的内存缓存
- 🔐 安全第一 -身份验证、授权和全面的审计日志记录
📋 快速开始
先决条件
- SonicWall设备 运行SonicOS 7.x或8.x
- API访问 在SonicWall上启用(管理>系统设置>设备>SonicOS API)
- Docker&Docker编写 (推荐)或Node.js 20+
1.获取服务器
git clone https://github.com/gensecaihq/sonicwall-mcp-server.git
cd sonicwall-mcp-server2.配置环境
# Copy example configuration
cp .env.example .env
# Edit with your SonicWall details
nano .env所需配置:
SONICWALL_HOST=192.168.1.1
SONICWALL_USERNAME=admin
SONICWALL_PASSWORD=your_password
SONICWALL_VERSION=7 # or 8 for SonicOS 8.x3.启动服务器
使用Docker(推荐):
docker compose up -d
# or using npm script
npm run docker:up使用Node.js:
npm install
npm run build
npm start4.验证安装
# Check server health
curl http://localhost:3000/health
# Expected response:
# {"status":"healthy","protocol":"MCP/2025-06-18","version":"1.0.0"}🔗 联系克劳德
添加到您的Claude Desktop配置(claude_desktop_config.json):
{
"mcpServers": {
"sonicwall": {
"transport": "sse",
"url": "http://localhost:3000/mcp/v1/sse"
}
}
}就是这样! 开始在Claude中使用SonicWall分析:
*“显示最近一小时被阻止的连接”*\ *“从今天开始发现关键的安全威胁”*\ *“分析VPN身份验证失败”*
🎯 最新改进
⚡ 增强的SonicOS支持 (v1.0.0)
- 精确的API终点:SonicOS 7.x的完整端点映射(
/api/sonicos)以及8.x(/api/sonicos/v8) - 版本感知功能:自动检测和利用特定版本的功能
- 高级身份验证:通过适当的令牌刷新和错误处理增强会话管理
- 云集成:完全支持SonicOS 8.x云管理和NSM集成
🛡️ 安全性和合规性增强
- MCP 2024-11-05合规性:支持JSON-RPC 2.0的完整协议实现
- 增强的错误处理:具有智能重试逻辑的SonicWall特定错误代码
- 高级验证:使用AJV进行全面的JSON模式验证
- 安全强化:通过全面的审计日志记录改进了身份验证流程
🚀 性能和可靠性
- 智能高速缓存:通过自动清理增强TTL管理
- 端点优化:特定于版本的超时和速率限制配置
- 连接管理:改进了重试逻辑和故障转移处理
- 综合录井:具有性能指标和调试支持的结构化日志记录
🛠️ 可用工具
analyze_logs
具有智能洞察力的自然语言日志分析
// Example usage in Claude
"Show me suspicious network activity from external IPs in the last 2 hours"
"Find brute force attacks on SSH and RDP ports"
"Analyze malware detections and their source locations"get_threats
实时威胁监控和分析
// Get critical threats
{
"severity": "critical",
"limit": 20
}search_connections
高级连接搜索和调查
// Investigate specific IP
{
"sourceIp": "192.168.1.100",
"hoursBack": 24,
"limit": 500
}get_stats
网络统计和安全指标
// Get top blocked IPs
{
"metric": "top_blocked_ips",
"limit": 10
}export_logs
导出筛选日志以进行合规性和分析
// Export security events as CSV
{
"format": "csv",
"filters": {
"severity": ["critical", "high"],
"startTime": "2024-01-01T00:00:00Z"
}
}📖 文档
🏗️ 建筑
┌─────────────┐ ┌─────────────────┐ ┌─────────────┐
│ Claude Code │◄──►│ MCP Server │◄──►│ SonicWall │
│ │SSE │ (Port 3000) │API │ Device │
└─────────────┘ └─────────────────┘ └─────────────┘
│
▼
┌─────────────────┐
│ Log Analysis │
│ & Intelligence │
└─────────────────┘关键部件:
- MCP协议层:MCP 2024-11-05完全符合SSE传输
- 增强型API客户端:具有会话管理的精确SonicOS 7.x/8.x端点
- 智能日志解析器:具有版本特定优化的多格式解析
- 分析引擎:人工智能驱动的自然语言处理和威胁相关性
- 性能缓存:具有TTL管理的高性能内存缓存
- 安全框架:全面的身份验证和输入验证
🔧 配置
基本配置
# SonicWall Connection
SONICWALL_HOST=your.firewall.ip
SONICWALL_USERNAME=admin
SONICWALL_PASSWORD=secure_password
SONICWALL_VERSION=7
# Server Settings
PORT=3000
LOG_LEVEL=info
CACHE_TTL_SECONDS=300高级配置
# Authentication (Optional)
MCP_BEARER_TOKEN=your_secret_token
# Performance Tuning
CACHE_MAX_SIZE=1000
API_TIMEOUT=30000
MAX_RETRIES=3
# Security
CORS_ORIGINS=https://claude.ai,https://localhost:3000
RATE_LIMIT_MAX=100🐳 Docker部署
先决条件
- Docker引擎24.0+(最新稳定版)
- Docker Compose V2(集成插件,随Docker桌面提供)
- 备注:遗产
docker-compose命令已弃用,请使用docker compose
快速启动命令
# Production deployment (detached mode)
docker compose up -d
# Development mode (with hot reload)
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
# View logs
docker compose logs -f sonicwall-mcp
# Stop all services
docker compose down
# Rebuild and restart
docker compose up --build -dNPM脚本快捷方式
# Production deployment
npm run docker:up
# Development with hot reload
npm run docker:dev
# View logs
npm run docker:logs
# Stop services
npm run docker:down
# Build image only
npm run docker:build环境配置
# Use environment file
cp .env.example .env
# Edit .env with your SonicWall details
docker compose up -d
# Or pass environment variables directly
SONICWALL_HOST=192.168.1.1 \
SONICWALL_USERNAME=admin \
SONICWALL_PASSWORD=your_password \
docker compose up -dDocker编写文件
docker-compose.yml-生产配置docker-compose.dev.yml-开发覆盖docker-compose.override.yml-本地自定义(可选)
🧪 测试与验证
快速健康检查
# Server status
curl http://localhost:3000/health
# MCP endpoint test
curl -H "Accept: text/event-stream" http://localhost:3000/mcp/v1/sseSonicWall连接测试
# Test authentication
curl -k https://YOUR_SONICWALL/api/sonicos/auth \
-H "Content-Type: application/json" \
-d '{"user":"admin","password":"your_password"}'运行测试套件
# All tests
npm test
# MCP compliance tests
npm run test:mcp
# SonicWall integration tests
npm run test:integration🔒 安全
安全功能
- ✅ 运输安全 -具有全面CORS验证的HTTPS实施
- ✅ 认证 -具有智能速率限制的承载令牌支持
- ✅ 输入验证 -使用AJV进行JSON模式验证,并进行全面的净化
- ✅ 集装箱安全 -非root用户使用只读文件系统执行
- ✅ 数据隐私 -零敏感数据记录,符合审计要求的处理
- ✅ MCP合规性 -完整的协议安全实施
- ✅ API安全 -SonicWall凭据保护和安全会话管理
安全检查列表
- \[\]仅从受信任的网络启用API访问
- \[\]为SonicWall管理员帐户使用强密码
- \[\]配置MCP_BEARER_TOKEN以获得额外的安全性
- \[\]监控日志以发现异常活动
- \[\]保持SonicWall固件更新
- \[\]定期审查防火墙规则
🚨 常见问题
❌ “身份验证失败”
问题:无法连接到SonicWall API
# Check API is enabled
# SonicWall: MANAGE > System Setup > Appliance > SonicOS API ✓
# Test connectivity
ping YOUR_SONICWALL_HOST
curl -k https://YOUR_SONICWALL_HOST/api/sonicos/auth❌ “未返回日志”
问题:日志查询的空响应
# Check log levels in SonicWall
# Log > Settings > Categories > Enable required log types
# Verify time synchronization
date❌ “浏览器中发生CORS错误”
问题:浏览器阻止MCP请求
# Add your domain to CORS_ORIGINS
CORS_ORIGINS=https://claude.ai,https://your-domain.com📊 监测和可观察性
健康监测
# Detailed health status
curl http://localhost:3000/health | jq
# Response includes:
# - Server uptime and status
# - SonicWall connectivity
# - Cache statistics
# - Memory usage性能指标
# View performance logs
docker compose logs sonicwall-mcp | grep "executed successfully"
# Example output:
# {"timestamp":"2024-01-01T12:00:00.000Z","level":"info","message":"Tool analyze_logs executed successfully","executionTime":245,"resultSize":15420}日志分析
# Error monitoring
docker compose logs sonicwall-mcp | grep ERROR
# Performance tracking
docker compose logs sonicwall-mcp | grep "execution time"🤝 贡献
我们欢迎捐款!请阅读我们的 贡献指南.
开发设置
# Fork and clone
git clone https://github.com/your-username/sonicwall-mcp-server.git
cd sonicwall-mcp-server
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm test
# Submit PR
git checkout -b feature/amazing-feature
git commit -m "Add amazing feature"
git push origin feature/amazing-feature📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🆘 支持与社区
- 🐛 问题:
- 💬 讨论:
- 📚 文档: 维基工程
- 📧 安全: security@yourorganization.com
🙏 致谢
- 模型上下文协议 对于卓越的规格
- SonicWall 的 API综合文档
- 克劳德代码 社区反馈和测试
- 所有让这个项目变得更好的贡献者和用户
______________________________________________________________________
🔒 为企业网络安全团队构建安全第一原则
