Active Directoryに対するOpenBSDの認証


24

編集:これをQ&Aとして再フォーマットしました。誰かがこれをコミュニティWikiから一般的な質問に変更できる場合、それもおそらくより適切です。

Active Directoryに対してOpenBSDを認証するにはどうすればよいですか?


非常に素晴らしい!それは非常に徹底的でよく書かれているようです。私はOpenBSDを使用しませんが、ADパーツはスポットオンに見えます。
エヴァンアンダーソン

これは実際には質問ではありませんが、素敵なガイドのために+1。
デビッドシュミット

これを質問と回答の形式に変更する必要があります。
ダグルクセンブルク09年

変更されましたが、まだコミュニティWikiです。他の誰かがそれを変更できる場合は、先に進みます。
sh-beta

回答:


17

序文

Kerberosを使用したActive Directoryに対する認証は、PAMを使用するシステムでは非常に簡単ですが、OpenBSDはそうではなく、より難しくします。tcpdumpからは、OpenBSDのbsd_authシステムがKerberos認証プロセス全体を使用している間にPAMシステムが事前認証を行っているように見えます。

とにかく、これを理解するのにしばらく時間がかかったので、うまくいけばいくつかの簡潔な指示で時間を節約できます。

始める前のいくつかの簡単なメモ:

  • ユーザーは、ログインを試みる前に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 keytabファイル。

  5. c:\ temp \ myhost.keytabをmyhostに安全にコピーし、pdc.EXAMPLE.COMからファイルを削除します

  6. myhostで、ADキータブをメインキータブに追加します。

    ktutil copy /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の資格情報で問題なく動作するはずです。

これですべてです。

リンク集

いくつかの便利なサイト:


2008 R2にはktpass.exeが焼き付けられているようです。おそらく2008年も、この段階では確実に言えません。誰でも明確にできれば、それは素晴らしいことです。
アーロンメイソン

さらに、5.7以降でこれを行うには、Heimdalパッケージをインストールする必要があります-5.6でベースから削除されました。
アーロンメイソン

前のコメントへの補遺-login_krb5パッケージをインストールしてコピーするlogin_krb5-or-pwd必要が/usr/libexec/authあります-また、構成ファイルとキータブは、以前のOpenBSDリリースのように存在してい/etc/heimdalません/etc/kerberosV
アーロンメイソン

5

それ以降にいくつかの変更が加えられたため、上記の手順が更新されました。

OpenBSD 5.6では、コードの品質に関する懸念があり、監査に時間を費やす意思がないため、ベースディストリビューションからHeimdalを削除することが決定されました。5.7では、パッケージとして利用可能になりました(5.6では、ソースからビルドするか、ソースでそれを再度有効にする方法を理解する必要があります)。したがって、上記の手順を実行する前に、次の追加手順を完了する必要があります。

-3。お気に入りのミラーからheimdallogin_krb5パッケージをインストールします。

-2。にコピー/usr/local/libexec/auth/login_krb5*/usr/libexec/authます。

-1。heimdalツールを頻繁に使用する場合は/usr/local/heimdal/bin、システムパスに追加します。それ以外の場合は、ツールを使用する際にツールのフルパスで参照するようにしてください。

また、krb5.confおよびkrb5.keytabファイルは/etc/heimdal今に入ります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.