모범 사례¶
이 가이드는 Kiro와 함께 Model Context Protocol(MCP) 서버를 구성하고 사용하는 데 있어 보안 모범 사례를 설명하여 민감한 정보를 보호하고 시스템 보안을 유지하는 데 도움을 줍니다.
MCP 보안 이해¶
MCP 서버는 외부 서비스 및 API에 연결하여 Kiro의 기능을 확장합니다. 모든 MCP 서버는 타사 코드이므로 다음과 같은 잠재적인 보안 고려 사항이 있습니다:
- 민감한 정보 액세스: MCP 서버는 API 키 또는 토큰이 필요할 수 있음
- 외부 코드 실행: MCP 서버는 Kiro의 샌드박스 외부에서 코드를 실행함
- 데이터 전송: Kiro와 외부 서비스 간에 정보가 흐름
- 소스 검증: 사용하기 전에 소스 코드를 검토하고 서버가 신뢰할 수 있는 출처에서 제공되는지 확인
- 격리: 가능한 경우 격리된 환경에서 서버를 실행하고 부여된 권한을 제한
안전한 구성¶
API 키 및 토큰 보호¶
- 민감한 토큰이 포함된 구성 파일을 버전 관리에 커밋하지 않음
- MCP 서버가 작동하는 데 필요한 최소 권한으로 토큰 생성 (예: GitHub의 경우 클래식 토큰 대신 세분화된 개인 액세스 토큰 사용)
- 필요한 리포지토리 또는 리소스로만 액세스 범위 제한
- 구성에 사용되는 API 키 및 토큰을 정기적으로 교체
- 가능한 경우 값을 하드코딩하는 대신 환경 변수 사용
예시: 환경 변수 사용¶
구성에 토큰을 하드코딩하는 대신:
json
{ "mcpServers": { "github": { "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" } } } }
셸에서 환경 변수 설정:
bash
export GITHUB_TOKEN=your-token-value
승인된 환경 변수¶
보안을 위해 Kiro는 명시적으로 승인된 환경 변수만 확장합니다. 승인된 목록의 변수만 MCP 구성 파일에서 발견될 때 확장됩니다.
승인되지 않은 환경 변수가 포함된 MCP 서버 구성을 추가하거나 수정하면 Kiro는 승인이 필요한 변수를 나열하는 보안 경고 팝업을 표시합니다. 팝업에서 직접 승인하거나 설정에서 관리할 수 있습니다.
승인된 환경 변수를 관리하려면:
- Kiro 설정 열기
- "Mcp Approved Env Vars" 검색
- 확장을 허용하려는 환경 변수 추가
이렇게 하면 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
안전한 도구 사용¶
도구 승인 프로세스¶
- 승인하기 전에 각 도구 요청을 신중하게 검토
- 도구에 전달되는 매개변수 확인
- 승인하기 전에 도구가 수행할 작업 이해
- 현재 작업과 일치하지 않는 의심스러운 요청 거부
자동 승인 가이드라인¶
다음과 같은 도구만 자동 승인합니다:
- 민감한 시스템에 대한 쓰기 액세스 권한이 없음
- 검증된 코드와 함께 신뢰할 수 있는 출처에서 제공
- 워크플로우에서 자주 사용됨
- 액세스할 수 있는 범위가 제한적
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 로그를 정기적으로 검토하여 서버 활동을 모니터링합니다:
- Kiro 패널 열기
- Output 탭 선택
- 드롭다운에서 "Kiro - MCP Logs" 선택
도구 사용 감사¶
승인한 도구를 정기적으로 검토합니다:
- 자동 승인된 도구에 대한 MCP 구성 확인
- 도구 사용 패턴에 대한 MCP 로그 검토
- 예상치 못한 동작에 대한 서버 활동 모니터링
- 자주 사용하지 않는 도구의 자동 승인 제거
보안 사고 대응¶
MCP 서버에 보안 문제가 의심되는 경우:
- 구성에서 즉시 서버 비활성화
- 서버와 연결된 모든 토큰 또는 API 키 취소
- 연결된 서비스에서 무단 활동 확인
- MCP 서버 유지 관리자에게 문제 보고
추가 보안 조치¶
네트워크 보안¶
- 방화벽 사용하여 MCP 서버의 아웃바운드 연결 제한
- 민감한 MCP 서버 연결에 VPN 사용 고려
- MCP 서버로 들어오고 나가는 네트워크 트래픽 모니터링
시스템 보안¶
- 보안 패치로 시스템을 최신 상태로 유지
- 최소 권한으로 MCP 서버 실행
- 민감한 MCP 서버를 실행하기 위해 별도의 사용자 계정 사용