IIS 개발자 지원 음성 열

Kerberos 인증 및 위임 문제 해결

이 열을 필요에 맞게 사용자 지정하려면 관심 있는 topics 대한 아이디어와 향후 기술 자료 문서 및 지원 음성 열에서 해결하려는 문제에 대한 아이디어를 제출하도록 초대합니다. 요청 양식을 사용하여 아이디어와 피드백을 제출할 수 있습니다. 이 열의 맨 아래에 양식에 대한 링크도 있습니다.

내 이름은 이름> <Microsoft의 IIS(Microsoft 인터넷 정보 서비스) 중요 문제 해결 그룹에 있습니다. 저는 Microsoft와 9년 동안 함께 해왔으며 9년 동안 IIS 팀과 함께 해왔습니다. Kerberos 및 위임 문제를 해결하는 방법에 대한http://msdn.microsoft.comhttp://www.microsoft.com 여러 위치에서 정보를 컴파일했습니다.

IIS 6.0

다음 백서에서는 Microsoft Windows Server 2003에서 위임을 설정하는 방법을 설명합니다. 백서에는 NLB(네트워크 부하 분산)에 대한 특정 정보가 있지만 NLB를 사용하지 않고 위임된 시나리오를 설정하는 방법에 대한 훌륭한 세부 정보가 포함되어 있습니다. 이 백서를 보려면 다음 Microsoft 웹 사이트를 방문하세요.

http://technet.microsoft.com/en-us/library/cc757299.aspx참고 특히 NLB를 사용하는 경우 HTTP SPN(서비스 사용자 이름)을 사용합니다.최근에 널리 사용되는 또 다른 Kerberos 문제는 여러 애플리케이션 풀이 동일한 DNS 이름을 사용하도록 허용해야 한다는 것이었습니다. 아쉽게도 Kerberos를 사용하여 자격 증명을 위임하는 경우 동일한 SPN(서비스 사용자 이름)을 다른 애플리케이션 풀에 바인딩할 수 없습니다. Kerberos 디자인으로 인해 이 작업을 수행할 수 없습니다. Kerberos 프로토콜은 프로토콜이 올바르게 작동하려면 여러 공유 비밀이 필요합니다. 다른 애플리케이션 풀에 동일한 SPN을 사용하여 이러한 공유 비밀 중 하나를 제거합니다. Active Directory 디렉터리 서비스는 보안 문제로 인해 Kerberos 프로토콜의 이 구성을 지원하지 않습니다.이러한 방식으로 SPN을 구성하면 Kerberos 인증이 실패합니다. 이 문제에 대한 가능한 해결 방법은 프로토콜 전환을 사용하는 것입니다. 클라이언트와 서버 실행 IIS 간의 초기 인증은 NTLM 인증 프로토콜을 사용하여 처리됩니다. Kerberos는 IIS와 백 엔드 리소스 서버 간의 인증을 처리합니다.

Microsoft 인터넷 Explorer 6 이상

클라이언트 브라우저에서 자격 증명에 대한 반복 로그온 프롬프트 수신 또는 IIS를 실행하는 서버에서 "401 액세스 거부됨" 오류 메시지와 같은 문제가 발생할 수 있습니다. 이러한 문제를 resolve 데 도움이 될 수 있는 다음 두 가지 문제를 발견했습니다.

  • 브라우저의 속성에서 Windows 통합 인증 사용이 선택되어 있는지 확인합니다.  

  • 프로그램 추가/제거에서 인터넷 Explorer 향상된 보안 구성을 사용하도록 설정한 경우 위임을 사용하는 사이트를신뢰할 수 있는 사이트 목록에 추가해야 합니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.

    815141 인터넷 Explorer 향상된 보안 구성이 검색 환경을 변경합니다.  

IIS 5.0 및 IIS 6.0

IIS 4.0에서 IIS 5.0 또는 IIS 6.0으로 업그레이드한 후 위임이 제대로 작동하지 않거나 누군가 또는 애플리케이션이 메타베이스 속성 NTAuthenticationProviders를 수정했을 수 있습니다.  

SPN을 설정할 때 특정 문제 영역이 발생할 수 있습니다.

서버 이름 확인

서버의 실제 NetBIOS 이름을 사용하거나 DNS 이름(예: www.microsoft.com)과 같은 별칭 이름을 사용하여 웹 사이트에 연결할지 여부를 결정합니다. 서버의 실제 이름이 아닌 다른 이름을 사용하여 웹 서버에 액세스하는 경우 Windows 2000 서버 리소스 키트의 Setspn 도구를 사용하여 새 SPN(서비스 사용자 이름)을 등록해야 합니다. Active Directory 디렉터리 서비스에서 이 서비스 이름을 모르기 때문에 TGS(티켓 부여 서비스)는 사용자를 인증하기 위한 티켓을 제공하지 않습니다. 이 동작으로 인해 클라이언트는 NTLM인 사용 가능한 다음 인증 방법을 강제로 재협상합니다. 웹 서버가 www.microsoft.com DNS 이름에 응답하지만 서버 이름이 webserver1.development.microsoft.com 경우 IIS를 실행하는 서버의 Active Directory에 www.microsoft.com 등록해야 합니다. 이렇게 하려면 Setspn 도구를 다운로드하고 IIS를 실행하는 서버에 설치해야 합니다.실제 이름을 사용하여 연결할지 여부를 확인하려면 DNS 이름 대신 서버의 실제 이름을 사용하여 서버에 연결해 보세요. 서버에 연결할 수 없는 경우 "위임을 위해 컴퓨터를 신뢰할 수 있는지 확인" 섹션을 참조하세요.서버에 연결할 수 있는 경우 다음 단계에 따라 서버에 연결하는 데 사용하는 DNS 이름에 대한 SPN을 설정합니다.

  1. Setspn 도구를 설치합니다.

  2. IIS를 실행하는 서버에서 명령 프롬프트를 연 다음 C:\Program Files\Resource Kit 폴더를 엽니다.

  3. 다음 명령을 실행하여 이 새 SPN(www.microsoft.com)을 서버의 Active Directory에 추가합니다.

    Setspn -A HTTP/www.microsoft.com webserver1참고 이 명령에서 webserver1 은 서버의 NetBIOS 이름을 나타냅니다.

다음과 유사한 출력을 받습니다. CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=com에 ServicePrincipalNames 등록 HTTP/www.microsoft.com 업데이트된 개체 이 새 값을 보려면 서버에서 SPN 목록을 보려면 IIS를 실행하는 서버에 다음 명령을 입력합니다.

Setspn -L webservername 모든 서비스를 등록할 필요는 없습니다. HTTP, W3SVC, WWW, RPC, CIFS(파일 액세스), WINS 및 UPS(무정전 전원 공급 장치)와 같은 많은 서비스 유형은 HOST라는 기본 서비스 유형에 매핑됩니다. 예를 들어 클라이언트 소프트웨어가 HTTP/webserver1.microsoft.com SPN을 사용하여 webserver1.microsoft.com 서버의 웹 서버에 대한 HTTP 연결을 만들지만 이 SPN이 서버에 등록되지 않은 경우 Windows 2000 도메인 컨트롤러는 자동으로 HOST/webserver1.microsoft.com에 연결을 매핑합니다. 이 매핑은 웹 서비스가 로컬 시스템 계정으로 실행되는 경우에만 적용됩니다.

컴퓨터가 위임에 대해 신뢰할 수 있는지 확인

IIS를 실행하는 이 서버가 도메인의 구성원이지만 도메인 컨트롤러가 아닌 경우 Kerberos가 올바르게 작동하려면 위임을 위해 컴퓨터를 신뢰할 수 있어야 합니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 도메인 컨트롤러에서 시작을 클릭하고 설정을 가리킨 다음 제어판 클릭합니다.

  2. 제어판 관리 도구를 엽니다.

  3. Active Directory 사용자 및 컴퓨터 두 번 클릭합니다.

  4. 도메인 아래에서 컴퓨터를 클릭합니다.

  5. 목록에서 IIS를 실행하는 서버를 찾고 서버 이름을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  6. 일반 탭을 클릭하고 위임할신뢰할 수 있는 검사 상자를 선택한 다음확인을 클릭합니다.

동일한 URL로 여러 웹 사이트에 도달하지만 다른 포트에서는 위임이 작동하지 않습니다. 이 작업을 수행하려면 다른 호스트 이름과 다른 SPN을 사용해야 합니다. 인터넷 Explorer http://www 요청합니다.mywebsite.com 또는 http://www.mywebsite.com:81, 인터넷 Explorer SPN HTTP/www.mywebsite.com 티켓을 요청합니다. 인터넷 Explorer SPN 요청에 포트 또는 vdir을 추가하지 않습니다. 이 동작은 http://www 대해 동일합니다.mywebsite.com/app1 또는 http://www.mywebsite.com/app2. 이 시나리오에서 인터넷 Explorer SPN http://www 티켓을 요청합니다.KDC(키 배포 센터)의 mywebsite.com. 각 SPN은 하나의 ID에 대해서만 선언할 수 있습니다. 따라서 각 ID에 대해 이 SPN을 선언하려고 하면 KRB_DUPLICATE_SPN 오류 메시지가 표시됩니다.

위임 및 Microsoft ASP.NET

ASP.NET 애플리케이션을 사용할 때 자격 증명 위임을 위한 구성에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.

810572 위임 시나리오에 대한 ASP.NET 애플리케이션을 구성하는 방법 가장 및 위임은 서버가 클라이언트를 대신하여 인증하는 두 가지 방법입니다. 이러한 방법 중 사용할 메서드와 구현을 결정하면 약간의 혼란이 발생할 수 있습니다. 이러한 두 메서드 간의 차이점을 검토하고 애플리케이션에 사용할 수 있는 이러한 메서드를 검토해야 합니다. 자세한 내용은 다음 백서를 읽어보는 것이 좋습니다.

http://msdn2.microsoft.com/en-us/library/ms998351.aspx

참고 자료

http://technet.microsoft.com/en-us/library/cc757299.aspxhttp://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

262177 Kerberos 이벤트 로깅을 사용하도록 설정하는 방법

인터넷 Explorer Kerberos 오류 문제 해결

언제나처럼 향후 열 또는 기술 자료에서 요청 양식을 사용하여 원하는 topics 대한 아이디어를 자유롭게 제출할 수 있습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.