14.4. IdM 서비스의 인증 지표 시행

IdM(Identity Management)에서 지원하는 인증 메커니즘은 인증력에 따라 다릅니다. 예를 들어 표준 암호와 함께 일회용 암호(TGT)를 사용하여 초기 Kerberos 티켓 통합 티켓(TGT)을 가져오는 것은 표준 암호만 사용하는 인증보다 더 안전합니다.

인증 지표를 특정 IdM 서비스와 연결하면 IdM 관리자로서 특정 사전 인증 메커니즘을 사용하여 TGT(TGT)를 사용한 사용자만 서비스에 액세스할 수 있도록 서비스를 구성할 수 있습니다.

이렇게 하면 다음과 같이 다양한 IdM 서비스를 구성할 수 있습니다.

  • OTP(one-time password)와 같은 초기 TGT를 얻기 위해 강력한 인증 방법을 사용한 사용자만 VPN과 같은 보안에 중요한 서비스에 액세스할 수 있습니다.
  • 더 간단한 인증 방법을 사용하여 암호와 같은 초기 TGT를 가져오는 사용자는 로컬 로그인과 같은 중요하지 않은 서비스에만 액세스할 수 있습니다.

그림 14.2. 다른 기술을 사용하여 인증의 예

인증 지표

이 절차에서는 IdM 서비스를 생성하고 들어오는 서비스 티켓 요청에서 특정 Kerberos 인증 지표가 필요하도록 구성하는 방법을 설명합니다.

14.4.1. IdM 서비스 항목 및 Kerberos 키탭 생성

IdM 호스트에서 실행 중인 서비스에 IdM 서비스 항목을 추가하면 해당 Kerberos 주체가 생성되고 서비스에서 SSL 인증서, Kerberos 키탭 또는 둘 다를 요청할 수 있습니다.

다음 절차에서는 IdM 서비스 항목을 생성하고 해당 서비스와의 통신을 암호화하기 위해 관련 Kerberos 키탭을 생성하는 방법을 설명합니다.

사전 요구 사항

  • 서비스는 Kerberos 보안 주체, SSL 인증서 또는 둘 다를 저장할 수 있습니다.

절차

  1. ipa service-add 명령과 함께 IdM 서비스를 추가하여 연결된 Kerberos 주체를 생성합니다. 예를 들어 호스트 client.example.com 에서 실행되는 testservice 애플리케이션에 대한 IdM 서비스 항목을 생성하려면 다음을 수행합니다.

    [root@client ~]# ipa service-add testservice/client.example.com
    -------------------------------------------------------------
    Modified service "testservice/client.example.com@EXAMPLE.COM"
    -------------------------------------------------------------
      Principal name: testservice/client.example.com@EXAMPLE.COM
      Principal alias: testservice/client.example.com@EXAMPLE.COM
      Managed by: client.example.com
  2. 클라이언트에 서비스에 대한 Kerberos 키탭을 생성하고 저장합니다.

    [root@client ~]# ipa-getkeytab -k /etc/testservice.keytab -p testservice/client.example.com
    Keytab successfully retrieved and stored in: /etc/testservice.keytab

검증 단계

  1. ipa service-show 명령을 사용하여 IdM 서비스에 대한 정보를 표시합니다.

    [root@server ~]# ipa service-show testservice/client.example.com
      Principal name: testservice/client.example.com@EXAMPLE.COM
      Principal alias: testservice/client.example.com@EXAMPLE.COM
      Keytab: True
      Managed by: client.example.com
  2. klist 명령을 사용하여 서비스의 Kerberos keytab 콘텐츠를 표시합니다.

    [root@server etc]# klist -ekt /etc/testservice.keytab
    Keytab name: FILE:/etc/testservice.keytab
    KVNO Timestamp           Principal
    ---- ------------------- ------------------------------------------------------
       2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
       2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (aes128-cts-hmac-sha1-96)
       2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (camellia128-cts-cmac)
       2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (camellia256-cts-cmac)

14.4.2. IdM CLI를 사용하여 인증 지표를 IdM 서비스와 연결

IdM(Identity Management) 관리자는 클라이언트 애플리케이션에서 제공하는 서비스 티켓에 특정 인증 지표가 포함되도록 호스트 또는 서비스를 구성할 수 있습니다. 예를 들어 Kerberos 티켓 통합 티켓(TGT)을 가져올 때 유효한 IdM 2 단계 인증 토큰을 사용하는 사용자만 해당 호스트 또는 서비스에 액세스할 수 있는지 확인할 수 있습니다.

서비스 티켓 요청에서 특정 Kerberos 인증 지표를 요구하도록 서비스를 구성하려면 다음 절차를 따르십시오.

사전 요구 사항

주의

내부 IdM 서비스에 인증 지표를 할당 하지 마십시오. 다음 IdM 서비스는 PKINIT 및 다단계 인증 방법에 필요한 대화형 인증 단계를 수행할 수 없습니다.

host/server.example.com@EXAMPLE.COM
HTTP/server.example.com@EXAMPLE.COM
ldap/server.example.com@EXAMPLE.COM
DNS/server.example.com@EXAMPLE.COM
cifs/server.example.com@EXAMPLE.COM

절차

  • ipa service-mod 명령을 사용하여 --auth-ind 인수로 식별되는 서비스에 대한 필수 인증 지표를 하나 이상 지정합니다.

    인증 방법--auth-ind value

    이중 인증

    otp

    RADIUS 인증

    반경

    PKINIT, 스마트 카드 또는 인증서 인증

    pkinit

    강화된 암호(SPAKE 또는 FAST)

    강화된

    예를 들어, 사용자가 스마트 카드 또는 OTP 인증을 통해 호스트 client.example.comtestservice principal에 대한 서비스 티켓을 검색하도록 요구하려면 다음을 수행합니다.

    [root@server ~]# ipa service-mod testservice/client.example.com@EXAMPLE.COM --auth-ind otp --auth-ind pkinit
    -------------------------------------------------------------
    Modified service "testservice/client.example.com@EXAMPLE.COM"
    -------------------------------------------------------------
      Principal name: testservice/client.example.com@EXAMPLE.COM
      Principal alias: testservice/client.example.com@EXAMPLE.COM
      Authentication Indicators: otp, pkinit
      Managed by: client.example.com
참고

서비스에서 모든 인증 지표를 제거하려면 빈 지표 목록을 제공하십시오.

[root@server ~]# ipa service-mod testservice/client.example.com@EXAMPLE.COM --auth-ind ''
------------------------------------------------------
Modified service "testservice/client.example.com@EXAMPLE.COM"
------------------------------------------------------
  Principal name: testservice/client.example.com@EXAMPLE.COM
  Principal alias: testservice/client.example.com@EXAMPLE.COM
  Managed by: client.example.com

검증 단계

  • ipa service-show 명령을 사용하여 필요한 인증 지표를 포함하여 IdM 서비스에 대한 정보를 표시합니다.

    [root@server ~]# ipa service-show testservice/client.example.com
      Principal name: testservice/client.example.com@EXAMPLE.COM
      Principal alias: testservice/client.example.com@EXAMPLE.COM
      Authentication Indicators: otp, pkinit
      Keytab: True
      Managed by: client.example.com

14.4.3. IdM 웹 UI를 사용하여 인증 지표를 IdM 서비스와 연결

IdM(Identity Management) 관리자는 클라이언트 애플리케이션에서 제공하는 서비스 티켓이 특정 인증 표시기를 포함하도록 호스트 또는 서비스를 구성할 수 있습니다. 예를 들어 Kerberos 티켓 통합 티켓(TGT)을 가져올 때 유효한 IdM 2 단계 인증 토큰을 사용하는 사용자만 해당 호스트 또는 서비스에 액세스할 수 있는지 확인할 수 있습니다.

IdM 웹 UI를 사용하여 수신되는 티켓 요청에서 특정 Kerberos 인증 지표를 요구하도록 호스트 또는 서비스를 구성하려면 다음 절차를 따르십시오.

사전 요구 사항

  • IdM 웹 UI에 관리자로 로그인했습니다.

절차

  1. ID호스트 또는 ID서비스를 선택합니다.
  2. 필요한 호스트 또는 서비스의 이름을 클릭합니다.
  3. 인증 표시기 에서 필요한 인증 방법을 선택합니다.

    • 예를 들어, OTP 를 선택하면 Kerberos TGT를 가져올 때 유효한 IdM 2 단계 인증 토큰을 사용하는 사용자만 호스트 또는 서비스에 액세스할 수 있습니다.
    • OTPRADIUS 를 모두 선택한 경우 Kerberos TGT를 얻기 위해 RADIUS 서버를 사용하여 RADIUS 서버를 사용하여 유효한 IdM 2 단계 인증 토큰을 암호로 사용한 사용자 모두 액세스할 수 있습니다.
  4. 페이지 상단에서 저장을 클릭합니다.

14.4.4. IdM 서비스에 대한 Kerberos 서비스 티켓 검색

다음 절차에서는 IdM 서비스에 대한 Kerberos 서비스 티켓 검색에 대해 설명합니다. 이 절차를 사용하여 특정 Kerberos 인증 지표가 TGT( ticket-granting 티켓)에 존재하는지와 같은 Kerberos 티켓 정책을 테스트할 수 있습니다.

사전 요구 사항

절차

  • 서비스 티켓을 검색하려면 kvno 명령을 -S 옵션과 함께 사용하고 IdM 서비스의 이름과 이를 관리하는 호스트의 정규화된 도메인 이름을 지정합니다.

    [root@server ~]# kvno -S testservice client.example.com
    testservice/client.example.com@EXAMPLE.COM: kvno = 1
참고

IdM 서비스에 액세스해야 하는 경우 현재 TGT( ticket-granting ticket)에 연결된 Kerberos 인증 지표가 없는 경우 kdestroy 명령을 사용하여 현재 Kerberos 자격 증명 캐시를 지우고 새 TGT를 검색합니다.

[root@server ~]# kdestroy

예를 들어 암호로 인증하여 TGT를 검색하고, 연결된 pkinit 인증 지표가 있는 IdM 서비스에 액세스해야 하는 경우 현재 자격 증명 캐시를 제거하고 스마트 카드로 다시 인증해야 합니다. Kerberos 인증 표시기 를 참조하십시오.

검증 단계

  • klist 명령을 사용하여 서비스 티켓이 기본 Kerberos 인증 정보 캐시에 있는지 확인합니다.

    [root@server etc]# klist_
    Ticket cache: KCM:1000
    Default principal: admin@EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    04/01/2020 12:52:42  04/02/2020 12:52:39  krbtgt/EXAMPLE.COM@EXAMPLE.COM
    04/01/2020 12:54:07 04/02/2020 12:52:39 testservice/client.example.com@EXAMPLE.COM

14.4.5. 추가 리소스