13.5. Red Hat OpenStack Platform의 SELinux
SELinux(Security-Enhanced Linux)는 MAC(필수 액세스 제어) 구현입니다. MAC은 시스템에서 프로세스 또는 애플리케이션을 수행할 수 있는 작업을 제한하여 공격의 영향을 제한합니다. SELinux에 대한 자세한 내용은 SELinux란 무엇입니까?.
RHOSP(Red Hat OpenStack Platform) 서비스에 대해 SELinux 정책이 미리 구성되어 있습니다. RHOSP에서 SELinux는 별도의 보안 컨텍스트에서 각 QEMU 프로세스를 실행하도록 구성됩니다. RHOSP에서 SELinux 정책은 다음과 같은 위협으로부터 하이퍼바이저 호스트 및 인스턴스를 보호하는 데 도움이 됩니다.
- 하이퍼바이저 위협
- 인스턴스 내에서 실행되는 손상된 애플리케이션은 기본 리소스에 액세스하도록 하이퍼바이저를 공격합니다. 인스턴스가 하이퍼바이저 OS에 액세스할 수 있는 경우 물리적 장치 및 기타 애플리케이션이 대상이 될 수 있습니다. 이 위협은 상당한 위험을 나타냅니다. 하이퍼바이저의 손상으로 인해 펌웨어, 기타 인스턴스 및 네트워크 리소스도 손상될 수 있습니다.
- 인스턴스 위협
- 인스턴스 내에서 실행되는 손상된 애플리케이션은 하이퍼바이저를 공격하여 다른 인스턴스 및 해당 리소스 또는 인스턴스 파일 이미지에 액세스하거나 제어합니다. 실제 네트워크를 보호하기 위한 관리 전략은 가상 환경에 직접 적용되지 않습니다. 모든 인스턴스는 SELinux에서 레이블이 지정된 프로세스이므로 Linux 커널에서 적용되는 각 인스턴스 주위에 보안 경계가 있습니다.
RHOSP에서 디스크의 인스턴스 이미지 파일은 SELinux 데이터 유형 svirt_image_t
로 레이블이 지정됩니다. 인스턴스의 전원이 켜지면 SELinux는 임의의 숫자 식별자를 이미지에 추가합니다. 임의의 숫자 식별자로 인해 손상된 OpenStack 인스턴스가 다른 컨테이너에 대한 무단 액세스 권한을 얻지 못할 수 있습니다. SELinux는 각 하이퍼바이저 노드에 최대 524,288개의 숫자 식별자를 할당할 수 있습니다.