19.4. 가상 머신 사용자가 사용할 수 있는 작업 제한
경우에 따라 RHEL 9에서 호스팅되는 VM(가상 머신) 사용자가 기본적으로 수행할 수 있는 작업은 보안 위험이 발생할 수 있습니다. 이 경우 호스트 머신에서 polkit
정책 툴킷을 사용하도록 libvirt
데몬을 구성하여 VM 사용자가 사용할 수 있는 작업을 제한할 수 있습니다.
프로세스
선택 사항:
libvirt
와 관련된 시스템의polkit
제어 정책이 기본 설정에 따라 설정되었는지 확인합니다./usr/share/polkit-1/actions/
및/usr/share/polkit-1/rules.d/
디렉토리에서 모든 libvirt 관련 파일을 찾습니다.# ls /usr/share/polkit-1/actions | grep libvirt # ls /usr/share/polkit-1/rules.d | grep libvirt
파일을 열고 규칙 설정을 검토합니다.
polkit
제어 정책의 구문을 읽는 방법에 대한 자세한 내용은man polkit
을 사용합니다.libvirt
제어 정책을 수정합니다. 이렇게 하려면 다음을 수행합니다.-
/etc/polkit-1/
디렉터리에 새 .rules 파일을 만듭니다.rules.
d/ 이 파일에 사용자 지정 정책을 추가하고 저장합니다.
libvirt
제어 정책의 자세한 내용 및 예제는libvirt
업스트림 설명서를 참조하십시오.
-
polkit
에 의해 결정된 액세스 정책을 사용하도록 VM을 구성합니다.이렇게 하려면
/etc/libvirt/
디렉토리에서 가상화 드라이버의 모든 구성 파일을 찾고 해당 파일에서access_drivers = [ "polkit" ]
행의 주석을 제거합니다.# find /etc/libvirt/ -name virt*d.conf -exec sed -i 's/#access_drivers = \[ "polkit" \]/access_drivers = \[ "polkit" \]/g' {} +
이전 단계에서 수정한 각 파일에 대해 해당 서비스를 다시 시작합니다.
예를 들어
/etc/libvirt/virtqemud.conf
를 수정한 경우virtqemud
서비스를 다시 시작하십시오.# systemctl try-restart virtqemud
검증
제한하려는 VM 작업이 있는 사용자로 제한된 작업 중 하나를 수행합니다.
예를 들어 권한이 없는 사용자가 시스템 세션에서 생성된 VM을 볼 수 없도록 제한되는 경우:
$ virsh -c qemu:///system list --all Id Name State -------------------------------
이 명령이 시스템에 하나 이상의 VM이 있어도 VM을 나열하지 않으면
polkit
에서 권한이 없는 사용자에 대한 작업을 성공적으로 제한합니다.
문제 해결
현재
polkit
을 사용하도록libvirt
를 구성하면libvirt-dbus
서비스와 의 비호환성 때문에 RHEL 9 웹 콘솔을 사용하여 VM에 연결할 수 없습니다.웹 콘솔에서 VM에 대한 세분화된 액세스 제어가 필요한 경우 사용자 지정 D-Bus 정책을 생성합니다. 자세한 내용은 Red Hat 지식 베이스 에서 Cockpit에서 가상 머신의 세분화된 제어를 구성하는 방법을 참조하십시오.
추가 리소스
-
man polkit
명령 -
polkit 액세스 제어 정책에대한
libvirt
업스트림 정보