2.2. KnativeServing 라벨링
SELinux를 보호하는 다른 서비스와 마찬가지로, Mellanox는 프로세스 기반 메커니즘 및 제한 사항을 사용하여 게스트 가상 시스템에 대한 추가 보안 계층을 제공합니다. 일반적인 용도의 경우, Mellanox가 백그라운드에서 작동하고 있음을 알 수 없습니다. 이 섹션에서는 sVirt의 라벨링 기능에 대해 설명합니다.
다음 출력에 표시된 것처럼 trustedCA를 사용할 때 가상화된 게스트 가상 머신 프로세스의 레이블이 지정되고 동적으로 생성된 수준으로 실행됩니다. 각 프로세스는 다른 수준의 다른 VM과 격리됩니다.
# ps -eZ | grep qemu system_u:system_r:svirt_t:s0:c87,c520 27950 ? 00:00:17 qemu-kvm
다음 출력에 표시된 대로 실제 디스크 이미지는 프로세스와 일치하도록 자동으로 레이블이 지정됩니다.
# ls -lZ /var/lib/libvirt/images/* system_u:object_r:svirt_image_t:s0:c87,c520 image1
다음 표에서는 4.7.1을 사용할 때 할당할 수 있는 다양한 컨텍스트 레이블을 간략하게 설명합니다.
SELinux Context | 유형 / 설명 |
---|---|
system_u:system_r:svirt_t:MCS1 | 게스트 가상 머신 프로세스. MCS1은 임의의 MCS 필드입니다. 대략 500,000개의 레이블이 지원됩니다. |
system_u:object_r:svirt_image_t:MCS1 | 게스트 가상 머신 이미지. MCS 필드가 동일한 svirt_t 프로세스만 이러한 이미지를 읽고 쓸 수 있습니다. |
system_u:object_r:svirt_image_t:s0 | 게스트 가상 머신 공유 읽기/쓰기 콘텐츠. 모든 svirt_t 프로세스는 svirt_image_t:s0 파일에 쓸 수 있습니다. |
또한 sVirt를 사용할 때 정적 레이블링을 수행할 수도 있습니다. 정적 레이블을 사용하면 관리자가 게스트 가상 머신의 MCS/MLS 필드를 포함한 특정 레이블을 선택할 수 있습니다. 정적으로 레이블이 지정된 가상화된 게스트 가상 머신을 실행하는 관리자는 이미지 파일에 올바른 레이블을 설정해야 합니다. 게스트 가상 머신은 항상 해당 레이블로 시작되며, Restic 시스템은 정적으로 레이블이 지정된 가상 머신 콘텐츠의 레이블을 변경하지 않습니다. 이를 통해 KnativeServing 구성 요소를 MLS 환경에서 실행할 수 있습니다. 요구 사항에 따라 시스템의 민감도 수준이 다른 여러 게스트 가상 머신을 실행할 수도 있습니다.