Kerberos 구성 파일 작성

Kerberos 구성 파일에는 관심 영역에 대한 KDC(Key Distribution Centers)의 위치, 현재 Kerberos 영역에 대한 기본값 및 Kerberos 영역에 호스트 이름 맵핑을 포함하여 클라이언트 구성 정보가 포함됩니다. wsadmin 유틸리티를 사용하여 WebSphere® 애플리케이션 서버에 대한 Kerberos 구성 파일을 작성하십시오.

이 태스크 정보

참고: Kerberos 키 탭 파일(krb5.keytab)이 없는 경우 createkrbConfigFile wsadmin 명령을 사용할 수 없습니다.

Kerberos 구성 설정값, Kerberos KDC(Key Distribution Center) 이름, SPNEGO(Simple and Protected GSS-API Negotiation Mechanism) 웹 인증과 Kerberos 인증 모두에 대한 영역 설정값이 Kerberos 구성 파일에 제공되거나 또는 java.security.krb5.kdc 및 java.security.krb5.realm JVM(Java™ Virtual Machine) 시스템 특성을 통해 제공됩니다.

Kerberos 구성 파일(krb5.ini 또는 krb5.conf)이 없는 경우 먼저 Kerberos 구성 파일을 작성하고 wsadmin 명령을 사용하여 셀에 모든 인스턴스를 두어야 합니다. 다음 기본 Kerberos 구성 파일 및 해당 위치를 참조하십시오.
  • [Windows]기본 위치는 c:\winnt\krb5.ini입니다.
    참고: krb5.ini 파일이 c:\winnt 디렉토리에 있지 않는 경우 c:\windows에 있습니다.
  • [Linux]기본 위치는 /etc/krb5.conf입니다.
  • [AIX][HP-UX][IBM i][Solaris][z/OS]기타 Unix 플랫폼에서 기본 위치는 /etc/krb5/krb5.conf입니다.

프로시저

  1. app_server_root/bin 디렉토리에서 wsadmin 명령을 실행해서 명령행 유틸리티를 시작하십시오.
  2. wsadmin 프롬프트에서 다음 명령을 입력하십시오.
    $AdminTask help createKrbConfigFile 
  3. createKrbConfigFile 명령 매개변수를 지정하십시오.
    표 1. createKrbConfigFile 명령 매개변수.

    이 테이블에는 createKrbConfigFile 명령으로 사용할 수 있는 매개변수가 나열됩니다.

    옵션 설명
    <krbPath> 필수 Kerberos 구성(krb5.ini 또는 krb5.conf) 파일의 완전한 파일 시스템 위치를 제공합니다.
    <realm> 필수 Kerberos 영역 이름을 제공합니다. 이 속성의 값은 SPNEGO가 com.ibm.ws.security.spnego.SPN<id>.hostName 특성으로 지정되는 각 호스트에 대해 Kerberos 서비스 프린시펄 이름을 형성하는 데 사용됩니다.
    <kdcHost> 필수 Kerberos KDC(Key Distribution Center)의 호스트 이름을 제공합니다.
    <kdcPort> 선택적. Kerberos KDC(Key Distribution Center)의 포트 번호를 제공합니다. 이 포트 번호가 생략되는 경우 기본값은 88입니다.
    <dns> 필수 완전한 호스트 이름을 생성하는 데 사용되는 기본 DNS(Domain Name Service)의 목록(파이프 문자로 구분됨). 목록의 첫 번째는 기본 DNS(Domain Name Service)입니다.
    <keytabPath> 필수 Kerberos keytab 경로 및 파일 이름의 파일 시스템 위치를 제공합니다.
    <encryption> 선택적. 지원되는 암호화 유형 목록(파이프 문자로 구분됨)을 식별합니다. 기본값은 des-cbc-md5입니다.
  4. 암호화 유형을 지정하십시오.
    다음 암호화 유형이 지원됩니다.
    • des-cbc-md5
    • des-cbc-crc
    • des3-cbc-sha1
    • rc4-hmac
    • arcfour-hmac
    • arcfour-hmac-md5
    • aes128-cts-hmac-sha1-96
    • aes256-cts-hmac-sha1-96
    주의: 사용 가능한 모든 KDC 솔루션이 이전에 나열된 모든 비밀번호화 유형을 지원하는 것은 아닙니다. 암호화 유형을 선택하기 전에 Kerberos 관리자 및 사용자 안내서를 참조해서 KDC가 사용하려는 암호화 유형을 지원한다는 것을 확인해야 합니다.

    Kerberos 구성 파일, Kerberos keytab 파일, Kerberos 서비스 프린시펄 이름 및 Kerberos 클라이언트에 대한 공통 암호화 유형이 있는지 확인하십시오. 예를 들어 Kerberos 클라이언트가 RC4-HMAC 암호화 유형을 사용하는 경우 대상 서버는 RC4-HMAC 암호화 유형을 지원해야 하고 Kerberos 구성 파일은 먼저 default_tgt_enctypes 및 default_tkt_enctypes에 RC4-HMAC를 나열해야 합니다.

  5. krbPath 및 krbKeytab 위치 유형을 지정하십시오.
    다음 코드는 createKrbConfigFile 명령의 예제입니다.
    $AdminTask createKrbConfigFile {-krbPath c:/winnt/krb5.ini 
                                    -realm WSSEC.AUSTIN.IBM.COM 
                                    -kdcHost host1.austin.ibm.com 
                                    -dns austin.ibm.com|raleigh.ibm.com 
                                    -keytabPath c:/winnt/krb5.keytab}
    참고: WebSphere 변수는 createKrbConfigFile 명령에 대한 krbPath 및 krbKeytab 위치 경로를 지정하는 데 사용될 수 있습니다.
    이 예제를 사용하여 c:/winnt/krb5.ini 파일을 작성하십시오.
    [libdefaults]
    	default_realm = WSSEC.AUSTIN.IBM.COM
    	default_keytab_name = FILE:c:\winnt\krb5.keytab
    		default_tkt_enctypes = rc4-hmac des-cbc-md5
    		default_tgs_enctypes = rc4-hmac des-cbc-md5
    		forwardable  = true
    		renewable  = true
    		noaddresses = true
    		clockskew  = 300
    [realms]
    	WSSEC.AUSTIN.IBM.COM = {
    		kdc = host1.austin.ibm.com:88
    		default_domain = austin.ibm.com
    	}
    [domain_realm]
    		.austin.ibm.com = WSSEC.AUSTIN.IBM.COM
    		.raleigh.ibm.com = WSSEC.AUSTIN.IBM.COM

    createKrbConfigFile 명령은 단순 Kerberos 구성 파일을 작성합니다. 필요한 경우 TCP 또는 UDP 환경 설정을 지정하거나 교차하거나 신뢰되는 영역 환경이 있을 때 이 파일을 편집할 수 있습니다.

    [libdefaults] 섹션에서 TCP 또는 UDP 프로토콜 환경 설정을 지정할 수 있습니다. 기본적으로 Java Kerberos 구성은 UDP 프로토콜을 사용합니다. 그러나 Java Kerberos는 udp_preference_limit 매개변수를 사용하여 TCP 또는 UDP 프로토콜 구성을 지원합니다. TCP 프로토콜을 사용해야 하는 경우 항상 TCP 프로토콜을 사용하도록 1 값으로 udp_preference_limit 매개변수를 지정하십시오. 예를 들면, 다음과 같습니다.
    udp_preference_limit =1
    이 매개변수를 지정하지 않은 경우 Java Kerberos 라이브러리는 UDP 프로토콜을 사용하는 Kerberos 티켓 요청에 실패하고 KDC가 KRB_ERR_RESPONSE_TOO_BIG 오류 코드를 리턴하는 경우에만 TCP 프로토콜을 사용합니다.
    문제점 방지 문제점 방지: 애플리케이션 서버가 클라이언트 요청을 수신할 때 서버의 Kerberos 구성은 TCP 프로토콜을 사용하고 KDC가 잘못된 패킷을 리턴하는 경우 연결 재설정, IOException 또는 구분된 파이프 예외를 리턴합니다. 애플리케이션 서버는 올바른 kerberos 패킷을 캡처하도록 세 번 시도합니다. 올바른 Kerberos 패킷이 세 번의 시도 중 하나의 결과로 리턴되는 경우 클라이언트 요청이 성공적으로 처리되고 예외를 무시할 수 있습니다. 애플리케이션 서버가 세 번의 시도 후에도 올바른 Kerberos 패킷을 얻을 수 없는 경우 클라이언트는 요청에 실패합니다. 이 경우, 문제를 판별하려면 KDC, 네트워크 및 애플리케이션 서버 구성을 검토하십시오. gotcha
  6. 크로스 영역 환경에 대한 Kerberos 구성 파일의 [domain_realm] 섹션을 완료하십시오.
    • [domain_realm]: 도메인 이름 또는 호스트 이름에서 영역 이름까지 변환을 제공합니다. 태그 이름은 호스트 이름 또는 도메인 이름이 될 수 있습니다. 도메인 이름은 마침표('.')의 접두부로 표시됩니다. 관계 값은 해당 특정 호스트 또는 도메인에 대한 영역 이름입니다. 호스트 이름 및 도메인 이름은 소문자여야 합니다.
      변환 입력이 적용되지 않는 경우 호스트 영역은 대문자로 변환된 호스트 이름 도메인 부분이라고 간주됩니다. 예를 들어 다음 [domain_realm] 섹션은 tech.ibm.com을 TEST.AUSTIN.IBM.COM 영역에 맵핑합니다.
      [domain_realm]
      		.austin.ibm.com = WSSEC.AUSTIN.IBM.COM
      		.raleigh.ibm.com = WSSEC.AUSTIN.IBM.COM

      austin.ibm.com 및 .raleigh.ibm.com 도메인의 기타 모든 호스트는 기본적으로 WSSEC.AUSTIN.IBM.COM에 맵핑됩니다.

      다음 예제에는 둘 이상의 Kerberos 영역 이름이 포함됩니다.
      [domain_realm]
             .ibm.com =AUSTIN.IBM.COM
             ibm.com =AUSTIN.IBM.COM
             tech.ibm.com =TEST.AUSTIN.IBM.COM
             .fubar.org =FUBAR.ORG

      ibm.com®도메인의 기타 모든 호스트는 기본적으로 AUSTIN.IBM.COM 영역에 맵핑되고 fubar.org 도메인의 모든 호스트는 기본적으로 FUBAR.ORG 영역에 맵핑됩니다.

    호스트(ibm.com 및 fubar.org)에 대한 입력에 주의하십시오. 이러한 입력 없이 해당 호스트는 영역 COM 및 ORG에 각각 맵핑됩니다.

    피어 신뢰 크로스-영역 인증의 경우 KDC에 신뢰 크로스-영역 인증을 설정하는 방법에 대한 정보는 Kerberos 관리자 및 사용자 안내서를 참조하십시오.

  7. 외부 영역에 대한 정보를 Kerberos 구성 파일의 domain_realm 섹션 및 영역에 추가하십시오.
    [realms]
           AUSTIN.IBM.COM = {
                 kdc = kdc.austin.ibm.com:88
                 default_domain = austin.ibm.com
           }
           FUBAR.ORG = {
                 kdc = kdc.fubar.org:88
                 default_domain = fubar.org
           }
    [domain_realm]
           austin.ibm.com = AUSTIN.IBM.COM
           .austin.ibm.com = AUSTIN.IBM.COM
           fubar.org = FUBAR.ORG
           .fubar.org = FUBAR.ORG

    이행적 신뢰에서 티켓을 수여하는 것에 관련되는 매개체 영역을 신뢰하는 경우 두 영역은 서로 신뢰합니다. 서비스 티켓을 부여하는 것에 관련된 각 영역이 신뢰 경로에 있는 경우 티켓이 신뢰됩니다. KDC에 이행적 신뢰를 구성하는 방법에 대한 정보는 Kerberos 관리자 및 사용자 안내서를 참조하십시오.

    이행적 신뢰를 설정하려면 크로스-영역 인증이 있는 독립 영역은 A와 B 그리고 B와 C사이에 정의되어야 하지만 A와 C사이에는 정의되지 않아야 합니다. 이행적 신뢰를 사용하여 REALMA 및 REAMC는 서로 통신할 수 있지만 REAMB를 통해서만 통신할 수 있습니다.
    REALMA	<->	REALMB	<->	REALMC
  8. 데이터를 스탠자에 추가하십시오. [capaths] 스탠자를 각 krb5.conf 파일에 추가하십시오.
    모든 머신의 krb5.conf 파일은 [realms] 스탠자에 세 개의 모든 영역을 나열해야 합니다. REALMA는 자체와 REALMB 및 REALMC를 나열해야 합니다. REALMB는 자체와 REALMA 및 REALMC를 나열해야 합니다. REALMC는 자체와 REALMA 및 REALMB를 나열해야 합니다. krb5.conf 파일의 [domain_realm] 스탠자에는 REALMA에서 REALMC까지 실행할 수 있고 REALMC에서 REALMA까지 실행할 수 있는 세 개의 모든 호스트 이름 및 영역 이름이 나열됩니다.
    [capaths]
           REALMA.AUSTIN.IBM.COM = {
           				REALMB.AUSTIN.IBM.COM = .
           				REALMC.AUSTIN.IBM.COM = REALMB.AUSTIN.IBM.COM
                }
           REALMB.AUSTIN.IBM.COM = {
           				REALMC.AUSTIN.IBM.COM = .
           				REALMA.AUSTIN.IBM.COM = .
                }
           REALMC.AUSTIN.IBM.COM = {
           				REALMB.AUSTIN.IBM.COM = .
           				REALMA.AUSTIN.IBM.COM = REALMB.AUSTIN.IBM.COM
                }
  9. krb5.conf 파일 권한을 644로 설정하십시오.

    이는 파일을 읽고 쓸 수 있음을 의미합니다. 그러나 파일이 속한 그룹의 멤버 및 기타 모든 사용자는 파일을 읽을 수만 있습니다.

    Kerberos 구성 및 keytab 파일이 JVM 시스템 특성에 의해서 각각 java.security.krb5.conf 및 KRB5_KTNAME으로 설정되기 때문에 SPNEGO 웹 인증 및 Kerberos 인증을 둘 다 사용할 수 있는 경우 두 인증에 대해 동일한 Kerberos 구성 및 keytab 파일을 사용해야 합니다.

결과

이제 Kerberos 구성 파일이 작성되었습니다.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_kerb_create_conf
파일 이름:tsec_kerb_create_conf.html