編集:これをQ&Aとして再フォーマット。これをコミュニティWikiから一般的な質問に変更できる場合は、それもおそらくより適切です。
OpenBSDをActive Directoryに対して認証するにはどうすればよいですか?
序文
Kerberosを使用したActive Directoryに対する認証は、PAMを使用するシステムでは非常に簡単ですが、OpenBSDはそうではなく、さらに困難になります。 OpenBSDのbsd_authシステムがKerberos認証プロセス全体を使用している間、tcpdumpからは、PAMシステムが単に事前認証を行っているように見えます。
とにかく、これは私が理解するのにしばらく時間がかかったので、うまくいけば、いくつかの簡潔な指示があなたの時間を節約するでしょう。
始める前の簡単な注意事項:
指示
これらの手順は、ドメインEXAMPLE.COMに対して[email protected]を認証しようとしていることを前提としています。ドメインコントローラーはpdc.EXAMPLE.COMです。
myhostという名前のActive Directoryユーザーアカウントを作成します(タイプミスではありません。これらの手順はコンピューターアカウントでは機能しません)。パスワードの有効期限を無効にし、ユーザーが自分のパスワードを変更できないようにします。パスワードを好きなように設定してください-すぐに変更されます。
新しいOUの下にユーザーアカウントを作成し、それをDomain Usersグループから削除して、専用グループに追加することをお勧めします。これはすべて好みとセキュリティレイアウトの問題です。
Pdc.EXAMPLE.COMで、Windows Serverサポートツールをダウンロードしてインストールします(具体的には、ktpass.exeが必要です)。
Pdc.EXAMPLE.COMで、以下を実行します。
ktpass -out c:\ temp\myhost.keytab -princ Host/[email protected] -mapuser myhost -pType KRB5
_
NT_PRINCIPAL + rndpass
これにより、myhostユーザーのパスワードがランダム(+ rndpass)に更新され、Kerberosプリンシパル「Host/[email protected]」がActive Directoryのユーザー「myhost」にマップされ、プリンシパルと秘密鍵の情報が-out keytabファイル。
C:\ temp\myhost.keytabをmyhostに安全にコピーし、pdc.EXAMPLE.COMからファイルを削除します
Myhostで、ADキータブをメインのキータブに追加します。
ktutilコピー/path/to/myhost.keytab /etc/kerberosV/krb5.keytab
/etc/krb5.confを構成します。以下は最低限必要なものです。利用可能なオプションはたくさんあります。詳細については、マンページを参照してください。これは、最大許容クロックスキューを5分に設定し、EXAMPLE.COMをデフォルトのレルムにし、DNSとKerberosレルム間の変換方法をKerberosに通知するだけです。
[libdefaults]
クロックスキュー= 300
default_realm = EXAMPLE.COM[レルム]
EXAMPLE.COM = {
default_domain = EXAMPLE.COM
}[domain_realm]
。EXAMPLE.COM = EXAMPLE.COM
チケットを取得できることを確認します。
# kinit [email protected]
[email protected]'s Password:
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: [email protected]
Issued Expires Principal
Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/[email protected]
/etc/login.confを変更して、Kerberos認証を使用します。実際のlogin.conf構成は、システムの使用方法によって異なりますが、バニラインストールからKerberosの使用に移行するには、デフォルトのログインクラスの下で次の行を編集してコメント化します。
:tc=auth-defaults:\
そしてその上に追加:
:auth=krb5-or-pwd:\
これは、ユーザーがrootでない限り、最初にKerberosをチェックします。 Kerberosが失敗すると、ローカルパスワードが使用されます。
このホストで認証するユーザーを追加します。 Active Directoryとローカルパスワードの両方を使用できるようにする場合を除いて、パスワードは空白のままにします(非推奨)。
既存のユーザーのパスワードを空にすることができます "chpass <user>
"および" Encrypted password: "の値をアスタリスク(*)に置き換えます
SSHとSudoをテストします。どちらもActive Directoryの資格情報で問題なく機能するはずです。
これですべてです。
リンク
いくつかの便利なサイト:
それ以降、いくつかの点が変更されたため、上記の手順の更新。
OpenBSD 5.6では、コードの品質に関する懸念のため、Heimdalをベースディストリビューションから削除することを決定しました。 5.7では、パッケージとして利用できるようになりました(5.6では、ソースからビルドするか、ソースで再度有効にする方法を理解する必要があります)。したがって、上記の手順を実行する前に、次の追加手順を完了する必要があります。
-3。お気に入りのミラーからheimdal
およびlogin_krb5
パッケージをインストールします。
-2。 /usr/local/libexec/auth/login_krb5*
を/usr/libexec/auth
にコピーします。
-1。 heimdalツールを頻繁に使用する場合は、/usr/local/heimdal/bin
をシステムパスに追加します。それ以外の場合は、ツールを使用するときに、フルパスでツールを参照してください。
また、krb5.conf
およびkrb5.keytab
ファイルは/etc/heimdal
に移動します。