사용자 이름을 표시하는 Kerberos 이벤트 4 서버 이름

사용자 이름을 표시하는 Kerberos 이벤트 4 서버 이름

Httplistener를 사용하고 Kerberos를 사용하여 요청을 인증하는 .Net Windows 서비스가 있습니다. 사용자가 브라우저를 통해 연결하는 경우 사용자 이벤트 로그의 오류에 Kerberos 이벤트 ID 4가 표시됩니다.

Kerberos 클라이언트가 서버로부터 KRB_AP_ERR_MODIFIED 오류를 받았습니다.$사용자 이름$. 사용된 대상 이름은 HTTP/$servername$.$domain$.com.au입니다. 이는 대상 서버가 클라이언트가 제공한 티켓의 암호를 해독하지 못했음을 나타냅니다. 이는 대상 서버 사용자 이름(SPN)이 대상 서비스가 사용하는 계정이 아닌 다른 계정에 등록된 경우 발생할 수 있습니다. 대상 SPN이 서버에서 사용하는 계정에만 등록되어 있는지 확인하세요. 이 오류는 대상 서비스 계정 암호가 해당 대상 서비스에 대한 Kerberos 키 배포 센터에 구성된 암호와 다른 경우에도 발생할 수 있습니다. 서버와 KDC의 서비스가 모두 동일한 비밀번호를 사용하도록 구성되어 있는지 확인하십시오. 서버 이름이 정규화되지 않고 대상 도메인($domain$.COM.AU)이 클라이언트 도메인($domain$.COM.AU)과 다른 경우 두 도메인에 동일한 이름의 서버 계정이 있는지 확인하세요. , 또는 완전한 이름을 사용하여 서버를 식별하십시오.

어떤 이유로 보고되는 서버는 서비스를 실행하는 사용자입니다. 첫 번째 줄:

Kerberos 클라이언트가 서버로부터 KRB_AP_ERR_MODIFIED 오류를 받았습니다.$사용자 이름$.

모든 웹 사이트(서버 오류 포함)에는 SPN 문제와 관련된 이 오류에 대한 수정 사항이 있지만 오류에는 항상 서버 이름이 있습니다. 사용자 이름이 포함된 위 메시지를 찾을 수 없습니다.

다른 사용자를 시도했는데 오류 메시지의 위 부분이 변경되었습니다. 모든 도메인 계정에 동일한 문제가 있습니다. 로컬 시스템 계정으로 서비스를 실행하면 이 문제가 발생하지 않지만 이로 인해 서비스에 다른 문제가 발생합니다(다른 권한을 위해서는 도메인 계정이 필요함). 우리가 시도한 사용자 이름과 동일한 이름을 가진 서버는 없었습니다.

이전에 여기에 표시된 사용자 이름으로 인해 이 문제를 본 사람이 있습니까? 수정 사항은 무엇입니까?

모든 서버는 Windows 2012(R2 아님)입니다.

답변1

스스로 문제를 해결해서 기쁘지만 실행한 방법으로 문제가 해결된 이유를 이해하지 못하는 것 같습니다.

결론적으로 SPN은 적절한 개체에 설정되어야 합니다. 서비스를 실행 중인 AD의 컴퓨터 개체에 SPN을 설정한 것 같습니다. 그렇기 때문에 서비스를 SYSTEM으로 실행하도록 변경하면 작업이 시작됩니다. 하지만 도메인 사용자로 실행되도록 변경하는 경우 SPN을 해당 사용자로 이동해야 합니다. 그리고 중요한 것은 당신이이동하다그것(읽기: 컴퓨터 계정에서 삭제)뿐만 아니라복사그것. SPN이 중복되면 문제가 발생합니다.

답변2

여기에서 해결책을 찾았습니다.http://blogs.technet.com/b/dcaro/archive/2013/07/04/fixing-the-security-kerberos-4-error.aspx

나는 다음을 실행했다:

setspn -A HTTP/$servername$.$domain$.com.au $username$

그리고 그걸로 문제가 해결됐어

관련 정보