다음을 통해 공유


AD FS 문제 해결 - 통합 Windows 인증

통합 Windows 인증을 통해 사용자는 Windows 자격 증명으로 로그인하고 Kerberos 또는 NTLM을 사용하여 Single Sign-On을 이용할 수 있습니다.

Windows 통합 인증 실패 이유

Windows 통합 인증 실패에는 세 가지 주요 이유가 있습니다. 다음과 같습니다. - 잘못된 SPN(서비스 사용자 이름) 구성 - 채널 바인딩 토큰 - Internet Explorer 구성

잘못된 SPN 구성

SPN(서비스 사용자 이름)은 서비스 인스턴스의 고유 식별자입니다. SPN은 Kerberos 인증에서 서비스 인스턴스를 서비스 로그온 계정과 연결하는 데 사용됩니다. 이로써 클라이언트 애플리케이션은 서비스 주체를 통해 클라이언트에 계정이 없는 경우에도 서비스가 계정을 인증하도록 요청합니다.

SPN을 AD FS와 함께 사용하는 방법의 예는 다음과 같습니다.

  1. 웹 브라우저가 Active Directory를 쿼리하여 sts.contoso.com을 실행 중인 서비스 계정을 확인합니다.
  2. Active Directory는 AD FS 서비스 계정임을 브라우저에 알립니다.
  3. 브라우저는 AD FS 서비스 계정에 대한 Kerberos 티켓을 가져옵니다.

AD FS 서비스 계정에 잘못 구성되었거나 잘못된 SPN이 있는 경우 이로 인해 문제가 발생할 수 있습니다. 네트워크 추적을 살펴보면 KRB Error: KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN과 같은 오류가 표시될 수 있습니다.

네트워크 추적(예: Wireshark)을 사용하여 브라우저에서 확인하려는 SPN을 알아본 다음 명령줄 도구인 setspn - Q <spn>을 통해 해당 SPN에서 조회를 수행할 수 있습니다. 찾을 수 없거나 AD FS 서비스 계정 이외의 다른 계정에 할당될 수 있습니다.

명령 프롬프트 창의 스크린샷

AD FS 서비스 계정의 속성을 확인하여 SPN을 확인할 수 있습니다.

호출된 서비스 주체 이름 값을 보여 주는 A D F S 서비스 계정 속성 대화 상자의 특성 편집기 탭 스크린샷

채널 바인딩 토큰

현재는 클라이언트 애플리케이션이 Kerberos, 다이제스트 또는 NTLM(HTTPS 사용)을 통해 서버에 인증할 때 TLS(전송 수준 보안) 채널이 먼저 설정되며 이 채널을 사용해 인증이 진행됩니다.

채널 바인딩 토큰은 TLS로 보호되는 외부 채널의 속성으로, 클라이언트가 인증한 내부 채널을 통한 대화에 외부 채널을 바인딩할 때 사용합니다.

중간자(man-in-the-middle) 공격이 발생하고 SSL 트래픽을 암호 해독하고 다시 암호화하는 경우 키는 일치하지 않습니다. AD FS는 웹 브라우저와 그 자체에 무언가가 있다고 판단합니다. 이로 인해 Kerberos 인증이 실패하고 사용자에게 SSO 환경 대신 401 대화 상자가 표시됩니다.

이 오류의 원인은 다음과 같습니다.

  • 브라우저와 AD FS 사이에 있는 모든 항목
  • Fiddler
  • SSL 브리징을 수행하는 역방향 프록시

기본적으로 AD FS는 이 집합을 '허용'으로 설정합니다. Set-ADFSProperties -ExtendedProtectionTokenCheck None PowerShell cmdlet을 사용하여 이 설정을 변경할 수 있습니다.

이에 대한 자세한 내용은 AD FS의 보안 계획 및 배포를 위한 모범 사례를 참조하세요.

Internet Explorer 구성

참고 항목

Chrome을 사용하는 경우 WIA 지원 사용자 에이전트 목록에 추가합니다.

기본적으로 Internet Explorer는 다음과 같은 방식으로 동작합니다.

  1. Internet Explorer는 헤더에 NEGOTIATE라는 단어가 포함된 AD FS에서 401 응답을 받습니다.
  2. 그러면 웹 브라우저에 Kerberos 또는 NTLM 티켓을 가져와 AD FS로 다시 보내도록 지시합니다.
  3. 기본적으로 IE는 NEGOTIATE라는 단어가 헤더에 있는 경우 사용자 조작 없이 이 작업(SPNEGO)을 수행합니다. 인트라넷 사이트에 대해서만 작동합니다.

이 문제가 발생하지 않도록 방지할 수 있는 두 가지 주요 사항이 있습니다.

  • Windows 통합 인증 사용은 IE의 속성에서 확인되지 않습니다. 인터넷 옵션 -> 고급 -> 보안 아래에 있습니다.

    Windows 통합 인증 사용 옵션이 호출된 인터넷 옵션 대화 상자의 고급 탭 스크린샷

  • 보안 영역이 제대로 구성되지 않았습니다.

    • FQDN이 인트라넷 영역에 없습니다.

    • AD FS URL은 인트라넷 영역에 없습니다.

      인터넷 옵션 대화 상자 앞의 로컬 인트라넷 창 스크린샷

다음 단계