이 문서에서는 데이터 센터에 마이그레이션 센터 탐색 클라이언트를 설치하는 것과 관련된 우려사항과 질문을 다룹니다. 엄격한 규제를 받는 환경에서 고객 IT 애셋의 데이터를 탐색하고 수집할 때 보안, 규정 준수, 성능의 중요성을 강조합니다.
데이터 수집 방법
탐색 클라이언트는 여러 메서드를 사용하여 대상 머신에서 데이터를 수집합니다. 수집되는 데이터는 방법에 따라 다릅니다. 게스트 수준에서는 수집 스크립트를 사용하여 데이터가 수집되고, 하이퍼바이저 수준에서는 기본 플랫폼 API를 사용하여 데이터가 수집됩니다.
탐색 클라이언트 서비스 및 프로세스
검색 클라이언트는 mcdc_service.exe
라는 프로세스에서 GoogleMCDC
라는 서비스로 실행됩니다.
수집 스크립트
탐색 클라이언트에서 사용하는 모든 게스트 수준 수집 메서드는 대상 머신에서 수집 스크립트를 실행합니다. 다음 링크에서 수집에 사용된 실제 스크립트를 검토할 수 있습니다.
수집 스크립트는 결과를 보관 파일 (zip 또는 tar)에 저장하고 디스커버리 클라이언트가 이를 검색합니다.
수집 메커니즘
탐색 클라이언트는 다음 섹션에 설명된 수집 메커니즘 중 하나 이상을 사용하여 대상 머신에서 데이터를 수집할 수 있습니다.
SSH (Linux)
SSH 수집 중에 다음 프로세스가 실행됩니다.
- 수집기 머신과 대상 서버 간에 SSH 세션이 시작됩니다.
~/.mcdc-temp/
아래에 임시 디렉터리가 생성됩니다.- 수집 스크립트가 해당 디렉터리에 복사됩니다.
- 수집 스크립트가 실행됩니다.
- 결과 보관 파일은 SCP를 사용하여 가져옵니다.
- 임시 디렉터리가 정리됩니다.
WMI (Windows)
Windows에서 WMI 수집이 진행되는 동안 다음 프로세스가 발생합니다.
- 대상 머신에 대한 WMI 연결이 시작됩니다.
- 대상 머신에서
HKLM:\SOFTWARE\Google\Collector\data
아래에 임시 (휘발성) 레지스트리 키가 생성됩니다. - 수집 스크립트가 레지스트리 키에 복사됩니다.
C:\temp
아래에 임시 디렉터리가 생성됩니다.- 수집 스크립트가 임시 디렉터리에 작성됩니다.
- 수집 스크립트가 실행됩니다.
- 수집 결과는 휘발성 레지스트리 키에 기록됩니다.
- 결과가 수집기 머신에 복사됩니다.
VMware 게스트 도구 (Linux 및 Windows)
Linux와 Windows 모두에서 VMware 수집이 진행되는 동안 다음 프로세스가 발생합니다.
- VMware 게스트 도구를 사용하여 임시 디렉터리가 생성됩니다.
- 수집 스크립트가 해당 디렉터리에 복사됩니다.
- 수집 스크립트가 실행됩니다.
- 결과 보관 파일은 VMware 게스트 도구를 사용하여 가져옵니다.
- 임시 디렉터리가 정리됩니다.
주기적 데이터 수집
탐색 클라이언트는 주기적으로 구성된 모든 서버에서 데이터를 수집합니다. 컬렉션에는 두 가지 유형이 있습니다.
- 전체 수집: 서버별로 하루에 한 번 실행됩니다. 이 수집은 하드웨어, 환경, 설치된 소프트웨어, 실행 중인 프로세스 등 VM의 다양한 정보를 수집하는 전체 수집 스크립트를 실행합니다.
- 성능 수집: 각 서버에서 10분마다 실행됩니다. 이 모음은 CPU, 메모리, 네트워크, 디스크 사용률에 관한 데이터를 수집하는 성능 수집 스크립트를 실행합니다.
수집되는 데이터
수집 스크립트는 대상 VM에 대한 데이터를 수집하여 VM의 구성 방식과 사용하는 리소스를 파악합니다. 이를 통해 클라우드로의 마이그레이션을 평가하고 계획하는 데 도움이 됩니다.
다음 목록에는 수집되는 데이터가 설명되어 있습니다.
- 시스템 정보: VM의 크기, 성능 요구사항, 특정 하드웨어 또는 드라이버에 대한 종속 항목을 결정하는 데 중요한 기본 정보입니다. 포함되는 요소는 다음과 같습니다.
- 운영체제 (버전 및 출시)
- 하드웨어 (CPU, 메모리, BIOS 세부정보)
- 네트워크 구성 (네트워크 인터페이스, IP 주소, 라우팅 테이블)
- 저장소 (디스크 드라이브, 파티션, 마운트 지점)
- 설치된 소프트웨어 및 서비스: 스크립트는 설치된 패키지 및 실행 중인 서비스 목록을 수집하여 VM의 소프트웨어 스택과 역할을 파악합니다. 포함되는 요소는 다음과 같습니다.
- 웹 서버 (Apache, Tomcat, JBoss)
- 데이터베이스 (SQL Server의 증거는 Windows 스크립트에서 수집됨)
- 이전 중에 특정 구성이 필요할 수 있는 기타 애플리케이션
- 애플리케이션 구성: 스크립트는 웹 서버 (IIS, Apache, Tomcat, JBoss, Wordpress)의 구성 파일도 수집합니다. 이렇게 하면 이러한 애플리케이션의 특정 설정과 종속 항목을 이해하는 데 도움이 되며, 이는 클라우드 환경으로 원활하게 전환하는 데 매우 중요합니다.
- VMware 및 클라우드 환경 감지: Linux 및 Windows 스크립트 모두 VM이 이미 클라우드 환경 (AWS 또는 Google Cloud)에서 실행 중인지 또는 VCenter 클러스터에서 실행 중인지 감지하려고 시도합니다. 이러한 클라우드 제공업체의 메타데이터 서버에 요청을 보내는 방식으로 이를 실행합니다. VM이 이미 클라우드에 있는 경우 스크립트는 인스턴스 ID, 인스턴스 유형, 기타 세부정보와 같은 관련 메타데이터를 수집합니다.
- 성능 측정항목: 성능 수집 스크립트는 리소스 사용률을 측정합니다. 여기에는 다음이 포함됩니다.
- CPU
- 메모리
- I/O 작업
- 네트워킹
- 네트워크 연결: 스크립트는 열린 연결을 수집하여 네트워크 리소스에 대한 다양한 종속 항목의 그림을 만드는 데 도움을 줍니다.
대상 머신에 미치는 성능 영향
리소스 사용률 평가
대상 머신에서 수집 스크립트의 리소스 사용량은 실행 중인 프로세스 수, 배포된 애플리케이션 수, 활성 네트워크 연결 수와 같은 매개변수에 따라 다릅니다.
Windows에서는 컬렉션 스크립트가 스레딩 API를 통해 사용 가능한 가장 낮은 우선순위를 사용하여 실행됩니다.
Linux에서는 nice
값 5가 프로덕션 워크로드와의 간섭을 최소화하고 수집 스크립트보다 우선순위가 높게 설정되도록 하는 데 사용됩니다.
일반적인 수집은 부하가 없는 머신에서 5~20초 동안 높은 단일 코어 CPU 사용량을 사용할 수 있습니다. 다른 워크로드가 있는 경우 이러한 워크로드의 우선순위가 더 높기 때문에 시간이 더 오래 걸릴 수 있습니다.
완화 전략
탐색 클라이언트는 특정 시간에 특정 서버의 수집을 방지하는 메커니즘을 제공합니다. 이 기능을 사용하면 사용량이 많은 시간에 중요한 워크로드를 실행하는 서버에서 수집이 이루어지지 않도록 할 수 있습니다.
보안 고려사항
인증 및 승인
대상 머신과의 통신
- 탐색 클라이언트는 보안 채널을 사용하여 대상 머신을 인증하고 통신합니다. 여기에는 SSH, WMI, VMware 도구, VCenter 연결이 포함됩니다. 탐색 클라이언트는 이러한 프로토콜의 일부로 내장된 보안 조치를 사용합니다.
- SSH에서 탐색 클라이언트는 사용자 이름-비밀번호 인증과 키 기반 인증을 모두 허용합니다. 지원되는 키 쌍 유형의 전체 목록은 타겟 애셋 요구사항을 참고하세요.
Google Cloud와의 통신
- 등록된 탐색 클라이언트는 정상적으로 작동하는 동안 Google Cloud Migration Center와 통신합니다. 통신은
roles/migrationcenter.discoveryClient
역할 결합이 있는 서비스 계정을 통해 이루어집니다. 서비스 계정은 자동으로 생성되거나 등록 프로세스 중에 사용자가 제공합니다. - 서비스 계정 비공개 키는 다음 섹션에 설명된 암호화 메커니즘을 사용하여 검색 클라이언트 머신에서 암호화됩니다.
- Google Cloud와의 모든 통신은 이 서비스 계정을 사용하여 인증되고 SSL/TLS를 사용하여 암호화됩니다.
데이터 암호화
- 전송 중: 모든 검색 클라이언트 커뮤니케이션 채널은 암호화를 사용하여 전송 중인 데이터를 보호합니다. 여기에는 다양한 프로토콜 (SSH/WMI)을 사용하여 대상 머신과 통신하고 HTTPS를 사용하여 Google Cloud와 통신하는 것이 포함됩니다.
- 저장 중: 탐색 클라이언트 PII, SPII, 비밀은 모두
AES128_GCM
알고리즘을 사용하여 저장 중 암호화되며 Windows DPAPI를 사용하여 암호화 키를 안전하게 저장합니다.
침입 감지 및 방지
검색 클라이언트는 조직의 여러 VM에 연결하고 스크립트를 실행하는 데 사용되므로 EDR 또는 xDR 알림을 트리거할 수 있습니다. 이는 보안 도구가 구성된 방식과 사용하는 특정 도구에 따라 크게 달라집니다. 특정 알림 및 기기에 대한 예외를 만들고 고려하세요.
로깅 및 지원 가능성
탐색 클라이언트는 디버깅 및 지원을 위해 작동 중에 로그를 수집합니다. 탐색 클라이언트 로그는 다음 두 가지 메커니즘을 사용하여 수집됩니다.
- 로컬 로그: 로그는
C:\ProgramData\Google\mcdc\logs
아래의 파일에 기록됩니다. 로그 파일이 회전되고 압축됩니다. - Cloud 로그: 등록된 클라이언트는 로그를 Google Cloud로 전송하여 고객 문제가 신고될 때 Google Cloud 지원팀에서 사용할 수 있도록 합니다.