이러한 보안 제어는 vSphere 시스템 설계 모범 사례의 기준선을 제공합니다.
vCenter Server 타사 플러그인 제거
타사 vCenter Server 플러그인을 줄이거나 제거하십시오.
시스템 간에 플러그인 및 기타 타사 교차 연결을 설치하면 서로 다른 인프라 시스템 간의 경계가 약화되어 한 시스템을 침해한 공격자가 다른 시스템에 양방향으로 이동하는 기회를 제공할 수 있습니다. 다른 시스템을 vSphere에 너무 긴밀하게 연결하면 적시에 패치를 적용하고 업그레이드하는 데 방해가 되는 경우도 종종 있습니다. vSphere 구성 요소에 대한 타사 플러그인 또는 추가 기능에서 값을 생성하는지 확인합니다. 개별 관리 콘솔이 아닌 플러그인을 사용하기로 선택한 경우에는 플러그인 사용으로 인한 위험을 상쇄할 수 있는지 확인해야 합니다.
인프라 관리 인터페이스 사용 시 주의 사항
인프라 관리 인터페이스를 범용 인증 및 권한 부여 소스에 연결할 때는 주의해야 합니다.
중앙 집중식 엔터프라이즈 디렉토리는 기업 전반의 권한 부여에서 중요한 역할을 하기 때문에 공격자의 표적이 됩니다. 공격자는 해당 디렉토리가 손상되면 조직 내에서 자유롭게 이동할 수 있습니다. IT 인프라를 중앙 집중식 디렉토리에 연결하면 랜섬웨어 및 기타 공격에 상당한 위험성이 있는 것으로 입증되었습니다. 모든 인프라 시스템의 인증 및 권한 부여를 분리하십시오.
ESXi:
- vCenter Server를 통해 모든 호스트 관리 수행
- ESXi Shell 비활성화
- 정상 잠금 모드로 ESXi 전환
- ESXi 루트 암호를 복잡한 암호로 설정
vSphere Distributed Resource Scheduler 활성화
완전히 자동화된 모드에서 vSphere DRS(Distributed Resource Scheduler)를 활성화하십시오.
vSphere DRS는 vMotion을 사용하여 물리적 호스트 간에 워크로드를 이동하여 성능과 가용성을 보장합니다. 완전히 자동화된 모드에서는 vSphere Lifecycle Manager가 DRS와 함께 작동하여 패치 및 업데이트 작업을 활성화할 수 있습니다.
특정 VM과 호스트 간 매핑이 필요한 경우 DRS규칙을 사용합니다. 가능한 경우 패치 적용 및 고가용성 복구 중에 일시적으로 규칙을 일시 중단할 수 있도록 '엄수할' 규칙보다는 '의무적' 규칙을 사용하십시오.
vSphere High Availability 활성화
ESXi 호스트에 갑자기 장애가 발생하면 vSphere HA(High Availability)가 클러스터의 다른 ESXi 호스트에서 워크로드를 다시 시작합니다. HA에 대한 설정이 환경에 맞게 올바르게 구성되었는지 확인합니다.
Enhanced vMotion Compatibility 활성화
vSphere EVC(Enhanced vMotion Compatibility)를 사용하면 서로 다른 CPU 세대를 실행하는 클러스터의 ESXi 호스트 간에 vMotion을 사용하여 워크로드를 실시간으로 마이그레이션할 수 있습니다. 또한 EVC는 CPU에 새로운 마이크로코드 명령어가 도입되어 일시적으로 서로 호환되지 않을 수 있는 CPU 취약성 상황에서도 도움을 줍니다.
변조로부터 시스템 보호
ESXi 호스트와 관련 스토리지 및 네트워킹 구성 요소가 변조, 무단 액세스 및 무단 제거되지 않도록 보호해야 합니다. 또한 홍수,극한 온도(저온 또는 고온), 먼지 및 파편과 같은 환경적 요인으로 인한 피해로부터 호스트를 보호해야 합니다.
vSphere Native Key Provider 및 ESXi 키 지속성과 같은 보안 기능을 사용하면 보안 자료가 ESXi 호스트에 로컬로 저장되어 공격자가 보호되지 않은 클러스터를 부팅하고 잠금 해제할 수 있습니다. 물리적 보안 및 도난과 같은 적절한 위협을 고려해야 합니다.
보안을 염두에 둔다는 것은 도난 외에도 다음과 같은 질문을 자신과 조직에 던지는 것을 의미합니다.
- 무엇이 잘못될 수 있습니까?
- 문제가 발생하면 어떻게 알 수 있습니까?
이러한 질문은 인력이 없는 데이터 센터 위치 및 코로케이션 시설을 처리할 때 더욱 중요해집니다. 데이터 센터 및 랙 구성과 관련하여 다음 질문을 합니다.
- 데이터 센터의 문이 자동으로 닫히며 제대로 잠깁니까?
- 문이 열려 있는 경우 사전 예방적 경고가 발생합니까?
- 랙 도어가 잠겨 있는 경우에도 측면이나 상단에서 랙에 손을 뻗어 케이블 연결을 끊을 수 있습니까? 권한이 없는 사람이 케이블을 네트워크 스위치에 연결할 수 있습니까?
- 스토리지 디바이스 또는 전체 서버와 같은 장치를 제거할 수 있습니까? 이러한 시나리오에서 어떤 일이 발생합니까?
그 밖의 질문은 다음과 같습니다.
- 누군가 LCD 패널이나 콘솔과 같은 서버에 표시되는 정보를 통해 환경 또는 비즈니스에 대한 정보를 수집할 수 있습니까?
- 이러한 정보 표시가 비활성 상태인 경우, 딱딱한 금속 와이어 같은 물체로 랙 외부에서 활성화할 수 있습니까?
- 회사에 서비스 중단을 일으키기 위해 누를 수 있는 전원 버튼과 같은 다른 버튼이 있습니까?
마지막으로 홍수, 동결 또는 고열의 가능성, 환경의 먼지 및 파편 등 가용성에 영향을 미칠 수 있는 다른 물리적 위협이 있는지 자문해 보십시오.
vSphere 개체에 설명적 이름 지정
정확성을 보장하고 혼동을 줄이기 위해 vSphere 개체의 기본 이름을 변경하여 설명적으로 이름을 지정해야 합니다.
'데이터 센터', 'vSAN 데이터스토어', 'DSwitch', 'VM 네트워크' 등과 같은 기본 이름을 변경하여 추가 정보를 포함하도록 vSphere 개체에 대한 올바른 이름 지정 방법을 사용합니다. 이를 통해 보안 정책 및 운영 프로세스를 개발, 구현 및 감사할 때 정확성을 높이고 오류를 줄일 수 있습니다.
802.1Q VLAN 태그 지정을 사용하는 포트 그룹에는 VLAN 번호가 포함될 수 있습니다. 데이터 센터 및 클러스터 이름에는 위치와 용도를 반영할 수 있습니다. 데이터스토어 및 가상 Distributed Switch 이름에는 연결된 데이터 센터 및 클러스터 이름을 반영할 수 있습니다. 키 제공자 이름은 특히 대체 사이트로의 복제를 통해 암호화된 가상 시스템을 보호하는 경우에 중요합니다. 다른 데이터 센터 및 클러스터에 있는 개체와의 잠재적인 '이름 충돌'을 피하기 위해 노력하십시오.
일부 조직에서는 도로 주소와 같은 물리적 위치 식별자를 사용하여 시스템 이름을 지정하지 않고 '사이트 A', '사이트 B' 등과 같은 용어를 사용하여 데이터 센터의 물리적 위치를 모호하게 하는 것을 선호합니다. 이는 사이트가 재배치되는 경우에도 도움이 되므로 모든 이름을 바꾸거나 부정확한 정보를 감수할 필요가 없습니다.
이름 지정 체계를 결정할 때는 많은 개체가 비슷한 속성을 가질 수 있다는 점을 염두에 두십시오. 예를 들어, 두 포트 그룹에 모두 동일한 VLAN이 할당되어 있지만 트래픽 필터링 및 마킹 규칙이 다를 수 있습니다. 프로젝트 이름이나 간단한 설명을 이름에 포함하면 이러한 유형의 개체를 구분하는 데 도움이 될 수 있습니다.
마지막으로 이름 지정 체계를 개발할 때 자동화를 고려하십시오. 프로그래밍 방식으로 도출할 수 있는 이름은 스크립트를 작성하고 작업을 자동화할 때 종종 유용합니다.
인프라 관리 인터페이스 분리
IT 인프라 관리 인터페이스가 자체 네트워크 세그먼트에서 분리되어 있는지 또는 격리된 관리 네트워크의 일부로 분리되어 있는지 확인합니다.
가상화 구성 요소에 대해 구성된 모든 관리 인터페이스가 워크로드 및 관련 없는 시스템이 없는 가상화 관리 전용 네트워크 세그먼트(VLAN 등)에 있는지 확인합니다. 권한이 있는 vSphere 관리자만 권한이 있는 워크스테이션에서 해당 인터페이스에 액세스할 수 있도록 관리 인터페이스가 경계 보안 제어로 관리되는지 확인합니다.
일부 시스템 설계에서는 vCenter Server 및 기타 관리 도구를 ESXi와 분리된 자체 네트워크 세그먼트에 배치하여 해당 시스템을 더 잘 모니터링할 수 있도록 합니다. 다른 설계에서는 두 제품 간의 관계와 방화벽 구성 오류 또는 서비스 중단으로 인한 중단 가능성 때문에 vCenter Server를 ESXi 관리 인터페이스와 함께 사용하기도 합니다. 어떤 설계를 선택하든 신중하게 선택합니다.
올바른 vMotion 사용
vMotion이 전송 중 데이터 암호화를 사용하거나(가상 시스템의 경우 '필수'로 설정) vMotion에 사용되는 VMkernel 네트워크 인터페이스가 경계 제어 기능이 있는 자체 네트워크 세그먼트에서 격리되어 있는지 확인합니다.
vMotion 및 Storage vMotion은 네트워크 전체에서 가상 시스템 메모리 및 스토리지 데이터를 각각 복사합니다. 전송 중 데이터를 암호화하면 기밀성을 보장할 수 있습니다. 적절한 경계 제어를 통해 전용 네트워크 세그먼트로 격리하면 심층 방어 기능을 추가하고 네트워크 트래픽을 관리할 수 있습니다.
모든 형태의 암호화와 마찬가지로 vMotion 암호화는 성능 저하를 유발하지만 이러한 성능 변화는 백그라운드 vMotion 프로세스에서 발생하며 가상 시스템 작동에는 영향을 미치지 않습니다.
올바른 vSAN 사용
vSAN이 전송 중 데이터 암호화를 사용하거나 vSAN에 사용되는 VMkernel 네트워크 인터페이스가 경계 제어 기능이 있는 자체 네트워크 세그먼트에서 격리되어 있는지 확인합니다.
vSAN은 vSAN 노드가 통신할 때 기밀성을 유지하는 데 도움이 되는 전송 중 데이터 암호화 기능을 제공합니다. 많은 보안 제어와 마찬가지로 성능이 저하되는 단점이 있습니다. 전송 중 데이터 암호화가 활성화되어 있으면 스토리지 지연 시간 및 성능을 모니터링해야 합니다. vSAN 전송 중 데이터 암호화를 활성화하지 않거나 활성화할 수 없는 조직은 네트워크 트래픽을 적절한 경계 제어가 있는 전용 네트워크 세그먼트로 격리해야 합니다.
Network I/O Control 활성화
NIOC(Network I/O Control)를 활성화하여 네트워크 DOS(서비스 거부)에 대한 복원 기능이 있는지 확인합니다.
NIOC(vSphere Network I/O Control)는 하이퍼바이저 수준에서 서비스 품질을 제공하는 트래픽 관리 기술로, 다중 테넌트 클라우드 및 공유 워크로드 환경에서 리소스의 우선 순위를 지정하여 네트워크 성능을 개선합니다. vDS(vSphere Distributed Switch)에 통합된 NIOC는 네트워크 어댑터 대역폭을 vMotion 및 관리 트래픽과 같은 다양한 트래픽 유형에 해당하는 '네트워크 리소스 풀'로 분할합니다. NIOC를 사용하면 사용자가 이러한 풀에 공유, 제한 및 예약을 할당할 수 있습니다.
NIOC는 필수 서비스에 대한 네트워크 가용성을 유지하고 덜 중요한 트래픽을 제한하여 정체를 방지합니다. 이는 비즈니스 요구 사항에 따라 네트워크 제어 정책을 생성하고, 트래픽 유형 격리를 보장하고, 우선 순위 및 사용량에 기반한 동적 리소스 재할당을 허용함으로써 달성할 수 있습니다.
벤더 예약 VLAN 구성 금지
ESXi 호스트의 물리적 스위치 업링크가 벤더 예약 VLAN으로 구성되지 않았는지 확인합니다.
일부 네트워크 벤더는 내부 또는 특정 용도로 특정 VLAN ID를 예약합니다. vSphere 네트워크 구성에 이러한 값이 포함되어 있지 않은지 확인합니다.
ESXi 업링크를 액세스 포트로 구성
ESXi 호스트의 물리적 스위치 업링크가 단일 VLAN에 할당된 '액세스 포트'로 구성되어 있는지 또는 네이티브 VLAN이 없는 태그가 지정된 802.1Q VLAN 트렁크로 구성되어 있는지 확인합니다. vSphere 포트 그룹이 VLAN 1 또는 태그가 지정되지 않은 네이티브 VLAN에 대한 액세스를 허용하지 않는지 확인합니다.
태그가 지정되지 않은 트래픽을 허용하도록 구성된 '네이티브' VLAN이 있거나 VLAN 1에 액세스할 수 있는 네트워크 연결은 공격자가 네트워크 보안 제어를 무력화하는 특수 패킷을 만들 수 있는 기회를 제공할 수 있습니다. VLAN 1은 네트워크 관리 및 통신에 자주 사용되는 기본값이며 워크로드에서 격리해야 합니다. 포트 그룹이 네이티브 VLAN에 액세스할 수 있도록 구성되지 않았는지 확인합니다. VLAN 트렁크 포트가 'all'이 아닌 특정 VLAN 정의로 구성되어 있는지 확인합니다. 마지막으로, 공격자가 가상화된 환경을 사용하여 네트워크 보안 제어를 우회할 수 없도록 포트 그룹이 적절하게 구성되어 있는지 확인합니다.
올바른 스토리지 패브릭 연결 구성
스토리지 패브릭 연결이 전송 중 데이터 암호화를 사용하거나 경계 제어가 있는 자체 네트워크 세그먼트 또는 SAN에서 격리되어 있는지 확인합니다.
전송 중 스토리지 데이터를 보호하면 데이터의 기밀성을 보장하는 데 도움이 됩니다. 암호화는 가용성이나 성능 문제로 인해 많은 스토리지 기술에서 옵션이 아닌 경우가 많습니다. 이러한 경우 적절한 경계 제어를 사용하는 전용 네트워크 세그먼트로 격리하는 것이 효과적인 보완 제어가 될 수 있으며 심층 방어 기능을 추가할 수 있습니다.
스토리지 시스템에서 LUN 마스킹 사용
스토리지 시스템이 LUN 마스킹, 영역 설정 및 기타 스토리지 측 보안 기술을 사용하여 스토리지 할당이 해당 스토리지가 사용될 vSphere 클러스터에만 표시되도록 해야 합니다.
스토리지 컨트롤러의 LUN 마스킹과 SAN 영역 설정은 스토리지 트래픽이 권한이 없는 호스트에 표시되지 않도록 하고 권한이 없는 호스트가 다른 보안 제어를 우회하여 데이터스토어를 마운트할 수 없도록 하는 데 도움이 됩니다.
권한이 있는 시스템에 대한 연결 제한
vCenter Server Appliance 방화벽을 사용하여 권한이 있는 시스템 및 관리자로 연결을 제한하는 것이 좋습니다.
vCenter Server Appliance에는 들어오는 연결을 vCenter Server로 제한하는 데 사용할 수 있는 기본 방화벽이 포함되어 있습니다. 이는 경계 보안 제어와 함께 효과적인 심층 방어 계층이 될 수 있습니다.
항상 그렇듯이 연결을 차단하는 규칙을 추가하기 전에 관리 워크스테이션에서 액세스를 허용하는 규칙이 있는지 확인합니다.
물리적 액세스를 보호하지 않고 ESXi 호스트에 암호화 키 저장 안 함
환경에서 호스트에 대한 물리적 액세스를 보호하지 않고 ESXi 호스트에 암호화 키를 저장해서는 안 됩니다.
종속성 루프를 방지하기 위해 vSphere Native Key Provider는 암호 해독 키를 TPM(신뢰할 수 있는 플랫폼 모듈)에 또는 암호화된 ESXi 구성의 일부로 ESXi 호스트에 직접 저장합니다. 하지만 호스트를 물리적으로 보호하지 않아서 공격자가 호스트를 훔치면 공격자는 암호화된 워크로드의 잠금을 해제하고 실행할 수 있는 수단을 보유하게 됩니다. 따라서 물리적 보안을 확보하거나(변조로부터 시스템 보호 참조), 추가 네트워크 보안 제어 기능이 포함된 표준 키 제공자(표준 키 제공자란? 참조)를 사용하는 것이 중요합니다.
ESXi 부팅 볼륨으로 적절한 크기의 영구, 비SD, 비USB 디바이스 사용
환경에서는 ESXi 부팅 볼륨으로 적절한 크기의 영구, 비SD, 비USB 디바이스를 사용해야 합니다.
플래시 메모리는 시간이 지남에 따라 소모되는 구성 요소로, 데이터를 쓸 때마다 수명이 단축됩니다. SSD와 NVMe 디바이스에는 이러한 소모를 줄여주는 기능이 내장되어 있어 더욱 안정적입니다. 그러나 SD 카드와 대부분의 USB 플래시 드라이브에는 이러한 기능이 없으며, 불량 섹터와 같은 안정성 문제가 뚜렷한 징후 없이 발생할 수 있습니다.
SD 및 USB 디바이스의 소모를 줄이고 더 오래 사용할 수 있도록 이러한 디바이스에 ESXi를 설치할 때 감사 및 시스템 로그를 장치에 계속 쓰는 대신 RAM 디스크에 저장할 수 있습니다. 즉, 이러한 로그에 대해 새로운 장기 스토리지 위치를 설정하고 이러한 새 위치로 이동하도록 로그 출력을 변경해야 합니다.
신뢰할 수 있는 부팅 디바이스를 선택하면 이러한 추가 단계를 없애고 ESXi가 자동으로 보안 감사를 통과할 수 있습니다.
올바른 vSAN iSCSI 대상 구성
vSAN iSCSI 대상이 자체 네트워크 세그먼트로 격리되고 분산 포트 그룹 트래픽 필터링 및 마킹, NSX 또는 외부 네트워크 보안 제어를 사용하여 별도의 경계 제어를 적용한 자체 VMkernel 네트워크 인터페이스를 사용하는지 확인합니다.
iSCSI 대상 클라이언트는 클러스터 외부에 있기 때문에 자체 네트워크 인터페이스에서 격리됩니다. 이러한 방식으로 다른 내부 전용 네트워크 통신을 별도로 제한할 수 있습니다. 이 유형의 격리는 성능을 진단하고 관리하는 데도 도움이 됩니다.