콘텐츠로 이동

모범 사례

이 가이드는 Kiro와 함께 Model Context Protocol(MCP) 서버를 구성하고 사용하는 데 있어 보안 모범 사례를 설명하여 민감한 정보를 보호하고 시스템 보안을 유지하는 데 도움을 줍니다.

MCP 보안 이해

MCP 서버는 외부 서비스 및 API에 연결하여 Kiro의 기능을 확장합니다. 모든 MCP 서버는 타사 코드이므로 다음과 같은 잠재적인 보안 고려 사항이 있습니다:

  • 민감한 정보 액세스: MCP 서버는 API 키 또는 토큰이 필요할 수 있음
  • 외부 코드 실행: MCP 서버는 Kiro의 샌드박스 외부에서 코드를 실행함
  • 데이터 전송: Kiro와 외부 서비스 간에 정보가 흐름
  • 소스 검증: 사용하기 전에 소스 코드를 검토하고 서버가 신뢰할 수 있는 출처에서 제공되는지 확인
  • 격리: 가능한 경우 격리된 환경에서 서버를 실행하고 부여된 권한을 제한

안전한 구성

API 키 및 토큰 보호

  1. 민감한 토큰이 포함된 구성 파일을 버전 관리에 커밋하지 않음
  2. MCP 서버가 작동하는 데 필요한 최소 권한으로 토큰 생성 (예: GitHub의 경우 클래식 토큰 대신 세분화된 개인 액세스 토큰 사용)
  3. 필요한 리포지토리 또는 리소스로만 액세스 범위 제한
  4. 구성에 사용되는 API 키 및 토큰을 정기적으로 교체
  5. 가능한 경우 값을 하드코딩하는 대신 환경 변수 사용

예시: 환경 변수 사용

구성에 토큰을 하드코딩하는 대신:

json

{ "mcpServers": { "github": { "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" } } } }

셸에서 환경 변수 설정:

bash

export GITHUB_TOKEN=your-token-value

승인된 환경 변수

보안을 위해 Kiro는 명시적으로 승인된 환경 변수만 확장합니다. 승인된 목록의 변수만 MCP 구성 파일에서 발견될 때 확장됩니다.

승인되지 않은 환경 변수가 포함된 MCP 서버 구성을 추가하거나 수정하면 Kiro는 승인이 필요한 변수를 나열하는 보안 경고 팝업을 표시합니다. 팝업에서 직접 승인하거나 설정에서 관리할 수 있습니다.

승인된 환경 변수를 관리하려면:

  1. Kiro 설정 열기
  2. "Mcp Approved Env Vars" 검색
  3. 확장을 허용하려는 환경 변수 추가

이렇게 하면 MCP 서버가 시스템의 임의 환경 변수에 액세스하는 것을 방지합니다.

구성 파일 권한

MCP 구성 파일에 대한 액세스를 제한합니다:

bash

# Set restrictive permissions on user-level config chmod 600 ~/.kiro/settings/mcp.json # Set restrictive permissions on workspace-level config chmod 600 .kiro/settings/mcp.json

안전한 도구 사용

도구 승인 프로세스

  1. 승인하기 전에 각 도구 요청을 신중하게 검토
  2. 도구에 전달되는 매개변수 확인
  3. 승인하기 전에 도구가 수행할 작업 이해
  4. 현재 작업과 일치하지 않는 의심스러운 요청 거부

자동 승인 가이드라인

다음과 같은 도구만 자동 승인합니다:

  1. 민감한 시스템에 대한 쓰기 액세스 권한이 없음
  2. 검증된 코드와 함께 신뢰할 수 있는 출처에서 제공
  3. 워크플로우에서 자주 사용됨
  4. 액세스할 수 있는 범위가 제한적

json

{ "mcpServers": { "aws-docs": { "autoApprove": [ "mcp_aws_docs_search_documentation", "mcp_aws_docs_read_documentation" ] } } }

워크스페이스 격리

워크스페이스 수준 구성 사용

프로젝트별 MCP 서버에 워크스페이스 수준 구성을 사용합니다:

project-a/ ├── .kiro/ │ └── settings/ │ └── mcp.json # Project A specific servers project-b/ ├── .kiro/ │ └── settings/ │ └── mcp.json # Project B specific servers

이렇게 하면:

  • 관련 프로젝트에서 작업할 때만 MCP 서버가 실행됨
  • 토큰 및 구성이 프로젝트 간에 격리됨
  • 보안 위험이 특정 워크스페이스로 제한됨

모니터링 및 감사

MCP 로그 확인

MCP 로그를 정기적으로 검토하여 서버 활동을 모니터링합니다:

  1. Kiro 패널 열기
  2. Output 탭 선택
  3. 드롭다운에서 "Kiro - MCP Logs" 선택

도구 사용 감사

승인한 도구를 정기적으로 검토합니다:

  1. 자동 승인된 도구에 대한 MCP 구성 확인
  2. 도구 사용 패턴에 대한 MCP 로그 검토
  3. 예상치 못한 동작에 대한 서버 활동 모니터링
  4. 자주 사용하지 않는 도구의 자동 승인 제거

보안 사고 대응

MCP 서버에 보안 문제가 의심되는 경우:

  1. 구성에서 즉시 서버 비활성화
  2. 서버와 연결된 모든 토큰 또는 API 키 취소
  3. 연결된 서비스에서 무단 활동 확인
  4. MCP 서버 유지 관리자에게 문제 보고

추가 보안 조치

네트워크 보안

  1. 방화벽 사용하여 MCP 서버의 아웃바운드 연결 제한
  2. 민감한 MCP 서버 연결에 VPN 사용 고려
  3. MCP 서버로 들어오고 나가는 네트워크 트래픽 모니터링

시스템 보안

  1. 보안 패치로 시스템을 최신 상태로 유지
  2. 최소 권한으로 MCP 서버 실행
  3. 민감한 MCP 서버를 실행하기 위해 별도의 사용자 계정 사용