XenServer

사용자 관리

사용자, 그룹, 역할 및 사용 권한을 정의하여 XenServer 호스트 및 풀에 액세스할 수 있는 사용자와 해당 사용자가 수행할 수 있는 동작을 제어할 수 있습니다.

XenServer를 처음 설치하면 사용자 계정이 XenServer에 자동으로 추가됩니다. 이 계정은 XenServer가 로컬에서 인증하는 로컬 수퍼유저(LSU) 또는 루트입니다.

LSU(루트)는 시스템 관리를 위한 특수 사용자 계정이며 모든 권한을 가집니다. XenServer에서는 설치 시 LSU가 기본 계정입니다. XenServer는 LSU 계정을 인증합니다. LSU는 외부 인증 서비스를 필요로 하지 않습니다. 외부 인증 서비스에서 장애가 발생하는 경우 LSU는 계속해서 시스템에 로그인하여 관리할 수 있습니다. LSU는 SSH를 통해 항상 XenServer 물리적 서버에 액세스할 수 있습니다.

Citrix Hypervisor 센터의 사용자 탭 또는 xe CLI를 통해 Active Directory 계정을 추가하여 더 많은 사용자를 만들 수 있습니다. 사용 중인 환경에서 Active Directory를 사용하지 않는 경우에는 LSU 계정으로 제한됩니다.

참고:

사용자를 생성할 때 XenServer는 새로 만든 사용자 계정 RBAC 역할을 자동으로 할당하지 않습니다. 따라서 이러한 계정에는 역할을 할당할 때까지 XenServer 풀에 액세스할 수 없습니다.

이러한 사용 권한은 AD(Active Directory)로 사용자 인증 섹션에 설명된 대로 역할을 통해 부여됩니다.

AD(Active Directory)를 사용하여 사용자 인증

호스트나 풀에 여러 사용자 계정을 사용하려면 Active Directory 사용자 계정을 인증에 사용해야 합니다. AD 계정을 사용하면 XenServer 사용자가 Windows 도메인 자격 증명을 사용하여 풀에 로그온할 수 있습니다.

참고:

AD 도메인 컨트롤러에서 LDAP 채널 바인딩 및 LDAP 서명을 사용하도록 설정할 수 있습니다. 자세한 내용은 Microsoft 보안 공지를 참조하십시오.

Active Directory 인증을 사용하도록 설정하고, 사용자 계정을 추가하고, 이러한 계정에 역할을 할당하여 특정 사용자에 대해 다양한 수준의 액세스를 구성할 수 있습니다.

Active Directory 사용자는 xe CLI (적절한 -u-pw 인수 전달) 를 사용할 수 있으며 Citrix Hypervisor 센터를 사용하여 호스트에 연결할 수도 있습니다. 인증은 리소스 풀 단위를 기본으로 이루어집니다.

주체는 사용자 계정에 대한 액세스를 제어합니다. XenServer의 주체는 Active Directory 서버의 개체(사용자 또는 그룹)에 매핑됩니다. 외부 인증을 사용하도록 설정하면 XenServer는 세션을 만드는 데 사용된 자격 증명을 로컬 루트 자격 증명에 대해 확인한 다음 주체 목록에 대해 확인합니다. 액세스를 허용하려면 액세스 권한을 부여할 개인 또는 그룹에 대한 주제 항목을 생성합니다. Citrix Hypervisor 센터 또는 xe CLI를 사용하여 주체 항목을 만들 수 있습니다.

XenCenter에 익숙하다면 xe CLI는 Active Directory 및 사용자 계정 기능을 지칭할 때 약간 다른 용어를 사용한다는 점에 유의하십시오.

XenCenter 용어 xe CLI 용어
사용자, 사용자 추가 주체, 주체 추가

XenServer는 Linux 기반이지만 XenServer에서 Active Directory 계정을 XenServer 사용자 계정으로 사용할 수 있습니다. 이를 위해 XenServer에서 Active Directory 자격 증명을 Active Directory 도메인 컨트롤러에 전달합니다.

Active Directory를 XenServer에 추가하면 Active Directory 사용자 및 그룹이 XenServer 주체가 됩니다. Citrix Hypervisor 센터에서는 이러한 주제를 사용자라고 합니다. XenServer에 제목을 등록하면 로그온 시 Active Directory를 사용하여 사용자/그룹을 인증합니다. 사용자 및 그룹은 도메인 이름을 사용하여 사용자 이름을 검증할 필요가 없습니다.

사용자 이름을 한정하려면 하위 수준 로그온 이름 형식으로 사용자 이름을 입력해야 합니다(예: mydomain\myuser).

참고:

기본적으로 사용자 이름을 지정하지 않은 경우 Citrix Hypervisor 센터는 가입된 도메인을 사용하여 AD 인증 서버에 사용자를 로그인하려고 시도합니다. 단, XenCenter는 항상 로컬(즉, XenServer)에서 먼저 인증하는 LSU 계정은 예외입니다.

외부 인증 프로세스는 다음과 같습니다.

  1. 호스트에 연결할 때 제공된 자격 증명은 인증을 위해 Active Directory 도메인 컨트롤러로 전달됩니다.

  2. 도메인 컨트롤러에서 자격 증명을 확인합니다. 유효하지 않은 자격 증명일 경우 즉시 인증에 실패합니다.

  3. 자격 증명이 유효한 경우 자격 증명에 연결된 그룹 구성원 자격 및 주체 식별자를 가져오도록 Active Directory 컨트롤러가 쿼리됩니다.

  4. 주체 식별자가 XenServer에 저장된 식별자와 일치하면 인증이 성공합니다.

도메인에 참가할 때 풀에 대해 Active Directory 인증을 사용할 수 있도록 설정해야 합니다. 그러나 풀이 도메인에 가입하면 해당 도메인 (또는 트러스트 관계가 있는 도메인) 의 사용자만 풀에 연결할 수 있습니다.

참고:

DHCP 구성 네트워크 PIF의 DNS 구성을 수동으로 업데이트하는 작업은 지원되지 않으므로 AD 통합 및 사용자 인증이 실패하거나 작동이 중지될 수 있습니다.

Active Directory 인증 구성

XenServer에서는 Windows 2008 이상을 사용하여 Active Directory 서버를 사용할 수 있습니다.

XenServer 호스트용 Active Directory를 인증하려면 Active Directory 서버(상호 운용성을 허용하도록 구성됨)와 XenServer 호스트 모두에 동일한 DNS 서버를 사용해야 합니다. 일부 구성에서는 Active Directory 서버가 DNS 자체를 제공할 수 있습니다. DHCP를 사용하여 XenServer 호스트에 IP 주소 및 DNS 서버 목록을 제공함으로써 이 작업을 수행할 수 있습니다. 또는 수동 정적 구성을 사용할 때 PIF 객체에서 값을 설정하거나 설치 관리자를 사용할 수 있습니다.

DHCP에서 호스트 이름을 할당하도록 설정하는 것이 좋습니다. 호스트이름 localhost 또는 linux를 호스트에 할당하지 마십시오.

경고:

XenServer 호스트 이름은 전체 XenServer 배포 과정에서 고유해야 합니다.

다음 사항에 유의하십시오.

  • XenServer는 호스트 이름을 사용하여 AD 데이터베이스의 AD 항목에 레이블을 지정합니다. 호스트 이름이 같은 두 XenServer 호스트가 동일한 AD 도메인에 연결된 경우 두 번째 XenServer는 첫 번째 XenServer의 AD 항목을 덮어씁니다. 덮어쓰기는 호스트가 동일한 풀에 속하는지 다른 풀에 속하는지 여부에 관계없이 발생합니다. 이로 인해 첫 번째 XenServer의 AD 인증이 작동을 멈출 수 있습니다.

    두 XenServer 호스트가 서로 다른 AD 도메인에 가입되어 있는 한 두 XenServer 호스트에서 동일한 호스트 이름을 사용할 수 있습니다.

  • 비교되는 것이 UTC 시간이기 때문에 XenServer 호스트는 서로 다른 시간대에 있을 수 있습니다. 동기화가 제대로 이루어지도록 XenServer 풀과 Active Directory 서버에 동일한 NTP 서버를 사용할 수 있습니다.

  • 혼합 인증 풀은 지원되지 않습니다. 풀의 일부 호스트는 Active Directory를 사용하도록 구성되어 있고 일부 호스트는 그렇지 않은 풀을 가질 수 없습니다.

  • XenServer Active Directory 통합은 Kerberos 프로토콜을 사용하여 Active Directory 서버와 통신합니다. 따라서 XenServer는 Kerberos를 사용하지 않는 Active Directory 서버와의 통신을 지원하지 않습니다.

  • Active Directory를 사용한 외부 인증이 성공하려면 XenServer 호스트의 시계를 Active Directory 서버의 시계와 동기화해야 합니다. XenServer가 Active Directory 도메인에 가입하면 동기화가 확인되고 서버 간 편차가 너무 심하면 인증이 실패합니다.

경고:

호스트 이름은 63자 이하의 영숫자로만 구성해야 하며 숫자로만 구성해서는 안 됩니다.

최근 SSH 클라이언트의 제한으로 인해 다음 문자를 포함하는 사용자 이름에는 SSH가 작동하지 않습니다. {}[]|& 사용자 이름과 Active Directory 서버 이름에 이러한 문자가 포함되어 있지 않은지 확인하십시오.

Active Directory 인증을 사용하도록 설정한 후 풀에 호스트를 추가하면 풀에 가입한 호스트에 Active Directory를 구성하라는 메시지가 표시됩니다. 가입 호스트에 대한 자격 증명을 입력하라는 메시지가 표시되면 해당 도메인에 호스트를 추가할 수 있는 충분한 권한이 있는 Active Directory 자격 증명을 입력합니다.

Active Directory 통합

XenServer가 도메인 컨트롤러에 액세스할 수 있도록 아웃바운드 트래픽에 대해 다음 방화벽 포트가 열려 있어야 합니다.

포트 프로토콜 chmod
53 UDP/TCP DNS
88 UDP/TCP Kerberos 5
123 UDP NTP
137 UDP NetBIOS 이름 서비스
139 TCP NetBIOS 세션(SMB)
389 UDP/TCP LDAP
445 TCP TCP를 통한 SMB
464 UDP/TCP 컴퓨터 암호 변경
636 UDP/TCP LDAP over SSL
3268 TCP 글로벌 카탈로그 검색

자세한 내용은 XenServer에서 사용하는 통신 포트를 참조하십시오.

참고:

  • iptables를 사용하여 Linux 컴퓨터에서 방화벽 규칙을 보려면 다음 명령을 실행합니다 iptables -nL.

Winbind

XenServer는 Winbind를 사용하여 AD 서버를 통해 Active Directory (AD) 사용자를 인증하고 AD 서버와의 통신을 암호화합니다.

Winbind는 다음 시나리오를 지원하지 않습니다.

  • 도메인 사용자 또는 도메인 그룹 이름의 시작 또는 끝에 있는 공백입니다.
  • 64자 이상을 포함하는 도메인 사용자 이름
  • 특수 문자 +<>”=/%@:,;\ `중 하나를 포함하는 도메인 사용자 이름
  • 특수 문자 ,;\` 중 하나를 포함하는 도메인 그룹 이름

Winbind 구성

/etc/xapi.conf 파일에 포함될 수 있는 다음 구성 옵션을 사용하여 Winbind 동작을 구성합니다.

  • winbind_machine_pwd_timeout: 이 옵션의 값은 이 XenServer 호스트의 시스템 암호 교체 빈도(초)를 정의합니다. 값을 정수로 정의합니다.

    기본값은 1209600초(14일)입니다. 도메인 컨트롤러 간에 새 암호를 동기화할 수 있는 충분한 시간을 확보하려면 기본값을 유지하거나 기본값 아래로 값을 낮추지 않는 것이 좋습니다.

  • winbind_kerberos_encryption_type: 이 옵션의 값은 강함, 레거시 및 모두입니다. 기본값은 모두입니다.

    • all 값은 aes256-cts-hmac-sha1-96, aes128-cts-hmac-sha1-96arcfour-hmac-md5 암호 모음을 허용합니다.

    • strong 값은 aes256-cts-hmac-sha1-96aes128-cts-hmac-sha1-96 암호 모음을 허용합니다.

    • legacy 값은 arcfour-hmac-md5 암호 모음을 허용합니다.

      기존 옵션은 안전하지 않으므로 문제를 디버깅하는 데만 사용하는 것이 좋습니다.

    보안 향상을 위해 AES 암호화를 적용하는 것이 좋습니다. 이렇게 하려면

    1. 도메인 컨트롤러가 aes256-cts-hmac-sha1-96aes128-cts-hmacsha1-96를 지원하는지 확인합니다.
    2. 다른 도메인은 도메인 트러스트에서 Kerberos AES 암호화 지원을 사용하도록 도메인 컨트롤러를 구성합니다.

      자세한 내용은 Microsoft 설명서의 방법 3: RC4 암호화 대신 AES128 및 AES 256 암호화를 지원하도록 트러스트 구성을 참조하십시오.

    3. strong 값을 사용하도록winbind_kerberos_encryption_type 옵션을 업데이트합니다.
    4. 툴스택을 다시 시작합니다.

      HA가 활성화된 동안에는 툴스택을 다시 시작하지 마십시오. 가능하면 툴스택을 다시 시작하기 전에 HA를 일시적으로 비활성화하십시오.

  • winbind_cache_time: Winbind는 일부 도메인 정보를 로컬로 캐시합니다. 이 옵션의 값은 각 캐시 새로 고침 사이의 시간(초)을 정의합니다. 기본값은 60초입니다.

이러한 구성 옵션을 업데이트한 후 도구 스택을 다시 시작합니다.

XenServer는 AD 통합을 위한 컴퓨터 계정 암호를 어떻게 관리합니까?

Windows 클라이언트 컴퓨터와 마찬가지로 Winbind는 시스템 계정 암호를 자동으로 업데이트합니다. Winbind는 14일마다 또는 구성 옵션 winbind_machine_pwd_timeout에서 지정한 대로 컴퓨터 계정 암호를 자동으로 업데이트합니다.

풀에서 외부 인증 사용

다음 명령을 사용하여 Citrix Hypervisor 센터 또는 CLI를 사용하여 Active Directory를 사용한 외부 인증을 구성할 수 있습니다.

xe pool-enable-external-auth auth-type=AD \
  service-name=full-qualified-domain \
  config:user=username \
  config:pass=password
<!--NeedCopy-->

지정된 사용자에게는 도메인 관리자의 기본값인 Add/remove computer objects or workstations 권한이 있어야 합니다.

Active Directory 및 XenServer 호스트에서 사용하는 네트워크에서 DHCP를 사용하지 않는 경우 다음 접근 방식을 사용하여 DNS를 설정하십시오.

  1. FQDN 이외의 항목을 확인하기 위해 도메인 DNS 접미사 검색 순서를 설정합니다.

    xe pif-param-set uuid=pif_uuid_in_the_dns_subnetwork \
       "other-config:domain=suffix1.com suffix2.com suffix3.com"
    <!--NeedCopy-->
    
  2. XenServer 호스트에서 사용할 DNS 서버를 구성합니다.

    xe pif-reconfigure-ip mode=static dns=dnshost ip=ip \
      gateway=gateway netmask=netmask uuid=uuid
    <!--NeedCopy-->
    
  3. DNS 서버와 동일한 네트워크에 있는 PIF를 사용하도록 관리 인터페이스를 수동으로 설정합니다.

    xe host-management-reconfigure pif-uuid=pif_in_the_dns_subnetwork
    <!--NeedCopy-->
    

참고:

외부 인증은 호스트 단위 속성입니다. 그러나 풀별로 외부 인증을 사용하거나 사용하지 않도록 설정하는 것이 좋습니다. 풀별 설정을 사용하면 XenServer가 특정 호스트에서 인증을 사용하도록 설정할 때 발생하는 오류를 처리할 수 있습니다. 또한 XenServer는 필요한 모든 변경 사항을 롤백하여 풀 전체에서 일관된 구성을 보장합니다. host-param-list 명령을 사용하여 호스트의 속성을 검사하고 관련 필드의 값을 확인하여 외부 인증 상태를 확인합니다.

Citrix Hypervisor 센터를 사용하여 Active Directory 인증 또는 다음 xe 명령을 사용하지 않도록 설정합니다.

xe pool-disable-external-auth
<!--NeedCopy-->

사용자 인증

XenServer 호스트에 대한 사용자 액세스를 허용하려면 해당 사용자 또는 해당 사용자가 속한 그룹에 제목을 추가해야 합니다. (전이적 그룹 구성원 자격도 일반적인 방법으로 확인됩니다. 예를 들어, A 그룹에 Buser 1 그룹을 포함하고 B 그룹의 구성원인 A 그룹에 대한 제목을 추가하면 user 1에 대한 액세스가 허용됩니다. Active Directory에서 사용자 권한을 관리하려는 경우 단일 그룹을 만든 다음 사용자를 추가하거나 삭제할 수 있습니다. 또는 XenServer에서 개별 사용자를 추가하거나 인증 요구 사항에 따라 사용자와 그룹을 조합하여 삭제할 수 있습니다. Citrix Hypervisor 센터에서 주체 목록을 관리하거나 다음 섹션에 설명된 대로 CLI를 사용하여 관리할 수 있습니다.

사용자를 인증할 때 먼저 로컬 루트 계정에 대해 자격 증명이 검사되므로 AD 서버가 실패한 시스템을 복구할 수 있습니다. 자격 증명 (사용자 이름 및 암호) 이 일치하지 않으면 AD 서버에 대한 인증 요청이 수행됩니다. 인증에 성공하면 사용자의 정보가 검색되고 로컬 주체 목록에 대해 유효성이 검사됩니다. 인증에 실패하면 액세스가 거부됩니다. 사용자의 전이적 그룹 구성원에 있는 사용자 또는 그룹이 주체 목록에 있는 경우 주체 목록에 대한 유효성 검사가 성공합니다.

참고:

Active Directory 그룹을 사용하여 호스트 ssh 액세스가 필요한 풀 관리자 사용자에게 액세스 권한을 부여하는 경우 AD 그룹의 크기는 500명을 초과하지 않아야 합니다.

XenServer에 광고 주제를 추가하려면:

xe subject-add subject-name=entity_name
<!--NeedCopy-->

entity_name은 액세스 권한을 부여할 사용자 또는 그룹의 이름입니다. 동호성이 필요하지 않은 한 동작은 동일하지만 엔티티의 도메인 (예: ‘user1’이 아닌 ‘xendt\ user1’) 을 포함 할 수 있습니다.

사용자의 주체 식별자를 찾습니다. 식별자는 사용자 또는 사용자가 포함된 그룹입니다. 그룹을 제거하면 해당 그룹의 모든 사용자에 대한 액세스 권한이 제거됩니다 (주체 목록에도 지정되어 있지 않은 경우). subject list 명령을 사용하여 사용자의 주체 식별자를 찾습니다.:

xe subject-list
<!--NeedCopy-->

이 명령은 모든 사용자 목록을 반환합니다.

목록에 필터를 적용하려면 (예: testad 도메인의 user1 사용자에 대한 주체 식별자 찾기) 다음 명령을 사용합니다.

xe subject-list other-config:subject-name='testad\user1'
<!--NeedCopy-->

subject-remove 명령을 사용하여 사용자를 제거하고 이전 단계에서 학습한 주체 식별자를 전달합니다.

xe subject-remove subject-uuid=subject_uuid
<!--NeedCopy-->

이 사용자가 이미 인증한 현재 세션을 종료할 수 있습니다. 자세한 내용은 다음 섹션의 xe를 사용하여 인증된 모든 세션 종료xe를 사용하여 개별 사용자 세션 종료를 참조하십시오. 세션을 종료하지 않으면 권한이 취소된 사용자는 로그아웃할 때까지 시스템에 계속 액세스할 수 있습니다.

다음 명령을 실행하여 XenServer 호스트 또는 풀에 액세스할 권한이 있는 사용자 및 그룹 목록을 식별합니다.

xe subject-list
<!--NeedCopy-->

사용자에 대한 액세스 권한 제거

인증된 사용자는 세션을 종료하거나 다른 사용자가 세션을 종료할 때까지 호스트에 액세스할 수 있습니다. 주체 목록에서 사용자를 제거하거나 주체 목록의 그룹에서 사용자를 제거해도 사용자가 가지고 있는 이미 인증된 세션은 자동으로 해지되지 않습니다. 사용자는 Citrix Hypervisor 센터 또는 이미 만든 다른 API 세션을 사용하여 풀에 계속 액세스할 수 있습니다. Citrix Hypervisor 센터 및 CLI는 개별 세션 또는 모든 활성 세션을 강제로 종료할 수 있는 기능을 제공합니다. Citrix Hypervisor 센터 사용 절차에 대한 자세한 내용은 Citrix Hypervisor 센터 설명서를 참조하거나 CLI를 사용하는 절차는 다음 섹션을 참조하십시오.

xe를 사용하여 인증된 모든 세션 종료

다음 CLI 명령을 실행하여 xe를 사용하여 인증된 모든 세션을 종료합니다.

xe session-subject-identifier-logout-all
<!--NeedCopy-->

xe를 사용하여 개별 사용자 세션 종료

  1. 세션을 로그아웃할 주체 식별자를 결정합니다. session-subject-identifier-list 또는 subject-list xe 명령을 사용하여 주체 식별자를 찾습니다. 첫 번째 명령은 세션이 있는 사용자를 표시합니다. 두 번째 명령은 모든 사용자를 표시하지만 필터링할 수 있습니다. 예를 들어, xe subject-list other-config:subject-name=xendt\\user1와 같은 명령을 사용합니다. 셸에 따라 표시된 것처럼 이중 백 슬래시가 필요할 수 있습니다.

  2. session-subject-logout 명령을 사용하여 이전 단계에서 결정한 주체 식별자를 매개 변수로 전달합니다. 예를 들면 다음과 같습니다.

    xe session-subject-identifier-logout subject-identifier=subject_id
    <!--NeedCopy-->
    

AD 도메인 탈퇴

경고:

도메인에서 나가면 Active Directory 자격 증명으로 풀 또는 호스트에 인증된 모든 사용자의 연결이 끊어집니다.

Citrix Hypervisor 센터를 사용하여 AD 도메인을 종료합니다. 자세한 내용은 Citrix Hypervisor 센터 설명서를 참조하십시오. 또는 필요한 경우 풀 UUID를 지정하여 pool-disable-external-auth 명령을 실행합니다.

참고:

도메인을 종료해도 AD 데이터베이스에서 호스트 개체가 삭제되지는 않습니다. 비활성화된 호스트 항목을 검색하고 제거하는 방법에 대한 자세한 내용은 Active Directory 설명서를 참조하십시오.

사용자 관리