이 Kerberos / AD 설정이 가능합니까?


10

약간 복잡한 IDAM 설정이 있습니다 :

여기에 이미지 설명을 입력하십시오

즉, 최종 사용자의 컴퓨터와 브라우저는 부모 AD와 하나의 네트워크에 있고 Jetty 기반 응용 프로그램과 대화 할 수있는 AD (로컬 AD)는 다른 네트워크에 있습니다.

두 AD간에 양방향 트러스트가 있습니다. 부모 네트워크의 브라우저에는 신뢰할 수있는 사이트에 로컬 도메인이 있습니다.

Jetty 서버의 설정은 다음과 같습니다.

  • 로컬 AD의 보안 주체에 대해 생성 된 키탭 파일을 사용합니다.
  • 로컬 AD에 정의 된 사용자에서 Windows 서비스로 실행 중입니다.
  • 영역, 도메인 영역 매핑 및 kdc는 로컬 AD의 도메인에 대해 정의됩니다.
  • spnego를 사용합니다. isInitiator가 false로 설정되어 있습니다. doNotPrompt가 true입니다. storeKey가 true

문제는:

  • 테스트로, (즉, 로컬 AD에 연결) 로컬 네트워크 내부 브라우저에서 서버에 액세스하는 것은 작동 내가 HTTP 트래픽에 올바른 Kerberos를 협상을 볼 수 있습니다, Kerberos를 디버그 정보가 로그에 표시하고, 사용자는 자동으로 로그인됩니다 - . 훌륭한.
  • 그러나 부모 네트워크 내부의 브라우저에서 사용자가 작업하는 방식으로 서버에 액세스하면 작동하지 않습니다! 브라우저는 401의 인증을 취소했지만 자격 증명을 입력하라는 메시지가 표시되면 입력하면 빈 화면이 나타납니다. 그런 다음 주소 표시 줄을 클릭하고 Enter 키를 누르면 자격 증명이 원격인지 로컬 AD인지에 따라 두 가지 중 하나가 수행됩니다.

    • 로컬 AD 자격 증명은 로그에 처음부터 Kerberos를 사용하여 올바르게 로그인합니다 (GET 요청, 401 무단 응답, Kerberos 헤더 요청 등).
    • 원격 AD 자격 증명에 로그인하지 않는 (GET 요청, 401 UNAUTH 응답은, 무엇은 NTLM 헤더 다음과 같습니다 Authorization: Negotiate <60 or so random chars>)

어느 쪽이든, 그것은 프롬프트하고 있다는 사실이 잘못되었습니다!

이러한 증상에 대한 설명이 있습니까? 원하는 설정을 할 수 있습니까?

위의 설명이 잘못되었을 수 있습니다. 제티 서버와 관련하여 언급 한 구성은 정확합니다. 자세한 내용을 알려 드리겠습니다. AD 또는 상위 네트워크 브라우저와 관련된 구성은 잠재적으로 의심의 여지가 있습니다. 왜냐하면 내가 제어 할 수 없으며 구성을 직접 보지 않고 나에게보고했기 때문입니다.


_kerberos._tcp.OurITOrgDomain 및 _kerberos._tcp.partentdomain에 대한 DNS 결과에 나열된 서버의 브라우저간에 TCP / 88이 열려 있습니까? Jetty 서버에서 인증해야하는 자격 증명으로 컴퓨터 '브라우저'에서 초기화 할 수 있습니까?
Jacob Evans

roguelynn.com/words/explain-like-im-5-kerberos 는 방화벽으로 인해 문제가 발생할 수있는 방법에 대한 정보를 제공 할 수 있습니다. ( James
Evans)

네트워크 캡처없이 자세한 단계별 설명을하기에는 너무 많은 변수가 있습니다. 그런 다음 SPN이 올바르게 설정되었는지 또는 자동 인증을 위해 브라우저를 구성해야하는지 빠르게 확인할 수 있습니다.
user2320464

답변:


3

패킷 캡처를 보지 않으면 응용 프로그램을 실행하는 계정에 HTTP / www.website.com SPN을 등록해야한다고 생각합니다. Microsoft의 디렉토리 서비스 팀은 다음 URL에서이 주제를 다루는 여러 부분으로 구성된 게시물을 보유하고 있습니다.

https://blogs.technet.microsoft.com/askds/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1/

각 환경의 클라이언트에서 패킷 캡처 (netmon, wireshark)를 실행하여 조회중인 SPN을 식별하십시오. 결정되면 setspn cmd를 사용 하여 응용 프로그램을 실행하는 계정에 등록하십시오.

FWIW, Kerberos는 LAN에서만 작동합니다. 도메인 컨트롤러에 액세스 할 수없는 곳에서 누군가 액세스해야하는 경우 Shibboleth 또는 ADFS와 같은 SSO를 고려할 수 있습니다.

편집 : @ alex-h 에서 언급했듯이 브라우저는 Kerberos를 통해 자동으로 인증하도록 구성해야합니다.

  • Internet Explorer -TechNet 기사가 특정 응용 프로그램을위한 것은 아니지만 단계는 동일합니다.
  • Firefox -IE 링크와 동일하지만 정확하게 일치하지는 않지만 단계는 동일합니다.

마지막으로 이는 Microsoft Sharepoint 배포에서 일반적인 문제입니다. 사용자가 도메인에 인증되면 Kerberos를 통한 SSO가 자동으로 발생하기를 원합니다. 따라서 위의 답변으로 문제가 해결되지 않으면 다음과 같은 포럼을 확인하십시오.

Chrome, Safari 또는 FireFox의 Kerberos


좋은 대답, 내 것보다 낫다!
Alex H

둘 다 덕분에-연결된 문서를 읽는 데 며칠이 걸릴 것이지만 질문이나 다른 것을 포기하지 않았습니다!
Robert Grant

어쨌든 실제로는 그렇지 않았지만 실제 답변은 별도의 답변으로 추가 할 매우 특별한 경우 이므로이 답변을 수락하는 것이 가장 좋습니다. 대단히 감사합니다!
Robert Grant

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.