IIS
posted by 준치 2008. 10. 31. 11:03
기술 자료 ID : 215383
마지막 검토 : 2006년 5월 22일 월요일
수정 : 6.0
중요 이 문서에서는 메타베이스 편집 방법을 설명합니다. 메타베이스를 편집하기 전에 문제가 발생하는 경우 복원할 수 있는 백업 복사본이 있는지 확인하십시오. 이를 수행하는 방법에 대한 자세한 내용은 Microsoft Management Console(MMC)의 "Configuration Backup/Restore" 도움말 항목을 참조하십시오.
이 페이지에서

요약

이 문서에서는 네트워크 인증에 Kerberos 및 NTLM 프로토콜을 모두 지원하도록 Microsoft Internet Information Services(IIS)를 구성하는 방법을 단계별로 설명합니다.

Windows 통합 인증을 사용하여 클라이언트 요청을 인증하는 경우 IIS는 Negotiate 보안 헤더를 전달합니다. Negotiate 보안 헤더를 사용하면 클라이언트가 Kerberos 인증과 NTLM 인증 중에서 선택할 수 있습니다. Negotiate 프로세스에서는 다음 조건 중 하나에 해당하지 않는 경우 Kerberos 인증을 선택합니다.
인증과 관련된 시스템 중 하나가 Kerberos 인증을 사용할 수 없습니다.
호출하는 응용 프로그램이 Kerberos 인증을 사용하는 데 충분한 정보를 제공하지 않습니다.
클라이언트 응용 프로그램이 SPN(서비스 사용자 이름), UPN(사용자 이름) 또는 NetBIOS 계정 이름을 대상 이름으로 제공해야만 Negotiate 프로세스에서 네트워크 인증에 Kerberos 프로토콜을 선택할 수 있습니다. 그렇지 않으면 Negotiate 프로세스에서 기본 인증 방법으로 항상 NTLM 프로토콜을 선택합니다.

Negotiate 보안 헤더 설정

경고 메타베이스를 잘못 편집하면 메타베이스를 사용하는 모든 제품을 다시 설치해야 하는 심각한 문제가 발생할 수도 있습니다. Microsoft는 메타베이스를 잘못 편집함으로써 발생하는 문제에 대해 해결을 보증하지 않습니다. 메타베이스의 편집에 따른 모든 책임은 사용자에게 있습니다.

참고 편집하기 전에 항상 메타베이스를 백업하십시오.

참고
기본적으로 NTAuthenticationProviders 메타베이스 속성은 IIS 6.0을 설치할 때 정의되지 않습니다. IIS 6.0에서는 NTAuthenticationProviders 메타베이스 속성이 정의되지 않은 경우 Negotiate, NTLM 매개 변수를 사용합니다. 따라서 기본값을 덮어쓰지 않았으면 Negotiate,NTLM 속성 값을 사용하도록 IIS를 구성할 필요가 없습니다.
기본적으로 NTAuthenticationProviders 메타베이스 속성은 IIS 5.1과 IIS 5.0을 설치할 때 정의됩니다. 이 메타베이스 속성은 Negotiate, NTLM 매개 변수를 사용합니다. 따라서 기본값을 덮어쓰지 않았으면 Negotiate,NTLM 속성 값을 사용하도록 IIS를 구성할 필요가 없습니다.
IIS에서 Kerberos 프로토콜과 NTLM 프로토콜을 모두 지원하는지 확인하려면 Negotiate 보안 헤더가 NTAuthenticationProviders 메타베이스 속성에 설정되어 있는지 확인해야 합니다. 이렇게 하려면 사용 중인 IIS 버전에 적절한 방법을 사용하십시오.

IIS 6.0

1. 시작을 누르고 실행을 누른 다음 cmd를 입력하고 Enter 키를 누릅니다.
2. Adsutil.vbs 파일이 들어 있는 디렉터리를 찾습니다. 기본적으로 이 디렉터리는 C:\Inetpub\Adminscripts입니다.
3. 다음 명령을 사용하여 NTAuthenticationProviders 메타베이스 속성의 현재 값을 검색합니다.
cscript adsutil.vbs get w3svc/WebSite/root/NTAuthenticationProviders
이 명령에서 WebSite는 웹 사이트 ID 번호의 자리 표시자입니다. 기본 웹 사이트의 웹 사이트 ID 번호는 1입니다.

경고 복사해서 붙여넣기 작업을 수행하여 이 문서의 명령을 붙여넣지 마십시오. 이 작업을 수행하면 속성 설정에 문제가 발생할 수 있습니다. 이러한 문제를 방지하려면 명령 프롬프트에 전체 명령을 입력하십시오.

참고 이 명령은 NTAuthenticationProviders 메타베이스 속성이 정의되지 않은 경우 실패합니다. 자세한 내용은 이 절 앞부분의 참고를 참조하십시오.

Negotiate 프로세스가 설정되어 있는 경우 이 명령을 실행하면 다음과 같은 정보가 반환됩니다.
NTAuthenticationProviders : (STRING) "Negotiate,NTLM"
4. 3단계의 명령에서 문자열 "Negotiate,NTLM"이 반환되지 않으면 다음 명령을 사용하여 Negotiate 프로세스를 설정합니다.
cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "Negotiate,NTLM"
5. 3단계를 반복하여 Negotiate 프로세스가 설정되었는지 확인합니다.

IIS 5.1 또는 IIS 5.0

1. 시작을 누르고 실행을 누른 다음 cmd를 입력하고 Enter 키를 누릅니다.
2. Adsutil.vbs 파일이 들어 있는 디렉터리를 찾습니다. 기본적으로 이 디렉터리는 C:\Inetpub\Adminscripts입니다.
3. 다음 명령을 사용하여 NTAuthenticationProviders 메타베이스 속성의 현재 값을 검색합니다.
cscript adsutil.vbs get w3svc/NTAuthenticationProviders
경고 복사해서 붙여넣기 작업을 수행하여 이 문서의 명령을 붙여넣지 마십시오. 이 작업을 수행하면 속성 설정에 문제가 발생할 수 있습니다. 이러한 문제를 방지하려면 명령 프롬프트에 전체 명령을 입력하십시오.

참고 이 명령은 NTAuthenticationProviders 메타베이스 속성이 정의되지 않은 경우 실패합니다. 자세한 내용은 이 절 앞부분의 참고를 참조하십시오.

Negotiate 프로세스가 설정되어 있는 경우 이 명령을 실행하면 다음과 같은 정보가 반환됩니다.
NTAuthenticationProviders : (STRING) "Negotiate,NTLM"
참고 기본적으로 NTAuthenticationProviders 메타베이스 속성은 IIS 5.1이나 IIS 5.0을 설치할 때 Negotiate,NTLM으로 설정됩니다.
4. 3단계의 명령에서 문자열 "Negotiate,NTLM"이 반환되지 않으면 다음 명령을 사용하여 Negotiate 프로세스를 설정합니다.
cscript adsutil.vbs set w3svc/NTAuthenticationProviders "Negotiate,NTLM"
5. 3단계를 반복하여 Negotiate 프로세스가 설정되었는지 확인합니다.
IIS에서 네트워크 인증에 NTLM 프로토콜을 사용하도록 하기 위해 Negotiate 프로세스를 해제할 수 있습니다. 이 절차를 수행하면 IIS에서 Kerberos 프로토콜을 사용하지 못합니다. Negotiate 프로세스를 해제하려면 다음 명령을 사용하십시오.

참고 악영향을 방지하기 위해 이 명령에서 “NTLM”은 대문자를 사용해야 합니다.
cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
참고 성공적으로 변경되었는지 확인하려면 이 메타베이스 값을 변경할 때 항상 3단계를 반복하십시오.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx)에 참여하시기 바랍니다.