Skip to main content
Glama

BOD-25-01-CSA-Microsoft-Policy-MCP

CISA M365 MCP 서버

Microsoft 365(Azure AD/Entra ID)에 대한 CISA 바인딩 운영 지침 25-01 보안 제어를 구현하는 모델 컨텍스트 프로토콜(MCP) 서버입니다.

목차

개요

이 MCP 서버는 BOD 25-01 요구 사항에 따라 Microsoft 365 보안 설정을 구성하고 관리하는 도구를 제공합니다. Microsoft Graph API와 통합되어 보안 제어를 강화하고, 규정 준수를 모니터링하고, 상세 보고서를 제공합니다.

주요 특징

  • 레거시 인증 제어
  • 위험 기반 액세스 제어
  • 다중 인증 관리
  • 애플리케이션 등록 및 동의 제어
  • 비밀번호 정책 관리
  • 권한이 있는 역할 관리
  • 클라우드 전용 계정 시행
  • PAM 시스템 통합
  • 포괄적인 규정 준수 보고
  • 토큰 기반 인증
  • 유형 안전 인수 검증
  • 자세한 오류 처리 및 로깅

보안 제어

MS.AAD.1.1v1

마감일: 2025년 6월 20일

레거시 인증 차단:

  • 레거시 인증 프로토콜을 비활성화합니다.
  • 공격 표면을 줄입니다
  • 보안 태세를 개선합니다

구현 세부 정보:

지엑스피1

MS.AAD.2.1v1 및 MS.AAD.2.3v1

마감일: 2025년 6월 20일

위험성이 높은 사용자 및 로그인 차단:

  • 고위험으로 감지된 사용자를 차단합니다.
  • 위험도가 높은 것으로 감지된 로그인 차단
  • Microsoft의 위협 인텔리전스를 활용합니다.

구현 세부 정보:

await graphClient .api('/policies/identitySecurityDefaultsEnforcementPolicy') .patch({ blockHighRiskUsers: true, riskLevelForBlocking: 'high', });

MS.AAD.3.1v1, MS.AAD.3.2v1, MS.AAD.3.3v1

마감일: 2025년 6월 20일

MFA 구성:

  • 피싱 방지 MFA 시행
  • 대체 MFA 방법을 구성합니다.
  • Microsoft Authenticator에서 로그인 컨텍스트를 표시합니다.

구현 세부 정보:

await graphClient .api('/policies/authenticationMethodsPolicy') .patch({ policies: { fido2: { isEnabled: true, isSelfServiceRegistrationAllowed: true, }, windowsHelloForBusiness: { isEnabled: true, isSelfServiceRegistrationAllowed: true, }, }, });

MS.AAD.5.1v1, MS.AAD.5.2v1, MS.AAD.5.3v1, MS.AAD.5.4v1

마감일: 2025년 6월 20일

애플리케이션 제어:

  • 앱 등록을 관리자로 제한합니다.
  • 앱 동의를 관리자로 제한합니다.
  • 관리자 동의 워크플로 구성
  • 블록 그룹 소유자 동의

구현 세부 정보:

await graphClient .api('/policies/applicationRegistrationManagement') .patch({ restrictAppRegistration: true, restrictNonAdminUsers: true, });

MS.AAD.6.1v1

마감일: 2025년 6월 20일

비밀번호 정책:

  • 비밀번호 만료를 비활성화합니다
  • 최신 보안 모범 사례를 따릅니다.

구현 세부 정보:

await graphClient .api('/policies/passwordPolicy') .patch({ passwordExpirationPolicy: { passwordExpirationDays: 0, neverExpire: true, }, });

MS.AAD.7.1v1부터 MS.AAD.7.8v1까지

마감일: 2025년 6월 20일

권한이 있는 역할 관리:

  • 글로벌 관리자 수 제한
  • 세분화된 역할을 적용합니다
  • 클라우드 전용 계정이 필요합니다
  • PAM 시스템 사용을 시행합니다
  • 승인 워크플로 구성
  • 알림 설정

구현 세부 정보:

await graphClient .api('/policies/roleManagementPolicies') .patch({ enforceGranularRoles: true, blockGlobalAdminForGeneralUse: true, requireApprovalForGlobalAdmin: true, });

건축학

구성 요소

  1. 서버 클래스
    • MCP 프로토콜 구현을 처리합니다.
    • 도구 등록 및 실행을 관리합니다.
    • 오류 처리 및 로깅을 구현합니다.
  2. 입증
    • Microsoft Graph API를 사용한 토큰 기반 인증
    • 자동 토큰 새로 고침
    • 보안 자격 증명 관리
  3. 그래프 클라이언트
    • Microsoft Graph API를 둘러싼 래퍼
    • 유형 안전 요청/응답 처리
    • 재시도 논리 및 오류 처리
  4. 도구
    • 레거시 인증 제어
    • 위험 기반 액세스 관리
    • MFA 구성
    • 애플리케이션 제어
    • 비밀번호 정책 관리
    • 역할 관리
    • 알림 구성
    • 정책 상태 보고

데이터 흐름

필수 조건

  • Node.js 18.x 이상
  • 관리자 액세스 권한이 있는 Microsoft 365 테넌트
  • 필요한 권한이 있는 Azure AD 애플리케이션:
    • 정책.읽기.쓰기.모두
    • 역할 관리.읽기/쓰기.모두
    • 사용자.모두 읽기
    • 애플리케이션.읽기/쓰기.모두

설치

Smithery를 통해 설치

Smithery를 통해 CISA M365 MCP 서버를 자동으로 설치하려면:

npx -y @smithery/cli install cisa-m365

Smithery Protocol Directory 에서 MCP 설정과 정의를 직접 복사하여 MCP 프로토콜을 지원하는 Claude 또는 LLM 설정에 MCP 서버를 추가할 수도 있습니다.

  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
  1. 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" } } } }

용법

사용 가능한 도구

블록_레거시_인증

기존 인증 방법을 차단합니다.

{}
고위험 사용자 차단

위험도가 높은 것으로 감지된 사용자를 차단합니다.

{}
피싱 방지 MFA 시행

모든 사용자에게 피싱 방지 MFA를 적용합니다.

{}
구성_글로벌_관리자

글로벌 관리자 역할 할당을 구성합니다.

{ "userIds": ["user1-id", "user2-id"] }
정책 상태 가져오기

모든 보안 정책의 현재 상태를 가져옵니다.

{}

사용 예

// Block legacy authentication const result = await client.callTool('block_legacy_auth', {}); // Get policy status const status = await client.callTool('get_policy_status', {});

API 참조

정책 설정 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. API 오류
    • 그래프 API 요청 실패
    • 속도 제한
    • 서비스 이용 불가
  3. 유효성 검사 오류
    • 잘못된 인수
    • 필수 매개변수가 없습니다
    • 유형 불일치
  4. 런타임 오류
    • 네트워크 문제
    • 시간 초과 문제
    • 리소스 제약

오류 응답 예:

{ "error": { "code": "InvalidParams", "message": "Invalid role assignment arguments", "details": { "parameter": "userIds", "constraint": "Must have between 2 and 8 users", "received": "1 user" } } }

테스트

  1. 단위 테스트 실행:
npm test
  1. 통합 테스트 실행:
npm run test:integration
  1. 규정 준수 테스트 실행:
npm run test:compliance

보안 고려 사항

  1. 입증
    • 안전한 토큰 저장소를 사용하세요
    • 토큰 회전 구현
    • 의심스러운 활동을 모니터링하세요
  2. API 액세스
    • 최소 권한 원칙을 따르세요
    • 정기적인 허가 감사
    • API 사용 모니터링
  3. 데이터 보호
    • 민감한 데이터 로깅 없음
    • 보안 구성 저장소
    • 정기적인 보안 검사
  4. 규정 준수
    • 정기적인 규정 준수 점검
    • 자동화된 정책 검증
    • 감사 로깅

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 변경 사항을 만드세요
  4. 테스트 실행
  5. 풀 리퀘스트 제출

가이드라인:

  • 기존 코드 스타일을 따르세요
  • 새로운 기능에 대한 테스트 추가
  • 문서 업데이트
  • 커밋을 원자성으로 유지하세요

특허

MIT

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A framework to use with AI to easily create a server for any service. Just drop the API Documentation in it and ask to create the MCP.
    Last updated -
    4
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    An MCP server for interacting with Azure. Contains some common Compute and Networking actions, and extensible to add many more.
    Last updated -
    Python
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    Acts as an AI Gateway for MCP servers using Azure API Management, implementing the latest MCP Authorization specification.
    Last updated -
    39
    MIT License
  • A
    security
    F
    license
    A
    quality
    A server based on MCP protocol that allows large language models to directly access Tencent Cloud Object Storage (COS) and Cloud Infinite (CI) services without coding, enabling file storage, retrieval, and processing operations.
    Last updated -
    16
    225
    7
    TypeScript

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DynamicEndpoints/Automated-BOD-25-01-CISA-Microsoft-Policies-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server