관리 콘솔을 사용하여 SPNEGO 웹 인증을 사용 설정 및 구성
관리 콘솔을 사용하여 SPNEGO(Simple and Protected GSS-API Negotiation)를 Application Server의 웹 인증자로서 사용으로 설정하고 구성할 수 있습니다.
시작하기 전에
HTTP 요청을 처리하는 WebSphere Application Server에 대해 Kerberos 서비스 프린시펄 이름, HTTP/<fully qualified hostname>@KerberosReam을 포함하는 Kerberos keytab 파일(krb5.keytab)이 있어야 합니다.
프로시저
- 관리 콘솔에서 보안 > 글로벌 보안을 클릭하십시오.
- 인증 아래에서 웹 및 SIP 보안을 펼친 다음 SPNEGO 웹 인증을 클릭하십시오. 참고: SPNEGO 웹 인증을 사용으로 설정하기 전에 필터를 구성해야 합니다.
- 옵션: SPNEGO 변경사항이 발생할 때 Application Server를 다시 시작하지 않고 SPNEGO 런타임을 동적으로 업데이트하려면 SPNEGO를 동적으로 업데이트 옵션을 선택하십시오.
- SPNEGO(Simple and Protected GSS-API Negotiation Mechanism)를 WebSphere Application Server에 대한 웹 인증자로서 사용 가능으로 설정하려면 SPNEGO 사용을 선택하십시오. SPNEGO 사용을 선택하지 않는 한 SPNEGO 동적으로 업데이트 및 애플리케이션 인증 메커니즘에 폴백 허용 옵션은 사용 안함으로 설정됩니다.
- 옵션: 애플리케이션 인증 메커니즘에 폴백 허용을 선택할 때, SPNEGO 인증이 실패하면 애플리케이션 어셈블리 시간 동안에 정의된 인증 메커니즘이 사용됩니다.
- Kerberos 구성 파일을 전체 경로와 함께 입력하거나 찾아보기를 클릭하여 이를 찾으십시오. Kerberos 클라이언트 구성 파일(krb5.conf 또는 krb5.ini)은 관심 있는 영역에 대한 KDC(Key Distribution Center)의 위치를 포함한 Kerberos 구성 정보를 포함합니다. krb5.conf 파일은 krb5.ini 파일을 사용하는 Windows 운영 체제를 제외한 모든 플랫폼에서 기본 이름입니다.
- 옵션: Kerberos keytab 파일 이름을 전체 경로와 함께 입력하거나 찾아보기를 클릭하여 이를 찾으십시오. Kerberos keytab 파일은 하나 이상의 Kerberos 서비스 프린시펄 이름과 키를 포함합니다. 기본 keytab 파일은 krb5.keytab입니다. 호스트에서 권한이 부여된 사용자만이 읽을 수 있는 로컬 디스크에 Kerberos keytab 파일을 저장함으로서 이를 보호하는 것이 중요합니다. 자세한 정보는 Kerberos 서비스 프린시펄 이름 및 keytab 파일 작성의 내용을 참조하십시오. 이 매개변수를 지정하지 않을 경우 Kerberos 구성 파일의 기본 Kerberos 영역 이름이 사용됩니다.
- SPNEGO 필터로부터 편집할 기존 호스트 이름을 선택하거나 새로 작성을 선택하여 새로 작성하십시오. 규칙상, kerberos 서비스 프린시펄 이름(SPN)은 1차, 인스턴스 및 Kerberos 영역 이름의 세 파트로 구분됩니다.
SPNEGO 서비스 이름은 HTTP여야 하므로, SPNEGO 웹의 Kerberos 서비스 프린시펄 이름은
HTTP/<fully qualified host name>@KERBEROS_REALM입니다.
SPN은 수신 SPNEGO 토큰을 유효성 검증하고 요청자가 있는 보안 컨텍스트를 설정하는 데 사용됩니다.
- 필수: 다음 페이지에서 호스트 이름 필드에 완전한 호스트 이름을 입력하십시오. 호스트 이름은 SPNEGO에 의해 Kerberos 보안 컨텍스트를 설정하기 위해 사용되는 Kerberos 서비스 프린시펄 이름(SPN), HTTP/<fully 완전한 호스트 이름>의 일부입니다. 각 필터 항목에 대해서 구성 코드는 Kerberos 서비스 프린시펄을 다음 단계에서 지정해야 하는 Kerberos 영역인 HTTP/<완전한 호스트 이름>@KERBEROS_REALM으로 형성합니다. Kerberos keytab은 이 Kerberos 서비스 프린시펄 및 해당 키를 만족해야 합니다.
- 옵션: Kerberos 영역 이름 필드에 Kerberos 영역 이름을 입력하십시오. 대부분의 경우, 영역은 도메인 이름을 대문자로 표시한 것입니다. 예를 들어 도메인 이름이 test.austin.ibm.com인 시스템의 경우 일반적으로 Kerberos 영역 이름은 AUSTIN.IBM.COM입니다.이 매개변수를 지정하지 않을 경우 Kerberos 구성 파일의 기본 Kerberos 영역 이름이 사용됩니다.
- 필터 기준 필드에 필터 기준을 입력하십시오. 필터 기준은 SPNEGO에 의해 사용되는 Java™
클래스에서 사용된 필터 처리 매개변수입니다. 이는 사용된 구현 클래스에 의미 있는 임의 기준을 정의합니다.
com.ibm.ws.security.spnego.HTTPHeaderFilter 기본 구현 클래스는 이 특성을 통해 선택사항 규칙 목록을 정의합니다. 이때 규칙 목록은 SPENGO 인증에서 HTTP 요청의 선택 여부를 판별하는 HTTP 요청 헤더와 일치하는 조건을 표시합니다.
각 조건은 서로 세미콜론으로 분리된 키-값 쌍으로 지정됩니다. 지정된 특성에 표시된 것처럼 조건은 왼쪽에서 오른쪽으로 평가됩니다. 모든 조건이 충족되면 HTTP 요청이 SPNEGO 인증을 위해 선택됩니다.
키-값 쌍의 키와 값은 어떤 조건이 확인되는지를 정의하는 연산자로 구분됩니다. 키는 추출할 HTTP 요청 헤더를 요청으로부터 식별하고 해당 값은 연산자 명세에 따라 키-값 쌍에 지정된 값과 비교됩니다. 키에 의해 식별되는 헤더가 HTTP 요청에 없으면 조건은 충족되지 않는 것으로 취급됩니다.
모든 표준 HTTP 요청 헤더가 키-값 쌍에서 키로 사용될 수 있습니다. 유효한 헤더의 목록은 HTTP 명세를 참조하십시오. 또한 요청에서 정보를 추출하기 위해 두 개의 키가 정의되어 있고, 표준 HTTP 요청 헤더를 통해서 사용할 수 없는 선택 기준으로서도 유용합니다. 원격-주소 키는 HTTP 요청을 보낸 클라이언트 애플리케이션의 원격 TCP/IP 주소를 검색하기 위해 가상 헤더로서 사용됩니다. 요청-URL 키는 요청을 하기 위해 클라이언트 애플리케이션이 사용하는 URL을 검색하기 위해 가상 헤더로서 사용됩니다. 인터셉터는 웹 주소를 구성하기 위해 javax.servlet.http.HttpServletRequest 인터페이스에서 getRequestURL 오퍼레이션의 결과를 사용합니다. 조회 문자열이 있는 경우 동일한 인터페이스의 getQueryString 조작 결과도 사용합니다. 이 경우 완전한 URL은 다음과 같이 구성됩니다.String url = request.getRequestURL() + ‘?' + request.getQueryString();
표 1. 필터 조건 및 조작 . 다음 표는 필터 기준 조건 및 조작에 대해 설명합니다.
조건 연산자 예제 정확히 일치 == 인수 비교 결과, 서로 같습니다.
host==host.my.company.com 부분 일치(포함) %= 인수 비교 결과, 부분적으로 일치합니다.
user-agent%=IE 6 부분 일치(여러 개 중 하나 포함) ^= 인수 비교 결과, 지정된 여러 인수 중 하나만 부분적으로 일치합니다.
request-url^=webApp1|webApp2|webApp3 불일치 != 인수 비교 결과, 서로 같지 않습니다.
request-url!=noSPNEGO 보다 큼 > 인수 비교 결과, 사전적 측면에서 보다 큽니다.
remote-address>192.168.255.130 보다 작음 < 인수 비교 결과, 사전적 측면에서 보다 작습니다.
remote-address<192.168.255.135 - 필터 클래스 필드에 어떤 HTTP 요청이 SPNEGO 웹 인증에 따르는지를 선택하기 위해 SPNEGO가 사용하는 Java 클래스의 이름을 입력하십시오. 이 매개변수를 지정하지 않으면, 기본 필터 클래스(com.ibm.ws.security.spnego.HTTPHeaderFilter)가 사용됩니다.
- 옵션: SPNEGO가 오류 페이지 URL을 지원하지 않음 필드에서
SPNEGO 인증을 지원하지 않는 경우 브라우저 클라이언트 애플리케이션에 의해 표시되는 HTTP 응답에 SPNEGO가 포함하는 컨텐츠를 포함하는 자원의 URL을
선택적으로 입력할 수 있습니다. 이 특성은 웹(http://) 또는 파일(file://) 자원을 지정할 수 있습니다.SPNEGO가 오류 페이지 URL을 지원하지 않음 필드가 지정되지 않거나 인증된 SPNEGO가 지정된 자원을 찾을 수 없으면 다음 컨텐츠가 사용됩니다.
<html><head><title>SPNEGO authentication is not supported</title></head> <body>SPNEGO authentication is not supported on this client</body></html>;
- 옵션: NTLM 토큰이 오류 페이지 URL을 수신함 필드에서
브라우저 클라이언트 애플리케이션에 의해 표시되는 HTTP 응답에 SPNEGO가 포함하는 컨텐츠를 포함하는 자원의 URL을
선택적으로 지정할 수 있습니다. 브라우저 클라이언트 애플리케이션은 브라우저 클라이언트가
인증 확인-응답 핸드쉐이크 동안에 예상된 SPNEGO 토큰 대신에 NT LAN 관리자(NTLM) 토큰을 전송할 때 이 HTTP 응답을 표시합니다. NTLM 토큰이 오류 페이지 URL 수신함 필드가 지정되지 않거나 인증된 SPNEGO가 지정된 자원을 찾을 수 없으면 다음 컨텐츠가 사용됩니다.
<html><head><title>An NTLM Token was received.</title></head> <body>Your browser configuration is correct, but you have not logged into a supported Microsoft(R) Windows(R) Domain. <p>Please login to the application using the normal login page.</html>
- 옵션: SPNEGO가 Kerberos 영역 이름 앞에 오는 @부터 시작하여 프린시펄 사용자 이름의 접미부를 제거하는지 여부를 지정하려면 프린시펄 이름에서 Kerberos 영역 자르기를 선택하십시오. 이 옵션이 선택된 경우에는 프린시펄 사용자 이름의 접미부가 제거됩니다. 이 속성이 선택되지 않은 경우에는 프린시펄 이름의 접미부가 유지됩니다. 이 옵션의 기본값은 선택되지 않는 것입니다.
- 옵션: Kerberos 위임 신임 정보가 SPNEGO 웹 인증에 의해 저장되는지 여부를 나타내려면
Kerberos 신임 정보의 위임 사용을 선택하십시오. 클라이언트가
Kerberos 위임 신임 정보로 전송되면 SPNEGO는 GSSCredential을 추출하고 이를 제목에 저장합니다.
KRBAuthnToken이 클라이언트 Kerberos 프린시펄 이름으로 작성되고, 클라이언트가 요청의 일부로서
Kerberos 위임 신임 정보를 전송하는 경우에는 Kerberos 티켓을 위임합니다. GSSCredential은 직렬화 가능하지 않으므로
다운스트림 서버로 전파될 수 없고 직렬화나 직렬화 해제 중에 유실됩니다.
그러나 KRBAuthnToken은 직렬화 가능하고 다운스트림 서버로 전파될 수 있습니다.
사용자 정의 애플리케이션이 백엔드 자원이나 다운스트림 서버와 함께 인증을 위해
GSSCredential 신임 정보를 필요로 하는 경우에는 com.ibm.wsspi.wssecurity.platform.token.KRBAuthnToken.getGSSCredential() 메소드를 사용하여
KRBAuthnToken에서 이를 검색한 다음 이를 제목에 배치해야 합니다. 참고: 이 옵션을 선택하지 않을 경우 KRBAuthnToken은 Kerberos 프린시펄 이름만 갖습니다.
- 적용을 클릭하십시오. 필터 기준 및 필터 클래스는 지정된 경우에 유효성 검증됩니다.
- 확인을 클릭하십시오. 이는 SPNEGO 웹 인증 페이지를 완료합니다.
결과
SPNEGO는 이제 Application Server의 웹 인증자로서 사용 가능으로 설정됩니다.
하위 주제
관리 콘솔을 사용하여 SPNEGO 웹 인증 필터 추가 또는 수정
SPNEGO(Simple and Protected GSS-API Negotiation Mechanism) 필터 값은 SPNEGO의 다른 측면을 제어합니다. 관리 콘솔을 사용하여 각 Application Server에 다른 필터 값을 지정할 수 있습니다.SPNEGO 웹 인증 사용
SPNEGO(Simple and Protected GSS-API Negotiation)를 WebSphere Application Server의 웹 인증기로 설정할 수 있습니다.SPNEGO 웹 인증 필터 값
SPNEGO(Simple and Protected GSS-API Negotiation Mechanism) 웹 인증 필터 값은 SPNEGO의 다양한 측면을 제어합니다. 이 페이지에서 각 애플리케이션 서버에 다른 필터를 지정할 수 있습니다.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_SPNEGO_config
파일 이름:tsec_SPNEGO_config.html