Cisa M365

Cisa M365

🚀 CISA BOD 25-01 CSA MCP 实施指南

本项目是一个基于红队的CISA BOD 25-01最小可行产品(MCP)实现。旨在助力组织满足网络安全审计、渗透测试和修复要求,以达到CISA BOD 25-01标准。

🚀 快速开始

本项目能帮助组织达成CISA BOD 25-01标准,以下为你介绍如何快速开启使用。

📦 安装指南

  1. 克隆仓库:
git clone https://github.com/DynamicEndpoints/BOD-25-01-CSA-MCP.git
cd cisa-m365
  1. 安装依赖项:
npm install
  1. 构建服务:
npm run build

📚 详细文档

配置指南

1. 创建Azure AD应用程序

  • 登录Azure Portal
  • 进入Azure Active Directory
  • 注册新应用
  • 添加所需API权限
  • 创建客户端密钥

2. 配置环境变量

cp .env.example .env

编辑.env文件:

TENANT_ID=your-tenant-id
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret

3. 配置MCP设置

{
"mcpServers": {
"cisa-m365": {
"command": "node",
"args": ["path/to/cisa-m365/build/index.js"],
"env": {
"TENANT_ID": "your-tenant-id",
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret"
}
}
}
}

使用指南

可用工具

  • block_legacy_auth:阻止使用传统身份验证方法。
{}
  • block_high_risk_users:阻止被识别为高风险的用户。
{}
  • enforce_phishing_resistant_mfa:强制所有用户使用防钓鱼MFA。
{}
  • configure_global_admins:配置全局管理员角色分配。
{
"userIds": ["user1-id", "user2-id"]
}
  • get_policy_status:获取所有安全策略的当前状态。
{}

示例用法

// 阻止传统身份验证
const result = await client.callTool('block_legacy_auth', {});

// 获取策略状态
const status = await client.callTool('get_policy_status', {});

API参考

策略设置接口

interface PolicySettings {
legacyAuthentication: {
blocked: boolean;
compliant: boolean;
};
highRiskUsers: {
blocked: boolean;
compliant: boolean;
};
mfa: {
phishingResistant: boolean;
alternativeEnabled: boolean;
compliant: boolean;
};
applications: {
registrationRestricted: boolean;
consentRestricted: boolean;
compliant: boolean;
};
passwords: {
expirationDisabled: boolean;
compliant: boolean;
};
roles: {
globalAdminCount: number;
granularRolesEnforced: boolean;
pamEnforced: boolean;
compliant: boolean;
};
}

错误处理

该服务器实现全面错误处理:

  1. 认证错误

    • 令牌获取失败
    • 权限问题
    • 租户配置问题
  2. 授权错误

    • 缺乏必要的权限
    • 请求格式错误
    • 超出速率限制
  3. 策略执行错误

    • 策略解析失败
    • 执行失败
    • 无法应用修复
  4. 通用错误

    • 输入数据无效
    • 内部服务器错误
    • 不支持的操作

测试方法

  1. 单元测试:
npm test
  1. 集成测试:
npm run integration-test
  1. 性能测试:
npm run benchmark

安全注意事项

  • 所有敏感操作均需加密
  • 定期进行安全审计
  • 实施最小权限原则

贡献指南

欢迎贡献!请参考贡献者指南了解如何参与。

许可协议

本项目采用MIT License许可。

附录

环境变量参考

TENANT_ID=your-tenant-id
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret

工具使用示例

  1. 使用block_legacy_auth工具:
npx cisa-mcp block_legacy_auth --tenantId yourTenantId
  1. 使用enforce_phishing_resistant_mfa工具:
npx cisa-mcp enforce_phishing_resistant_mfa --tenantId yourTenantId
  1. 查看策略状态:
npx cisa-mcp get_policy_status --tenantId yourTenantId

常见问题解答

  1. 如何处理认证错误? 检查租户ID、客户端ID和客户端密钥是否正确配置。

  2. 为何无法连接到Azure AD? 确保网络连通性,并检查应用程序的API权限设置。

  3. 如何提高性能? 优化查询参数,实施分页和过滤功能。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-30 12:18

相似服务问题