검색 결과 :

×

UBUNTU/RHEL/CentOS에 대한 NTLM/Kerberos SSO Single Sign-On 설정

Kerberos SSO 확장을 사용하면 조직의 Active Directory 또는 다른 ID 공급자 도메인에서 Kerberos 티켓 부여 티켓(TGT)을 더 쉽게 얻을 수 있어 사용자는 웹사이트, 애플리케이션, 파일 서버 등의 리소스에 인증할 수 있습니다.


UBUNTU의 경우:

  • Kerberos 클라이언트 라이브러리를 설치하려면 터미널에서 다음 명령을 사용하십시오.
  • sudo apt-get install krb5-user

RHEL/CentOS의 경우:

  • Kerberos 클라이언트 라이브러리를 설치하려면 터미널에서 다음 명령을 사용하십시오.
  • yum install krb5-workstation krb5-libs krb5-auth-dialog

다음 단계는 Kerberos 구성 파일에서 Active Directory 도메인을 구성하는 데 사용됩니다.

  • /etc/krb5.conf 파일을 열고 편집합니다.
  • krb5.conf 파일에 다음 구성 조각을 추가합니다.
  • EXAMPLE.ORG= { kdc = <AD DOMAIN CONTROLLER IP/DNS> :88 }

    알림: 교체 광고 도메인 컨트롤러 IP/DNS 귀하의 IP/DNS 주소로. EXAMPLE.ORG 대문자여야 합니다.

    교체 EXAMPLE.ORG Active Directory 도메인 이름으로.

    그리고 이 서버에서 AD 도메인 컨트롤러의 포트 88에 액세스할 수 있는지 확인하십시오.


  • 파일을 저장합니다.

UBUNTU의 경우:

  • Apache용 auth_kerb 모듈을 설치하려면 다음 명령을 사용하십시오.
  • sudo apt-get install libapache2-mod-auth-kerb
  • auth_kerb 모듈이 설치되면 다음 명령을 통해 활성화해야 합니다.
  • a2enmod auth_kerb
  • 활성화한 후 Apache를 다시 시작하면 적용됩니다.

RHEL/CentOS의 경우:

  • Apache용 auth_kerb 모듈을 설치하려면 다음 명령을 사용하십시오.
  • yum install mod_auth_kerb
  • 적용하려면 Apache를 다시 시작하십시오.
  • AD 도메인 컨트롤러에서 다음 명령을 실행하여 Keytab 파일을 생성합니다.
  • ktpass -princ HTTP/<Server Host Name>@EXAMPLE.ORG -pass PASSWORD -mapuser <svc@EXAMPLE.ORG> -Ptype KRB5_NT_PRINCIPAL -out "<PATH>\spn.keytab"

    알림: EXAMPLE.ORG는 대문자여야 합니다.


서버 호스트 이름: 서버에서 호스팅되는 사이트의 호스트 이름입니다.
서버 호스트 이름: 서버에서 호스팅되는 사이트의 호스트 이름입니다.
EXAMPLE.ORG: Active Directory 도메인 이름입니다.
암호: 위에서 사용한 서비스 계정의 비밀번호입니다.
svc@EXAMPLE.ORG: Active Directory의 서비스 계정입니다.
통로: keytab 파일을 저장할 로컬 위치의 경로입니다.

    알림: 위의 명령은 키탭 파일을 만듭니다. 서버에 배치해야 합니다. Apache를 실행하는 사용자는 이 파일에 대한 전체 액세스 권한이 있어야 합니다. 사용자는 키탭 파일에 대한 권한이 있어야 합니다.


  • 서비스 계정에는 몇 가지 전제 조건이 있습니다.
    • 계정 비밀번호에는 비밀번호가 다음으로 설정되어 있어야 합니다. 만료되지 않음.
    • 위임을 위해 계정을 신뢰해야 합니다.
  • 복사 키탭 AD 도메인 컨트롤러에서 Apache에서 호스팅되는 웹 서버로 파일을 전송합니다.

UBUNTU의 경우:

  • /etc/apache2/sites-enabled/000-default.conf 파일을 편집합니다.
  • 사이트 디렉터리에 다음 섹션을 추가합니다.
  • <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

RHEL/CentOS의 경우:

  • /etc/httpd/conf.d/ 폴더에 있는 auth_kerb.conf 구성 파일을 편집합니다.
  • 사이트 디렉터리에 다음 섹션을 추가합니다.
  • LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_kerb.so <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

    알림: EXAMPLE.ORG는 대문자여야 합니다.


위 구성의 구성 요소는 다음과 같습니다.

EXAMPLE.ORG: 이는 krb5.conf에 구성된 Active Directory 도메인입니다.
키탭 경로: 이 서버의 키탭에 대한 액세스 가능한 경로입니다.
  • 이 구성 후에 변경 사항을 적용하려면 Apache를 다시 시작해야 합니다.

가장 일반적인 오류 메시지는 다음과 같습니다.

    gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Permission denied).
  • /etc/krb5.keytab에 대한 파일 시스템 권한이 잘못되었습니다. 즉, 웹 서버의 Linux 사용자가 읽을 수 없습니다.
  • 파일 시스템 권한을 변경하려면 다음을 사용하십시오. $ chmod 400 파일 이름.
  • gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Key table entry not found).
  • /etc/krb5.keytab에 서비스 주체(HTTP/webserver.yourdomain.com@YOURDOMAIN.COM)가 누락되었습니다.
  • Warning: received token seems to be NTLM, which isn't supported by the Kerberos module. Check your IE configuration. gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
  • 해당 웹사이트가 IE의 "로컬 인트라넷" 영역에 없거나 IE가 잘못 구성된 경우 인증에서 Kerberos 대신 NTLM을 사용합니다를 참조하세요.
  • gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ).
  • /etc/krb5.keytab에 잘못된 kvno 또는 시스템 비밀번호 → 올바른 정보를 사용하여 키탭을 다시 생성하십시오.
  • 워크스테이션의 로컬 Kerberos 티켓 캐시에 문제가 있습니다. Kerbtray.exe를 사용하여 티켓 캐시를 비운 후 IE에서 웹사이트를 다시 엽니다.

ADFS_sso ×
안녕하세요!

도움이 필요하다? 우리는 바로 여기에 있습니다!

SUPPORT