보안을 위한 Kerberos(KRB5) 인증 메커니즘 지원

그만큼 Kerberos 인증 메커니즘을 통해 다른 애플리케이션(예: .NET, DB2® 및 기타) 지원하는 Kerberos 입증. 이는 싱글 사인온(SSO) 엔드 투 엔드 상호 운용 솔루션을 제공하고 원래 요청 ID는 보존합니다.

메모: 보안 지원 Kerberos 인증 메커니즘이 추가되었기 때문에 WebSphere® Application Server 버전 7.0. Kerberos는 성숙하며 융통성 있고 개방적인 매우 안전한 네트워크 인증 프로토콜입니다. Kerberos에는 인증, 상호 인증, 메시지 무결성 및 기밀성, 위임 기능이 포함됩니다. 서버 측에서 Kerberos를 사용할 수 있습니다. 풍부한 Java™ 클라이언트가 Kerberos 인증을 위한 토큰 WebSphere Application Server.

Kerberos 개념

Kerberos는 테스트 기간을 거쳐 버전 5.0에서 소개됩니다. Kerberos 광범위한 플랫폼 지원(예: Windows, Linux®, 솔라리스, AIX®, 그리고 z/OS®) 부분적으로는 Kerberos 소스 코드는 원래 작성된 MIT(Massachusetts Institute of Technology)에서 무료로 다운로드할 수 있습니다.

Kerberos는 세 개의 파트인 클라이언트, 서버 및 Kerberos Key Distribution Center(KDC)라고도 하는 신뢰 써드파티로 구성됩니다. KDC는 인증 및 서비스를 부여하는 티켓을 제공합니다.

KDC는 해당 영역에서의 모든 보안 프린시펄을 위해 사용자 계정의 데이터베이스 및 저장소를 유지보수합니다. 많은 Kerberos 배포판이 파일 기반의 저장소를 Kerberos 프린시펄 및 정책 DB에 사용하고 다른 제품은 LDAP(Lightweight Directory Access Protocol)을 저장소로 사용합니다.

Kerberos는 그룹 개념을 지원하지 않습니다(즉, iKeys 그룹이나 사용자 또는 프린시펄 그룹). KDC는 해당 계정 데이터베이스에서 각 프린시펄에 대해 장기 키를 유지보수합니다. 이 장기 키는 프린시펄의 비밀번호에서 파생됩니다. KDC와 프린시펄이 표시하는 사용자만 장기 키 및 비밀번호를 알아야 합니다.

Kerberos를 인증 메커니즘으로 사용하는 경우 이점

갖는 이점 Kerberos 인증 메커니즘으로 WebSphere Application Server 다음을 포함합니다:

  • Kerberos 프로토콜은 표준입니다. 이를 통해 다른 애플리케이션(예: .NET, DB2 및 기타) 지원하는 Kerberos 입증. 이는 싱글 사인온(SSO) 엔드 투 엔드 상호 운용 솔루션을 제공하고 원래 요청 ID는 보존합니다.
  • Kerberos 인증을 사용하는 경우 사용자의 일반 텍스트 비밀번호는 사용자 머신에 남지 않습니다. 사용자는 사용자 비밀번호에 대한 단방향 해시 값을 사용하여 인증하고 Kerberos KDC에서 티켓 부여 티켓(TGT)을 확보합니다. 사용자는 TGT를 사용하여 KDC에서 Kerberos 서비스 티켓을 가져오기도 합니다. 그만큼 Kerberos 클라이언트 신원을 나타내는 서비스 티켓이 전송됩니다. WebSphere Application Server 인증을 위해.
  • Java 클라이언트가 참여할 수 있습니다. Kerberos SSO를 사용하여 Kerberos 인증할 자격 증명 캐시 WebSphere Application Server.
  • J2EE, HTTP 프로토콜을 사용하는 웹 서비스, .NET 및 웹 브라우저 클라이언트는 SPNEGO(Simple and Protected GSS-API Negotiation Mechanism) 토큰을 사용하여 인증할 수 있습니다. WebSphere Application Server SPNEGO 웹 인증을 사용하여 SSO에 참여합니다. 웹 인증 서비스로서 SPNEGO에 대한 지원은 이번 릴리스의 새로운 기능입니다. WebSphere Application Server.

    에 대해 읽다 SPNEGO 싱글 사인온 자세한 내용은.

  • WebSphere Application Server 둘 다 지원할 수 있다 Kerberos 및 LTPA(Lightweight Third-Party Authentication) 인증 메커니즘을 동시에 제공합니다.
  • Kerberos 인증을 사용하는 서버 간 통신이 제공됩니다.

단일 Kerberos 영역 환경에서 Kerberos 인증

WebSphere Application Server 지원하다 Kerberos 한번에 인증 Kerberos 다음 그림에 표시된 대로 영역 환경:

그림 1. 단일 Kerberos 영역 환경에서 Kerberos 인증
WebSphere Application Server 지원하다 Kerberos 한번에 인증 Kerberos 영역 환경

WebSphere Application Server 수신하다 Kerberos 또는 인증을 위해 SPNEGO 토큰을 사용합니다. Kerberos SPN(서비스 주체)을 사용하여 요청자와 보안 컨텍스트를 설정합니다. 보안 컨텍스트가 설정되면 WebSphere Kerberos 로그인 모듈은 클라이언트 GSS 위임 자격 증명을 추출하고 Kerberos 인증 토큰 기반 Kerberos 자격 증명을 저장하고 다른 토큰과 함께 클라이언트 주제에 배치합니다.

서버가 다운스트림 서버 또는 백엔드 자원을 사용해야 하는 경우 클라이언트 GSS 위임 신임 정보를 사용합니다. 다운스트림 서버가 Kerberos 인증을 지원하지 않으면 서버는 LTPA 토큰을 Kerberos 토큰 대신 사용합니다. 클라이언트가 GSS 위임 신임 정보를 요청에 포함하지 않으면 서버는 다운스트림 서버에 대해 LTPA 토큰을 사용합니다. Kerberos 인증 토큰 및 프린시펄이 보안 속성 전파 기능으로 다운스트림 서버에 전파됩니다.

만약 WebSphere Application Server KDC가 동일한 사용자 레지스트리를 사용하지 않는 경우 JAAS 매핑하려면 사용자 정의 로그인 모듈이 필요할 수 있습니다. Kerberos 주요 이름 WebSphere 사용자 이름.

상호 또는 신뢰 Kerberos 영역 환경에서 Kerberos 인증

WebSphere Application Server 또한 지원합니다 Kerberos 교차 또는 신뢰할 수 있는 인증 Kerberos 다음 그림에 표시된 대로 영역 환경:

그림 2. 상호 또는 신뢰 Kerberos 영역 환경에서 Kerberos 인증
WebSphere Application Server 또한 지원합니다 Kerberos 교차 또는 신뢰할 수 있는 인증 Kerberos 영역 환경

WebSphere Application Server 수신하다 Kerberos 또는 인증을 위해 SPNEGO 토큰을 사용합니다. Kerberos SPN(서비스 주체)을 사용하여 요청자와 보안 컨텍스트를 설정합니다. 보안 컨텍스트가 설정되면 WebSphere Kerberos 로그인 모듈은 항상 클라이언트 GSS 위임 자격 증명을 추출하고 Kerberos 티켓을 다른 토큰과 함께 클라이언트 주제에 배치합니다.

서버가 다운스트림 서버 또는 백엔드 자원을 사용해야 하는 경우 클라이언트 GSS 위임 신임 정보를 사용합니다. 다운스트림 서버가 Kerberos 인증을 지원하지 않으면 서버는 LTPA 토큰을 Kerberos 토큰 대신 사용합니다. 클라이언트가 GSS 위임 신임 정보를 요청에 포함하지 않으면 서버는 다운스트림 서버에 대해 LTPA 토큰을 사용합니다. Kerberos 인증 토큰 및 프린시펄이 보안 속성 전파 기능으로 다운스트림 서버에 전파됩니다.

만약 WebSphere Application Server KDC가 동일한 사용자 레지스트리를 사용하지 않는 경우 JAAS 매핑하려면 사용자 정의 로그인 모듈이 필요할 수 있습니다. Kerberos 주요 이름 WebSphere 사용자 이름.

이번 릴리스에서는 WebSphere Application Server, 새로운 보안 다중 도메인만 지원 Kerberos 세포 수준에서. 모두 WebSphere Application Server s는 동일한 사용자가 사용해야 합니다. Kerberos 왕국. 그러나 클라이언트 및/또는 백엔드 리소스(예: DB2, .NET 서버 등)을 지원합니다. Kerberos 인증은 자체적으로 가질 수 있습니다. Kerberos 왕국. 피어 투 피어 및 이행성 신뢰 상호 영역 인증만 지원됩니다. 다음 단계는 신뢰 Kerberos 영역에 대해 수행해야 합니다.

  • Kerberos 신뢰 영역 설정은 각 Kerberos KDC에 대해 수행해야 합니다. Kerberos 신뢰 영역 설정 방법에 대한 자세한 정보는 Kerberos 관리자 및 사용자 안내서를 참조하십시오.
  • Kerberos 구성 파일은 신뢰 영역을 나열해야 할 수도 있습니다.
  • 추가하다Kerberos 클릭하여 관리 콘솔에서 신뢰할 수 있는 영역 글로벌 보안 >CSIv2 아웃바운드 통신 > 신뢰할 수 있는 인증 영역 - 아웃바운드 .

다음 그림은 다음을 사용하는 Java 및 관리 클라이언트를 보여줍니다. Kerberos 인증할 자격 증명 캐시 WebSphere Application Server 와 Kerberos 신뢰할 수 있는 토큰 Kerberos 왕국:

그림 3. 사용하여 Kerberos 인증할 자격 증명 캐시 WebSphere Application Server 와 Kerberos 신뢰할 수 있는 토큰 Kerberos 왕국
사용하여 Kerberos 인증할 자격 증명 캐시 WebSphere Application Server 와 Kerberos 신뢰할 수 있는 토큰 Kerberos 왕국
이전의 그림에서는 다음과 같은 이벤트가 발생합니다.
  1. 클라이언트는 Kerberos 신임 정보 캐시가 있는 경우 이를 사용합니다.
  2. 클라이언트는 Kerberos 신임 정보 캐시를 사용하여 Realm B KDC에서 Realm A에 대한 상호 영역 티켓(TGS_REQ)을 요청합니다.
  3. 클라이언트는 상호 영역 티켓을 사용하여 server1(TGS_REQ)에 대한 Kerberos 서비스 티켓을 Realm A KDC에서 요청합니다.
  4. KDC(TGS_REP)에서 리턴된 Kerberos 토큰은 CSIv2 메시지 인증 토큰에 추가되고 인증을 위해 server1에 전송됩니다.
  5. 서버는 Krb5LoginModuleWrapper를 호출하여 서버 Kerberos 서비스 프린시펄 이름(SPN) 및 krb5.keytab 파일의 키를 사용하여 클라이언트에 보안 컨텍스트를 설정합니다. 서버가 클라이언트와의 보안 컨텍스트를 설정하면 GSS 위임 신임 정보와 티켓을 추출하고 이를 클라이언트 주제(Subject)에 배치합니다.
  6. 선택적으로 사용자 정의 JAAS KDC 및 WebSphere Application Server 동일한 사용자 레지스트리를 사용하지 마십시오.
  7. 사용자는 사용자 레지스트리를 통해 유효성이 검증됩니다. WebSphere Application Server.
  8. 결과(성공 또는 실패)가 클라이언트에 리턴됩니다.

다음 그림은 다음을 사용하는 Java 및 관리 클라이언트를 보여줍니다. Kerberos 인증할 주체 이름과 비밀번호 WebSphere Application Server 와 Kerberos 토큰:

그림 4. 사용하여 Kerberos 인증할 주체 이름과 비밀번호 WebSphere Application Server 와 Kerberos 토큰
사용하여 Kerberos 인증할 주체 이름과 비밀번호 WebSphere Application Server 와 Kerberos 토큰.
이전의 그림에서는 다음과 같은 이벤트가 발생합니다.
  1. 클라이언트는 KDC에서 Kerberos 부여 티켓(TGT)을 확보합니다.
  2. 클라이언트는 TGT를 사용하여 server1(TGS_REQ)에 대한 Kerberos 서비스 티켓을 확보합니다.
  3. KDC(TGS_REP)에서 리턴된 Kerberos 토큰은 CSIv2 메시지 인증 토큰에 추가되고 인증을 위해 server1에 전송됩니다.
  4. 서버는 Krb5LoginModuleWrapper를 호출하여 서버 Kerberos 서비스 프린시펄 이름(SPN) 및 krb5.keytab 파일의 키를 사용하여 클라이언트에 보안 컨텍스트를 설정합니다. 서버가 클라이언트와의 보안 컨텍스트를 설정하면 GSS 위임 신임 정보와 티켓을 추출하고 이를 클라이언트 주제(Subject)에 배치합니다.
  5. 선택적으로 사용자 정의 JAAS KDC 및 WebSphere Application Server 동일한 사용자 레지스트리를 사용하지 마십시오.
  6. 사용자는 사용자 레지스트리를 통해 유효성이 검증됩니다. WebSphere Application Server.
  7. 결과는 클라이언트에 리턴됩니다.

다음 그림은 서버 간 통신을 보여줍니다.

그림 5. 서버 간 통신
언제 WebSphere 응용 프로그램 서버가 시작되면 서버 ID와 비밀번호를 사용하여 KDC에 로그인한 다음 TGT를 얻습니다. 그리고
TGT를 사용하여 다른 서버와 통신하기 위한 서비스 티켓을 요청합니다. 만약 WebSphere 애플리케이션 서버는 서버 ID와 비밀번호 대신 내부 서버 ID를 사용하며, 서버 간 통신은 LTPA 토큰을 사용하여 수행됩니다.

언제 WebSphere Application Server 시작되면 서버 ID와 비밀번호를 사용하여 KDC에 로그인한 다음 TGT를 얻습니다. 그리고 TGT를 사용하여 다른 서버와 통신하기 위한 서비스 티켓을 요청합니다. 만약 WebSphere Application Server 서버 ID와 비밀번호 대신 내부 서버 ID를 사용하며, 서버 간 통신은 LTPA 토큰을 사용하여 수행됩니다. 이전의 그림에서는 다음과 같은 이벤트가 발생합니다.

  1. WebSphere Application Server 1은 엔터프라이즈에서 foo() 메소드를 호출합니다. JavaBeans (EJB) 실행 중 WebSphere Application Server 2.
  2. Server1Server2(TGS_REQ)에 대한 Kerberos 서비스 티켓을 Server1 TGT를 사용하여 가져옵니다.
  3. 2단계와 동일.
  4. KDC(TGS_REP)에서 리턴된 Kerberos 토큰은 CSIv2 메시지 인증 토큰에 추가되고 인증을 위해 Server2에 전송됩니다.
  5. Server2전화하다 acceptSecContext() 보안 컨텍스트를 설정하는 방법server1 사용하여server2 Kerberos SPN(서비스 사용자 이름) 및 키krb5.keytab 파일. server2server1과 보안 컨텍스트를 설정하면 항상 server1 GSS 위임 신임 정보와 티켓을 추출하여 주제(Subject)에 배치합니다.
  6. 서버 ID는 다음을 통해 검증됩니다. WebSphere 사용자 레지스트리.
문제 방지: Java 클라이언트 애플리케이션과 애플리케이션 서버가 동일한 시스템에 존재하고 서로 다른 것을 사용하는 경우 Kerberos 영역 이름을 사용하는 경우 런타임은 다음의 기본 영역 이름을 사용합니다. Kerberos 구성 파일. 또는, 로그인 프로세스 중에 영역 이름을 지정할 수 있습니다.
문제 방지: Kerberos LTPA 인증은 여러 KDC 환경에서 구성될 수 있습니다. 기본 인증은 Kerberos 영역 이름 없이 비밀번호 및 축약 이름으로 구성할 수 있습니다. 이 기본 인증의 경우 domain_realm 요소 및 default_realm 요소의 조합은 Kerberos 클라이언트가 요청을 인증하기 위해 사용하는 KDC를 판별합니다. 판별된 KDC에 속하지 않는 사용자는 완전한 Kerberos 프린시펄 이름(예: Bob@myKerberosRealm)으로 로그인해야 합니다.

설정하기 전에 고려해야 할 사항 Kerberos 인증 메커니즘으로 WebSphere Application Server

WebSphere Application Server 이제 HTTP 헤더에서 SPNEGO 토큰을 지원합니다. Kerberos 토큰, LTPA 토큰 및 BasicAuth (GSSUP) 인증을 위한 것입니다.

엔드 투 엔드 Kerberos 및 엔드 투 엔드 SPNEGO를 Kerberos 솔루션에 제공하려면 다음을 주의하십시오.
  • Enabled delegation of Kerberos 신임 정보 옵션을 선택해야 합니다. 에 대해 읽다 구성 Kerberos 관리 콘솔을 사용하는 인증 메커니즘으로 이 옵션에 대한 자세한 내용은
  • 클라이언트는 전달 가능하며 주소가 없는 재사용 가능 플래그의 티켓 부여 티켓(TGT)을 확보하여 대상 서버가 클라이언트 위임 Kerberos 신임 정보를 추출하여 다운스트림 서버 이동에 사용하도록 해야 합니다.
  • 주소를 포함하는 클라이언트 TGT는 다운스트림 서버, 데이터 복제 서비스(DRS) 캐시, 클러스터 환경에는 사용할 수 없습니다.
  • 클라이언트 위임 Kerberos가 허용되는지는 Kerberos KDC 플랫폼을 참조하십시오.
  • 장기 실행 애플리케이션인 경우 클라이언트는 재사용 가능한 플래그의 TGT를 요청하여 대상 서버가 위임 Kerberos를 갱신할 수 있도록 해야 합니다.
  • 장기 실행 애플리케이션의 경우, Kerberos 티켓이 최소한 애플리케이션이 실행되는 기간 동안은 유효한지 확인하십시오. 예를 들어, 애플리케이션이 5분이 소요되는 트랜잭션을 처리하는 경우 Kerberos 티켓은 최소 5분이상 유효해야 합니다.
  • Kerberos 인증 및 SPNEGO 웹 인증은 모두 동일한 포레스트에서 Active Directory 상호 도메인 신뢰에 대해 지원됩니다.
  • 관리 에이전트가 Kerberos 인증 메커니즘을 사용할 수 있도록 하려면 LTPA 키를 관리 서브시스템 프로파일과 교환해야 합니다.
  • 클라이언트 위임 Kerberos 신임 정보를 다운스트림 인증에 대해 사용하려면 클라이언트가 10분 이상의 서비스 티켓을 요청할 수 있어야 합니다. 클라이언트 위임 Kerberos 신임 정보 사용 기간이 10분 미만인 경우 서버가 갱신을 시도합니다.
메모: 클라이언트, WebSphere Application Server KDC 시스템은 시계를 동기화된 상태로 유지해야 합니다. 모든 시스템이 동기화되도록 시간 서버를 사용하는 것이 우수 사례입니다.
이번 릴리스의 경우 WebSphere Application Server, 다음 사항에 유의하세요.
  • 엔드투엔드를 완료하세요. Kerberos Tivoli® Access Manager에 대한 지원은 다음 KDC를 사용하여 사용할 수 있습니다.
    • z/OS
    • Microsoft(단일 또는 다중 영역)
    • AIX
    • Linux
  • 이제 구성하고 활성화할 수 있습니다. Kerberos 교차 영역 WebSphere Application Server 그리고 씬 클라이언트.
  • WebSphere Application Server 관리 기능 Kerberos 다음 사항으로 제한됩니다.
    • 융통성있는 관리 활동을 위한 선호 인증 메커니즘은 기본적으로 RSA(Rivest Shamir Adleman) 인증 메커니즘입니다.
    • 관리 인증으로 Kerberos를 사용하여 구성된 작업 관리자는 상호 Kerberos 영역을 지원하지 않습니다. 등록된 노드와 동일한 Kerberos 영역에 있거나 관리 인증을 RSA로 설정해야 합니다.
    • 하는 동안 Kerberos 관리 클라이언트(wsadmin 또는 Java 클라이언트)에 대해 인증이 지원되므로 동일한 KDC 영역을 사용해야 합니다. WebSphere Application Server 그것은 관리합니다. 그렇지 않으면 사용자 ID와 비밀번호가 권장됩니다.
    • 혼합 셀 Kerberos 일부 노드가 다음인 경우 LTPA 구성이 지원되지 않습니다. WebSphere Application Server 풀어 주다 6.x 노드 또는 이전.

Kerberos 인증에 대한 지원 정보

다음 시나리오가 지원됩니다.
  • 동일한 포레스트에 없는 외부 도메인 신뢰
  • 동일한 포리스트 내 도메인 신뢰
  • Kerberos 영역 신뢰
다음과 같은 시나리오는 지원되지 않습니다.
  • 상호 포레스트 신뢰
  • 포리스트 외부 신뢰

WebSphere Application Server의 인증 메커니즘으로 Kerberos 설정

다음에 나열된 순서대로 단계를 수행해야 합니다. 설정 Kerberos 인증 메커니즘으로 WebSphere Application Server 설정하기 Kerberos 인증 메커니즘으로 WebSphere Application Server.
메모: Kerberos 서버 측의 인증 메커니즘은 시스템 관리자가 수행해야 하고 Java 클라이언트 측에서는 사용자가 수행해야 합니다. Kerberos keytab 파일은 보호되어야 합니다.

설정 Kerberos 순수 Java 클라이언트에 대한 인증 메커니즘으로

최종 사용자는 선택적으로 설정할 수 있습니다. Kerberos 순수 Java 클라이언트에 대한 인증 메커니즘입니다. 에 대해 읽다 Java 클라이언트 구성 Kerberos 입증 자세한 내용은.

[8.5.5.19 이상]

LDAP에 대한 바인드 인증 메커니즘으로 Kerberos 설정

Kerberos를 바인드 인증 메커니즘으로 설정하여 LDAP 서버에 바인드하고 사용자 및 그룹 검색을 수행할 수 있습니다. 이 바인드 인증 메커니즘은 바인드 식별 이름과 바인드 비밀번호를 사용하는 단순 바인드 인증 메커니즘의 대안입니다.

연합 저장소에서 Kerberos를 LDAP 서버에 대한 바인드 인증 메커니즘으로 구성하려면 연합 저장소 구성에서 LDAP 구성에 대한 주제에 설명된 단계를 완료하십시오.

Kerberos를 독립형 LDAP 서버에 대한 바인드 인증 메커니즘으로 구성하려면 LDAP 사용자 레지스트리 구성에 대한 주제에 설명된 단계를 완료하십시오.