증명 없이 SQL Server에서 보안 Enclave를 사용한 Always Encrypted 계획

적용 대상: SQL Server 2019(15.x) 이상 - Windows만 해당

증명 없이 SQL Server에서 보안 Enclave를 사용하여 Always Encrypted를 설정하면 이 기능을 쉽게 시작할 수 있습니다. 그러나 프로덕션 환경에서 보안 Enclave를 사용하는 경우 OS 관리자에 대한 보호 수준이 증명 없이 감소됩니다. 예를 들어 악의적인 OS 관리자가 enclave 내에서 실행되는 SQL Server 라이브러리를 변조한 경우 클라이언트 애플리케이션에서 이를 검색할 수 없습니다. 이러한 공격에 대해 우려하는 경우 호스트 보호 서비스를 사용하여 증명을 설정하는 것이 좋습니다. 자세한 내용은 호스트 보호 서비스 증명에 대한 계획을 참조하세요.

SQL Server에서 보안 Enclave를 사용한 Always Encrypted는 Windows 하이퍼바이저를 사용하고 특별한 하드웨어가 필요하지 않은 소프트웨어 기반 기술인 VBS(가상화 기반 보안) Enclave(가상 보안 모드 또는 VSM Enclave라고도 함)를 사용합니다.

참고 항목

SQL Server가 VM에 배포되면 VBS Enclave는 VM 내의 공격으로부터 데이터를 보호하는 데 도움이 됩니다. 그러나 호스트에서 시작된 권한 있는 시스템 계정을 사용하여 공격으로부터 보호하지는 않습니다. 예를 들어 호스트 컴퓨터에서 생성된 VM의 메모리 덤프에는 enclave의 메모리가 포함될 수 있습니다.

전제 조건

SQL Server를 실행하는 컴퓨터는 SQL Server 설치 요구 사항과 Hyper-V 하드웨어 요구 사항을 모두 충족해야 합니다.

요구 사항은 다음과 같습니다.

  • SQL Server 2019(15.x) 이상

  • Windows 10 이상 또는 Windows Server 2019 이상

  • 가상화 기술에 대한 CPU 지원:

    • 확장 페이지 테이블이 있는 Intel VT-x.
    • AMD-V의 신속한 가상화 인덱싱
    • VM에서 SQL Server를 실행하는 경우:
      • Azure의 경우 2세대 VM 크기(권장) 또는 중첩 가상화가 적용된 1세대 VM 크기를 사용합니다. 어떤 1세대 VM 크기가 중첩 가상화를 지원하는지 확인하려면 개별 VM 크기 문서를 참조하세요.
      • Hyper-V 2016 이상(Azure 외부)에서 VM이 2세대 VM인지(권장) 또는 중첩된 가상화를 사용하도록 설정된 1세대 VM인지 확인합니다. 자세한 내용은 Hyper-V에 1 또는 2세대 가상 머신을 만들어야 하나요?중첩 가상화 구성을 참조하세요.
      • VMware vSphere 6.7 이상에서 VMware 설명서설명된 대로 VM에 대한 가상화 기반 보안 지원을 사용하도록 설정합니다.
      • 다른 하이퍼바이저 및 퍼블릭 클라우드는 VBS Enclave로 Always Encrypted를 사용하도록 설정하는 중첩된 가상화 기능도 지원할 수 있습니다. 호환성 및 구성 지침은 가상화 솔루션의 설명서를 확인합니다.
  • VBS(가상화 기반 보안)를 사용하도록 설정하고 실행해야 합니다.

도구 요구 사항

클라이언트 드라이버 요구 사항

증명 없이 보안 Enclave 사용을 지원하는 클라이언트 드라이버 버전에 대한 자세한 내용은 보안 Enclave와 Always Encrypted를 사용하여 애플리케이션 개발을 참조 하세요.

VBS가 실행 중인지 확인

참고 항목

이 단계는 SQL Server 컴퓨터 관리자가 수행해야 합니다.

VBS가 실행 중인지 확인하려면 msinfo32.exe를 실행하여 시스템 정보 도구를 열고 시스템 요약 아래쪽에서 Virtualization-based security 항목을 찾습니다.

Screenshot of System Information showing virtualization-based security status and configuration.

확인할 첫 번째 항목은 다음과 같은 세 가지 값을 가질 수 있는 항목입니다 Virtualization-based security.

  • Running 는 VBS가 올바르게 구성되었고 성공적으로 시작할 수 있었다는 것을 의미합니다.
  • Enabled but not running은 VBS가 실행하도록 구성되었지만, 하드웨어에 VBS를 실행할 최소 보안 요구 사항이 없음을 의미합니다. IOMMU 같은 선택적 프로세서 기능을 사용하도록 설정하려면 BIOS 또는 UEFI에서 하드웨어 구성을 변경해야 할 수 있으며, 하드웨어가 실제로 필요한 기능을 지원하지 않는 경우에는 VBS 보안 요구 사항을 낮춰야 할 수 있습니다. 자세한 내용은 이 섹션을 계속 읽어보세요.
  • Not enabled는 VBS가 실행하도록 구성되지 않았음을 의미합니다.

VBS 사용

VBS를 사용하도록 설정하지 않은 경우 관리자 권한 PowerShell 콘솔에서 다음 명령을 실행하여 사용하도록 설정합니다.

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 1

레지스트리를 변경한 후 SQL Server 컴퓨터를 다시 시작하고 VBS가 다시 실행 중인지 확인합니다.

VBS를 사용하도록 설정하는 다른 방법은 코드 무결성의 가상화 기반 보호 사용을 참조 하세요.

실행 중이 아닌 경우 VBS 실행

컴퓨터에서 실행되지 않음으로써 VBS를 사용하도록 설정한 경우 속성을 확인 Virtualization-based security 합니다. 항목의 값을 Required Security Properties 항목의 값과 비교합니다 Available Security Properties . 필요한 속성은 VBS를 실행할 때 사용할 수 있는 보안 속성의 하위 집합 또는 같아야 합니다. 보안 속성의 중요도는 다음과 같습니다.

  • Base virtualization support 는 하이퍼바이저를 실행하는 데 필요한 최소 하드웨어 기능을 나타내기 때문에 항상 필요합니다.
  • Secure Boot는 권장되지만 필수는 아닙니다. 보안 부팅은 UEFI 초기화가 완료된 직후 Microsoft 서명 부팅 로더를 실행하도록 요구하여 루트킷으로부터 보호합니다.
  • DMA Protection는 권장되지만 필수는 아닙니다. DMA 보호는 IOMMU를 사용하여 직접 메모리 액세스 공격으로부터 VBS 및 enclave 메모리를 보호합니다. 프로덕션 환경에서는 항상 DMA 보호와 함께 컴퓨터를 사용해야 합니다. 개발 또는 테스트 환경에서는 DMA 보호 요구 사항을 제거해도 됩니다. SQL Server 인스턴스가 가상화된 경우 DMA 보호를 사용할 수 없을 가능성이 높으며 VBS를 실행하기 위한 요구 사항을 제거해야 합니다.

VBS에 필요한 보안 기능을 낮추기 전에 OEM 또는 클라우드 서비스 공급자에게 문의하여 UEFI 또는 BIOS에서 누락된 플랫폼 요구 사항을 사용하도록 설정하는 방법이 있는지 확인합니다(예: 보안 부팅, Intel VT-d 또는 AMD IOV 사용).

VBS에 필요한 플랫폼 보안 기능을 변경하려면 관리자 권한 PowerShell 콘솔에서 다음 명령을 실행합니다.

# Value 1 = Only Secure Boot is required
# Value 2 = Only DMA protection is required (default configuration)
# Value 3 = Both Secure Boot and DMA protection are required
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name RequirePlatformSecurityFeatures -Value 1

레지스트리를 변경한 후 SQL Server 컴퓨터를 다시 시작하고 VBS가 다시 실행 중인지 확인합니다.

컴퓨터가 회사에서 관리되는 경우 그룹 정책 또는 Microsoft Endpoint Manager는 다시 시작한 후 이러한 레지스트리 키에 대한 변경 내용을 재정의할 수 있습니다. IT 지원 센터에 문의하여 VBS 구성을 관리하는 정책을 배포하는지 확인합니다.

다음 단계