安全数据管理面板

一个基于Spring Boot的应用,提供全面的Tenable.io安全数据管理和可视化界面。

  • by rajagrawal104
  • Kotlin
  • 本地部署
  • 更新于
在 GitHub 查看 rajagrawal104/tenablemcp

使用说明

Tenable MCP(管理控制面板)

一个Spring Boot应用程序,为管理和可视化Tenable.io安全数据提供了一个全面的界面。

特性

  • 配置管理

    • 轻松配置Tenable.io API证书
    • 支持自定义API端点
    • 可配置的超时和重试策略
  • 安全可视化

    • 按严重程度划分的漏洞分布
    • 资产脆弱性趋势
    • 顶级脆弱资产分析
    • 脆弱性年龄分布
    • 修复进度跟踪
    • 资产风险评分分布
    • 漏洞类别分析
  • 报告

    • 全面的CSV导出
    • 详细的安全态势摘要
    • 可定制的时间范围过滤

先决条件

  • Java 17或更高版本
  • Gradle 7.x或更高版本(包含在项目中)
  • Docker(可选,用于容器化部署)
  • Tenable.io API证书

快速开始

  1. 克隆存储库:

    git clone https://github.com/yourusername/tenablemcp.git
    cd tenablemcp
    
  2. 运行安装脚本:

    chmod +x setup.sh
    ./setup.sh
    
  3. 更新配置: 编辑 src/main/resources/application.yml 使用您的Tenable.io凭据:

    tenable:
      apiKey: "your-api-key"
      accessKey: "your-access-key"
      secretKey: "your-secret-key"
      baseUrl: "https://cloud.tenable.com"
    
  4. 运行应用程序:

    ./gradlew bootRun
    

使用Docker运行

  1. 构建Docker镜像:

    docker build -t tenable-mcp .
    
  2. 运行容器:

    docker run -p 8080:8080 tenable-mcp
    

API终点

配置

  • GET /api/config

    • 获取当前配置
    • 响应:当前配置设置
  • POST /api/config

    • 更新配置
    • 正文:带配置参数的JSON
    • 例子:
      {
        "accessKey": "your-access-key",
        "secretKey": "your-secret-key",
        "baseUrl": "https://cloud.tenable.com"
      }
      

可视化

  • GET /api/v1/visualizations/report

    • 获取全面的安全报告
    • 查询参数:
      • startTime (可选):ISO-8601格式的开始时间
      • endTime (可选):ISO-8601格式的结束时间
    • 响应:JSON包含多个可视化
  • GET /api/v1/visualizations/export/vulnerabilities

    • 将报告导出为CSV
    • 查询参数:
      • startTime (可选):ISO-8601格式的开始时间
      • endTime (可选):ISO-8601格式的结束时间
    • 响应:CSV文件下载

可视化类型

  1. 漏洞分布

    • 按严重程度显示分布的饼图
    • 颜色编码,便于解读
  2. 资产脆弱性趋势

    • 显示漏洞随时间变化趋势的折线图
    • 帮助跟踪安全态势的改进
  3. 最脆弱的资产

    • 最脆弱资产柱状图
    • 帮助确定补救工作的优先级
  4. 脆弱性年龄分布

    • 显示漏洞年龄范围的饼图
    • 帮助识别过时的漏洞
  5. 修复进度

    • 显示固定漏洞与开放漏洞的圆环图
    • 跟踪补救效果
  6. 资产风险评分分布

    • 显示资产风险评分分布的柱状图
    • 帮助识别高风险资产

发展

项目结构

src/main/kotlin/com/tenable/mcp/
├── config/         # Configuration classes
├── controller/     # REST controllers
├── service/        # Business logic
├── client/         # Tenable.io API client
└── model/          # Data models

建筑

./gradlew clean build

运行测试

./gradlew test

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

支持

如需支持,请在GitHub存储库中打开问题或联系维护人员。