도메인에없는 워크 스테이션에 대한 Kerberos 인증


8

Kerberos가 Active Directory 환경에서 작동하는 방식과 네트워크에서 사용자와 워크 스테이션을 인증하는 데 사용하는 방법에 대한 기본적인 이해가 있지만 내 질문은 .. Kerberos는 최종 사용자가 액세스하는 데 사용하는 보안 토큰을 발행하는 데 의존하기 때문에 네트워크 리소스, 도메인의 시스템 (노트북)이 활성 디렉토리 사용자의 사용자 이름과 비밀번호 만 사용하여 동일한 네트워크 리소스에 어떻게 액세스 할 수 있습니까?

사용자 자격 증명을 사용하고 Kerberos가 보안 토큰을 생성하여 시스템에 발행하는 것이 더 합리적이라고 생각하지만 비 도메인 시스템이 네트워크 리소스에 액세스하지 못하게하려면 더 많은 보안이 필요한 것 같습니다.

누군가 나를 깨우칠 수 있다면 감사하겠습니다!


Active Directory 환경에서 Kerberos를 사용할 때 바보 같은 질문입니다. NTLM을 활성화해야합니까? 나는 그것이 완전히 비활성화 될 수 있다고 확신하지는 않지만 위키 페이지 joeqwerty에 링크 된 것으로 나타났습니다 .Microsoft가 사용을 권장하지 않는다고 말합니다.
Eric

이름이 아닌 서버를 탐색하면 (예 : \\ 10.12.181.29) NTLM으로 대체됩니다. kerberos는 인증서와 일치하는 서버 이름에 의존하기 때문입니다.
Ian Boyd

답변:



5

도메인에없는 시스템 (노트북)은 어떻게 활성 디렉토리 사용자의 사용자 이름과 비밀번호 만 사용하여 동일한 네트워크 리소스에 액세스 할 수 있습니까?

관련된 "네트워크 리소스"에 따라 다릅니다. 도메인에 가입 한 Windows 컴퓨터에 로그인 한 클라이언트 Kerberos ID가 두 개 이상 있습니다.

  • 당신 user @ DOMAIN
  • 컴퓨터, 워크 스테이션 $ @ DOMAIN

host / workstation @ DOMAIN도 있지만 일반적으로 다른 곳에서 액세스하는 호스트에서 실행되는 서비스를 식별합니다. 호스트의 특권 프로세스가 Kerberos 인증 동적 DNS를 사용하여 DNS에 이름을 추가하려는 경우이를 수행하기 위해 해당 워크 스테이션 $ @ DOMAIN을 사용합니다. 당신은 당신의 로그인 세션 액세스 일부 자원 자신 그러나 경우 -하는 CIFS 네트워크 공유를 말하거나 인증 된 HTTP URL - 다음 클라이언트 ID는 사용자의 사용자 이름, 도메인 @ 사용자는 (자격 증명이있는 당신은을 사용하여 자동 취득 로그인하기 위해 입력 한 비밀번호). 당신의 질문에서, 당신은 어떤 조합이 관련되어 있다고 생각하는 것 같습니다; 아닙니다, 그들은 분리되어 있습니다.

그렇기 때문에 다른 플랫폼에서 Windows 기반 리소스에 액세스하기 위해 Kerberos를 사용하는 데 아무런 문제가 없습니다. Linux 상자에 "kinit user"를 입력하고 암호를 입력하여 도메인 컨트롤러에서 Kerberos 자격 증명 (TGT)을 얻은 다음 Firefox를 사용하여 IIS의 Kerberos 인증 웹 페이지에 액세스 할 수 있습니다. 이 모든 것에 대한 프로토콜은 표준이며 사용자 자격 증명을 제외하고는 아무것도 필요하지 않습니다.

이전 답변에서는이 경우 NTLM이 필요하다고 주장했습니다. 그것은 거짓입니다 (확실히 사용될 수도 있습니다). 그러나 도메인이 아닌 컴퓨터에서 일부 리소스에 액세스 할 때 사용자 이름과 암호를 묻는 메시지가 표시되면 실제로 어떤 인증 방법이 사용되고 있는지 반드시 알 필요는 없습니다. Kerberos를 사용할 수 있습니다. 또한 비밀번호 기반 메커니즘으로 돌아가 확인을 위해 사용자 이름과 비밀번호를 서버로 전송 한 다음 비밀번호를 다시 입력 할 필요가 없도록 캐시합니다. 많은 프로토콜이 SASL과 같은 추상화 체계를 통해 두 가지를 모두 허용합니다. 무슨 일이 일어나고 있는지 확인하려면 전선을 봐야합니다.


Kerberos가 사용 된 후에는 "klist"명령으로 캐시 된 서비스 티켓을 볼 수 있습니다. 서비스 티켓을 캐시하지 않고 액세스 할 수있는 경우 NTLM을 대신 사용했을 수 있습니다. 실제로 Kerberos를 사용했음을 확인하려면 NTLM을 사용하지 않도록 설정해야합니다 (서비스 티켓을 얻은 후 Windows가 Kerberos에서 NTLM으로 여전히 폴백 할 수있는 경우).
Markus Kuhn

1

아래 지침은 Windows 7/10 (아마도 다른) 클라이언트에서 Kerberos를 사용하여 Samba 서버에 인증하는 방법에 대한 것입니다. 다른 버전의 클라이언트 및 서버에 대해서는 테스트하지 않았습니다.

Windows 클라이언트에서 "관리자 권한으로 실행"cmd.exe. 그런 다음이 명령을 입력하여 kerberos REALM.COM에 대한 Kerberos 도메인 컨트롤러 (KDC)에 대한 지식을 Windows에 제공하십시오.

KDC가 DNS에있는 경우 :

ksetup /addkdc REALM.COM

그렇지 않으면:

ksetup /addkdc REALM.COM kdc01.realm.com

영역 REALM.COM에 대해 더 많은 KDC를 입력하십시오 (존재하는 경우). 두 스타일 중 하나에서 다른 영역을 추가 할 수도 있습니다.

그런 다음 Explorer를 사용하여 관심있는 네트워크 공유에 액세스하십시오. (예 : \\samba.realm.com\share주소 표시 줄에 있음) 공유가 보호되어 있으면 암호 프롬프트가 열립니다.

사용자 이름에 영역을 지정해야합니다. 이것은 user@REALM.COM또는 처럼 수행 할 수 있습니다 REALM.COM\user.

그런 다음 비밀번호를 입력하십시오.


0

비 도메인 워크 스테이션에서 작동하는 kerberos를 사용할 수있는 시스템을 하나 이상 알고 있습니다. 이 응용 프로그램의 이름은 "SAP NETWEAVER Portal"입니다. 워크 스테이션과 도메인 컨트롤러 사이에있는 웹 응용 프로그램에 로그인 할 때 워크 스테이션과 통신에서 일부 네트워크 스니핑을 수행했습니다. 그 전에 사용자 이름 필드에 전달한 도메인의 srv _krb 레코드에 대한 DNS 쿼리가 작성됩니다 (예 : mydomain.local \ myusername과 같은 FQDN 도메인 형식이어야 함). 그 후, 일부 kerberos 프레임이 발생합니다.

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