問題タブ [keytab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
keycloak - Kerberos - keytab ファイルは特定のパスワードでのみ機能します
Windows ドメインで Keycloak の Kerberos 統合を実装しようとしています。KeycloakにLDAPプロバイダーを追加し、ADとの接続をセットアップしましたが、すべて機能します。
サンドボックス環境でテストしています ドメイン: SANDBOX.NET DC: KEYTEST-DC キークロークが実行されているアプリケーション サーバー: KEYTEST-APP kerberos で自動ログインをテストするクライアント マシン: KEYTEST-CLIENT
次のアクションから始めました(DC管理者アカウントを使用してDCで実行)
keycloak が実行されているマシン名と同じ名前で新しい AD サービス ユーザーを作成します 名: KEYTEST-APP ユーザー ログオン名: HTTP/keytest-app.sandbox.net パスワード: S@ndM@n
このユーザーの spn を設定します setspn -A HTTP/keytest-app.sandbox.net@SANDBOX.NET KEYTEST-APP
KeyTab ファイルの作成
ktpass /out keycloak.keytab /princ HTTP/keytest-app.sandbox.net@SANDBOX.NET /mapuser KEYTEST-APP@SANDBOX.NET /pass S@ndM@n
キータブ ファイルをアプリ サーバーにコピーし、それを使用してキークロークで kerberos を構成します Kerberos レルム: SANDBOX.NET サーバー プリンシパル: HTTP/keytest-app.sandbox.net@SANDBOX.NET キータブ: キータブ ファイルの場所
私は最初のテストを行い、すべてが完璧に機能しました。
次に、プロセス全体を文書化したかったので、最初からやり直しましたが、アプリサーバーの名前と一致する必要があることを指定していない他のドキュメントを見つけたので、AD サービスユーザーの名前として svc_keycloak を選択しました。別のパスワードも選択しましたが、これをテストしたところ機能しませんでした。キークロークのエラー:SPNEGO login failed: java.security.PrivilegedActionException: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
最終的に、ktpass コマンドで S@ndM@n パスワードを使用した場合、svc_keycloak ユーザーでのみ機能することがわかりました。これは KEYTEST-APP ユーザーからのパスワードでしたが。
その後、多くのテストを行い、KEYTEST-APP ユーザーを削除し、新しい DC 管理者アカウントを作成し、パスワードを変更しました。それでも、kerberos は、ktpass コマンドで S@ndM@n をパスワードとして使用した場合にのみ機能しました (どのユーザーを試しても)。
最終的には、ゼロから始めて、新しい DC、新しいアプリ サーバー、すべてをゼロから構成しました。今回は、新しいサービス ユーザー svc_keycloak とまったく新しいパスワードから始めましたが、keycloak でも同じエラーが発生しました。次に、ユーザー KEYTEST-APP を再度作成し、パスワード S@ndM@n を指定しました (ここで別のパスワードを選択して、最初からやり直す必要があるかもしれません)。svc_keycloak でテストしたところ、ktpass コマンドでパスワードとして S@ndM@n を指定した場合にも機能しました。
また、KEYTEST-APP ユーザーを削除した後も機能し続けるため、パスワードをどこかに保存する必要がありますか?? KEYTEST-APP ユーザーを削除したときに、実行時にまだサービス プリンシパル名を取得していることに気付きました: setspn -l KEYTEST-APP
いくつかの調査の結果 (kerberos に関する私の知識は非常に限られているため)、これは KEYTEST-APP もコンピューター アカウントであるためであることがわかりました。私の知る限り、すべてのコンピューター アカウントには独自のパスワードがありますが、これらは完全にランダムです。
S@ndM@n パスワードでのみ機能する理由を知りたいだけです。これは、アプリ サーバーと同じ名前のユーザーに使用した最初のパスワードであるためですか? 次に、これを更新する方法が必要ですか?または、何かを見落として、誰かが私の設定で問題を見つけたのかもしれません。
Thx、レミ
windows - すべての AD ユーザーのサービス認証への Kerberos キータブ
someUserAccount へのサービス用に生成された keytab ファイルがあるとします。また、SPN を someUserAccount に登録しています。サービスを承認したい。つまり、KDC から AD の任意のユーザーのチケットをユーザー名のみでパスワードなしで取得したい。私のシナリオで、または Kerberos を使用して、それは可能ですか?
bash - Bash で Kerberos キータブ ファイルから変数を割り当てる
Bash コマンドを使用して、 Hadoopから外部データベースに接続したいと考えています。まず、user や password などの変数を宣言します。
外部 DB に接続するときは、ユーザー名とパスワードの Bash パラメータを使用します。
私が欲しいのは、コードからパスワードを隠すことです。たとえば、キータブファイルがあるので、キータブ ファイルを資格情報として使用できますか? または問題を解決する方法は?
active-directory - キータブを「更新」するプロセスは何ですか?
AD 環境で、DES キーのみを使用するように設定されているいくつかのキータブを特定しました。さらに、これらのプリンシパルは、ADDS で USEDESKEYONLY 属性が true に設定されています。私たちの目標は、キータブを「更新」して AES を使用することです。
現在、setspn を介して SPN を解放し、サービス アカウントのパスワードを変更し (後で使用します)、USEDESKEYONLY 属性を false に更新し、「AES-256 をサポート」に設定し、ktpass を使用してキータブを再生成する必要があると思います。適切な暗号を使用した新しいパスワード、および -mapuser をリリースされた SPN に戻してから、keytab バイナリを、キータブが保持されているサービス (SSO) に戻します。これらはすべて、メンテナンス ウィンドウで発生します。
私が正しい道を進んでいるかどうかを確認できる人はいますか? さらにテストできるオープンソース サービスを推奨できる人はいますか (現在、SSO サービスを使用するテスト環境はありません)。