編集:これをQ&Aとして再フォーマットしました。誰かがこれをコミュニティWikiから一般的な質問に変更できる場合、それもおそらくより適切です。
Active Directoryに対してOpenBSDを認証するにはどうすればよいですか?
編集:これをQ&Aとして再フォーマットしました。誰かがこれをコミュニティWikiから一般的な質問に変更できる場合、それもおそらくより適切です。
Active Directoryに対してOpenBSDを認証するにはどうすればよいですか?
回答:
序文
Kerberosを使用したActive Directoryに対する認証は、PAMを使用するシステムでは非常に簡単ですが、OpenBSDはそうではなく、より難しくします。tcpdumpからは、OpenBSDのbsd_authシステムがKerberos認証プロセス全体を使用している間にPAMシステムが事前認証を行っているように見えます。
とにかく、これを理解するのにしばらく時間がかかったので、うまくいけばいくつかの簡潔な指示で時間を節約できます。
始める前のいくつかの簡単なメモ:
説明書
これらの手順は、ドメインEXAMPLE.COMに対してmyuser@myhost.fqdnを認証しようとしていることを前提としています。ドメインコントローラーは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/myhost.fqdn@EXAMPLE.COM -mapuser myhost -pType KRB5
_
NT_PRINCIPAL + rndpass
これにより、myhostユーザーのパスワードがランダム(+ rndpass)に更新され、Kerberosプリンシパル "host/myhost.fqdn@EXAMPLE.COM"がActive Directoryのユーザー "myhost"にマップされ、プリンシパルと秘密キーの情報が-out keytabファイル。
c:\ temp \ myhost.keytabをmyhostに安全にコピーし、pdc.EXAMPLE.COMからファイルを削除します
myhostで、ADキータブをメインキータブに追加します。
ktutil copy /path/to/myhost.keytab /etc/kerberosV/krb5.keytab
/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
チケットを取得できることを確認します。
# 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
Kerberos認証を使用するように/etc/login.confを変更します。正確なlogin.conf構成は、システムの使用方法によって異なりますが、通常のインストールからKerberosを使用するには、デフォルトのログインクラスで次の行を編集してコメントするだけです。
:tc=auth-defaults:\
そしてその上に追加します:
:auth=krb5-or-pwd:\
これは、ユーザーがルートでない限り、最初にKerberosをチェックします。Kerberosが失敗すると、ローカルパスワードが使用されます。
このホストで認証するユーザーを追加します。Active Directoryとローカルの両方のパスワードを使用できるようにする場合を除き、パスワードは空白のままにしてください(推奨されません)。
既存のユーザーのパスワード「chpass <user>
」を空白にして、「暗号化されたパスワード:」の値をアスタリスク(*)に置き換えることができます。
SSHとSudoをテストします。どちらもActive Directoryの資格情報で問題なく動作するはずです。
これですべてです。
リンク集
いくつかの便利なサイト:
login_krb5-or-pwd
必要が/usr/libexec/auth
あります-また、構成ファイルとキータブは、以前のOpenBSDリリースのように存在してい/etc/heimdal
ません/etc/kerberosV
。
それ以降にいくつかの変更が加えられたため、上記の手順が更新されました。
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
今に入ります。