포렌식 선택 보류 기능의 목적은 법적, 보안 및 운영 요구 사항에 대해 정확하고 수정되지 않은 데이터를 제공하는 것입니다. 현재 지원되는 사용 사례에서는 사용자가 법적, 인시던트 대응 또는 운영상의 이유로 선택적 보류 상태에 있을 때 사용자의 데스크톱과 연결된 데이터를 주기적으로 실시간으로 캡처할 수 있습니다. 사용자를 포렌식 선택 보류 상태로 설정하면 데스크톱이 일시적으로 지속되므로 데스크톱의 새로 고침 또는 삭제(‘이미지로 다시 설치’)를 방지하고 사용자 환경에 미치는 영향을 최소화하면서 관리자가 조사 목적으로 사용자의 데스크톱에 액세스할 수 있도록 합니다.
포렌식 선택 보류 기능의 작동 방식
- 역할 기반 액세스 제어
포렌식 기능은 전역 사용 권한인 포렌식에 의해 제어됩니다. 수퍼 관리자는 이 권한을 포렌식 관리자라고 하는 다른 관리자에게 할당할 수 있지만 이 권한은 기본적으로 수퍼 관리자에 대해 사용하도록 설정되지 않습니다. 자세한 내용은 "Horizon 8 관리" 문서의 "전역 권한"을 참조하십시오.
- 아카이브 데이터스토어
아카이브 데이터스토어는 LDAP에서 전역적으로 설정된 마운트된 NFS 또는 VMFS입니다. Horizon 8은 LDAP에서 이 설정을 읽고 아카이브된 데이터를 배치할 위치를 확인합니다. 기본적으로 설정은 풀이 있는 동일한 데이터스토어를 사용하는 것입니다.
- 워크플로 보류 선택
- 사용자를 보류 상태로 유지
보류는 개별 AD 사용자 수준에서만 적용할 수 있습니다. 포렌식 관리자가 API를 사용하여 사용자를 보류 상태로 두면 다음 결과가 발생합니다.
- 사용자가 이미 VM을 사용 중인 경우 보류는 현재 로그인된 VM 및 사용자에게 할당된 다른 VM에 적용됩니다.
- 해당 사용자가 VM에 로그인하면 Horizon 8은 인스턴트 클론 VM의 상태를 상태 비저장에서 상태 저장으로 변경하지만 상태 저장 VM은 원래 풀에 둡니다.
- 보류 중인 사용자는 계속해서 동일한 VM에 다시 로그인하여 데스크톱에 대한 모든 이전 변경 내용을 볼 수 있습니다. Horizon 8은 어떤 방식으로든 VM의 컨텐츠를 변경하지 않습니다.
- 관리 콘솔의 상태 표시기는 VM이 보류 중임을 표시합니다.
- VM에는 vCenter 관리자가 변경할 수 없음을 알 수 있도록 vCenter에 태그가 지정됩니다.
- 보류 기간 동안
사용자가 보류 상태가 되면 포렌식 팀은 조사를 위해 상태 저장 데스크톱에 액세스하고 라이브 데이터를 즉석에서 캡처할 수 있습니다. 이 데이터 캡처의 경우 포렌식 관리자는 다음과 같은 옵션을 사용할 수 있습니다.
Archive
API를 사용합니다.Archive
API는 여러 VM 및 여러 사용자에서 작동할 수 있습니다. 사용자가 로그인하지 않은 경우에만 개별 VM만 아카이브할 수 있습니다. 사용자가 로그인한 경우 사용자가 로그아웃할 때까지 아카이브 명령을 지연해야 합니다.아카이브 작업은 다음과 같습니다.- VM이 종료됩니다.
- 모든 디스크가 통합됩니다.
- 모든 스냅샷이 통합됩니다.
- VMDK 파일이 선택한 아카이브 위치에 복사됩니다.
- VM이 대상 이미지와 다시 동기화됩니다.
- 사용자 고유의 스크립트 또는 타사 도구를 사용합니다. 이 경우 하이퍼바이저 메모리만 아카이브할지, VM의 VMDK만 아카이브할지 또는 하이퍼바이저 메모리와 VMDK를 모두 아카이브할지를 선택할 수 있습니다.
isHeldUser 환경 변수는 세션에 연결하는 사용자가 보류된 사용자인지 여부를 나타냅니다. 이 변수의 값에 따라 보류된 사용자가 데스크톱에 로그온할 때 데이터 수집 스크립트를 트리거할 수 있습니다. 스크립트 호스트 서비스가 연결 서버 VM에서 실행 중일 때 스크립트를 트리거할 수 있습니다. 자세한 내용은 "Horizon 원격 데스크톱 기능 및 GPO" 문서에서 VMware Horizon View 스크립트 호스트 서비스 활성화를 참조하십시오.
보류 기간 동안 기록해 둘 사항:- 보류된 VM은 새로 고치거나, 복구하거나, 제거하거나, 유지 보수 모드로 전환할 수 없습니다. 이것은 동일한 풀의 다른 VM에는 적용되지 않고 보류된 VM에만 적용됩니다.
- 보류된 VM이 포함된 풀은 삭제할 수 없습니다.
- 풀의 자동 축소 기능이 설정되면 Horizon 8은 보류된 VM에 우선 순위를 지정하여 손실되지 않도록 합니다.
- 인스턴트 클론 풀에서 풀 새로 고침 또는 패치 업데이트를 진행해야 하는 경우 다음 두 가지 옵션을 사용할 수 있습니다.
- 보류된 VM이 포함된 풀을 새로 고쳐야 하고 아카이브 데이터스토어가 설정되지 않은 경우 푸시 이미지는 상태 저장 VM을 무시합니다. 이 경우 포렌식 목적으로 VM의 보류 상태가 유지되며 사용자는 로그인할 때 영구 VM으로 계속 연결됩니다. 그런 다음, 영구 VM과 같은 별도의 도구로 이러한 VM에 패치를 적용해야 합니다.
- 보류된 VM을 포함하는 풀을 새로 고쳐야 하고 아카이브 데이터스토어가 설정되면 Horizon 8은 먼저 풀의 다른 모든 VM에 대해 푸시 이미지를 수행한 다음, 보류된 VM을 아카이브합니다. 보류된 VM이 아카이브된 후 Horizon 8은 VM에 대해 정상적인 푸시 이미지 프로세스를 수행합니다. 보류된 사용자가 다음번에 다시 로그인하면 초기 VM을 얻게 되며, 이 VM은 상태 저장 VM으로 전환되고 이 프로세스가 반복됩니다. 패치 작업이 발생할 때마다 상태 저장 VM을 복사하고 아카이브하기 위해 추가 스토리지가 필요합니다.
- 사용자의 보류 상태 해제
포렌식 관리자가 API를 사용하여 사용자를 보류 상태에서 해제하면 다음 결과가 발생합니다.
- Horizon 8은 VM을 다시 상태 비저장 VM으로 전환합니다.
- 다음번에 사용자가 로그오프하면 VM이 삭제되었다가 골든 이미지에서 다시 생성되므로 초기 상태로 되돌아갑니다.
- 사용자를 보류 상태로 유지
- 이벤트 데이터베이스의 포렌식 작업
포렌식 권한 부여 및 사용자 보류/해제를 비롯한 모든 작업이 이벤트 데이터베이스에 캡처됩니다. 이것은 실행해야 하는 스크립트를 알리는 데 사용할 수 있습니다.
API를 사용하여 포렌식 선택 보류 기능 수행
Horizon API를 사용하여 아래에 설명된 대로 포렌식 선택 보류를 수행할 수 있습니다. 각 API에 대해 VMware {code} 웹 사이트에 있는 해당 설명서에 대한 링크가 있습니다.
- 포렌식 관리자 역할 생성 및 사용자 할당
- 다음 API를 사용하여 사용자 지정 포렌식 관리자 역할을 생성합니다.
/config/v1/roles
이 API에 대한 설명서는 여기에서 찾을 수 있습니다.
- "Horizon 8 관리" 가이드의 "Horizon Console에서 관리자 생성"의 지침에 따라 사용자 지정 포렌식 관리자 역할을 할당합니다.
- 다음 API를 사용하여 사용자 지정 포렌식 관리자 역할을 생성합니다.
- 아카이브를 위한 데이터스토어 지정
가상 디스크와 메모리를 아카이브하기 위한 데이터스토어를 지정하려면 다음 API를 사용합니다.
/config/v1/virtual-centers/{id}/action/mark-datastores-for-archival
이 API에 대한 설명서는 여기에서 찾을 수 있습니다.
- 사용자 보류
사용자를 보류하려면 다음 API를 사용합니다.
/external/v1/ad-users-or-groups/action/hold
API는 보류된 사용자에게 할당된 모든 데스크톱에 대해 데스크톱 ID, 풀 ID 및 시스템 상태를 반환합니다. 이 경고 정보를 사용하여 스크립트된 데이터 수집을 트리거할 수 있습니다. 이 API에 대한 설명서는 여기에서 찾을 수 있습니다.vCenter에서
ForensicHold
태그는 보류된 사용자가 사용하는 모든 VM에 적용됩니다. - VM의 가상 디스크 및 메모리 아카이브
VM의 가상 디스크 및 메모리를 아카이브하려면 다음 API를 사용합니다.
/inventory/v1/machines/action/archive
이 API에 대한 설명서는 여기에서 찾을 수 있습니다.
- 아카이브는 사용자가 보류된 VM에서 로그아웃할 때 발생합니다.
- VM이 아카이브되면
Archive
폴더 내 vCenter의 아카이브 데이터스토어(API에서 위에 지정됨)에 표시됩니다. - VM에 둘 이상의 디스크가 있는 경우 기본 디스크만 아카이브됩니다. 다중 디스크 아카이브는 이 릴리스에서 지원되지 않습니다.
- 보류 중인 사용자 해제
보류 상태인 사용자를 해제하려면 다음 API를 사용합니다.
/external/v1/ad-users-or-groups/action/release-hold
API는 보류된 사용자에게 할당된 모든 데스크톱에 대해 데스크톱 ID, 풀 ID 및 시스템 상태를 반환합니다. 이 경고 정보를 사용하여 스크립트된 데이터 수집을 트리거할 수 있습니다. 이 API에 대한 설명서는 여기에서 찾을 수 있습니다.
- 보류된 사용자 나열
보류된 사용자를 나열하려면 다음 API를 사용합니다.
/external/v1/ad-users-or-groups/held-users-or-groups
이 API에 대한 설명서는 여기에서 찾을 수 있습니다.
- 보류된 시스템 나열
현재 보류 중인 시스템 목록을 생성하려면 다음 API를 사용합니다.
/inventory/v3/machines
이 API에 대한 설명서는 여기에서 찾을 수 있습니다.
참고: 이 API는 모든 시스템을 반환합니다. 응답에서 보류 중인 VM의 값은"held_machine": true
입니다.