Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20장. Kerberos Flags 및 주요 별칭 관리

20.1. 서비스 및 호스트용 Kerberos 플래그

다양한 Kerberos 플래그를 사용하여 Kerberos 티켓 동작의 특정 측면을 정의할 수 있습니다. 이 플래그를 service 및 host Kerberos principals에 추가할 수 있습니다.
IdM(Identity Management)의 주체는 다음 Kerberos 플래그를 허용합니다.
OK_AS_DELEGATE
이 플래그를 사용하여 위임을 위해 신뢰할 수 있는 Kerberos 티켓을 지정합니다.
AD(활성 디렉터리) 클라이언트는 Kerberos 티켓에서 OK_AS_DELEGATE 플래그를 확인하여 사용자 자격 증명을 특정 서버에 전달하거나 위임할 수 있는지 확인합니다. AD는 TGT( ticket-granting ticket)를 OK_AS_DELEGATE 가 설정된 서비스 또는 호스트에만 전달합니다. 이 플래그를 사용하면 SSSD(시스템 보안 서비스 데몬)에서 IdM 클라이언트 시스템의 기본 Kerberos 자격 증명 캐시에 AD 사용자 TGT를 추가할 수 있습니다.
REQUIRES_PRE_AUTH
이 플래그를 사용하여 사전 인증 티켓만 보안 주체에 인증할 수 있도록 지정합니다.
REQUIRES_PRE_AUTH 플래그를 설정하면 KDC(키 배포 센터)에 추가 인증이 필요합니다. TGT가 TGT가 사전 인증되지 않은 경우에만 REQUIRES_PRE_AUTH 의 보안 주체에 대해 TGT를 발행합니다.
REQUIRES_PRE_AUTH 를 지우면 선택한 서비스 또는 호스트에 대해 사전 인증을 비활성화하면 CloudEvent의 부하가 줄어들지만 장기 키에서 무차별 공격 가능성이 약간 높아집니다.
OK_TO_AUTH_AS_DELEGATE
OK_TO_AUTH_AS_DELEGATE 플래그를 사용하여 서비스가 사용자를 대신하여 kerberos 티켓을 받을 수 있도록 지정합니다. 이는 프로토콜 전환을 수행하기에 충분하지만, 사용자를 대신하여 다른 티켓을 얻으려면 서비스에 OK_AS_DELEGATE 플래그와 키 분배 센터 측에서 허용되는 해당 정책 결정이 필요합니다.

20.1.1. 웹 UI에서 Kerberos 플래그 설정

OK_AS_DELEGATE,REQUIRES_PRE_AUTH, OK_TO_AUTH_AS_DELEGATE 를 주체에 추가하려면 다음을 수행하십시오.
  1. ID 기본 탭을 통해 액세스할 수 있는 Services (서비스)를 선택합니다.

    그림 20.1. 서비스 목록

    서비스 목록
  2. 플래그를 추가할 서비스를 클릭합니다.
  3. 설정할 옵션을 확인합니다. 예를 들어 REQUIRES_PRE_AUTH 플래그를 설정하려면 Requires pre-authentication 옵션을 확인합니다.

    그림 20.2. REQUIRES_PRE_AUTH 플래그 추가

    REQUIRES_PRE_AUTH 플래그 추가
    다음 표에는 Kerberos 플래그의 이름과 웹 UI의 해당 이름이 나열되어 있습니다.

    표 20.1. WebUI에서의 Kerberos 플래그 매핑

    Kerberos 플래그 이름 웹 UI 옵션
    OK_AS_DELEGATE 신뢰할 수 있는 위임
    REQUIRES_PRE_AUTH 사전 인증 필요
    OK_TO_AUTH_AS_DELEGATE 사용자로 인증할 수 있는 신뢰할 수 있음

20.1.2. 명령줄에서 Kerberos 플래그 설정 및 제거

명령행의 주체에 플래그를 추가하거나 플래그를 제거하려면 ipa service-mod 명령에 다음 옵션 중 하나를 추가합니다.
  • --ok-as-delegate for OK_AS_DELEGATE
  • --requires-pre-auth for REQUIRES_PRE_AUTH
  • --OK-to-auth-as-delegate for OK_TO_AUTH_AS_DELEGATE
플래그를 추가하려면 해당 옵션을 1 로 설정합니다. 예를 들어 서비스/ipa.example.com@EXAMPLE.COM 주체에 OK_AS_DELEGATE 플래그를 추가하려면 다음을 수행합니다.
$ ipa service-mod service/ipa.example.com@EXAMPLE.COM --ok-as-delegate=1
플래그를 제거하거나 비활성화하려면 해당 옵션을 0 으로 설정합니다. 예를 들어 test/ipa.example.com@EXAMPLE.COM 주체에 대해 REQUIRES_PRE_AUTH 플래그를 비활성화하려면 다음을 수행합니다.
$ ipa service-mod test/ipa.example.com@EXAMPLE.COM --requires-pre-auth=0

20.1.3. 명령줄에서 Kerberos 플래그 표시

현재 보안 주체에 대해 OK_AS_DELEGATE 가 설정되어 있는지 확인하려면 다음을 수행하십시오.
  1. kvno 유틸리티를 실행합니다.
  2. klist -f 명령을 실행합니다.
OK_AS_DELEGATEklist -f 출력의 O 문자로 표시됩니다.
$ kvno test/ipa.example.com@EXAMPLE.COM
$ klist -f
Ticket cache: KEYRING:persistent:0:0
Default principal: admin@EXAMPLE.COM

Valid starting		Expires			Service principal
02/19/2014 09:59:02	02/20/2014 08:21:33	test/ipa/example.com@EXAMPLE.COM
    Flags: FATO

표 20.2. kerberos 플래그의 약어

Kerberos 플래그 이름 약어
OK_AS_DELEGATE O
REQUIRES_PRE_AUTH A
OK_TO_AUTH_AS_DELEGATE F
현재 보안 주체에 설정된 플래그를 찾으려면 kadmin.local 유틸리티를 사용합니다. 현재 플래그는 kadmin.local 출력의 Attributes 행에 표시됩니다. 예를 들면 다음과 같습니다.
# kadmin.local
kadmin.local: getprinc test/ipa.example.com
Principal: test/ipa.example.com@EXAMPLE.COM
Expiration date: [never]
...
Attributes: REQUIRES_PRE_AUTH OK_AS_DELEGATE OK_TO_AUTH_AS_DELEGATE
Policy: [none]