Red Hat Training

A Red Hat training course is available for RHEL 8

15.4. 가상 머신 사용자가 사용할 수 있는 작업 제한

경우에 따라 RHEL 8에서 호스팅되는 VM(가상 머신)의 사용자가 기본적으로 수행할 수 있는 작업은 보안 위험이 발생할 수 있습니다. 이 경우 호스트 시스템에서 polkit 정책 툴킷을 사용하도록 libvirt 데몬을 구성하여 VM 사용자가 사용할 수 있는 작업을 제한할 수 있습니다.

절차

  1. 선택 사항: libvirt 와 관련된 시스템의 polkit 제어 정책이 기본 설정에 따라 설정되어 있는지 확인합니다.

    1. /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
    2. 파일을 열고 규칙 설정을 검토합니다.

      polkit 제어 정책의 구문을 읽는 방법에 대한 자세한 내용은 man polkit 을 사용합니다.

    3. libvirt 제어 정책을 수정합니다. 이렇게 하려면 다음을 수행합니다.

      1. /etc/polkit-1/ rules. d/ 디렉터리에 새 .rules 파일을 만듭니다.
      2. 사용자 지정 정책을 이 파일에 추가하고 저장합니다.

        libvirt 제어 정책의 예제와 자세한 내용은 libvirt 업스트림 문서를 참조하십시오.

  2. polkit 에 의해 결정된 액세스 정책을 사용하도록 VM을 구성합니다.

    이렇게 하려면 /etc/libvirt/libvirtd.conf 파일에서 access_drivers = [polkit" ] 행의 주석을 해제합니다.

    # sed -i 's/#access_drivers = \[ "polkit" \]/access_drivers = \[ "polkit" \]/' /etc/libvirt/libvirtd.conf
  3. libvirtd 서비스를 다시 시작합니다.

    # systemctl restart libvirtd

검증

  • 제한하려는 VM 작업의 사용자로 제한된 작업 중 하나를 수행합니다.

    예를 들어 권한이 없는 사용자가 시스템 세션에서 생성된 VM을 볼 수 없는 경우:

    $ virsh -c qemu:///system list --all
    Id   Name           State
    -------------------------------

    시스템에 하나 이상의 VM이 있어도 이 명령에 VM이 나열되지 않은 경우 polkit 은 권한이 없는 사용자에 대한 작업을 성공적으로 제한합니다.

문제 해결

추가 리소스