스마트 카드 인증을 활성화하기 전에 클라이언트 인증서를 요청하도록 vCenter Server를 구성해야 합니다.

이 구성은 vCenter Server에서 자동으로 설정되고 열리는 포트 3128을 사용합니다.

사전 요구 사항

신뢰할 수 있는 클라이언트 CA 저장소를 생성하는 데 사용할 CA(인증 기관) 인증서를 vCenter Server 시스템에 복사합니다. 이 저장소에는 클라이언트 인증서에 대해 CA에서 발급한 신뢰할 수 있는 인증서가 포함되어 있어야 합니다. 여기서 클라이언트는 스마트 카드 프로세스가 최종 사용자에게 정보 요청 메시지를 표시하는 브라우저입니다.

참고: vCenter Server 7.0 이상은 HTTP/2 프로토콜을 지원합니다. vSphere Client를 포함하여, 모든 최신 브라우저 및 애플리케이션은 HTTP/2를 사용하여 vCenter Server에 연결합니다. 하지만 스마트 카드 인증을 위해서는 HTTP/1.1 프로토콜을 사용해야 합니다. 스마트 카드 인증을 활성화하면 HTTP/2에 대해 애플리케이션 계층 프로토콜 협상(ALPN, https://tools.ietf.org/html/rfc7301)이 비활성화되어 브라우저가 HTTP/2를 효과적으로 사용할 수 없게 됩니다. ALPN에 의존하지 않고 HTTP/2만 사용하는 애플리케이션은 계속 작동합니다.

스마트 카드 인증을 완료하려면 적절한 vCenter Server의 포트 3128/TCP에 대한 액세스가 클라이언트에 허용되어야 합니다. 액세스 권한이 부여되었는지 경계 방화벽을 확인합니다.

스마트 카드 로그인 중에 연결이 포트 3128로 리디렉션됩니다. 포트 3128은 미리 구성된 상호 인증 연결만 지원하며 직접 브라우저 끝점으로 사용되지 않습니다. HSTS 헤더를 반환하지 않습니다. 취약성 스캐너가 이 동작을 보고하는 경우 무시해도 됩니다.

프로시저

  1. vCenter Server 셸에 루트 사용자로 로그인합니다.
  2. 정확한 경로와 PEM 이름(/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem)을 사용하여 vCenter Server에 신뢰할 수 있는 클라이언트 CA 저장소를 생성합니다.
    경고: 정확한 경로와 PEM 이름( /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem)을 사용해야 합니다.
    1. /usr/lib/vmware-sso/ 디렉토리로 변경합니다.
      cd /usr/lib/vmware-sso/
    2. 신뢰할 수 있는 클라이언트 CA 저장소를 생성하려면 신뢰할 수 있는 서명 인증서를 입력으로 사용하여 openssl 명령을 실행합니다. 예를 들어 다음 명령은 xyzCompanySmartCardSigningCA.cer 신뢰할 수 있는 서명 인증서에서 clienttrustCA.pem 파일을 생성합니다.
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
      openssl 명령을 " > >" 연산자와 함께 실행하여 인증서를 추가하면 신뢰할 수 있는 클라이언트 CA 저장소에 인증서를 더 추가할 수 있습니다. 예를 들어 다음 명령은 기존 clienttrustCA.pem 파일에 xyzCompanySmartCardSigningCA2.cer를 추가합니다.
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
  3. clienttrustCA.pem 파일의 컨텐츠에 스마트 카드 인증서에 서명한 신뢰할 수 있는 CA가 포함되어 있는지 확인하려면 keytool 명령을 실행합니다.
    예:
    keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
  4. CA 이름이 스마트 카드 사용자 인증서 체인과 일치하는지 확인합니다.
    예를 들어 다음 명령을 실행할 수 있습니다.
    sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
    루트 및 중간 인증서에는 일치하는 지문, 이름, 유효한 날짜 등이 있어야 합니다.
    참고: vSphere Client( 관리 > Single Sign-On > 구성 > ID 제공자 > 스마트 카드 인증 > 스마트 카드 인증 설정 > 신뢰할 수 있는 CA 인증서 > 추가)를 사용할 수도 있습니다.
  5. STS 서비스를 다시 시작합니다.
    service-control --restart sts