도메인 간 신뢰없이 Windows에서 외부 Kerberos 영역의 리소스를 사용합니까?


4

저는 Windows 사용자가 아니지만 Active Directory가 LDAP + Kerberos 5 + Microsoft 특별 소스라는 기본 개념을 이해합니다. 따라서 기존 Active Directory 도메인에있는 제어 권한이없는 Windows 시스템이있는 경우이 시스템의 사람이 명시 적으로 외부 영역에 대한 Kerberos 티켓을 얻은 다음 리소스를 얻을 수 있습니다 내가 제어하는 ​​Kerberos / LDAP 영역에있는 내가 제어하는 ​​Linux 서버?

특히, 내 영역에 사용자 "foo@MYREALM.COM"이 있고이 사용자가 "baz"사용자 이름을 사용하는 Microsoft AD 영역 인 "BAR.COM"의 임의의 Windows 시스템에 로그인한다고 가정하십시오. 이제 그들은 Samba 또는 NFSv4를 통해 내 컴퓨터 quux.myrealm.com의 공유에서 파일을 가져 오거나 Kerberos 인증이 필요한 웹 페이지에 액세스하려고하며, baz @ BAR 대신 foo@MYREALM.COM으로 수행해야합니다. COM은 Windows에 로그인 할 때 사용한 ID입니다.

Linux / Unix / MIT Kerberos 방법은 "kinit foo@MYREALM.COM"을 수행 한 다음 진행합니다. 창문에 상응하는 것이 있습니까? 비정상적인 것을 설치할 필요가없는 제품이 있습니까 (예 : MIT Kerberos for Windows).

기존 AD 관리자가 단방향 인증에도 적절한 TGT 항목을 넣지 않을 것이기 때문에이 영역 간 신뢰는 옵션이 아닙니다. 게다가이 도메인을 신뢰하고 싶지 않습니다.


또한 내가 제어하는 ​​외부 영역에 자동 검색을위한 적절한 DNS SRV 항목이 있다고 가정합니다.
dlakelan

또한 참고하십시오. 자격 증명을 MYREALM \ username으로 입력하고 Kerberos 암호를 사용하여 Windows 10 랩톱에서 Linux 서버의 네트워크 드라이브를 매핑 할 수있었습니다. 그러나 이것은 AD 시스템의 일부가 아닌 랩톱에 있습니다. AD 시스템과 자체 Kerberos는 일반적으로 어떤 식 으로든 이것을 방해합니까?
dlakelan

난 그냥 수도있을 것 같군요 kinitMicrosoft는 당신이 다른 곳에서 얻을 수있는 경우 그렇지 않은, 또는 보인다 도구를 제공합니다.
Michael Hampton

1
예,하지만 더 큰 문제가있을 것입니다. Java가 컴퓨터에있을 것입니다.
Michael Hampton

1
@ 84104 완전히 다르고 다른 모든 사람과 호환되지 않는 작업을 Microsoft에 맡기십시오.
Michael Hampton

답변:


1

좋아, 여기 내가 찾은 것들이 있습니다.

우선, 내 리소스를 사용하려는 많은 사람들은 Active Domain에 속하지 않는 개인 컴퓨터 만있는 Windows 컴퓨터를 가지고 있습니다. 따라서 필요한 것은 터미널을 관리자로 실행하고

"ksetup / setrealm MYREALM_GOES_HERE "

관리자 권한이 없으면 ksetup이 작동하지 않습니다.

재부팅 후 Windows 클라이언트 시스템은 티켓을받을 때 KDC와 통신해야한다고 생각합니다 (KDC는 DNS를 검색 할 수 있음).

ksetup은 Linux / Unix 시스템에서 정보를 변경하는 명령 행 인터페이스로 /etc/krb5.conf에 저장되므로 / setrealm으로 기본 영역을 지정하고 다른 영역에 대해 시스템에 알릴 수 있습니다 / addkdc를 사용하고 kerberos 보안 주체와 / mapuser 등을 사용하는 로컬 Windows 사용자 간의 매핑을 여기에 자세히 설정하십시오.

https://technet.microsoft.com/en-us/library/hh240190%28v=ws.11%29.aspx

내가 보지 못한 것은 krb5.conf 파일의 [capaths] 섹션에있는 것을 구성하는 방법입니다. (즉, ABC.EXAMPLE.COM 대 EXAMPLE.COM이 아니라 대신 ABC.EXAMPLE.COM 대 FOOBAR.COM이라고 말하십시오)

AD 멤버에서 ksetup을 시도하면 어떻게 될지 잘 모르겠습니다. 더 잠겨있을 것 같습니다.


또한 serverfault.com/questions/444023/… 이 질문은 약간 다른 방식으로 요청 및 답변되었습니다. 이는 ksetup을 사용하여 특정 컴퓨터가 주어진 KDC를 가진 다른 영역은 나가서 적어도 SMB 마운트를 위해 그 영역과 대화해야합니다.
dlakelan

0

저는 Unix 사용자는 아니지만 Microsoft가 이에 대한 몇 가지 기술을 가지고 있다고 말할 수 있습니다 (Unix도 마찬가지라고 생각합니다).

첫 번째는 Active Directory Federation Services이며, Wikipedia 기사에 따르면

"조직 경계에있는 시스템 및 응용 프로그램에 대한 싱글 사인온 액세스를 사용자에게 제공합니다."

이것은 제가 언급 할 다른 제품과 마찬가지로 새로운 "클레임 기반"접근 방식을 사용합니다. 이러한 다양한 보안 토큰 서비스 (STS)는 인증 "클레임을"서버 또는 서비스가 인증에 필요한 형식 ( SAML, JWT 등).

Windows 도메인에 Active Directory Federation Services가 설치되어 있어야 제대로 작동하지 않을 수 있습니다. 그러나 Microsoft는 대신 사용할 수있는 몇 가지 클라우드 기반 "클레임 변환"제품도 있습니다. 하나는 "아이덴티티 공급자"및 "보안 토큰 서비스"인 Azure Active Directory Services 입니다. 이전 링크에는 Azure Active Directory Services가 제공하는 내용이 나와 있습니다

"온-프레미스에서 실행하는 수천 개의 클라우드 앱에 단일 사인온하고 웹 앱에 액세스"

LDAP 솔루션을 권장하지는 않지만이 방법을 사용하려는 경우 대체 "Graph API"를 사용하여이 서비스의 "데이터베이스"에 액세스해야합니다. 또한이 서비스에는 온-프레미스 Active Directory에서이 클라우드 서비스로 계정을 동기화 할 수있는 "동기화"옵션이 있습니다.

마지막으로 "보안 토큰 서비스"(아이덴티티 공급자 없음)를 제공하는 Azure의 액세스 제어 서비스가 있습니다. 개인적으로이 서비스는 사용자 (OAuth2)를 대신하여 권한을 부여해야하는 모바일 앱에 더 적합하다고 생각하지만 Azure Active Directory Services와 겹치는 부분이 있으므로 체크 아웃하고 싶을 수 있습니다.

PluralSight 에는 이러한 기술에 대한 여러 가지 과정이 있으며 이러한 기술에 대해 자세히 알아 보려면 해당 기술을 확인하시기 바랍니다.


1
Windows 클라이언트 또는 AD 도메인이 설치 한 것을 제어 할 수 없습니다. 내가 원하는 것은 단순히 사용자가 내 도메인에서 Kerberos 티켓을 획득 한 다음 필요할 때 Windows가 티켓을 사용하도록하는 것입니다. 유닉스 머신 클러스터에 LDAP + Kerberos 솔루션을 설정했거나 가지고있을 것입니다. Windows 클라이언트는 별도의 소프트웨어 설치와 같은 작업을 수행하지 않고도 도메인에서 Kerberos 티켓을 획득하고 사용할 수 있습니까?
dlakelan

Windows 클라이언트는 한 영역에서 Kerberos 티켓을 신뢰하도록 구성되어 있습니다. Windows 클라이언트가 두 영역의 Kerberos 티켓을 보유하고 일부 서비스 및 다른 시스템의 다른 서비스에 다른 티켓을 사용할 수있는 메커니즘에 대해 들어 본 적이 없습니다. Windows 클라이언트에 소프트웨어를 설치하거나 위에서 언급 한 메커니즘 중 하나를 사용합니다.
Greg Thatcher

Greg : 네트워크 드라이브를 매핑하고 다른 자격 증명을 사용하도록 창에 알리고 "MYREALM / 사용자 이름"을 자격 증명으로 지정한 다음 암호를 지정하면 어떻게됩니까? MYREALM에서 나가서 티켓을 얻습니까? 테스트 할 때 분명히 그렇게 보였지만 kerberos 티켓이 아닌 내 삼바 서버에 암호를 보낼 가능성이 있다고 고백합니다.
dlakelan

원격 영역에서 원격 드라이브에 연결하려고하면 Windows 클라이언트는 먼저 Kerberos를 사용하려고 시도하지만 실패합니다. 그런 다음 NTLM (NT Lan Manager) 보안 프로토콜 (도전 / 응답)로 돌아가 사용자 이름과 비밀번호가 올바른 경우 로그인합니다. 모든 컴퓨터가 로컬 네트워크에 있다면 가능합니다. Kerberos 티켓은 없지만 웹 서버를 설정하여 외부 도메인의 사용자 이름과 비밀번호로 로그인 할 수 있습니다.
Greg Thatcher
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.