Active Directory에 대한 OpenBSD 인증 이것을 Q & A로 다시

편집 : 이것을 Q & A로 다시 포맷했습니다. 누구나 커뮤니티 위키에서 일반적인 질문으로 바꿀 수 있다면 더 적합 할 것입니다.

Active Directory에 대해 OpenBSD를 인증하려면 어떻게해야합니까?



답변

머리말

Kerberos를 사용하여 Active Directory에 대한 인증은 PAM을 사용하는 시스템에서 매우 간단하지만 OpenBSD는 그렇게 어렵고 어렵지 않습니다. tcpdump에서 PAM 시스템은 사전 인증을 수행하는 반면 OpenBSD의 bsd_auth 시스템은 전체 Kerberos 인증 프로세스를 사용하는 것처럼 보입니다.

어쨌든, 이것은 약간의 간결한 지침이 시간을 절약 할 수 있기 때문에 시간이 걸렸습니다.

시작하기 전에 몇 가지 간단한 메모 :

  • 로그인을 시도하기 전에 OpenBSD 시스템에 사용자가 있어야합니다. 자동 생성되지 않습니다.
  • 사용자가 자동 ​​생성되도록하려면 Samba / Winbind를 살펴보십시오. 나는 그것으로부터 문제 (불명 한 충돌, 심각한 로그 스팸, 신뢰할 수없는 인증) 만 가지고 있었으므로 필요할 때만 사용합니다.
  • 이것은 OpenBSD 4.5와 Windows Server 2003에서 테스트되었습니다. Win2k와 함께 작동하지만 YMMV에서는 작동합니다.
  • 이 OpenBSD 버전은 Heimdal 0.7.2를 사용합니다. 경로와 login.conf 항목을 제외한 모든 것은 아마도 동일한 Heimdal을 실행하는 다른 * nix에서 작동하지만 다시 YMMV에서 작동합니다.

명령

이 단계에서는 도메인 EXAMPLE.COM에 대해 myuser@myhost.fqdn을 인증하려고한다고 가정합니다. 도메인 컨트롤러는 pdc.EXAMPLE.COM입니다.

  1. myhost 라는 Active Directory 사용자 계정을 만듭니다 (오타가 아닙니다.이 지침은 컴퓨터 계정에서는 작동하지 않습니다). 비밀번호 만료를 비활성화하고 사용자가 자신의 비밀번호를 변경하지 못하게합니다. 비밀번호를 원하는대로 설정하십시오. 곧 변경 될 것입니다.

  2. 새 OU 아래에 사용자 계정을 만들고 Domain Users 그룹에서 제거한 다음 전용 그룹에 추가하는 것이 좋습니다. 이것은 모든 취향과 보안 레이아웃의 문제입니다.

  3. pdc.EXAMPLE.COM에서 Windows Server 지원 도구를 다운로드하여 설치하십시오 (특히 ktpass.exe 필요).

  4. pdc.EXAMPLE.COM에서 다음을 실행하십시오.

    ktpass -out c : \ temp \ myhost.keytab -princ host/myhost.fqdn@EXAMPLE.COM -mapuser myhost -pType KRB5 _NT_PRINCIPAL + rndpass

    이렇게하면 myhost 사용자의 암호가 임의 (+ rndpass)로 업데이트되고 Kerberos 주체 “host/myhost.fqdn@EXAMPLE.COM”을 Active Directory의 “myhost”사용자에 매핑 한 다음 주 서버 및 개인 키 정보를 -out 키탭 파일.

  5. c : \ temp \ myhost.keytab을 myhost에 안전하게 복사하고 pdc.EXAMPLE.COM에서 파일을 삭제하십시오.

  6. myhost에서 AD 키탭을 기본 키탭에 추가하십시오.

    ktutil 복사 /path/to/myhost.keytab /etc/kerberosV/krb5.keytab

  7. /etc/krb5.conf를 구성하십시오. 아래는 필요한 최소값입니다. 사용할 수있는 옵션이 많이 있습니다. 자세한 내용은 맨 페이지를 참조하십시오. 허용되는 최대 클럭 차이를 5 분으로 설정하고 EXAMPLE.COM을 기본 영역으로 만들고 Kerberos와 DNS 영역 사이의 변환 방법을 Kerberos에 알려줍니다.

    [libdefaults]
    clockskew = 300
    default_realm = EXAMPLE.COM

    [영역]
    EXAMPLE.COM = {
    default_domain = EXAMPLE.COM
    }

    [domain_realm]
    .EXAMPLE.COM = EXAMPLE.COM

  8. 티켓을받을 수 있는지 확인하십시오.

    # kinit Administrator@EXAMPLE.COM
    Administrator@EXAMPLE.COM's Password:
    # klist
    Credentials cache: FILE:/tmp/krb5cc_0
    Principal: Administrator@EXAMPLE.COM

    Issued Expires Principal
    Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/EXAMPLE.COM@EXAMPLE.COM

  9. Kerberos 인증을 사용하도록 /etc/login.conf를 수정하십시오. 정확한 login.conf 구성은 시스템 사용 방법에 따라 달라 지지만 바닐라 설치에서 Kerberos 사용으로 이동하려면 기본 로그인 클래스 아래에서이 줄을 편집하고 주석 처리하십시오.

    :tc=auth-defaults:\

    그리고 그 위에 추가하십시오 :

    :auth=krb5-or-pwd:\

    사용자가 루트가 아닌 경우 Kerberos를 먼저 확인합니다. Kerberos가 실패하면 로컬 암호를 사용합니다.

  10. 이 호스트에서 인증하려는 사용자를 추가하십시오. Active Directory와 로컬 암호를 모두 사용할 수있게하려면 암호를 비워 두십시오 (권장되지 않음).

    기존 사용자의 비밀번호 “chpass”를 비우고 <user>“암호화 된 비밀번호 :”값을 별표 (*)로 바꿀 수 있습니다 .

  11. SSH 및 Sudo를 테스트하십시오. 둘 다 Active Directory 자격 증명과 완벽하게 작동합니다.

그것이 전부입니다.

모래밭

몇 가지 유용한 사이트 :


답변

이후 몇 가지 사항으로 위 지침에 대한 업데이트가 이루어졌습니다.

OpenBSD 5.6에서는 코드 품질에 대한 우려로 인해 Heimdal을 기본 배포판에서 제거하기로 결정했으며 아무도 감사에 시간을 투자하지 않았습니다. 5.7에서는 패키지로 제공되었습니다 (5.6의 경우 소스에서 빌드하거나 소스에서 다시 활성화하는 방법을 알아야 함). 따라서 위의 지침을 따르기 전에 다음 추가 단계를 완료해야합니다.

-삼. 선호하는 미러에서 heimdallogin_krb5패키지를 설치하십시오 .

-2. 에 복사 /usr/local/libexec/auth/login_krb5*하십시오 /usr/libexec/auth.

-1. heimdal 도구를 많이 사용하려면 /usr/local/heimdal/bin시스템 경로를 추가 하십시오. 그렇지 않으면 도구를 사용할 때 전체 경로로 도구를 참조하십시오.

또한 krb5.confkrb5.keytab파일이 들어갑니다 /etc/heimdal.