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 인증서 또는 둘 다를 저장할 수 있습니다.
절차
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
클라이언트에 서비스에 대한 Kerberos 키탭을 생성하고 저장합니다.
[root@client ~]# ipa-getkeytab -k /etc/testservice.keytab -p testservice/client.example.com Keytab successfully retrieved and stored in: /etc/testservice.keytab
검증 단계
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
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 서비스 항목을 생성했습니다. IdM 서비스 항목 생성 및 Kerberos 키탭 생성을 참조하십시오.
- IdM에서 관리자의 티켓 업그레이드 티켓을 얻을 수 있습니다.
내부 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.com
의testservice
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에 관리자로 로그인했습니다.
절차
- ID → 호스트 또는 ID → 서비스를 선택합니다.
- 필요한 호스트 또는 서비스의 이름을 클릭합니다.
인증 표시기
에서 필요한 인증 방법을 선택합니다.-
예를 들어,
OTP
를 선택하면 Kerberos TGT를 가져올 때 유효한 IdM 2 단계 인증 토큰을 사용하는 사용자만 호스트 또는 서비스에 액세스할 수 있습니다. -
OTP
및RADIUS
를 모두 선택한 경우 Kerberos TGT를 얻기 위해 RADIUS 서버를 사용하여 RADIUS 서버를 사용하여 유효한 IdM 2 단계 인증 토큰을 암호로 사용한 사용자 모두 액세스할 수 있습니다.
-
예를 들어,
- 페이지 상단에서 저장을 클릭합니다.
14.4.4. IdM 서비스에 대한 Kerberos 서비스 티켓 검색
다음 절차에서는 IdM 서비스에 대한 Kerberos 서비스 티켓 검색에 대해 설명합니다. 이 절차를 사용하여 특정 Kerberos 인증 지표가 TGT( ticket-granting 티켓)에 존재하는지와 같은 Kerberos 티켓 정책을 테스트할 수 있습니다.
사전 요구 사항
- 사용 중인 서비스가 내부 IdM 서비스가 아닌 경우 해당 IdM 서비스 항목을 생성했습니다. IdM 서비스 항목 생성 및 Kerberos 키탭 생성을 참조하십시오.
- Kerberos ticket-granting 티켓(TGT)이 있습니다.
절차
서비스 티켓을 검색하려면
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. 추가 리소스
- Kerberos 인증 표시기 를 참조하십시오.