저는 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 항목을 넣지 않을 것이기 때문에이 영역 간 신뢰는 옵션이 아닙니다. 게다가이 도메인을 신뢰하고 싶지 않습니다.
답변
좋아, 여기 내가 찾은 것들이 있습니다.
우선, 내 리소스를 사용하려는 많은 사람들은 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을 시도하면 어떻게 될지 잘 모르겠습니다. 더 잠겨있을 것 같습니다.
답변
저는 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 에는 이러한 기술에 대한 여러 가지 과정이 있으며 이러한 기술에 대해 자세히 알아 보려면 해당 기술을 확인하시기 바랍니다.